Log Version missmatch on Headless server

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

terror_gnom
Fast Inserter
Fast Inserter
Posts: 121
Joined: Wed Apr 06, 2016 4:01 am
Contact:

Log Version missmatch on Headless server

Post by terror_gnom »

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
Like it is done with a ModsMissmatch

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:
  1. Query https://factorio.com/api/latest-releases on a timer, shut down and update <- disruptive for connected players
  2. Check via rcon playercount == 0, check for new release, update <- you have to tell everybody to leave the server, overhead of rcon
  3. 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
So I prefer option 3, which relies on log output that is not provided.

Thank you for the great game and I hope the implementation is as easy as I imagine and gets implemented soon :)
Bilka
Factorio Staff
Factorio Staff
Posts: 3314
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: Log Version missmatch on Headless server

Post by Bilka »

The multiplayer game list doesn't show games of different game versions. The only time someone/the server would run into a version mismatch would be if a player tried to do a direct connection instead of using "Browse games".
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.
terror_gnom
Fast Inserter
Fast Inserter
Posts: 121
Joined: Wed Apr 06, 2016 4:01 am
Contact:

Re: Log Version missmatch on Headless server

Post by terror_gnom »

Yes, that's my usecase. I play on this Server with my friends and don't announce it to "strangers"

*edit* I think I didn't make my "painpoint" and usecase clear.

My friends and I play together on a private Server, so they connect via "Connect to address". In the past, we had the issue, that an Update was released, Steam updated the client from somebody and he was unable to join. So the guy with the updated client had two options: 1) call the Admin to update the Server 2) downgrade steam client to server version.
Both were not fun and unnecessary hassle. So clearly the next step is to automate server updates.
And here I am, missing the log message, that a User wanted to join with a version missmatch.
Post Reply

Return to “Ideas and Suggestions”