/Awesome-Game-Networking

A Curated List of Game Network Programming Resources

Primary LanguageC++

Awesome

Game networking is a subset of computer networking that commonly covers data replication, state synchronization, snapshot interpolation, client-side prediction, lag compensation, anti cheating, load balancing, bandwidth optimization
— and many more techniques involved in multiplayer online game programming.

Please feel free to contribute your awesome resource after reading contribution guidelines, thank you!

Contents

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.
    • 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).
    • LiteNetLib - Lite reliable UDP networking library (.NET/Mono).
    • MLAPI - Mix and match networking library with lots of built-in features for 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.

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.