Jump to content

Suggestion: add an auto-restart mechanism to dedicated servers when mod mismatches are detected.


RobRendell

Recommended Posts

Currently, players on dedicated servers with multiple Steam Workshop mods suffer from the problem that when a mod writer releases an update, their Steam client will auto-download the update if they are not currently playing, after which they cannot connect to the server until the server restarts and gets the latest mod versions itself.  This requires server admins to set up cron schedules to regularly restart their servers, and players will still have periods where they're unable to connect until the next restart.

 

When you're trying to connect to a server, your client informs you which mod is mismatched, but if you're already on the latest version, there's nothing you can do other than wait for a scheduled restart.  The workshop does not have a mechanism to downgrade a subscribed item to an older version, and it would require some significant changes to make the PZ server send its version of its mods to connecting clients.

 

My suggestion: since the server is aware that a client tried to connect with a different version of a mod, it could react to this situation.  The simplest way to deal with it would be to only take action if no-one is currently connected... if there are 0 players on, and a player tries to connect with a mismatched mod, the server could shut down and rely on a wrapper parent process to launch it again, download the latest mods, and carry on.  The connecting player could even be given status updates of this process and the client could automatically try to reconnect once the server is up again (otherwise, they could just be told "the server is restarting, trying again in 5 minutes" or whatever.)

 

A more involved approach could involve the server reacting to such a connection attempt even if players are connected.  After pinging the workshop to independently verify that the mismatched mod(s) have indeed been updated (to prevent players triggering the response inappropriately, such as if they are the ones with the old mod rather than the server), the server could announce to connected players that it will be shutting down in 5 minutes (or some such, configurable in the server settings), or sooner if everyone logs off.  After the time has elapsed, or if everyone logs off, the server shuts down and restarts as above.

 

 

Edited by RobRendell
typo
Link to comment
Share on other sites

  • 4 weeks later...

Yup, a modpack is a way for a server admin to control when things update - they can choose when they update the modpack with the latest version of the mods that go into it, and restart the server manually so it gets the latest version.

 

However, many mods in the workshop forbid people from repackaging them, which rules out adding them to a modpack.  My suggestion would allow the PZ server itself to handle updating more seamlessly, so people don't have to come up with workarounds like creating modpacks.

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