GGRS
github.com
Spec sheet
- Purpose
- GGRS is a Rust library for peer-to-peer rollback networking, described as a reimagination of the GGPO network SDK.Read 8 Oct 2026 · github.com
- API
- The project links to API documentation hosted on docs.rs.Read 8 Oct 2026 · github.com
- Security
- The project describes GGRS as written in 100% safe Rust.Read 8 Oct 2026 · github.com
- License
- GGRS is dual-licensed under MIT or Apache License 2.0, at the user's option.Read 8 Oct 2026 · github.com
- Bevy plugin
- The Bevy GGRS plugin advances game state and handles rollbacks through a dedicated schedule, snapshotting registered components and resources.Read 8 Oct 2026 · github.com
- Browser support
- The wasm-bindgen feature enables WebAssembly support for browser APIs, and the project points to Matchbox for WebRTC sockets.Read 8 Oct 2026 · github.com
- Demo limitation
- The project README says its hosted matchmaking server is currently offline, so the demos will not automatically find opponents.Read 8 Oct 2026 · github.com
- Engine integrations
- The project links to a Bevy plugin and a Godot wrapper; its demos use Macroquad and Bevy.Read 8 Oct 2026 · github.com
- Game integration
- Games provide state save and load operations and advance a frame using player inputs; GGRS handles input exchange, prediction, rollback scheduling, time synchronization, and desync detection.Read 8 Oct 2026 · docs.rs
- Implementation
- The project describes GGRS as written in 100% safe Rust.Read 8 Oct 2026 · github.com
- Input prediction
- Built-in predictors can repeat the last received input or predict the default input.Read 8 Oct 2026 · docs.rs
- Intended audience
- The project is aimed at developers integrating rollback networking into games, with examples and documentation for setup, sessions, the main loop, requests and events, and time synchronization.Read 8 Oct 2026 · github.com
- Matchmaking integration
- The project’s demos use Matchbox for WebRTC-based matchmaking, and its README says Matchbox sockets can work with GGRS through a feature flag.Read 8 Oct 2026 · github.com
- Networking
- GGRS supports a non-blocking UDP socket and a custom transport layer through its NonBlockingSocket trait.Read 8 Oct 2026 · docs.rs
- Networking features
- GGRS handles input exchange, prediction, rollback scheduling, time synchronization, and desync detection.Read 8 Oct 2026 · docs.rs
- Project status
- The README describes GGRS as fairly stable and says its core functionality for multiple players and spectators has not changed significantly in recent versions.Read 8 Oct 2026 · github.com
- Rollback
- GGRS predicts remote player inputs and, when they differ from received inputs, rolls back to a saved game state and simulates forward again.Read 8 Oct 2026 · docs.rs
- Rollback operation
- It predicts remote player inputs, detects mispredictions, rolls back to a saved state, and simulates forward again.Read 8 Oct 2026 · docs.rs
- Session types
- The library provides peer-to-peer multiplayer, spectator, and network-free sync-test sessions.Read 8 Oct 2026 · docs.rs
- Setup requirement
- A game using GGRS must save and load its state and advance one frame given player inputs.Read 8 Oct 2026 · docs.rs
- Support and community
- The README points developers to the GGPO Developers Discord to discuss rollback networking.Read 8 Oct 2026 · github.com
Where Specifiction places it
- Game Networking Middleware#19 of 297.7