Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

jufrag

Why My Dedicated Server Doesn't Work Anymore?

Recommended Posts

jufrag    1

Hello, I have made a LAN server a while ago to play with my girlfriend including caves and mods, which was working perfect until today. My maintserver goes off for a reason so slave cannot connect it anymore. I will attach the logs for the master server from yesterday night and today:

While it was going like this:

 

[00:00:18]: LOADING LUA SUCCESS
[00:00:18]: Registering mod namespace "workshop-378160973"
[00:00:18]: Registering mod namespace "globalpause"
[00:00:18]: Registering mod namespace "food item"
[00:00:18]: Registering mod namespace "workshop-785295023"
[00:00:18]: PlayerDeaths could not load morgue    
[00:00:18]: PlayerHistory could not load player_history    
[00:00:18]: bloom_enabled    false    
[00:00:18]: loaded saveindex    
[00:00:18]: OnFilesLoaded()    
[00:00:18]: OnUpdatePurchaseStateComplete    
[00:00:18]: Loading world: session/7C4107CDC6949B7C/0000000117    
[00:00:18]: Save file is at version 4.77    
[00:00:18]:     Unload FE    
[00:00:18]:     Unload FE done    

 

Now it says:

 

[00:00:18]: Loading world: session/7C4107CDC6949B7C/0000000163    
[00:00:18]: [string "scripts/saveindex.lua"]:281: Corrupt Save file [session/7C4107CDC6949B7C/0000000163]
LUA ERROR stack traceback:
=[C]:-1 in (global) assert (C) <-1--1>
scripts/saveindex.lua:281 in () ? (Lua) <267-286>
   load_success = true
   str = return {world_network={persistdata={worldtemperature={seasontemperature=35,daylight=true,noisetime=72277.5078125,season="autumn",phasetemperature=4.7695546571332},seasons={elapseddaysinseason=8,premode=false,remainingdaysinseason=12,lengths={summer=15,autumn=20,spring=20,winter=15},totaldaysinseason=20,mode="cycle",season="autumn",segs={summer={night=4,day=11,dusk=1},autumn={night=2,day=8,dusk=6},spring={night=3,day=5,dusk=8},winter={night=6,day=5,dusk=5}}},clock={moonwaxing=true,totaltimeinphase=240,cycles=148,phase="day",remainingtimeinphase=143.28392028809,moonphase2="threequarter",segs={night=2,day=8,dusk=6}},globalpositions={worldmap="AQAAABAAAADobAAAghoAAHic7Zx7VFNX2v9PApWAqIE6LQKtJ9EkFLUT0VblIpHx14GoI2M7axC0pth5fwq1i9rpei3OjOFShQAaokAIAU4C5yQEAiHcQgghXFQIIIhWIQTB4AUCAqJViGjeaDtv2+n8Bs/5w9X1W3yXKx6255N99nOeZ+9nX9DeyQp8tXq9+A8Xwg8O9X6pjfJoi85pMT+5FO3H/UcTx0qWf+5a/HmkyWi5esNHNuid3tv+jOmT3mdOMjC5g6bZXfjzuwzxg8oWpt35kA0twQkTgabB+thr/maVKqFbq9f7G5AA/dkAQ1q9Ic1ffG+dvmxdvGqdr0bmwy1Lz3/3aCVfdy+pt4xIV7ht/i5J8TSp [**truncated**]
   success = nil
   savedata = [string "return {world_network={persistdata={worldtemperature={seasontem..."]:1: '}' expected near '<eof>'
=[C]:-1 in (method) GetPersistentString (C) <-1--1>
scripts/saveindex.lua:267 in (method) GetSaveDataFile (Lua) <266-287>
   self =
      data = table: 049A2B28
      current_slot = 1
   file = session/7C4107CDC6949B7C/0000000163
   cb = function - scripts/gamelogic.lua:841
scripts/saveindex.lua:293 in (method) GetSaveData (Lua) <289-297>
   self =
      data = table: 049A2B28
      current_slot = 1
   slot = 1
   cb = function - scripts/gamelogic.lua:841
   file = session/7C4107CDC6949B7C/0000000163
scripts/gamelogic.lua:849 in (upvalue) DoLoadWorld (Lua) <840-850>
   saveslot = 1
   onload = function - scripts/gamelogic.lua:841
scripts/gamelogic.lua:892 in (upvalue) LoadSlot (Lua) <886-898>
   slot = 1
scripts/gamelogic.lua:958 in (upvalue) DoResetAction (Lua) <909-998>
scripts/gamelogic.lua:1008 in (local) complete_callback (Lua) <1000-1009>
scripts/upsell.lua:13 in (global) UpdateGamePurchasedState (Lua) <11-15>
   complete_callback = function - scripts/gamelogic.lua:1000
scripts/gamelogic.lua:1032 in (local) callback (Lua) <1011-1033>
scripts/saveindex.lua:243 in (upvalue) OnLoad (Lua) <196-245>
   self =
      data = table: 049A2B28
      current_slot = 1
   filename = saveindex
   callback = function - scripts/gamelogic.lua:1011
   load_success = true
   str = return {
  last_used_slot=1,
  slots={
    {
      enabled_mods={  },
      server={
        clan={ admin=false, id="", only=false },
        description="Spitzies",
        encode_user_path=true,
        game_mode="survival",
        intention="social",
        max_players=2,
        name="Spitzland",
        online_mode=true,
        password="",
        privacy_type=2,
        pvp=false 
      },
      session_id="7C4107CDC6949B7C",
      world={
        options={
          {
            desc="The standard Don't Starve experience.",
            hideminimap=false,
            id="SURVIVAL_TOGETHER",
            location="forest",
            max_playlist_position=999,
            min_playlist_position=0,
            name="Default",
            numrandom_set_pieces=4,
            ordered_story_setpieces={ "Sculptures_1", "Maxwell5" },
            override_level_string=false,
            overrides={
              alternatehunt="default",
              angrybees="default",
              autumn="default",
      [**truncated**]
   success = true
   savedata = table: 08F94508

[00:00:18]: [string "scripts/saveindex.lua"]:281: Corrupt Save file [session/7C4107CDC6949B7C/0000000163]
LUA ERROR stack traceback:
    =[C]:-1 in (global) assert (C) <-1--1>
    scripts/saveindex.lua:281 in () ? (Lua) <267-286>
    =[C]:-1 in (method) GetPersistentString (C) <-1--1>
    scripts/saveindex.lua:267 in (method) GetSaveDataFile (Lua) <266-287>
    scripts/saveindex.lua:293 in (method) GetSaveData (Lua) <289-297>
    scripts/gamelogic.lua:849 in (upvalue) DoLoadWorld (Lua) <840-850>
    scripts/gamelogic.lua:892 in (upvalue) LoadSlot (Lua) <886-898>
    scripts/gamelogic.lua:958 in (upvalue) DoResetAction (Lua) <909-998>
    scripts/gamelogic.lua:1008 in (local) complete_callback (Lua) <1000-1009>
    scripts/upsell.lua:13 in (global) UpdateGamePurchasedState (Lua) <11-15>
    scripts/gamelogic.lua:1032 in (local) callback (Lua) <1011-1033>
    scripts/saveindex.lua:243 in (upvalue) OnLoad (Lua) <196-245>
    
[00:00:18]: ModIndex: Load sequence finished successfully.    
[00:00:18]: Reset() returning
 

 

 

server_log_2018-06-05-21-53-29.txt

server_log_2018-06-06-18-10-18.txt

Share this post


Link to post
Share on other sites
Daniel86268    368

It seems like a

16 hours ago, jufrag said:

[00:00:18]: [string "scripts/saveindex.lua"]:281: Corrupt Save file [session/7C4107CDC6949B7C/0000000163]

is the problem.

This rarely happens on a DST server, I've had it happen as well in the past. Not sure what caused it. (I luckily for me had a full backup from shortly before on my dedicated server, so I was able to just go back to that one, while only losing a little progress.)

Easiest way to resolve this is to start a new world.

If you are willing to put a lot more work into saving your old world you'll have to do some file searching to try to rebuild your old world from a rollback save.

Share this post


Link to post
Share on other sites
jufrag    1

How can I rollback my save? I do not mind losing some days, we had more than 150 days, I was able to spot the problem that my save file is corrupt, that is why I exactly copied those parts from the logs: but the question is why? and how I can have my save back with little damage? 

Share this post


Link to post
Share on other sites
Daniel86268    368
Quote

The error mentions a #, it could be some value being written as 1.#INF or -1.#INF or something similar. Try this:

Locate the save file - it should be named "0000000013" and be located in

(My) Documents\Klei\DoNotStarveTogether\Cluster_X\Master\save\session\60A859CF1D0E2427

if you have caves enabled if you have caves enabled (the X in Cluster_X is your save slot) or

(My) Documents\Klei\DoNotStarveTogether\client_save\session\60A859CF1D0E2427

if you don't have caves in your world. Make a backup juuust in case. Open the file with a text editor, I suggest Notepad++. Try looking for and deleting any ocurrence of ".#INF" or ".#IND" without the quotation marks. Look for # if you don't find a match. Save and run the game. ...?? Profit?

In your case it's 0000000163.

Remember to do a backup before doing any of this, because doing things like these might cause lots more damage.

Good luck!

Share this post


Link to post
Share on other sites
jufrag    1

Daniel86268, I was using notepad++ and I could neither find 1.#INF nor -1.#INF.

However, reading your comments made me understand how I can track the days in server, so I decided to delete the last save folder 000000163 from both master and slave servers and gave a try hoping that I will lose just the last day. The initial start error disappeared, but the servers could not connect to each other this time (I could upload the logs if you are interested), then I deleted two last days from both slave and master servers and it kept the problem that servers connect and disconnect from each other in a repeating endless way.

Then I just renamed the last slave (cave) save folder the same day (which in this case shall be 000000161 since I deleted two days), and everything worked all of a sudden. 

It was another roller coaster of emotions as if dedicated servers announced yesterday, thanks a lot for your attention.

 

Share this post


Link to post
Share on other sites
Daniel86268    368
16 hours ago, jufrag said:

everything worked all of a sudden. 

Glad that you figured it out :D

Just for clearing it up: The problem you had there was that the timestamp of the cave server save was probably at exactly the same time, or earlier than the master server. This is an issue because the slave shards can only skip forward to the master shard time, they can't "go back in time" to a previous timestamp. Your renaming of the last caves save essentially fixed that by making it unreadable for the server and therefore enabled it to just fast forward from a previous save.

Share this post


Link to post
Share on other sites