Game-agnostic realtime sync runtime for server-authoritative multiplayer over WebSockets.
- Fixed-timestep runtime (default 60 Hz)
- Session manager for start/stop and per-session input ingestion
- Per-player input coalescing via MergeInput
- Snapshot and game-event stream per session
- Optional WebSocket codec crate with MessagePack support
- crates/realtime-sync-core: runtime traits and session loop
- crates/realtime-sync-ws: codec utilities for WS payloads
- examples/minimal-2d: minimal game model integration example
cargo test --all-targets --all-features
cargo clippy --all-targets --all-features -- -D warnings
cargo run -p minimal-2d- Implement GameModel for your game state.
- Implement MergeInput for your input type.
- Start sessions through Runtime::::start_session.
- Forward client input into SessionHandle::submit_input.
- Stream RuntimeEvent::Snapshot and RuntimeEvent::GameEvent to clients.
MIT