Repository navigation
Releases: dkdknight/MPFever
Release list
MPFever 0.5.13
Fewer resyncs in long sessions, a safer mod exchange, a lobby that fits on one screen, and computer companies that carry freight.
MPFever is still in active development: back up your savegames.
Archives
MPFever-0.5.13.zip: for players.MPFever-0.5.13-server.zip: the dedicated server.
MPFever 0.3.15 and later update themselves to 0.5.13 when the game closes. Every player needs the same version.
Fixes
- Resyncs in long sessions. Clicking "extend" in an industry's window made the player's next build vanish for the others: it existed in that player's game only, and the games had to reload. This caused every resync of a 3.5-hour test session.
- A safer mod exchange. A mod from the host is installed only if you accepted it in the host's offer. Also, the host no longer passes on to everybody the messages only the host may send (savegame, mods, settings, lobby...). Before, a player could send the others a mod or a savegame in the host's name.
- A crash in a second session (known issue of 0.5.12). After a session with one company per player, a session with one company for everybody could crash a few seconds in if Transport Fever 3 was not restarted in between. Our tests of that sequence no longer crash. If it still happens to you, please send a report.
- Start the game again (#94). Once the game is closed, the MPFever window shows "Start Transport Fever 3 again" in place of "Start the game". No need to close and restart MPFever.exe any more.
- Vehicle count. The MPFever window showed 0 vehicles for every company.
- Linux / Steam Deck (Proton) (#93). Under Proton, MPFever now installs its mod into the game's
mods/releasefolder at every start, so automatic updates reach it too. We can't test on Linux ourselves: see INSTALL.txt.
The lobby fits on one screen
With one company per player, some options were hidden until you scrolled down. Now everything is visible at once:
- the savegame's picture is smaller, with your colour and the bankruptcy rule beside it;
- each computer company takes one line: its level, colour and remove button;
- each address to give your friends has its own line.
The lobby with one company for everybody looks as before.
Computer companies (experimental)
- Freight by truck. They link a producer to an industry that buys its cargo (coal to the steel mill, logs to the saw mill...), and deliver the goods a town's shops or works lack. A second producer of the same cargo nearby can be picked up on the way. They check that a truck can drive there, buy the year's best truck for that cargo, and add trucks when cargo waits.
- A level for each one. In the lobby, the host picks Easy, Normal or Hard for each computer company. The higher the level, the faster it acts and the more vehicles it runs. On Hard it competes with you for the industries and towns you serve.
- See what they do. A new AI tab in the MPFever window lists their last actions, each with a Show button that takes the camera there. The Company tab lists their lines and vehicles, and their builds are told in the chat (you can turn that off in Settings).
Not there yet: trains, ships and planes, streets to industries no truck can reach, and computer companies on a dedicated server.
Known limitations
- With one company per player, the game's achievements count for the savegame's company only (#95).
- On some maps (an early start, few towns), computer companies run out of money: their lines don't earn enough yet. We're working on it.
Thanks
- Kompetenzteam, for the restart report (#94) and for long test sessions with feedback (#95).
- ToasterAxt, felixwiehl, Zippo1578 and trytogetme85, for making MPFever work on Linux (#93): the report, the Proton launch options, a helper script and the archive report.
- The Reddit user who asked how MPFever handles network security: checking it for the answer led to the mod exchange fix.
- Our testers, whose 3.5-hour session and logs led to the "extend" fix.
- Everyone who sends reports, comments and tips: it keeps MPFever going.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.13.zip, SHA-2560E30B24661136B4938787352A2BCC7875F72409FC843D3F3CFBB690D4DA27998MPFever-0.5.13-server.zip, SHA-2562DF8E30BB549772E01A891593743DF9609AA6E49696F8461D8C8DDA1CAE2658C
MPFever 0.5.12
Computer companies (experimental), long sessions that stay in sync, no more tools stuck after "build cancelled", and three crashes fixed.
MPFever is still in active development: back up your savegames.
Archives
MPFever-0.5.12.zip: for players.MPFever-0.5.12-server.zip: the dedicated server.
MPFever 0.3.15 and later update themselves to 0.5.12 when the game closes. Every player needs the same version.
New: computer companies (experimental)
Playing with one or two friends and want more competition on the map? In a game with one company per player, the host can now add computer companies: rivals run by MPFever, with their own money, network, vehicles and colour.
How to add them
- Host a savegame with One company per player on the multiplayer page.
- In the lobby, under Computer companies (experimental), click Add a computer company (up to 8). Each one gets a name and a free colour.
- Change its colour with the palette under its name (a colour already taken by a player or another company is refused), or take it out with Remove.
- Start the game: the computer companies join it with the players as soon as it starts.
Only the host can add, colour or remove them; the other players see them in the lobby as they are set.
Your savegame keeps them. Save the game, host it again later: its computer companies are already in the lobby, with their colour, and carry on with their money and their network.
What they do
The host's game runs them, and they play by the same rules as the players: no cheating, no free money. Their builds and purchases go to every game exactly like a player's, so the session stays in sync. A computer company:
- builds its own bus garage and its stops,
- opens bus lines through a town and between neighbouring towns,
- buys the best bus available in the current year, and adds buses to busy lines,
- sells the buses of empty lines and gives up a line that stays empty,
- keeps money aside, and can go bankrupt like anyone else (its lines then go to auction).
Experimental
- Buses only for now: trains, trucks, ships and planes will come later.
- They start small and grow slowly.
- A dedicated server does not run them yet: host from the game to play with them.
Tell us how they behave in your games: open an issue or leave a comment on Nexus.
Fixes
- Towns drifting apart after 10 to 20 minutes in long sessions (
script:townsfirst, then money, vehicles and the rest, followed by a resynchronisation). The cause was the game's animals: they are moved by several threads at once, and the result could differ from one game to another, which slowly shifted everything created afterwards. MPFever now has the animals moved in one piece, so every game moves them the same way, whatever the PC. The animals move exactly as before. In our long test sessions, about half drifted that way before; with this fix, none did. - A crash in the next game after a session with one company per player (#88). A new game, or another savegame, started without restarting Transport Fever 3 crashed after about 30 seconds: MPFever's native module still pointed the game at the company of the previous world, which is something else in the new one (a group of trees in the report). It now forgets it as soon as another game is loaded.
- A tool that stopped working after "build cancelled: another player built at the same place" (#91). The stop tool, the bulldozer, station modules, streets or tracks then did nothing until the next resynchronisation. Since 0.5.9 (one company per player) and 0.5.7 (one company for everybody), a build made while another player built anywhere on the map could be held back, and its tool waited for ever for the game's answer. Builds are no longer held back: they are applied as the tool computed them. If two players build at the very same place in the same second and the games then differ, MPFever resynchronises them, as it did before.
- A crash after editing a modular station (#90). Shortening a station until some of its tracks went could not be reproduced on the other games, and the fallback built only half of it: the station kept tracks that no longer existed, and the game crashed at the next resynchronisation. Such an edit is now reproduced the way the other station edits are, and a build is never applied by halves any more: if it cannot be reproduced, MPFever resynchronises the games.
- The multiplayer page froze, then the game crashed (#92), for a player with many mods and savegames made with mods removed since: the page asked the game about each mod of each savegame, and the game answers very slowly about a mod it does not have. It now asks only about the mods installed, once each.
- The archives extracted as flat files on Linux (#93): the zips are now standard everywhere. There is still no Linux version, but INSTALL.txt now says what a player reports for running MPFever with Proton (untested by us).
Known issue
- After a session with one company per player, joining or hosting another session without restarting Transport Fever 3 can crash the game a few seconds after it starts. Until it is fixed, restart Transport Fever 3 through MPFever.exe after such a session.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.12.zip, SHA-25650348DD87878D8967DE2857F89D594457ED23AA4196108584047EC2F34941568MPFever-0.5.12-server.zip, SHA-2569C443927999F159A0E3951D987406BBD9E743648791F147DCDF6E7E5CD577C54
MPFever 0.5.11
Sessions with one company per player run again.
MPFever is still in active development: back up your savegames.
Archives
MPFever-0.5.11.zip: for players.MPFever-0.5.11-server.zip: the dedicated server.
MPFever 0.3.15 and later update themselves to 0.5.11 when the game closes. Every player needs the same version.
Fixes
- Sessions with one company per player stayed frozen at the start (0.5.10). The game time never moved: at the start, the host's rules wait for their turn at a step, and since the native stop point of 0.5.10 a game waits there at its speed, while such waiting actions were only applied with the game paused. Both games then stood at that step for ever. Sessions with one company for everybody were not affected.
Known issues
- A new game after a session with one company per player crashes (#88) when Transport Fever 3 was not restarted in between. Until it is fixed: after such a session, close the game and start it again through
MPFever.exebefore you create or load another game.
Everything else is the same as 0.5.10: see its notes for the native stop point and the responsive builds.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.11.zip, SHA-256D4C0F56817071C5F0C3F7719D6B82A1E82C89DA3F73C7A2F525DF5A36B2CD27FMPFever-0.5.11-server.zip, SHA-256ADE50F5AE8D75551AD4773824A0291E692B422506E802B70798E16E57C4D47A8
MPFever 0.5.10
Builds of other players barely stop your game any more, responsive builds are on by default, and a cause of reloads is gone.
MPFever is still in active development: back up your savegames.
Archives
MPFever-0.5.10.zip: for players.MPFever-0.5.10-server.zip: the dedicated server.
MPFever 0.3.15 and later update themselves to 0.5.10 when the game closes. Every player needs the same version.
New
- Builds of other players without the slow approach. To apply another player's build at its exact step, a game used to pause a little before it and ask the engine for the steps left one by one: every build of another player slowed or stopped the game for one to three seconds. MPFever's native module now makes the engine's batches of steps end exactly at that step: the game runs at its speed up to it, and the build is sent as the simulation comes to it. At 4x, the frames held by builds went down four to five times; the game still stands for about a fifth of a second while the engine answers.
- Responsive builds are now on by default (host setting): your builds show at once on your game, and you can attach the next piece right away. A host who turned it off keeps it off.
Fixes
- A contract completed one step apart on two games, then a reload: a game standing still for the exact steps of a build ran the game's scripts at that time while the others ran on. The exact steps are gone with the native stop point.
- No more "slight drift (buildIds)" check after check. It was a diagnostic, never a drift; it now stays in the launcher's log only.
Checked
- 31 tests of 0.5.9 (builds, stops, signals, lines, purchases, companies, pauses, cut connections, resynchronisation, endurance): no regression.
- 0.5.10 at 4x: the same speed as 0.5.9 (about 15 steps a second in the tests), builds of both players, responsive builds through towns, paused actions in turns, a client cut every 30 s, a big world for 10 minutes: in sync.
Known issues
- The game of the other players still stands for about a fifth of a second at each build of another player.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.10.zip, SHA-256E1B658C8D4D0125C95100F23AE4EC6AC4EF0715E754942A363119BA99295379DMPFever-0.5.10-server.zip, SHA-256866BC355374F3F1FA693AC8111FCF8DA65ACAA583B58D43791F180B0E9428969
MPFever 0.5.9
A public list of dedicated servers, builds that show at once at every speed (experimental), and fixes for the dedicated server's window.
MPFever is still in active development: back up your savegames.
Archives
MPFever-0.5.9.zip: for players.MPFever-0.5.9-server.zip: the dedicated server (folderMPFever-Server; itsMPFever.exeopens the server's window).
MPFever 0.3.15 and later update themselves to 0.5.9 when the game closes. Every player needs the same version.
Fixes
- Dedicated server: the window of a stopped server showed an empty card, without the « Start with display » and « Start without display » buttons and the automatic start box (0.5.8). Only the console's
startcould start it. The card now shows them. - Dedicated server: with « Start the server when MPFever opens » ticked, « stop » started the server again at once. After a stop, the window now waits for a new start.
- Nothing could be built after MPFever was disabled in the game's mod list while a lobby was open, then a savegame loaded. Builds are no longer held forever when MPFever's script is not running.
- One company per player: two players changing the same place within about two seconds led to a reload. The build made second is now left out on every game, and the chat tells its player to make it again.
- Dedicated server without display: the world's savegame picture was black. The picture of before is kept.
- A false « slight drift (buildIds) » at 2x and 4x when two builds came a few steps apart.
New
- Public server list. Dedicated servers now appear in the new Public servers tab of the multiplayer page, with their players, world, company mode, password and message of the day; players join them in one click. A server is listed by default:
public=falsein itsmpfever_server.propertieskeeps it out. - Responsive builds now at every speed (host setting, experimental, off at first): your builds show at once on your game instead of waiting for the other games, so you can attach the next piece right away. It was limited to 1x since 0.3.12 because towns drifted at 2x and 4x; that came from a cause fixed in 0.5.3. Checked: streets through towns at 4x and 2x, in sync, with the same entities on every game.
Checked
- Dedicated server without display, 2 h 53 at 4x with a player: 171 checks identical, one drift of towns and vehicles (no build involved) repaired by itself in 23 s, 17 autosaves of about 4 s, no error. The server's game used half the graphics card of the player's game.
- A player joining a server without display from the Public servers tab: in sync.
- A host game without display: builds, paused actions in turns, a player cut every 30 s, a resynchronisation: all in sync.
Known issues
- With two or more players, the games still stop for about a second at every build of another player. Responsive builds remove the wait for the builder only.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.9.zip, SHA-256A5D355AC0E0282FAB7AA5402040275D7D641340976BE4929298CA269BA580743MPFever-0.5.9-server.zip, SHA-2562F00D8D9D463AFE0D3C9ED93618E56403BAEC3F8B34BD6D600C9F5199680B430
MPFever 0.5.8
The dedicated server can run without display, and it starts with a button. Nothing changes for the players' games.
MPFever is still in active development: back up your savegames.
Two archives
MPFever-0.5.8.zip: for players.MPFever-0.5.8-server.zip: the dedicated server. Its folder is now calledMPFever-Server, and itsMPFever.exeopens the server's window (start-server.batdoes the same;SERVER.txtexplains the setup).
MPFever 0.3.15 and later update themselves to 0.5.8 when the game closes. Every player needs the same version.
New for the dedicated server
- Start with display or without display. The server's window now opens with the server stopped and two buttons:
- Start with display: the game's window shows the world, as before.
- Start without display: the game runs hidden. It simulates the world and hosts the players exactly the same way, but its window is never shown, the world is not drawn and it makes no sound: far less work for the graphics card and the processor. A graphics card able to run the game is still needed.
- Both run the same world and the same saves: stop the server and start it the other way at any time.
- The console has
startandstart headlesstoo.
- Start by itself, if you want. The box Start the server when MPFever opens (off at first) starts the server as soon as
MPFever.exeopens, the way it was started last. - Stop without closing. Stop (the button or the console) saves the world and stops the server; the window waits for a new start. Closing the window, or
exit, stops everything as before. - A stopped server updates at once; a server updated while it ran starts again the way it was running.
For servers already set up
- A server that updates itself from 0.5.7 keeps running with display, as before. To use the new way, stop it and click Start without display.
- A folder already in place keeps its name: only new downloads get
MPFever-Server.
Checked
- Without display, on a test world: the window stays hidden, no sound, the 3D world is not drawn, the frames are paced at 60 per second, the world loads and runs at normal speed, and the autosave works.
- All automatic tests pass (repository, assets, companies, languages, Lua limits, lockstep, launcher self-test).
Known issues
- Without display, a savegame's preview picture is black (nothing is drawn).
- Disabling MPFever while still in a lobby, then loading a savegame, still blocks building: leave the lobby first.
Thanks
- Thanks to everyone who takes the time to send a problem report: each one helps make MPFever better for everybody.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.8.zip, SHA-2566EBAD1CB946437303BCA5B8967860CC9B3DD0B5D5DA390DDF309DA72F0E25A12MPFever-0.5.8-server.zip, SHA-256573258FD04665710E30BF7136A2AA7FC28353B6DB0CE74157421E67FC3CF360C
MPFever 0.5.7
Fewer reloads: signals and tracks are now rebuilt exactly as their builder made them, and two players building at the same place no longer split the games.
MPFever is still in active development: back up your savegames.
Two archives
MPFever-0.5.7.zip: for players.MPFever-0.5.7-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.7 when the game closes. Every player needs the same version.
Fixes
- Signals changed from their window, then a reload.
- A signal keeps its own settings (one way or not, the year it was built). The other games rebuilt it without them, so it became another signal there.
- In a test session, 20 signals switched to one way made the track network of the other game differ in 2063 places. The trains then went apart, and the games reloaded after the next track build.
- Every replayed signal and stop now gets its builder's settings.
- Streets and tracks without their noise and pollution.
- A street or track built by a player had its noise and pollution on that player's game only. Every other game rebuilt it without them, and the towns around it could slowly drift apart.
- In the same session, 25 segments were concerned.
- Every rebuilt segment now gets its builder's noise and pollution.
- With these two fixes, that whole session, replayed from its savegame, gives the builder's world entity for entity. The track build that went apart gets exactly the builder's numbers.
- Signals on ordinary tracks are now rebuilt from the signal tool's own build, as signals on bridges and in tunnels already were.
- Two players changing the same place within about two seconds, the known issue of 0.5.6.
- Before, a build was computed when the player clicked, then waited about two seconds for its turn. If another player built there in the meantime, the builder applied its old computation while every other game computed it again on the new ground, and the games reloaded.
- Now the builder's game notices it: the build is sent to the others and rebuilt on every game the same way, at the same moment. If it no longer fits the place, it is left out on every game alike: just make it again.
- Builds of two players landing at the very same moment are now applied in the same order on every game. Before, each game applied its own first.
- Checked with two players upgrading the two streets of one crossing at the same time: before, the games went apart (9 differences found, a reload); now they stay in sync with the same numbers, three times in a row, and also in a pause.
- Not yet with one company per player, where this can still lead to a reload.
Checked
- The session where the signals went apart, replayed from its savegame on two games on one PC. It now gives the builder's world entity for entity: tracks, signals, network, vehicles, persons, buildings. The track build that split the games now gets the builder's numbers.
- Two players changing one crossing at once, running and in a pause: in sync, the same numbers on both games.
- Earlier checks, run again and all in sync:
- actions in a pause, in turns;
- the free numbers of new entities;
- a stalled engine on a big map;
- two passages of a 2-hour session where reloads had happened.
Known issues
- Two players changing the same place within about two seconds, with one company per player, can still lead to a reload. MPFever notices it and reloads the games.
- A new crossing has no noise of its own on the other games (the game does not let a mod give it one). This is a very small difference.
- Disabling MPFever while still in a lobby, then loading a savegame, still blocks building: leave the lobby first.
Thanks
- Thanks to kingplay98, theop and Eagle for their sessions, logs and savegames: the two-players-at-the-same-place problem could be found and fixed thanks to them.
- Thanks to ArtemQa8, Gwemox and qLimAx1991 for their reports.
- Thanks to everyone who takes the time to send a problem report: each one helps make MPFever better for everybody.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.7.zip, SHA-256988AF45D27DA88A9057E2378CF009F52D73BFEC2CFB5818BBD09344F38E66A6AMPFever-0.5.7-server.zip, SHA-2566123CACD3547F21183CEF8666B4EEC36E0A0AB339C8A7992BB18224A768C927F
MPFever 0.5.6
Fewer reloads: every player's actions in a pause now happen in the same order on every game, and builds no longer land late when the game stalls on a big map.
MPFever is still in active development: back up your savegames.
Two archives
MPFever-0.5.6.zip: for players.MPFever-0.5.6-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.6 when the game closes. Every player needs the same version.
Fixes
- Vehicles going apart after a building session in a pause, then a reload. In a pause, each player's builds already took turns, so that every game built them in the same order. Other actions did not: editing a line, buying a vehicle, renaming. Each game applied its own at once and the other players' when they arrived. In one of our testers' sessions, a line edited on the host went just before a bus stop of the other player there, and just after it on that player's game. The stop then took other free ids on each game, every vehicle bought afterwards got another number (72528 on one game, 62302 on the other), and the games reloaded 3 minutes later. Every action made in a pause now takes its turn with the builds, and every game applies them all in one order. (0.5.5 listed this as a problem of the bus stop replay: it was the order.)
- Builds landing late after the game stalled. On a big map, some builds (a lane modifier, industry extensions) make the simulation stand still for 10 to 13 seconds. A game waiting for another player's build took that silence for a lost request and asked for its steps again, then ran 15 steps instead of 3: the build landed 4 to 8 steps late, the towns went apart and the games reloaded. This caused 2 reloads in one evening of our testers. The request is now asked again only when the game is proven idle.
- Reloads during long building sessions in a pause. A check taken in a pause could compare a game that had already built the last stop with a game that had not yet. A player building on and on kept that difference check after check, until a reload. Games that are not at the same point of the pause are no longer compared, and the host's money taken at another point no longer "corrects" anyone.
- A replayed build landing one step late on one game, without any warning. A game could send another player's build to its engine while the engine was still finishing a step: the build then landed one step later there than everywhere else, and the games slowly drifted apart. In a replay of our testers' session, 34 builds out of 147 were sent that way (most of them still landed on time, by luck). A build now waits until the engine is seen standing still.
- A crash when selling several vehicles at once. If one of the vehicles sold did not exist as a vehicle on another player's game, that game crashed. Such a command is now skipped on that game and reported, like a missing vehicle already was.
Checked
- The order of actions in a pause: two games on one PC, the host buying vehicles while the client places bus stops, all in one pause. Without the fix, the same vehicle got number 33554 on one game and 34110 on the other. With it, every vehicle has the same number on both games, three runs in a row, in sync.
- A stalled game: the simulation made to stand still 12 seconds in the middle of a build, three times. With the fix, every build lands at its exact time, in sync. Without it, builds land up to 28 steps late and the games go out of sync.
- Our testers' whole evening replayed: the actions of their 2-hour session (about 600) replayed on two games on one PC, from their savegame (with their 14 mods): in sync from start to end, 37 checks identical, including at the very moments of their 5 reloads. In their pause of 22:08, the vehicles bought got exactly the numbers the host had got that evening.
Known issues
- Two players changing the same place within about two seconds can still lead to a reload. A player's build is computed when they click, then waits about two seconds for its turn. If another player's build changes the ground right there in the meantime, the first build no longer fits the ground the others see. MPFever notices it and reloads the games. It happened twice in our testers' 2-hour session, both times during a burst of 19 industry extensions next to a railway being demolished.
- Disabling MPFever while still in a lobby, then loading a savegame, still blocks building: leave the lobby first.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.6.zip, SHA-2561E60FC15505DABD6C40E837A9C2DEB85EB9CA4705BB2B7E31BE99F39D817EE68MPFever-0.5.6-server.zip, SHA-25602CC1A710367ACC9F5109EA0056D0F58E317E97808E2CE092F2030FB6B651AC9
MPFever 0.5.5
Fewer reloads: after a replayed build, every game gives new vehicles and buildings the same ids. Train stations no longer slow the game down without a lobby.
MPFever is still in active development: back up your savegames.
Two archives
MPFever-0.5.5.zip: for players.MPFever-0.5.5-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.5 when the game closes. Every player needs the same version.
Fixes
- Towns and vehicles drifting apart after a build, then a reload. This was the most frequent cause of reloads in our testers' sessions of 2026-10-25 (4 reloads out of 6). Every new vehicle, building or road piece takes its id from a queue of free ids kept by the game. Replaying another player's build, for example a bus stop or a bus terminal, could leave that queue in another order on one game only. From then on, every new entity got another id there: in one session, the next vehicle bought was number 350772 on one game and 353349 on the other. Towns and vehicles then slowly went apart until the games reloaded. MPFever now keeps that queue in order, so every game gives the same ids. Measured at x4 with two games on one PC: no speed cost (x3.93 against x3.96).
- Reloads for nothing. The check added in 0.5.3 that compares the ids of each build could read them at a different moment on each game when the game ran faster than x1. One session reloaded although both games were the same. That check is now only written to the log, and never triggers a reload.
- The frame rate fell with every module added to a train station (issue #82), when the game ran without a lobby (MPFever.exe, then a savegame loaded from the game's own menu). MPFever kept a full copy of every build to send it to the other players, and without a lobby nobody took it. The game copies that data several times per frame. Measured on a train station of 31 modules edited 6 times: the frame rate went from 78 to 43 fps. Without a lobby, MPFever now keeps nothing. In a lobby, 0.5.3 already dropped the copies once sent: the frame rate stayed between 84 and 88 fps.
- Building stopped working after a session (issue #82): back in the main menu, then a savegame loaded from the game's menu, a new build could stay waiting forever. MPFever no longer holds builds once the session is over.
Diagnostics
- Two builds of another player were built two steps after their time on one game, which led to a reload. MPFever now writes in its log how the game stands when it replays a build, to find the cause if it happens again. In a later 50-minute session, all 100 replayed builds were built at their exact time.
Checked
- Desyncs: two games on one PC with BUILDLEAD on. Each player places bus stops on town streets, builds new roads and buys vehicles, then the game runs 3 minutes at x4: in sync, and both games gave every build and every vehicle the same ids.
- A real session of 50 minutes with the new id queue (our testers, 2 PCs): no crash, the queue was kept in order 470,000 times without a single failure.
- Train station: the frame rate measurements above.
- Joining through Steam between two Steam accounts on two PCs (new in 0.5.3, not tested at the time) works in real sessions: the host's game (23 to 29 MB of differences at each reload) was sent over 4 Steam connections in 3 to 18 s.
Known issues
- Many bus stops placed or removed in a pause, then vehicles bought: the games can still give the new vehicles different ids, and reload a few minutes later. Replaying a bus stop does not always create exactly what the stop tool created. This is the next fix we are working on.
- Disabling MPFever while still in a lobby, then loading a savegame, still blocks building: leave the lobby first.
If you enjoy MPFever, you can support it on Ko-fi, or leave a comment or a like on Nexus.
Files:
MPFever-0.5.5.zip, SHA-256B1FEF60D9C6D1D546255506954A84BBFB04EFE91E35E01C0B65341DE373C67D5MPFever-0.5.5-server.zip, SHA-2567CA2CF5F293C556445ED388F9D129785CF3B293A9EBE2351DC0A973FC8C5562A
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