Skip to content

A total rewrite of Longwelwind's Phi chat and trade mod for RimWorld

Notifications You must be signed in to change notification settings

thomotron/Phinix

Repository files navigation

PHINIX

A RimWorld chat and trading mod



Issues Docker Pulls Discord



About

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

Installation

Client

  1. Download PhinixClient.zip from the releases page
  2. Extract it into your RimWorld/Mods folder (If you bought the game through Steam, this should be under somewhere like C:\Program Files (x86)\Steam\steamapps\common\RimWorld\)
  3. Download and install HugsLib
  4. Load HugsLib first, then Phinix
  5. Restart your game and you should be good to go

Server

See the wiki page for server installation.

Docker

There are automated server builds available through Docker Hub.
See the wiki page for more details.

Usage

Client

  1. Load up a save or create a new one
  2. Open the Chat tab toward the bottom-right
  3. Click on Settings and enter the address and port of the server you want to connect to
  4. 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.

Server

  1. Open server.conf with a text editor and change the settings as you see fit
  2. Run PhiServer.exe
  3. (Optional) Enter help to see all available commands

FAQ

See the wiki page for a list of frequently-asked questions and answers.

Developers

Setting up your environment

Game DLLs

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.

Protobuf for Packet Compilation

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.

About

A total rewrite of Longwelwind's Phi chat and trade mod for RimWorld

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages