TL;DR
Write a log message on the server when a player tries to connect with a different game version.What ?
If you try to connect to a server which runs a different game Version than the client, only the client gets a message displayed.I suggest to print a similar message on the server side.
Suggested output for Version missmatch:
Code: Select all
51.012 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({**redacted**:2639}))
51.012 Refusing connection for address (IP ADDR:({**redacted**:2639})), username (terror_gnom). UserVerificationMissing
51.428 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({**redacted**:62152}))
51.428 Refusing connection for address (IP ADDR:({**redacted**:62152})), username (terror_gnom). VersionMissmatch Client 1.1.110 Server 1.1.109
Code: Select all
51.012 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({**redacted**:2639}))
51.012 Refusing connection for address (IP ADDR:({**redacted**:2639})), username (terror_gnom). UserVerificationMissing
51.428 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({**redacted**:62152}))
51.428 Refusing connection for address (IP ADDR:({**redacted**:62152})), username (terror_gnom). ModsMismatch
Why ?
I want to write an auto updater for my Server.With the upcoming expansion I expect a lot of quick-fixes to come.
My 3 approaches:
- Query https://factorio.com/api/latest-releases on a timer, shut down and update <- disruptive for connected players
- Check via rcon playercount == 0, check for new release, update <- you have to tell everybody to leave the server, overhead of rcon
- Check if someone with newer version tries to connect, shut down and update <- less frequent than 1, only updates if someone is unable to join
Thank you for the great game and I hope the implementation is as easy as I imagine and gets implemented soon