Phinix is a total rewrite of Longwelwind's Phi mod that allows players to chat and trade items with each other within the game.
It boasts improvements such as:
- Chat message timestamps
- Unread message alerts
- Two-way trading GUI
- Asynchronous trades (no need to respond straight away!)
- Toggle-able name and chat formatting
- ...and a bunch of other stuff that I'm sure I've forgotten to mention here
- Download
PhinixClient.zipfrom the releases page - Extract it into your
RimWorld/Modsfolder (If you bought the game through Steam, this should be under somewhere likeC:\Program Files (x86)\Steam\steamapps\common\RimWorld\) - Download and install HugsLib
- Load HugsLib first, then Phinix
- Restart your game and you should be good to go
See the wiki page for server installation.
There are automated server builds available through Docker Hub.
See the wiki page for more details.
- Load up a save or create a new one
- Open the
Chattab toward the bottom-right - Click on
Settingsand enter the address and port of the server you want to connect to - Click
Connect
The chat panel should change from being greyed-out to a blue background. The user list on the right of the panel will update to show you and anyone else that is online.
- Open
server.confwith a text editor and change the settings as you see fit - Run
PhiServer.exe - (Optional) Enter
helpto see all available commands
See the wiki page for a list of frequently-asked questions and answers.
The client project depends on several assemblies from RimWorld's data directory (they can be found in <RimWorldDir>/RimWorldXXX_Data/Managed/):
Assembly-CSharp.dllUnityEngine.dllUnityEngine.CoreModule.dllUnityEngine.IMGUIModule.dllUnityEngine.InputLegacyModule.dllUnityEngine.TextRenderingModule.dll
All of these need to be present in the GameDlls/ directory to build the client project. Either copy them in directly or make a symbolic link.
If building for multiple game versions, you can also create a directory for the version under GameDlls/ and place that version's dependencies in there (e.g. GameDlls/1.3/...).
These will be preferred when building if they exist, otherwise the files in GameDlls/ will be used.
If you only want to build the common projects and/or the server project, you can build the solution using the TravisCI build profile which does not require the game assemblies.
Network data packets are defined in Protobuf, a structured, language-neutral de/serialisation framework designed by Google. If you want to make any changes to these packets, you will need a copy of protoc with C# support. As of March 3rd 2020, Phinix uses Protobuf v3.11.4.
