Rust + Godot multiplayer signaling
Signal Fish Client SDK¶
Use this SDK to connect a Rust game to Signal Fish, place players in rooms, relay game data, and react to server events. Choose an async Tokio client or a polling client that runs inside your game loop.
Install and connect View on GitHub
Release status
0.10.0 is the current crates.io release and supports Rust 1.87.0 or
newer. This site follows unreleased main; use the 0.10.0 API
docs for the published surface.
Get connected¶
- Run or obtain a Signal Fish server and choose an App ID. It is a public application label, not a secret. The server's five-minute quick start provides a development setup.
- Add
signal-fish-clientto your game. - Connect a transport and start a client.
- Wait for
Authenticated, then join a room. - Keep draining events while the client is active.
The installation guide includes a complete first client.
The repository's basic_lobby example
adds readiness, game start, reconnection state, error, and shutdown handling.
Pick the right path¶
| If you are building | Start with |
|---|---|
| A Tokio-based Rust game or service | SignalFishClient and the built-in WebSocket transport |
| A Godot 4.5 native or web game | SignalFishPollingClient and the Godot adapter |
| A browser or frame-driven engine | SignalFishPollingClient and a platform transport |
| A game with WebRTC peers | Protocol v3 and the mesh guide after the relay path works |
Protocol v2 relay is the simplest starting point. Protocol v3 adds delivery accountability and mesh signaling when your game needs them.
Read by task¶
-
Installation & Quick Start
Install the crate, connect, authenticate, and join a room.
-
Basic Lobby Walkthrough
Add readiness, game start, error handling, and graceful shutdown.
-
Client API Reference
Find client configuration, room commands, game-data methods, and state.
-
WebAssembly (WASM)
Integrate browser, Emscripten, or Godot native/web builds.
When you need more detail¶
- Events and errors describe what your event loop can receive.
- Protocol versioning helps you choose v2 relay or v3 delivery and mesh features.
- Delivery and backpressure explains queue sizing and congestion.
- Transport is the contract for custom network backends.
- docs.rs is the exact Rust API reference.
The navigation groups these deeper topics separately so you can start without reading the protocol internals first.