Multiplayer games
What to look out for when playing multiplayer games with TTDPatch.
Multiplayer Games
What to look out for when playing multiplayer games with TTDPatch.
One of the more fun aspects of TTD is playing a multiplayer game against an actual human opponent, which is a nice change from the brain-damaged computer players. Now the question is, how does this work with TTDPatch?
For the most part, TTDPatch works well in network games if you pay attention to these issues:
- Both versions of TTDPatch must be identical.
- Both configurations of TTDPatch must be identical
- Some options of TTDPatch may be unsafe in multiplayer games
- Multiplayer mode is very unstable under Windows 2000/XP
In practice, it's easiest to set up TTDPatch on one of the computers, and then copy both the -+ttdpatch.exe+- and -+ttdpatch.cfg+- files (and also -+newgrf.cfg+- and all the new -+.grf+- files, if you use them) to the other computer without changing them. If both copies aren't exactly the same, it's very likely that the multiplayer game will become desynchronised, and basically split into two separate games that are not linked anymore (and playing a desynchronised game will very likely lead to a crash). There are few switches (listed below) that may work even if they're not set identically on each computer, though.
Note that under Windows 2000/XP, the game may become desynchronized much faster than under other operating systems. The cause of this is not clear, and therefore it is difficult to fix. However, the page on the TTDPatch site has a program called -+sv2flip+- which may help in resynchronizing savegames.
Additionally, it is impossible to use most of the patches that require the Ctrl key, because this key cannot be transmitted via the networking protocol TTD uses, and therefore two different things would happen on the two computers. Therefore TTDPatch should not even recognize the Ctrl key in multiplayer mode (and if it does, it's a bug). The only exception to this is using the Ctrl key for selecting the station size when placing a new station.
Here is tentative list of which switches do, and which do not work in multiplayer, supplied by Marcin Grzegorczyk. It is based mostly on a crude analysis of the internal working of TTD's multiplayer mode (and a few tests), but since I've never tried it myself I can't vouch for the correctness. Peruse at your own risk...
- Switches that do not affect the way TTD works, and are therefore 100% safe<nowiki>:</nowiki>
- forcerebuildovl, verbose
- Switches that might work right even if they're set differently on each machine
- (they only apply to the local player): diskmenu, enhancegui, errorpopuptime, keepsmallairports, morecurrencies, morehotkeys, morenews, moretownstats, moveerrorpopup, showfulldate, showspeed, signalsontrafficside
- Switches that should work well, as long as they're set identically on both machines<nowiki>:</nowiki>
- autorenew, bribe, bridgespeedlimits, buildoncoasts, buildonslopes, cheatscost, curves, disasters, electrifiedrailway, enginespersist, eternalgame, extradynamite, forceautorenew, fullloadany, generalfixes, gradualloading, largertowns, largestations, loadallgraphics, loadtime, longbridges, lowmemory, mammothtrains, miscmods, moreairports, morevehicles, mountains, newagerating, newplanes, newrvcrash, newrvs, newships, newtrains, noinflation, nonstop, officefood, planecrashcontrol, planes, planespeed, presignals, roadvehs, rvqueueing, saveoptionaldata, selectgoods, semaphores, servint, ships, signal1waittime, signal2waittime, spread, stableindustry, startyear, tgr*, towngrowth*, townminpopulation*, trains, unifiedmaglev, win2k
- Switches that may or may not work right, it's difficult to tell since they're complicated<nowiki>:</nowiki>
- aiboost, experimentalfeatures, extpresignals, feederservice, gotodepot, manualconvert, morebuildoptions, multihead, plantmanytrees, signcheats, tracktypecostdiff, trainrefit
- Switches that do not work (because of the lack of the Ctrl key) and should have no effect<nowiki>:</nowiki>
- debtmax, fastwagonsell
- Switches that do not currently work, but might be fixed someday<nowiki>:</nowiki>
- subsidiaries (although "Cht: PlayerID" should work fine)
Marcin was not able to test the above thoroughly, some switches may still cause crashes or loss of synchronization. Also, some switches offer multiple features, of which one may work right while another doesn't. All feedback welcome, please submit corrections or additions if you can!