EVERYTHING XIAOMI
Get listed

GameNetworkingSockets

GameNetworkingSockets is a free, open-source transport library for games that sends reliable and unreliable messages over UDP.

Place
#16 of 26
Score
6.5
GameNetworkingSockets's website

What GameNetworkingSockets 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 underlying MTU by fragmenting and reassembling them; reliable messages can also be retransmitted. For security, it uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures. Peer-to-peer features include NAT traversal through Google WebRTC ICE and the option to connect a signaling service. A connection can use multiple message lanes, with strict priorities or weighted bandwidth sharing. The library includes tools to simulate packet latency and loss, plus detailed statistics measurement. It is written in C++ and offers 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, though authentication, signaling, and Steam Datagram Relay are Steam-only services. The library does not include higher-level entity serialization, delta encoding of state variables, or compression.

Good

  • Free under the BSD-3-Clause license.
  • Supports reliable and unreliable UDP messages.
  • Includes NAT traversal through Google WebRTC ICE.
  • Provides tools to simulate latency and packet loss.
  • Build instructions cover Linux, Windows, macOS, and iOS.

Watch out

  • Does not include entity serialization, delta encoding, or compression.
  • Steam-only services include authentication, signaling, and Steam Datagram Relay.
  • Console and mobile code access requires contacting Valve.

Who it suits

It suits developers building game networking who need UDP messaging, peer-to-peer options, or traffic diagnostics. Its C++ core and C interface may fit projects using the listed language bindings.

Verdict

GameNetworkingSockets provides transport-level networking features and diagnostics for game developers. Teams needing higher-level state handling or compression will need to account for those omissions.

Plans and prices

From GameNetworkingSockets's own pricing page, checked 7 Oct 2001.

All about pricing
PlanPriceWhat it gives you
Open-source libraryFreeBSD-3-Clause license · Steam Datagram Relay access is restricted

The facts

Each one read from GameNetworkingSockets's own pages, with the date it was checked.

What it does

Build targets
The project’s build instructions cover Linux, Windows, macOS, and iOS.checked 7 Oct 2001
Connection controls
It supports multiple message lanes on one connection, with strict priorities or weights for sharing bandwidth.checked 7 Oct 2001
Diagnostics
The library includes tools for simulating packet latency and loss, plus detailed statistics measurement.checked 7 Oct 2001
Encryption
It uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures.checked 7 Oct 2001
Integrations
Third-party language bindings are listed for C#, Go, and Rust.checked 7 Oct 2001
Language interfaces
The library is written in C++ and also provides a plain C interface for bindings to other languages.checked 7 Oct 2001
License
The repository identifies its license as BSD-3-Clause.checked 7 Oct 2001
Message handling
It supports messages larger than the underlying MTU through fragmentation, reassembly, and retransmission for reliable messages.checked 7 Oct 2001
Not included
The library does not provide higher-level entity serialization, delta encoding of state variables, or compression.checked 7 Oct 2001
Peer-to-peer
Its P2P features include NAT traversal through Google WebRTC ICE and support for plugging in a signaling service.checked 7 Oct 2001
Purpose
GameNetworkingSockets is a basic transport layer for games that sends reliable and unreliable messages over UDP.checked 7 Oct 2001
Security reporting
The security policy asks researchers to report vulnerabilities privately through HackerOne rather than as public issues or pull requests.checked 7 Oct 2001

Where it runs

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.checked 7 Oct 2001

The company

Steam dependency
Steam is not required to use the open-source library, though Steam-only services include authentication, signaling, and Steam Datagram Relay.checked 7 Oct 2001

Alternatives to GameNetworkingSockets

All alternatives
  1. 1Colyseus logo

    Colyseus

    Free planOpen sourceAndroidiOSWebAPI
    8.5From $15 a month
  2. 2Unity logo

    Unity

    Free planAndroidiOSWebLinux
    7.8Free plan
  3. 3Normcore logo

    Normcore

    Free planAndroidiOSWebLinux
    7.5From $49 a month
  4. 4Photon Realtime logo

    Photon Realtime

    Free planAndroidiOSWebAPI
    7.5From $0.29 a month
  5. 5

    SmartFoxServer

    Free planAndroidiOSWebAPI
    7.5From €32.50 a month
  6. 6Photon Fusion logo

    Photon Fusion

    Free planAndroidiOSWebLinux
    7.4From $0.50 a month