1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Move development information from readme to wiki

Minor tweaks and updates to the readme too
This commit is contained in:
NGnius
2025-06-02 21:10:03 +00:00
parent ebcb8383c4
commit 36a58eaed1

View File

@@ -11,42 +11,21 @@ To get CardLife to use these servers, replace the `ServerConfig.json` file in th
### Robocraft
To get Robocraft to use these servers, place [this servenvmulti.config](assets/robocraft/servenvmulti.config) file in the game files.
// TODO Document how to run the servers yourself
You may need to change the `activegroup` from `dev` to `ngram` (or vice versa for locally-hosted servers).
## Privacy
The minimum amount of data is (and should be) collected to provide the expected functionality.
In most cases, these means no data is collected or logged except some debug log messages in development versions.
Some personal identifiers are sent but only exist ephemerally.
The exception is Robocraft servers, which store the minimum account info possible on disk.
The exception is Robocraft servers, which store the minimum account info possible.
This includes a unique user identifier, username, vehicle data, and user configuration data.
If email and/or Steam account identifier are provided, those are also stored.
The current PC's MAC address is also sent to the server (this is a Robocraft client feature, it is not recorded by any server).
## Development
### Robocraft
#### Extra crates
There are two crates that are expected to be in the same parent folder as this project, since they may change as a result of OpenJam server development.
- https://git.ngram.ca/OpenJam/libfj (Public-facing FreeJam API and data structures)
- https://git.ngram.ca/OpenJam/polariton (Photon Unity Network packet and server)
#### Running
Run all of the servers using their respective `run_debug.sh` scripts and use the `dev` profile in `servenvmulti.config` to point the game to your local dev servers.
The debug scripts will tell each non-HTTP server\* to run in single connection mode which makes them shut down when an unrecognised request is received or the client quits.
The default configuration will place data in `data/robocraft` and use the assets in `assets/robocraft` (relative to the project root).
When running for the first time, you will need to create the file `data/robocraft/token_secret.key`, otherwise most servers will crash on startup.
The key may contain any data, but I'd recommend against leaving it empty since it is used for cryptography.
By default, account data will be stored in a sqlite database at `data/robocraft/accounts.sqlite.db` (created automatically).
That is good enough for most development tasks, but a real database (MySQL or Postgres) is expected to be used in production.
It is possible to remove the obfuscation from the Robocraft's `Assembly-CSharp.dll` if you need to figure out how it expects the server to behave.
\* non-HTTP servers use the Photon Unity Network (PUN) packet system to communicate. These are `rc_chat`, `rc_services`, `rc_singleplayer`, `rc_social`, and their respective `_room` variants.
Please refer to the [wiki](/OpenJam/servers/wiki/Dev).
## Contributing
@@ -54,7 +33,7 @@ If you can program or are learning Rust, pull requests are appreciated! If you c
Note: New users cannot create repositories on this git server and so can't create pull requests. If you're interested in contributing code, please ask NGnius to lift that restriction on your account.
If you'd like to discuss, contact NGnius on Signal `rfc.1149` or email `ngniusness@gmail.com`. I'll make a Signal group chat if there's enough interest.
If you'd like to discuss, join the [Signal group](https://signal.group/#CjQKIEPim2GPSftMpRv03dhesLxwY9v7TWo2zyBVc8MhaC_zEhDWJ5kEkYBEsj4Fa-0gLcXs) for the project.
# Acknowledgements