Jump to content

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


Sora

Recommended Posts

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.
 

<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. -->

 

Edited by Sora
Cleaned up the clarification part & added the dev's serverconfig.xml addition info (see edit history)
Link to comment
Share on other sites

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

 

 

 

 

 

 

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

6 hours ago, craigsca said:

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.

 

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

20 hours ago, meganoth said:

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?).

17 hours ago, Spadje said:

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...