- Home
- Game Networking Middleware
- GameNetworkingSockets
GameNetworkingSockets
What it is
GameNetworkingSockets is a free, open-source transport library for games that sends reliable and unreliable messages over UDP. It handles messages larger than the network’s underlying MTU by fragmenting and reassembling them, and reliable messages can be retransmitted. The library uses AES-GCM-256 for packets and Curve25519 for key exchange and certificate signatures.
For peer-to-peer connections, it supports NAT traversal through Google WebRTC ICE and lets developers plug in a signaling service. A connection can carry multiple message lanes, controlled by strict priorities or weighted bandwidth sharing. Tools for simulating packet latency and loss and measuring detailed statistics are included. Written in C++, it also provides a plain C interface, with third-party bindings listed for C#, Go, and Rust. Build instructions cover Linux, Windows, macOS, and iOS. Steam is not required for the open-source library, but authentication, signaling, and Steam Datagram Relay are Steam-only services. It does not provide higher-level entity serialization, delta encoding of state variables, or compression. Valve says console and mobile code has shipped but requires contacting Valve for access.
For and against
For
- Free under a BSD-3-Clause license
- Supports reliable and unreliable UDP messages
- Includes peer-to-peer NAT traversal support
- Offers latency and packet-loss simulation tools
- Provides C and C++ interfaces
Against
- Does not include entity serialization or state delta encoding
- Does not include compression
- Some console and mobile code requires contacting Valve
The verdict
GameNetworkingSockets provides a free transport foundation with messaging, peer-to-peer support, and diagnostics. Developers needing higher-level serialization, delta encoding, or compression will need to account for those omissions.
Who it suits
GameNetworkingSockets suits game developers looking for a UDP transport layer and tools for connection behavior and diagnostics. It is for teams prepared to build higher-level serialization or compression separately if needed.
Plans and prices
Open-source library
BSD-3-Clause license · Steam Datagram Relay access is restricted
Read 7 Oct 2026 · github.com
On the record
- Build targets
- The project’s build instructions cover Linux, Windows, macOS, and iOS.github.com · read 7 Oct 2026
- Connection controls
- It supports multiple message lanes on one connection, with strict priorities or weights for sharing bandwidth.github.com · read 7 Oct 2026
- Cross-platform availability
- Valve says the library has shipped on consoles and mobile platforms, but states that access to that code requires contacting Valve because it cannot be distributed in this repository.github.com · read 7 Oct 2026
- Diagnostics
- The library includes tools for simulating packet latency and loss, plus detailed statistics measurement.github.com · read 7 Oct 2026
- Encryption
- It uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures.github.com · read 7 Oct 2026
- Integrations
- Third-party language bindings are listed for C#, Go, and Rust.github.com · read 7 Oct 2026
- Language interfaces
- The library is written in C++ and also provides a plain C interface for bindings to other languages.github.com · read 7 Oct 2026
- License
- The repository identifies its license as BSD-3-Clause.github.com · read 7 Oct 2026
- Message handling
- It supports messages larger than the underlying MTU through fragmentation, reassembly, and retransmission for reliable messages.github.com · read 7 Oct 2026
- Not included
- The library does not provide higher-level entity serialization, delta encoding of state variables, or compression.github.com · read 7 Oct 2026
- Peer-to-peer
- Its P2P features include NAT traversal through Google WebRTC ICE and support for plugging in a signaling service.github.com · read 7 Oct 2026
- Purpose
- GameNetworkingSockets is a basic transport layer for games that sends reliable and unreliable messages over UDP.github.com · read 7 Oct 2026
- Security reporting
- The security policy asks researchers to report vulnerabilities privately through HackerOne rather than as public issues or pull requests.github.com · read 7 Oct 2026
- Steam dependency
- Steam is not required to use the open-source library, though Steam-only services include authentication, signaling, and Steam Datagram Relay.github.com · read 7 Oct 2026