News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

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(retired)

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.
ひめしという日本人が開発者達の助言を無視して自分好みの機能をextendedに"強引に"実装し、
コードをぐちゃぐちゃにしてメンテナンスを困難にし(とりわけ道路と建物関連)、
挙句にバグを大量に埋め込み、それを知らんぷりして放置し(隠居するなどと言って)別のところに逃げ隠れて自分のフォーク(OTRP)は開発を続けている
その事実と彼の無責任さに日本人プレイヤーは目を向けるべき。らんらんはそれでやる気をなくした(´・ω・`)
他人の振り見て我が振り直せ。ひめしのようにならないために、らんらんが生み出したバグや問題は自分で修正しなくちゃね(´・ω・`)