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
- 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond - Mark Terrano, Paul Bettner.
- Choosing TCP or UDP: a guide for game developers - Basic TCP vs UDP comparison by Heroic Labs.
- Close Look: Halo Infinite's Online Experience - Discussing netcode issues and mitigations by Richard Watson.
- Don't use Lockstep in RTS games - Comparing Lockstep vs Client-Server Networking Models for RTS.
- Ethernet vs. WiFi - Connection over WiFi vs Ethernet metrics comparison by Viscarious from Riot Games.
- Explaining Delay-based and Rollback Netcode - Rollback netcode for fighting games by Ricky Pusch.
- Fast-Paced Multiplayer - Prediction, reconciliation, interpolation and compensation by Gabriel Gambetta.
- Fightin' Words, Netcode - Articles explaining how fighting games use delay-based and rollback netcode.
- Fight The Lag! The Trick Behind GGPO's Low Latency Netcode - An explanation of GGPO by Tony Cannon.
- Gaffer on Games - Glenn Fiedler's reliable-UDP protocol and game network development articles.
- Game Networking Demystified - Basic game networking terminology and concepts by Ruoyu Sun.
- Game Server Architecture - Matthew Walker's multiplayer game server architecture blog.
- High Performance Browser Networking - A free online book about modern web protocols by Ilya Grigorik.
- How a Shooter Shoots - Armin Ronacher's analysis on Battlefield 3's shooting mechanism in multiplayer.
- Impact Of Latency In Wireless Networks For Real-time Multiplayer Games On Mobile Devices - A paper.
- IT Hare on Network Programming - Detailed network programming articles from IT Hare team.
- Lag Compensation - Fair Play for all Pings - An article explaining lag compensation by Mitchell Robinson.
- NAT Punch-through for Multiplayer Games - NAT and P2P connectivity by Keith Johnston.
- Netcode at Super Bit Machine: Multiplayer First - Article series on ARMAJET's netcode stack by Nicola Geretti.
- Netcode Explained - Game networking concepts with examples by Chris "Battle(non)sense" on PC Gamer.
- Networked Physics in Virtual Reality - Networking a stack of cubes with Unity and PhysX by Glenn Fiedler.
- Networking of a turn-based game - Deterministic state synchronization netcode by Frédéric Kaczynski.
- Network Protocols - A brief overview of low-level network protocols stack from Destroy All Software.
- Peeking into Valorant's Netcode - Netcode overview and peeker's advantage by Matt deWet and David Straily.
- Quake 3 Network Model - Fabien Sanglard's source code review about Quake 3's networking model.
- Real Time Multiplayer in HTML5 - Sven Bergström's multiplayer game development on the web guide.
- Replication in Networked Games - Mikola Lysenko's replication articles for JavaScript-based multiplayer.
- Rollback Networking in INVERSUS - Ryan Juckett's post on a peer-to-peer rollback system in multiplayer.
- Source Multiplayer Networking - Valve's Source engine wiki including advanced game networking topics.
- Sync Host Overview - A slide deck covering Sync Host architecture by Peter Kao from Insomniac Games.
- Tech-Stack of the Ultima Online Servers - A summary of UO tech-stack by Raph Koster and Brian Crowder.
- The Case of the Quake Cheats - Security lessons from client-server model from Quake 1 by id Software.
- The DOOM III Network Architecture - Improvements on network architectures used in Quake III Arena.
- The Poor Man's Netcode - Project code and detailed blog post about networking challenges by Evan Todd.
- The TRIBES Engine Networking Model - Tribes I & II's networking model by Mark Frohnmayer and Tim Gift.
- Tick Based Lag Compensation in Unity - Case scenario on shooting with better accuracy by Albin Corén.
- Unity Physics and Client-Side Prediction - Demo project and how-to blog post by Joe Best-Rotheray.
- Unity UNET HLAPI and Steam P2P Networking - Example project and detailed blog post by Justin Rempel.
- Unreal Engine 1 Netcode - Historical paper on netcode in UE1 (and Unreal Tournament) by Tim Sweeney.
- Unreal Engine 3 Networking & Replication - Historical UE3 game networking from the old wiki.
- Unreal Engine 4 Framework & Network - A look into Unreal game networking framework by Nuno Afonso.
- Unreal Engine 4 Network Compendium - A summary of Unreal game networking by Cedric Neukirchen.
- Unreal Engine 4 Networking and Multiplayer - Official UE4 game networking framework docs from the wiki.
- Valorant's 128-Tick Servers - Server runtime optimization techniques in-depth by Brent Randall.
- RU Как мы писали сетевой код мобильного PvP шутера - Pixonic о клиенте в быстром шутере.
Talks
- Game Developers Conference
- 2000 / Half-Life and Team Fortress Networking - Talk on backend network services by Yahn Bernier.
- 2010 / Building the Server Software for ELIMINATE - By Stephen Detwiler and James Marr.
- 2011 / Crysis 2 Multiplayer - A Programmer's Postmortem by Peter Hall from Crytek.
- 2011 / I Shot You First - Gameplay networking in Halo: Reach by David Aldridge from Bungie.
- 2012 / Writing Server and Network Code for Your Online Game - Talk by Patrick Wyatt from En Masse.
- 2013 / Network Serialization and Routing in World of Warcraft - Talk by Joe Rumsey from Blizzard.
- 2015 / Game Networking for Physics Programmers - Talk by Glenn Fiedler from Respawn.
- 2015 / Networking Gameplay and AI in Assassin's Creed Unity - Talk by Charles Lefebvre from Ubisoft.
- 2015 / Shared World Shooter: Destiny's Networked Mission Architecture - By Justin Truman.
- 2015 / Stop, Copy/Paste Networking & Innovate - Design approaches by Claire Blackshaw from Sony.
- 2016 / Fighting Latency on Call of Duty Black Ops III - Talk by Benjamin Goyette from Activision.
- 2017 / Overwatch Gameplay Architecture and Netcode - Timothy Ford on precise simulation with ECS.
- 2017 / Replay Technology in Overwatch: Kill Cam, Gameplay, and Highlights - Talk by Philip Orwig.
- 2017 / Networking Scripted Weapons and Abilities in Overwatch - Talk by Dan Reed from Blizzard.
- 2017 / Replicating Chaos: Vehicle Replication in Watch Dogs 2 - Replicating vehicle movement in P2P.
- 2018 / 8 Frames in 16ms - Rollback Networking in Mortal Kombat and Injustice 2 by Michael Stallone.
- 2018 / For Honor: From a Great Launch to Live Period - By Damien Kieken and Roman Campos Oriola.
- 2018 / It IS Rocket Science! - The physics and networking of Rocket League in details by Jared Cone.
- 2019 / Quantum Deep Dive - Photon Quantum Network Engine for Unity by Eric from Exit Games.
- Unreal Engine Livestream
- Replication Graph - Epic's dev-team demonstrates UE 4.20's new Replication Graph feature.
- Server Optimizations - Ryan Gerleve and Dave Ratti to discuss server optimization techniques in UE4.
- Unreal Fest
- EU 2019 / Replication Graph For Optimizing RTS Games - Talk by Nick Prühs from Deadalic.
- Unity Unite
- EU 2016 / Building a PvP focused MMO - Albion MMO architecture by David Salz from Sandbox.
- EU 2017 / Photon vs UNet - Netcode architecture comparison by Christof Wegmann from Exit Games.
- LA 2018 / Deep-Dive Into Networking for Unity's FPS Sample - Talk by Peter Andreasen from Unity.
- EU 2019 / Intro to DOTS and Netcode - Networked future of Unity using DOTS by Tim Johansson.
- Other
- HandmadeCon 2015 / Pat Wyatt - Chat about Guild Wars, Diablo, StarCraft netcode by Pat Wyatt.
- Overwatch / Let's Talk Netcode - Overwatch netcode by Tim Ford and Philip Orwig from Blizzard.
- Valorant / Netcode & 128-Servers - Some basic networking concepts in Valorant from Riot Games.
- Warframe / Networking Architecture - Warframe netcode by Maciej Sinilo from Digital Extremes.
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 Entities - Unity's official netcode SDK for Entities workflows.
- Netcode for GameObjects - Unity's official netcode SDK for GameObject workflows.
- Netick - A server-authoritative networking solution for Unity.
- 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
- 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)