diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-09 10:53:11 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-09 10:53:11 +0200 |
commit | 323c6f56d9046d4cba9b7790deb13a6986fdae66 (patch) | |
tree | ec8fd6878d173213294c3623503ad9ac964bfca5 | |
parent | ce70568ab5b62814be4fbfa406a4eb81d4e8643e (diff) | |
download | hurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar hurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar.bz2 hurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar.zst |
add requirements to readme and update protocol
-rw-r--r-- | protocol.md | 8 | ||||
-rw-r--r-- | readme.md | 18 |
2 files changed, 21 insertions, 5 deletions
diff --git a/protocol.md b/protocol.md index bfb4ece8..28626200 100644 --- a/protocol.md +++ b/protocol.md @@ -20,10 +20,10 @@ The protocol schema is defined in [`protocol.ts`](./test-client/protocol.ts) -1. Connect to the server via TCP (on port 27031) or WebSocket (on port 27032) - and send/receive json on individual lines / text messages. -2. Send the join packet with your username. -3. Wait for `init` packet. +1. Connect to the server via ~~TCP (on port 27031) or~~ WebSocket (on + port 27032) and send/receive json on individual lines / text messages. +2. Wait for `init` packet. +3. Send the join packet with your username. 4. The server will send the current game state: - `data` once for setting important look-up tables - `update_map` for every tile @@ -2,10 +2,18 @@ A cooperative multiplayer game about cooking. +The protocol is documented in [protocol.md](protocol.md). + +If you happen to be using pacman you can add or manually download pre-built +packages https://pkg.metamuffin.org/. These also include documentation and a +systemd service. + ## Client ### Building +- Requirements: + - Godot 4.2 - `make client-assets` - `cd client` - Import all assets: `godot --import .` @@ -18,17 +26,25 @@ A cooperative multiplayer game about cooking. ### Building +- Requirements: + - Nightly rust toolchain + - Deno - Build game data: `make -C data` -- Build the server program: `cargo build --release` +- Build the server program: `cargo +nightly build --release` ### Usage +- Ensure the `data` directory is available **in** either the process working + directory of the server or /usr/share/hurrycurry (or similar). Running the + server in the source folder should work. - Run the server: `./target/release/hurrycurry-server` ## Test Client ### Building +- Requirements: `esbuild` + - Compile typescript: `esbuild test-client/main.ts --bundle --outdir=test-client --target=esnext --format=esm` |