Skip to content
SPECIFICTION
Get listed

GGRS

github.com

WebWindowsmacOSLinuxAPI
Visit github.com
Spec score 7.7 #19 of 29 in Game Networking Middleware

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

Alternatives to GGRSAll alternatives →