/GameNetworkingResources

A Curated List of Game Network Programming Resources

Primary LanguageC

Game networking is a subset of computer networking that commonly covers transport protocols, data replication, entity synchronization, lag compensation, client-side prediction, server reconciliation, interest management, bandwidth optimization, physics rollback/fastforward simulation, anti-cheating and many other areas involved in multiplayer online game development.

Please feel free to contribute with your awesome resource as well, thank you!

Quick Jump: Articles - Talks - Libraries - Tools

Articles

Talks

Libraries

  • C / C++
    • ENet - Simple and robust reliable UDP networking library.
    • GameNetworkingSockets - Valve's internal (Steam) network transport layer for games.
    • GGPO - Good Game, Peace Out Rollback Network SDK.
    • KCP - A fast and reliable ARQ protocol.
    • RakNet - Full-featured and mature reliable UDP networking engine.
    • TNL2 - (Inactive) Torque Networking Library 2 which is quite similar to TRIBES Networking Model.
    • yojimbo - Reliable UDP networking library for client/server games with dedicated servers.
  • C#
    • Barebones Master Server - Backend framework with auth, profile, lobby, chat features for Unity.
    • DarkRift 2 - Unity focused high-performance multi-threaded multiplayer networking solution.
    • FishNet - Unity networking solution aimed towards reliability, ease of use, efficiency, and flexibility.
    • Forge Networking - Unity focused real-time multiplayer networking solution.
    • Lidgren.Network - Reliable UDP networking library (.NET/Mono/Unity).
    • LiteNetLib - Lite reliable UDP networking library (.NET/Mono/Unity).
    • MagicOnion - Unified Realtime/API framework for .NET platform and Unity.
    • Mirror - A community replacement for Unity's abandoned UNET Networking System.
    • Netcode for GameObjects - Unity's official high-level netcode SDK for GameObject workflows.
    • NetStack - Lightweight toolset for creating concurrent networking systems for multiplayer games.
    • Networker - TCP and UDP networking library (.NET/Unity).
    • Normcore - Seamless multiplayer game networking for Unity (Cloud/SaaS).
    • Photon Engine - Hybrid multiplayer game networking platform (Cloud/SaaS).
    • RiptideNetworking - Lightweight C# networking solution for multiplayer games.
    • SocketWeaver - Multiplayer cloud services designed for the Unity engine (Cloud/SaaS).
  • Go
    • Nakama - Open-source backend infrastructure for multiplayer games (also with Unity/C# SDK).
    • GoWorld - Scalable Distributed Game Server Engine with Hot Swapping (and Unity demo!).
  • Java
    • SmartFoxServer - Massive multiplayer game server with advanced built-in features.
  • JavaScript
    • Actionhero - A node.js API server framework for TCP sockets, websockets and HTTP clients.
    • Colyseus - Authoritative multiplayer game server backend framework.
    • Kalm - Socket manager/optimizer library with custom congestion control for Node.js and browsers.
    • SocketCluster - Scalable multi-process HTTP & real-time server framework.

Tools

  • CapAnalysis - Web visual tool to analyze captured network traffic. (Ubuntu, Debian)
  • clumsy - Network condition simulation utility. (Windows)
  • netem - Network emulation for testing protocols. (Linux)
  • mitmproxy - Web debugging proxy server. (Windows, macOS, Linux)
  • Network Link Conditioner - Network environment simulation utility. (macOS, iOS)
  • Network Protocol Analyzer - Tool for analysing, debugging and monitoring connections. (Windows)
  • Network Simulator (ns) - Network simulator targeting research and educational use. (macOS, Linux)
  • Postman - Web API debugging and development client. (Windows, macOS, Linux)
  • websocat - CLI client for WebSockets like netcat or curl. (Windows, macOS, Linux)
  • Wireshark - Network traffic analyzer tool. (Windows, macOS, Linux)

License

CC0