aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-09 10:53:11 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-09 10:53:11 +0200
commit323c6f56d9046d4cba9b7790deb13a6986fdae66 (patch)
treeec8fd6878d173213294c3623503ad9ac964bfca5
parentce70568ab5b62814be4fbfa406a4eb81d4e8643e (diff)
downloadhurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar
hurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar.bz2
hurrycurry-323c6f56d9046d4cba9b7790deb13a6986fdae66.tar.zst
add requirements to readme and update protocol
-rw-r--r--protocol.md8
-rw-r--r--readme.md18
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
diff --git a/readme.md b/readme.md
index ed792738..e153ae74 100644
--- a/readme.md
+++ b/readme.md
@@ -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`