Game Networking

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!

Articles

Talks

Tutorials

Libraries

  • C / C++
  • ENet - Simple and robust reliable UDP networking library.
  • GameNetworkingSockets - Valve's internal (Steam) network transport layer for games.
  • RakNet - Full-featured and mature reliable UDP networking engine.
  • TNL2 - (Inactive) Torque Networking Library 2 which is quite familiar to TRIBES Engine 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 Networking - Unity focused multi-threaded multiplayer networking solution.
  • 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).
  • Mirror - A community replacement for Unity's abandoned UNET Networking System.
  • MLAPI - Mix and match networking library with lots of built-in features for Unity.
  • Networker - TCP and UDP networking library (.NET/Unity).
  • Photon Engine - Hybrid multiplayer game networking platform (SaaS, Cloud).
  • SocketWeaver - Multiplayer cloud services designed for the Unity engine (SaaS).
  • Java
  • SmartFoxServer - Massive multiplayer game server with advanced built-in features.
  • JavaScript
  • Colyseus - Authoritative multiplayer game server backend framework.
  • SocketCluster - Scalable multi-process HTTP & real-time server framework.

Projects

Tools

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

License

CC0

To the extent possible under law, M. Fatih MAR has waived all copyright and related or neighboring rights to this work.