[Bug]: Lowering or Levelling terrain on multiplayer server causes immediate desync
Author: irasponsibleCreated Sep 20, 2026Updated Sep 20, 2026
Version of OpenTTD
16.0-beta3-linux
20260919-master-ge309ba175-linux
Issue
When playing on a multiplayer server on 16.0-beta3, levelling terrain will cause a connected client to desync. Both players running the game on Linux (Fedora 44, KDE, Wayland) via Steam.
This might be related to #15822? We were playing on Nightly with no issues until the 2026-09-19 update (20260919-master-ge309ba1756) that included this change. Total speculation, but my guess would be that the client and server disagree on where rocks get placed, and desync?
We removed all NewGRFs before starting a new server to test, and got the same error.
Result
Immediate desync error.
[2026-09-20 12:00:07] new_map: 00000000
[2026-09-20 12:00:07] save: 00000000; 00; dmp_cmds_00000000_00000000.sav
[2026-09-20 12:00:07] load: opntitle.dat
[2026-09-20 12:00:07] load: opntitle.dat
[2026-09-20 12:00:12] load: /home/REDACTED/.local/share/openttd/save/Budgrove Pass T.T.C, 8h 59m.sav
[2026-09-20 12:01:00] client: 00000168; 00; 00; 0001
[2026-09-20 12:01:00] msg: 00000168; 00; *** REDACTED has started a new company (#1)
[2026-09-20 12:01:00] new_map: 13840d5f
[2026-09-20 12:01:00] save: 00000168; 00; dmp_cmds_13840d5f_00000168.sav
[2026-09-20 12:01:00] sync: 00000168; 00; 7a705516; 86243dc0
[2026-09-20 12:01:00] cmd: 00000168; 00; 00; 0000005c; 00000000; 004141424541343546443731414337373132323045434446454335363832313232464635303333353938353231434135314434443245443330413238393141303100 (CmdCompanyAllowListCtrl)
[2026-09-20 12:01:00] cmd: 00000168; 00; 00; 0000003f; 00000000; 4972696E6100 (CmdRenamePresident)
[2026-09-20 12:01:00] cmd: 00000168; 00; ff; 00000047; 00000000; 0001 (CmdPause)
[2026-09-20 12:01:00] msg: 00000168; 00; *** Game paused (manual)
[2026-09-20 12:01:33] client: 00000168; 00; ff; 01
[2026-09-20 12:01:33] cmd: 00000168; 00; ff; 00000047; 00000000; 0201 (CmdPause)
[2026-09-20 12:01:33] msg: 00000168; 00; *** Game still paused (manual, connecting clients)
[2026-09-20 12:01:33] msg: 00000168; 00; *** REDACTED_2 has joined the game (Client #3)
[2026-09-20 12:01:33] cmd: 00000168; 00; ff; 00000047; 00000000; 0200 (CmdPause)
[2026-09-20 12:01:33] msg: 00000168; 00; *** Game still paused (manual)
[2026-09-20 12:01:44] cmd: 00000168; 00; ff; 0000005b; 00000000; 00FF0003000000 (CmdCompanyCtrl)
[2026-09-20 12:01:44] client: 00000168; 00; 01; 0003
[2026-09-20 12:01:44] msg: 00000168; 00; *** REDACTED_2 has started a new company (#2)
[2026-09-20 12:01:44] cmd: 00000168; 00; 01; 0000005c; 00000000; 004631353034424638313139374433464241333445334545343945423834444334443041313544343532364131313346383338434532363143313739343344353300 (CmdCompanyAllowListCtrl)
[2026-09-20 12:01:44] cmd: 00000168; 00; 01; 0000003f; 00000000; 4D656C00 (CmdRenamePresident)
[2026-09-20 12:01:44] cmd: 00000168; 00; 01; 00000035; 00000000; 010000002808410C (CmdSetCompanyManagerFace)
[2026-09-20 12:01:50] cmd: 00000168; 00; 00; 00000070; 00000fbb; 0BE7000012ED00000000 (CmdLevelLand)
[2026-09-20 12:01:52] msg: 00000168; 00; *** REDACTED_2 has left the game (desync error)Steps to reproduce
- Connect two players to a multiplayer server.
- Have either player level or lower an area of terrain.
- Observe desync.
Source: OpenTTD/OpenTTD