The International Simutrans Forum

 

Author Topic: Client and server report different hash numbers when the Git hash starts with 0  (Read 103 times)

0 Members and 1 Guest are viewing this topic.

Offline Matthew

  • Devotee
  • *
  • Posts: 560
    • Japan Railway Journal
  • Languages: EN, some ZH, DE & SQ
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.

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Administrator
  • *
  • Posts: 20776
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
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.

Offline Ranran

  • Devotee
  • *
  • Posts: 1510
  • Languages: ja
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.