Releases: rwmt/Multiplayer
Continuous
This 'alpha' release is an automatically generated snapshot of the current state of development. It is continuously updated with work-in-progress changes that may be broken, incomplete, or incompatible.
Supported RimWorld versions: latest 1.6
Installation
- Download the
Multiplayer-beta.zipfile below. - Open your RimWorld installation directory
- Steam: Right-click RimWorld in your Steam library β
ManageβBrowse local Files - Or navigate directly to:
- Windows:
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods - Mac:
~/Library/Application Support/Steam/steamapps/common/RimWorld/RimWorldMac.app/Mods(Right-click onRimWorldMac.app, then clickShow Package Contentsto see theModsfolder) - Linux:
~/.steam/steam/steamapps/common/RimWorld/Mods
- Windows:
- Steam: Right-click RimWorld in your Steam library β
- Extract the zip file into the
Modsfolder.- You should have a
Multiplayerfolder in theModsfolder (Mods/Multiplayer) - Make sure you do not have this directory structure:
Mods/Multiplayer-beta/Multiplayer. If you do, move theMultiplayerfolder to the parent directory.
- You should have a
Standalone server
Download Server-beta.zip if you want to host a dedicated standalone server for testing.
Setup
- Download and extract
Server-beta.zip. - Run
Server.exe(Windows) ordotnet Server.dll(Linux/Mac) from the extracted folder. - The server will start and wait for the first connection.
First-time configuration (bootstrap)
No manual configuration files are required.
The first player to connect via the Multiplayer mod client will be prompted to perform the initial setup:
they can configure the game world, scenario, and other options directly from within RimWorld.
Subsequent players connect to the already-running session.
v0.11.5 for RW 1.6.4633
RELEASE 0.11.5 for RW 1.6.4409
Major work on multifaction stability and dedicated server support, plus fixes for high impact multithreaded desyncs and other minor desyncs.
Download Multiplayer-v0.11.5.zip from Assets below.
What's Changed
- Fix sending transporters from other player-faction's faction base to use correct faction by @Sakura-TA in #850
- Fix Quests involving lending colonists via a Shuttle cannot be completed, the shuttle will never register as fully loaded and cannot leave. by @Sakura-TA in #851
- Add standalone server bootstrap flow by @MhaWay in #852
- Add mod compatibility database caching by @mibac138 in #853
- Ensure a goodbye packet is sent when a client is disconnected by @mibac138 in #787
- Fix Unnatural Corpse desync by @notfood in #857
- Align server Dockerfile with .NET 8 by @MhaWay in #859
- Skip VTR map updates during joinpoint reload by @MhaWay in #865
- Abort join point creation when host disconnects by @MhaWay in #863
- Server: Allow game to continue without host in FreezeManager by @MhaWay in #866
- Server: Fallback time control to allow all players when host is absent by @MhaWay in #867
- Standalone server: stream map commands only to relevant players by @MhaWay in #868
- Handle keepalive packets in server loading state by @MhaWay in #864
- Fix fragmented standalone map responses on client by @MhaWay in #870
- Fallback standalone server to old sync behavior by @MhaWay in #871
- fix gravship-multifaction-faction-context by @Sakura-TA in #872
- Suppress auto-popup of Dialog_NamePlayerGravship in MP by @sviyh in #873
- Include request id in ModCompatibilityManager logs by @mibac138 in #879
- Fix RegisterSyncField(Type, string) to preserve caller targetType (#880) by @sviyh in #881
- Fix/shuttle quest colonist register by @Sakura-TA in #882
- Raise fragmented init data limit for large mod lists by @MhaWay in #878
- fix PathGridDoorsBlockedJob race: snapshot pawn positions before job β¦ by @Sakura-TA in #883
- Add modVersion to About.xml by @mibac138 in #887
- Fix rescued player faction pawns becoming guests in multifaction by @Sakura-TA in #885
- Remove desyncTracesFromHost from MultiplayerSession by @mibac138 in #888
- Add ConnectionBase.ChangeState(MpConnectionState) and introduce state-passing through that by @mibac138 in #889
- Introduce AutoJoinHandler by @mibac138 in #892
- fix(Determinism): force single-batch FastTileFinder.Query in MP to prevent quest site tile divergence by @Sakura-TA in #893
- Remove bootstrapState from MultiplayerSession & bootstrap-related refactor by @mibac138 in #890
- Fix/map gen faction context by @Sakura-TA in #894
- fix(StylingStation): null-guard apparel lists for alien pawns in CreateStylingDialog by @Sakura-TA in #895
- Remove MultiplayerSession.initialOpinions by @mibac138 in #891
- Finish works on PathFinder by @Sakura-TA in #900
New Contributors
Full Changelog: v0.11.4...v0.11.5
v0.11.4 for RW 1.6.4633
RELEASE 0.11.4 for RW 1.6.4409
Critical bugfix release to prevent crash to desktop and some desync fixes.
Download Multiplayer-v0.11.4.zip from Assets below.
What's Changed
- Prevent TempTerrainManager from spamming stack tracing logs by @Zetrith b084136
- Fix crash to desktop and NRE in JittedMethods by @Zetrith 5f6b65a
- Fix sync not using addGenericMethod by @Sakura-TA in #844
- Fix AreaSource using faction-based data by @Sakura-TA in #845
- Fix multithread race condition about pathfinder by @Sakura-TA in #846
- Sync bookcase and outfit stand by @Sakura-TA in #847
Full Changelog: v0.11.3...v0.11.4
v0.11.3 for RW 1.6.4633
RELEASE 0.11.3 for RW 1.6.4409
Updated binaries. No code changes.
Download Multiplayer-v0.11.3.zip from Assets below.
v0.11.2 for RW 1.6.4633
RELEASE 0.11.2 for RW 1.6.4409
Prepatcher is now a hard dependency. Update your modlists. It can be found in Steam or Github.
Download Multiplayer-v0.11.2.zip from Assets below.
What's Changed
- Bump Languages from
17d0ff2to79c4749by @dependabot[bot] in #823 - Refactor server->client config syncing into SyncConfigs by @mibac138 in #806
- Bump Languages from
79c4749toa7ae470by @dependabot[bot] in #824 - Extra logs when connecting using Steam by @mibac138 in #826
- Pre-flip Steam avatars and handle AvatarImageLoaded callback by @mibac138 in #825
- Expose net info debug view to users with dev mode by @mibac138 in #828
- Don't always warn about a missing PacketHandlerClass attribute by @mibac138 in #829
- Bump Languages from
a7ae470to7157a92by @dependabot[bot] in #830 - Replace dependency on Harmony with a dependency on Prepatcher by @mibac138 in #832
- Fix JittedMethods NRE by @mibac138 in #833
- Add list of save files to save window by @ianleeder in #822
- Bump Languages from
7157a92to1fc7242by @dependabot[bot] in #834 - Centralized definitions for website and discord link by @mibac138 in #835
- Fix inconsistent serialization of GlobalTargetInfo by @mibac138 in #840
- Warn about the current arm64 incompatibility by @mibac138 in #841
- Remove technical reason for desync from desync window by @mibac138 in #836
New Contributors
- @dependabot[bot] made their first contribution in #823
Full Changelog: v0.11.1...v0.11.2
v0.11.1 for RW 1.6.4633
RELEASE 0.11.1 for RW 1.6.4409
Download Multiplayer-v0.11.1.zip from Assets below.
Important: For rituals to work in MP, the Prepatcher mod needs to be installed: https://steamcommunity.com/sharedfiles/filedetails/?id=2934420800 or https://github.com/Zetrith/Prepatcher/
What's Changed
- Initial changes by @Reznal in #548
- Deterministic HashCombines by @Reznal in #557
- Ping fix by @Reznal in #558
- Camping by @Reznal in #559
- Update in-game debug layout, add transparency by @DillionLowry in #560
- Improved Faction Sidebar and more by @SirrWilliam in #561
- Prevent duplicate monolith generation in multifaction by @Tick-git in #563
- Move all ContentFinder.Get() calls to MultiplayerStatic.cs by @SirrWilliam in #567
- Plans now sync when: by @Reznal in #566
- Add SyncWorker for Room serialization by @SirrWilliam in #565
- RBP on demand by @Reznal in #562
- Variable Tick Rate by @Reznal in #549
- Prettify debug information panel by @Reznal in #553
- Fix: Starting items not marked as forbidden by @SirrWilliam in #575
- Clear (some) nullability warnings by @ianleeder in #577
- Resolve reference comparison warnings (CS0252) by @ianleeder in #576
- Clear warnings about conflicting types by @ianleeder in #579
- Extended support for fragmented packets and handling them. Improved download dialog by @mibac138 in #584
- Performance recorder - Circular buffer, general improvements by @DillionLowry in #582
- Actions: Publish continuous release by @notfood in #586
- Add mod location property for CopyToRimworld build task by @DillionLowry in #580
- Fix scenario research lost on reconnect (#585) by @Tick-git in #588
- Removing obsolete workaround #535 fixed by #575 by @Tick-git in #592
- Fix incorrect class casts by @ianleeder in #593
- Fix wind turbine desync by @Tick-git in #594
- Added fix for fish determinism by @Reznal in #595
- Clear PortraitsCache post faction creation by @Tick-git in #596
- A few internal improvements by @mibac138 in #598
- Update max packet size validation to use MaxFragmentPacketTotalSize by @mibac138 in #599
- Fix desyncs for GloomForest, Lava and fish in multifaction by @Tick-git in #600
- Fixed plan implementation to work when multiple maps are loaded. by @Reznal in #602
- Fix camp is not abandoned correctly when reforming the caravan and relating problems by @Tick-git in #603
- More forgiving PlayerList packet handling by @mibac138 in #608
- Fix disconnect packet handling when connected through LiteNetLib by @mibac138 in #609
- Bring back ghost mode and packet read/write logs by @mibac138 in #610
- Fix: corpses do not rot by @Tick-git in #611
- Fix save game name when replays dir is not relative by @mibac138 in #615
- Fix Multifaction: Pawns Disappear When Caravan To Other Player Map by @Tick-git in #616
- Fixes Transport pod exception by @Tick-git in #619
- Sync "Drop pod raid at location" by @Tick-git in #578
- Refactor: Removes Transport Pod Float Option Syncing by @Tick-git in #622
- Fix Cross OS Play Immediate Desync by @Tick-git in #623
- Sync fishing zone settings and allow fishing gizmo by @Tick-git in #607
- Syncing CompHackable Gizmo Correctly by @Tick-git in #625
- Refactor ThingsById system to use non static data by @Tick-git in #626
- FactionSidebar TypeLoadException Fix by @SirrWilliam in #628
- Syncs Remaining Shuttle Behavior by @Tick-git in #630
- Gravship Basic Behavior by @Tick-git in #631
- Fixes Gravship Not Looking Smoothe While Traversing World Map by @Tick-git in #645
- Use built-in constants for tick values by @SokyranTheDragon in #649
- Fix space maps being incorrectly considered paused/unpaused in certain circumstances by @SokyranTheDragon in #650
- Remove anomaly check from colony subhuman check by @SokyranTheDragon in #651
- Fix desyncs due to
PreceptComp_UnwillingToDo_Chanceby @SokyranTheDragon in #652 - Refactor gravship implementation by @Tick-git in #642
- Fix Gravship Lights Turned Off While and After Landing by @Tick-git in #635
- Fixes Random Desyncs Due To Statue Exception And NextThingId Missmatch by @Tick-git in #632
- Make world's travelling transporters smoother by @SokyranTheDragon in #656
- Fix gravship launch on latest unstable by @SokyranTheDragon in #657
- Fix Gravship Launch Anchored Map Session Creation by @Tick-git in #660
- Remove Rbp Probing - Fixes #612 (Skylantern), #658 (GoldenCube) by @Tick-git in #662
- Sync animal forage/dig checkboxes by @SokyranTheDragon in #663
- Fix syncing of CompUsable that trigger another targetter by @SokyranTheDragon in #664
- Change how Odyssey's
ShouldSpawnMotesAtfixes are handled by @SokyranTheDragon in #665 - Make plans faction-based by @SokyranTheDragon in #670
- Decouple LogNode from PacketLogWindow by @mibac138 in #673
- Simplify local connection creation by unifying client and server handling by @mibac138 in #674
- Extra null safety for faction data, fix errors with #670 by @SokyranTheDragon in #675
- Trigger desync debug action, faster desync report generation, and separated metadata in the report by @mibac138 in #667
- Improve handling of packets when loading by @mibac138 in #668
- Fix errors with #675 by @SokyranTheDragon in #676
- Improvements to handling of Steam's "Join game" and "Accept invite" actions by @mibac138 in #672
- Use dedicated PacketHandlerInvoker delegate for handling packets by @mibac138 in #671
- Refactor latency update handling by @mibac138 in #678
- Encapsulate Steam and LiteNetLib networking by @mibac138 in #677
- Display host/client status and simplify LiteNetManager handling during server startup by @mibac138 in #682
- Fix game freeze when game window is too small by @mibac138 in #684
- Remove MultiplayerSession.localServerSettings by @mibac138 in #685
- Fog clearing and Slave warnings in Multifaction by @still222 in #681
- Introduce a window based notification when a player requests to join by @mibac138 in #686
- Update RimWorld version by @mibac138 in #690
- Standalone server improvements by @mibac138 in #692
- Do not abuse DefInfo for storing status data by @mibac138 in #693
- Save build git commit hash and add update available dialog for continuous release users by @mibac138 in #689
- Add missing import to VersionChecker by @mibac138 in #694
- Expand PR workflow checks by @mibac138 in #695
- Fix PendingPlayerWindow only showing the host's avatar by @mibac138 in #697
- Add installation instructions to the continuous release by @mibac138 in #701
- Fix t...
v0.10.7 for RW 1.5.4409
Download Multiplayer-v0.10.7.zip from Assets below.
Important: For rituals to work in MP, the Prepatcher mod needs to be installed: https://steamcommunity.com/sharedfiles/filedetails/?id=2934420800 or https://github.com/Zetrith/Prepatcher/
What's Changed since v0.10.5:
- Fix errors caused by pocket maps with Multifaction/spectator faction by @SokyranTheDragon in #475
- Fix/sync CompObelisk_Abductor (Warped Obelisk/Labyrinth) by @SokyranTheDragon in #476
- Psychic ritual syncing by @SokyranTheDragon in #482
- Include map count in desync info by @SokyranTheDragon in #483
- Rework FixNullMotes patch by @SokyranTheDragon in #489
- Fix starting bestowing ceremony using right-click by @SokyranTheDragon in #490
- Fix Toxifier Generator dev mode infinite loop by @SokyranTheDragon in #491
- Exclude Spectator faction from FactionRepeater by @SokyranTheDragon in #492
- Create PauseLockSession during PostLoadInit in ExposeData by @SokyranTheDragon in #493
- Make AOE game condition causer use correct map time, fixes #210 by @SokyranTheDragon in #494
- Sync atmospheric heater "reset" gizmo by @SokyranTheDragon in #495
- Fix only one faction having access to Anomaly research in Multifaction by @SokyranTheDragon in #496
- Synced all research tab buttons, fixes #290 by @SokyranTheDragon in #497
- Updated the list of ignored mod configs by @SokyranTheDragon in #498
- Fix void monolith float menu causing desync with
CompProximityLetterby @SokyranTheDragon in #499 - Register sync methods directly rather than using API by @SokyranTheDragon in #500
- Rework some PawnColumnWorker syncing by @SokyranTheDragon in #502
- Use more
nameofand use Harmony to access properties rather than methods by @SokyranTheDragon in #503 - Update WorldObject sync worker delegate to handle pocket maps by @SokyranTheDragon in #504
- Disable Trade/Transport/Caravan Session Buttons for Other Factions by @SaberShip in #507
- Improved starting experience for multifaction by @Tick-git in #508
- More resilient syncing of bill repeat mode by @mibac138 in #522
- Make RNG in multiplayer more random, fix small RNG bug by @SokyranTheDragon in #523
- Sync "Reset cooldown" dev-mode gizmo for Abilities by @SokyranTheDragon in #524
- Fix #521 by @SokyranTheDragon in #527
- Fix ping always showing 0ms when connecting without using LiteNetLib by @mibac138 in #529
- Encapsulate MpConnectionState.packetHandlers via GetPacketHandler by @mibac138 in #531
- Integrate IsFragmented into PacketHandler by @mibac138 in #532
SyncFieldbuffering: expanded docs, simplified code flow, and improved UX by @mibac138 in #533- Add SyncWorker for ThingDefCount serialization by @Tick-git in #540
- Introduce Byte{Reader,Writer}.{Read,Write}Enum by @mibac138 in #530
- Handle every Enum type by @notfood in #545
- Fix for #547 by @Tick-git in #550
- .NET Framework 4.8 & .NET 8 upgrades by @DillionLowry in #551
Full Changelog: v0.10.5...v0.10.7
v0.10.5 for RW 1.5.4104+
Download Multiplayer-v0.10.5.zip from Assets below
The release file also includes the stable 1.4 version 0.9.8.
Important: For rituals to work in MP, the Prepatcher mod needs to be installed: https://steamcommunity.com/sharedfiles/filedetails/?id=2934420800 or https://github.com/Zetrith/Prepatcher/
Prepatcher isn't a required dependency for now because there might still be some issues with it. The mod works without it normally apart from creating rituals not being synchronized in MP.
Prepatcher is a tool for modders that provides patching capabilities beyond those of Harmony. The implementation of rituals was made fairly complex in 1.5 and a different library is need to support them.
Changes:
- Fix Royalty/Ideology rituals in multiplayer (see above, requires Prepatcher; Anomaly rituals are still broken)
- Fix rituals not working in singleplayer (sorry about this one)
- Fix sending caravans from the planet
Changes by Sokyran:
- Fix desyncs caused by Vanilla Expanded Framework
- Fix heater/cooler temperature change desyncs
- Fix pit gates causing desyncs
- Fix labyrinth generation in multiplayer
- Fix Noctol eye rendering in multiplayer
Hotfix 0.10.5:
- Fix autosaving desyncs
- Fix multifaction caravans disappearing on arrival in non-player sites
Note: while Core+DLCs 1.5 is fairly stable, Anomaly is still a work-in-progress and it's recommended to play without it.
v0.10.3 for RW 1.5.4104+
Download Multiplayer-v0.10.3.zip from Assets below
The release file also includes the stable 1.4 version 0.9.8.
Changes:
- Update to RimWorld 1.5.4104
- Add notice about 1.5/DLC compatibility
- Update Russian, Polish, Korean and German translations (thanks to rutexd, Sairento-92, 94HanA, Maxsiom)
- Add translation to Latin Spanish (thanks to xDevilDance)
- Fix desyncs related to hauling items (e.g. hauling to shelves) (thanks to simtr)
Changes by Sokyran:
- Sync actions related to holding platforms
- Sync interacting with map portals (e.g. pit gates)
- Some other minor Anomaly fixes
- Fix desyncs related to unnatural darkness
- Fix syncing prisoner interaction modes
This is still a test version for RW 1.5.
v0.10.2 for RW 1.5.4062+
Download Multiplayer-v0.10.2.zip from Assets below
The release file also includes the stable 1.4 version 0.9.8.
- Fix zones breaking for the host after a reload in multifaction
This is a test version for RW 1.5.