V1.0 (Beta) b313 -> b316 EndOfStreamException: Attempted to read past the end of the stream (Dedicated Server)

Sora

New member
For some reason or rather, updating a dedicated server from v1.0 (beta) b313 -> b316 will render the dedicated server broken and with clients unable to play (can't interact, quests throwing errors in logs, Console error "EndOfStreamException: Attempted to read past the end of the stream" error before clicking "Spawn")

For anyone having this issue, try the following:

  1. Backup your serverconfig.xml, Saves, mods and anything else that is non-default.
  2. Delete the dedicated server.
  3. Re-install the dedicated server (clean full install!) from SteamCMD.
  4. Copy back your serverconfig.xml, Saves, mods and anything else that is non-default.
  5. Add the new line to serverconfig.xml (see below under Update).



Looks like updating a dedicated server via SteamCMD from v1.0_b313 messes something up.

A full clean reinstall followed by restoration of saves and settings fixes the problem.

Debugging info:

  • Tried restarting server multiple times. No luck.
  • Changed networking protocol between SteamNetworking and LiteNetLib. No luck.
  • Copied in a backup of the Pregen10kD map that was used, including the dev supplied one. No luck.
  • Copied saves from dedicated server to a normal 7D2D client: It worked! (others could also join without issues)
  • Copied the saves back from the 7D2D client to the dedicated server. No luck.
  • Clean installed a new dedicated server: It worked!
  • Copied over saves and settings into the newly installed clean dedicated server: It worked!

Conclusion:

SteamCMD's update results in a corrupted dedicated server, whereas a clean install worked fine.

Clarification:
Dedicated servers update without errors from SteamCMD. The problem is that clients are no-longer able to connect and play properly once they connect since everything interactable pretty much stops working as the dedicated server is no longer communicating properly with the clients after the "EndOfStreamException" error is thrown during the player's connection to the server. The error will show up on both the dedicated server logs as well as on the client side".

Update:
Devs added in the update post -> here <- that we need to add an extra line to existing pre b316 serverconfig.xml files.
 

Code:
<property name="QuestProgressionDailyLimit" value="3"/> <!-- Limits the number of quests that contribute to quest tier progression a player can complete each day. Quests after the limit can still be completed for rewards. -->
 
Last edited by a moderator:
Please post your logs in the future, howto is in the pinned thread.

Actually I updated my server just now. Made two verify passes and made sure to add the missing line in serverconfig.xml

And the server started up without any error (except the usual shader errors naturally). I can' test with a client at the moment but I would guess my server updated correctly

 
I run a dedicated server for my LAN on my linux desktop.  This is the command I used when I updated the server with 313 last week:

./steamcmd.sh +force_install_dir "/home/craigsca/10_experimental" +login anonymous +app_update 294420 -validate -beta latest_experimental +quit

As of this morning, I can no longer log into this server as my client has updated to 316, but my server sits there at 313 (I am getting those "attempting to stream past the end of content" issue seen above).  Per your suggestion,  my plan is to download the new code to a different directory and then copy my serverconfig.xml and my saves over to the new directory.  Problem is, I see NOTHING under my "../10_experimental/Data/Worlds" directory to copy over (only things there are the pre-gens, "Empty" - which lives up to its billing, "Playtesting" and "Navezgane").  My random gen serverconfig.xml created "South Coyire Mountains", but I don't see that anywhere on my dedicated server.  I also see no "saved" directory anywhere on the server.  So, how am I to transfer my Worlds/Saves if I cannot located them on my server?    Thanks for the help!

Forgot to add - this is a generic server with no mods, so no need to copy any of them over.  I just need my World and Saves...

 
So I had done the update, but I could not interact with anything but doors and hatches....after performing a clean install and pulling back my saves to it, config files and what not, it fixed it, thanks @Sora!!!

 
Last edited by a moderator:
I run a dedicated server for my LAN on my linux desktop.  This is the command I used when I updated the server with 313 last week:

./steamcmd.sh +force_install_dir "/home/craigsca/10_experimental" +login anonymous +app_update 294420 -validate -beta latest_experimental +quit

As of this morning, I can no longer log into this server as my client has updated to 316, but my server sits there at 313 (I am getting those "attempting to stream past the end of content" issue seen above).  Per your suggestion,  my plan is to download the new code to a different directory and then copy my serverconfig.xml and my saves over to the new directory.  Problem is, I see NOTHING under my "../10_experimental/Data/Worlds" directory to copy over (only things there are the pre-gens, "Empty" - which lives up to its billing, "Playtesting" and "Navezgane").  My random gen serverconfig.xml created "South Coyire Mountains", but I don't see that anywhere on my dedicated server.  I also see no "saved" directory anywhere on the server.  So, how am I to transfer my Worlds/Saves if I cannot located them on my server?    Thanks for the help!

Forgot to add - this is a generic server with no mods, so no need to copy any of them over.  I just need my World and Saves...


Your generated RWGs will be in .local/share/7daystodie/GeneratedWorlds. Your savegames will be in .local/share/7daystodie/Saves. Except if you activated and changed "UserDataFolder" in serverconfig.xml to some other location, then you would have to look there.

And I don't think you need to touch them at all. But making a backup is always a good idea. Savegames can break any time, for example because of an unexpected crash of the game or PC.

 
Last edited by a moderator:
And the server started up without any error (except the usual shader errors naturally). I can' test with a client at the moment but I would guess my server updated correctly
Thanks, I edited the original post with clarification.

Errors happen when clients connect to a dedicated server that is updated (as opposed to freshly/clean installed), not during update or server launch.

The dedicated server does update with no errors shown from SteamCMD.

The problem is most likely SteamCMD serving an incomplete, corrupted update or even file-missing updates during the upgrade process and isn't caught. Fresh installs are fine.

Will also add the info the devs added that we need to add to our serverconfig.xml file post update (guess it's not critical, or at least doesn't affect connections yet?).

So I had done the update, but I could not interact with anything but doors and hatches....after performing a clean install and pulling back my saves to it, config files and what not, it fixed it, thanks @Sora!!!
You're welcome! I'm glad it helped at least one other person!

The problem was frustrating as it's not a common nor easy to figure out issue.

We don't usually attribute SteamCMD as a potential cause of errors since it does validations/checks on downloaded data.

 
Back
Top