From 49d7628ad50333fc945fbe16f97811c671afa8ee Mon Sep 17 00:00:00 2001 From: kjjohnsen Date: Sun, 13 Mar 2022 10:28:35 -0400 Subject: [PATCH] Update README.md --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 38d59e6..4e6ffbb 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,21 @@ # VelNetServerRust +This basic, single-file relay server is designed to be used for network games, and is similar to Photon Realtime in design. It is written in Rust, with a single-threaded, non-blocking design and does not rely on any network frameworks (pure TCP/UDP). A Unity/C# client implementation can be found in our VelNetUnity repository. + +Like Photon, there is no built-in persistence of rooms or data. Rooms are created when the first client joins and destroyed when the last client leaves. + +The only game logic implemented by the server is that of a "master client", which is an easier way to negotiate a leader in a room that can perform room level operations. + +The "group" functionality is used to specify specific clients to communicate with. Note, these client ids can bridge across rooms. + +The server supports both TCP and UDP transports. + ## Running -1. Get a linoox server +1. Get a linoox server (also runs fine on windows & osx, but the instructions below are for linux) 2. Clone this repo -3. Install rust: `sudo apt install cargo` +3. Edit config.txt to an open port on your firewall +4. Install rust through cargo: e.g. `sudo apt install cargo` 5. Build: `cargo build --release` 6. Run: `sudo ./target/release/VelNetServerRust` 7. Or run in the background so that it doesn't quit when you leave ssh: `nohup sudo ./target/release/VelNetServerRust`. You'll have to install `nohup` with apt.