News:

Want to praise Simutrans?
Your feedback is important for us ;D.

Client and server report different hash numbers when the Git hash starts with 0

Started by Matthew, June 06, 2021, 03:52:59 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Matthew

Steps to reproduce

1. Wait for a Git commit where the hash begins with 0 (zero), e.g. the present #06772e6.
2. Download the Linux client from Bridgewater-Brunel and try to connect to that server.

Expected behaviour

Both server and client report their version using the seven-digit commit hash.

Observed behaviour

The Linux client reports its version using the seven-digit commit hash:


But the server reports its version with the leading zero omitted:



This prevents players joining using the in-game interface.

Workaround

Start the client from a terminal using the parameter -load net:bridgewater-brunel.me.uk in order to override the version check.

Background info

Here are some notes I made about a different bug in the commit hash code last year. It might be irrelevant or out of date now.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you for the report - this is a very odd one, especially as the problem appears to occur when the server and client are both running Linux. I do not believe that I wrote the hash truncating code myself (although I cannot remember much about it now), so I am not sure why it would produce different results on the server to those that it produces on the client.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ranran

I think the display itself will be fixed in this patch, but I'm not sure if it's affecting the mismatch check.
Because get_game_engine_revision() doesn't change. It just changes the UI display.