Repository navigation
MPFever 0.5.3
Towns stay in sync, games run much faster, join through Steam without opening a port, and a short connection drop no longer reloads everybody.
MPFever is still in active development: back up your savegames.
Two archives
MPFever-0.5.3.zip: for players.MPFever-0.5.3-server.zip: the same, plus what a dedicated server needs (start-server.bat,SERVER.txt).
MPFever 0.3.15 and later update themselves to 0.5.3 when the game closes. Every player needs the same version.
New
- Join through Steam, with no port to open. The host's game now listens on Steam (Steam's own peer-to-peer connections and its relays). An invitation, or « Join game » in the Steam friends list, gives the host's Steam account first and its addresses as before. MPFever tries both at once and keeps a direct connection when there is one. Through Steam, the host's game is sent over several Steam connections at once: about 6 MB/s in our test on one PC (a 35 MB game in 5 s, over 4 Steam connections). Through Steam's relays, expect less: about 1 MB/s per connection, so about 4 MB/s.
- A short connection drop no longer reloads the game. When a player's connection drops for a moment (Wi-Fi, a router), the host waits for them up to 60 s: every game stops where that player stopped, and the others see « lost the connection: the game waits for them ». Back in time, the player gets everything they missed and the game goes on, with no reload. A player who leaves on purpose is not waited for.
Fixes
- Towns no longer drift apart next to the streets and tracks players build. This was the main cause of « script:towns » differences and of the reloads that followed. Every street and track segment carries an age that the towns compare when they place houses. The street tool used to set it differently on the builder's game and on the others. In two savegames of the same session, taken during the same pause, 275 segments out of 1380 had another age. Every segment now gets the same age on every game, and the checks compare these ages, so any difference shows right at the build.
- A build that made one more object on one game is caught at once. The checks now compare the ids every build gives its new streets and nodes. In a session on 2026-10-25, one game made one more object at a build, and it showed only 4 minutes later, in the vehicles. Now the games are reloaded right away, before towns and vehicles go apart.
- Towns' street building: a small difference between two games no longer becomes a lasting one (the towns' street field is computed exactly for each point).
- Saving no longer changes the world of the game that saves. The games of a session save at different moments (autosaves, a player saving by hand).
- Signals on track bridges and in tunnels (issue #85) are replayed exactly as the signal tool built them. This removes the « TOWN STATS DIFFER » message and the reload after each one.
- The Mod Hub broken, or the game closing when it opened, on some PCs (issue #83), even after MPFever was removed. MPFever's
winhttp.dllpassed on only the network functions the game itself uses. Windows uses the same file to check HTTPS certificates, and those checks failed. Every network function is now passed on (reproduced and checked).
Faster
- The simulation ran slower and slower during a session. It kept the last 50 builds in full in its state (about 4.6 MB after two hours, and every game inherited it at a reload), and it read that state several times per step. Measured on the savegame of a 2-hour session, at x4 with two games on one PC: the simulation went from x1.4 to x3.7, and the frame rate from 31 to 65 fps for the player.
- The files MPFever and the game exchange several times a second stay open. Each open of a file another program had just written waited about 9 ms for the antivirus.
Checked
- Desyncs: new roads and upgrades built by both games, while the game ran and while it was paused, all in sync. The segments' ages were identical on both games (1184 of 1184).
- A real session replayed: a real session from the host's own autosave, with its 36 actions, then 6 minutes at x4: in sync. Another session from its start, with 218 of its actions replayed at x4: in sync, both games alike. A host saving alone, three times, for 9 minutes at x4: in sync.
- Connection drops: roads, upgrades and 5 minutes at x4, with the player's connection cut every 30 s. 8 returns, no reload, in sync.
- Steam, without a real friend: a player joining through Steam's own connections on one PC, builds, then the host's whole game sent through them: in sync. A real Steam peer-to-peer connection of the game to its own account: 64 MB sent and received intact.
Not tested yet: joining through Steam between two different Steam accounts on two PCs. If you try it, please report what you see.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.3.zip, SHA-2569BBF2251EFBFE599BDF3BEDB662EDDCF7DF763D13B83E4D7CA2554DA2E26C9A5MPFever-0.5.3-server.zip, SHA-2566FBCFC0F1EE00A326EFDCB5F4FD90529C7B2157211212369A5C618A29C1EE5FC