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.zip
from the releases page - Extract it into your
RimWorld/Mods
folder (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
Chat
tab toward the bottom-right - Click on
Settings
and 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.conf
with a text editor and change the settings as you see fit - Run
PhiServer.exe
- (Optional) Enter
help
to 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.dll
UnityEngine.dll
UnityEngine.CoreModule.dll
UnityEngine.IMGUIModule.dll
UnityEngine.InputLegacyModule.dll
UnityEngine.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.