Authoritative multiplayer game skeleton in Rust.
crates/protocol: shared wire protocol typescrates/shared: deterministic game simulation logiccrates/server: authoritative tick-based servercrates/client: terminal client for sending movement input
Start server:
cargo run -p serverStart one or more clients in separate terminals:
PLAYER_NAME=alice cargo run -p client
PLAYER_NAME=bob cargo run -p clientIn each client, type controls and press enter: w, a, s, d, wa, etc.
- Server uses a fixed
20hzsimulation tick. - Client input includes sequence numbers.
- Server snapshots include
last_processed_inputfor reconciliation plumbing.