<div class="github-widget" data-repo="MFatihMAR/Awesome-Game-Networking"></div>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6890694312814945" data-ad-slot="5473692530" data-ad-format="auto"  data-full-width-responsive="true"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

游戏网络是计算机网络的子集，通常涵盖传输协议，数据复制，实体同步，滞后补偿，客户端预测，服务器协调，兴趣管理，带宽优化，物理回滚/快进模拟，反作弊等许多其他领域参与多人在线游戏开发.

_请随时使用您的宝贵资源做出贡献，谢谢！


## Articles

- [Ethernet vs. WiFi](https://web.archive.org/web/https://na.leagueoflegends.com/en/page/ethernet-vs-wifi-ping-packets-playing-better) -Riot Games的Viscarious通过WiFi与以太网的互联网连接比较了指标.
- [Explaining Delay-based and Rollback Netcode](https://arstechnica.com/gaming/2019/10/explaining-how-fighting-games-use-delay-based-and-rollback-netcode/) -Ricky Pusch撰写的有关战斗游戏的回滚网络代码的深入文章.
- [Fast-Paced Multiplayer](http://www.gabrielgambetta.com/client-server-game-architecture.html) -Gabriel Gambetta的客户端预测，实体插值，滞后补偿文章.
- [Gaffer on Games](https://gafferongames.com/) -Glenn Fiedler的可靠UDP协议和游戏网络开发文章.
- [Game Server Architecture](https://web.archive.org/web/https://gameserverarchitecture.com/) -Matthew Walker的多人游戏服务器架构博客.
- [High Performance Browser Networking](https://hpbn.co/) -Ilya Grigorik撰写的关于现代Web协议的出色的免费在线书籍.
- [How a Shooter Shoots](https://kotaku.com/5869564/networking-how-a-shooter-shoots) -Armin Ronacher对《战地风云3》多人射击机制的分析.
- [Impact Of Latency In Wireless Networks For Real-time Multiplayer Games On Mobile Devices](https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2352307/11752_FULLTEXT.pdf) -学术论文.
- [IT Hare on Network Programming](http://ithare.com/category/network-programming/) -IT Hare团队的详细网络编程文章.
- [NAT Punch-through for Multiplayer Games](https://keithjohnston.wordpress.com/2014/02/17/nat-punch-through-for-multiplayer-games/) -Keith Johnston简要介绍了NAT和P2P连接.
- [Netcode Explained](https://www.pcgamer.com/uk/netcode-explained/) -基本的游戏网络概念，包括PC Gamer上的Chris“ Battle（non）sense”实例.
- [Networked Physics in Virtual Reality](https://developer.oculus.com/blog/networked-physics-in-virtual-reality-networking-a-stack-of-cubes-with-unity-and-physx/) -Oculus的Glenn Fiedler用Unity和PhysX将一堆多维数据集联网.
- [Network Protocols](https://www.destroyallsoftware.com/compendium/network-protocols?share_key=97d3ba4c24d21147) -Destroy All Software的底层网络协议栈的简要而详细的概述.
- [Photon Unity Networking](https://doc.photonengine.com/en-us/pun/current/getting-started/pun-intro) -官方的PUN多人在线游戏网络框架文档Wiki.
- [Quake 3 Network Model](http://fabiensanglard.net/quake3/network.php) -Fabien Sanglard关于Quake 3的网络模型的源代码回顾.
- [Real Time Multiplayer in HTML5](http://buildnewgames.com/real-time-multiplayer/) -SvenBergström使用网络技术的多人游戏开发指南.
- [Replication in Networked Games](https://0fps.net/2014/02/10/replication-in-networked-games-overview-part-1/) -Mikola Lysenko针对基于JavaScript的多人游戏的复制文章.
- [Source Multiplayer Networking](https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking) -Valve的Source引擎Wiki，其中包含高级游戏网络主题.
- [Sync Host Overview](https://www.gamedevs.org/uploads/introduction-to-sync-host.pdf) -来自Insomniac Games的Peter Kao的演示幻灯片，介绍了Sync Host体系结构.
- [Tech-Stack of the Ultima Online Servers](https://www.quora.com/What-was-the-technology-stack-driving-the-original-Ultima-Online-servers) -Raph Koster和Brian Crowder撰写的有关UO技术堆栈的简短摘要.
- [The Case of the Quake Cheats](http://www.catb.org/esr/writings/quake-cheats.html) -通过ID Software从Quake 1中了解了有关客户端-服务器模型的安全性课程.
- [The DOOM III Network Architecture](http://mrelusive.com/publications/papers/The-DOOM-III-Network-Architecture.pdf) -改进了Quake III Arena中使用的以前的网络体系结构.
- [The Poor Man's Netcode](http://etodd.io/2018/02/20/poor-mans-netcode/) -Evan Todd的项目代码和有关网络挑战的详细博客文章.
- [The TRIBES Engine Networking Model](https://www.gamedevs.org/uploads/tribes-networking-model.pdf) -Mark Frohnmayer和Tim Gift撰写的Tribes I＆II的网络模型论文.
- [Tick Based Lag Compensation in Unity](https://twotenpvp.github.io/lag-compensation-in-unity.html) -阿尔宾·科伦（AlbinCorén）拍摄更准确的案例.
- [Unity Physics and Client-Side Prediction](http://www.codersblock.org/blog/client-side-prediction-in-unity-2018) -演示项目和Joe Best-Rotheray撰写的详细的方法博客文章.
- [Unity UNET HLAPI and Steam P2P Networking](https://blog.spacewavesoftware.com/gamedev/2017-10-28-unity-unet-hlapi-and-steam-p2p-networking/) -Justin Rempel的示例项目和详细的博客文章.
- [Unreal Engine 1 Netcode](https://docs.google.com/document/d/1KGLbEfHsWANTTgUqfK6rkpFYDGvnZYj-BN18sxq6LPY) -Tim Sweeney在UE1（虚幻，虚幻竞技场）中有关网码的历史论文.
- [Unreal Engine 3 Networking & Replication](https://api.unrealengine.com/udk/Three/ReplicationHome.html) -历史悠久但仍然有价值的UE3游戏网络文档Wiki.
- [Unreal Engine 4 Framework & Network](http://www.nafonso.com/home/unreal-framework-network) -Nuno Afonso简要介绍了Unreal的游戏网络框架.
- [Unreal Engine 4 Network Compendium](http://cedric-neukirchen.net/Downloads/Compendium/UE4_Network_Compendium_by_Cedric_eXi_Neukirchen.pdf) -由Cedric Neukirchen提供的示例的UE4网络的详细摘要.
- [Unreal Engine 4 Networking and Multiplayer](https://docs.unrealengine.com/en-us/Gameplay/Networking) -官方的UE4游戏网络框架文档Wiki.
- RU [Как мы писали сетевой код мобильного PvP шутера](https://habr.com/ru/company/pixonic/blog/415959/) -有关快速射击中客户的Pixonic.

## Talks

-游戏开发者大会
  - [2000 / Half-Life and Team Fortress Networking](https://www.gdcvault.com/play/1016642/Half-Life-and-Team-Fortress) -来自Valve的Yahn Bernier详细介绍了游戏网络.
  - [2010 / Building the Server Software for ELIMINATE](http://www.gdcvault.com/play/1012368/Building-the-Server-Software-for) -ngmoco的Stephen Detwiler和James Marr的演讲：）.
  - [2011 / Crysis 2 Multiplayer](http://www.gdcvault.com/play/1014886/Crysis-2-Multiplayer-A-Programmer) -Crytek的Peter Hall撰写的程序员遗体.
  - [2011 / I Shot You First](http://www.gdcvault.com/play/1014345/I-Shot-You-First-Networking) -Halo中的游戏网络：Bungie的David Aldridge涉足.
  - [2012 / Writing Server and Network Code for Your Online Game](http://www.gdcvault.com/play/1015609/Writing-Server-and-Network-Code) -来自En Masse Ent的Patrick Wyatt的演讲.
  - [2013 / Network Serialization and Routing in World of Warcraft](http://www.gdcvault.com/play/1017733/Network-Serialization-and-Routing-in) -暴雪的Joe Rumsey讲话.
  - [2015 / Game Networking for Physics Programmers](http://www.gdcvault.com/play/1022195/Physics-for-Game-Programmers-Networking) -来自Respawn Entertainment的Glenn Fiedler的谈话.
  - [2015 / Networking Gameplay and AI in Assassin's Creed Unity](http://www.gdcvault.com/play/1022168/Networking-Gameplay-and-AI-in) -Ubisoft的Charles Lefebvre讲话.
  - [2015 / Shared World Shooter: Destiny's Networked Mission Architecture](https://www.gdcvault.com/play/1022246/Shared-World-Shooter-Destiny-s) -来自Bungie的Justin Truman的演讲.
  - [2015 / Stop, Copy/Paste Networking & Innovate](https://www.gdcvault.com/play/1022787/Stop-Copy-Paste-Networking) -索尼的克莱尔·布莱克肖（Claire Blackshaw）的高级设计方法.
  - [2016 / Fighting Latency on Call of Duty Black Ops III](https://www.gdcvault.com/play/1023220/Fighting-Latency-on-Call-of) -来自Activision的Benjamin Goyette的详细技术.
  - [2017 / Overwatch Gameplay Architecture and Netcode](https://www.gdcvault.com/play/1024001/-Overwatch-Gameplay-Architecture-and) -仿真，确定性，响应能力和精度.
  - [2017 / Replicating Chaos: Vehicle Replication in Watch Dogs 2](https://www.youtube.com/watch?v=_8A2gzRrWLk) -在P2P模拟中复制车辆运动.
  - [2018 / 8 Frames in 16ms](https://www.youtube.com/watch?v=7jb0FOcImdg) -迈克尔·史泰龙（Mortal Kombat）和《不公正2》中的回滚网络.
  - [2018 / It IS Rocket Science!](https://www.gdcvault.com/play/1024972/It-IS-Rocket-Science-The) -Jared Cone详细介绍了Rocket League的物理和网络.
  - [2019 / Quantum Deep Dive](https://vimeo.com/335798361/2f90c04a30) -Exit Games的Eric的Unity光子量子确定性网络引擎.
-虚幻引擎直播
  - [Replication Graph](https://www.youtube.com/watch?v=CDnNAAzgltw) -Epic的开发团队演示了UE 4.20的新复制图功能.
  - [Server Optimizations](https://www.youtube.com/watch?v=mT8VUVuk-CY) -Ryan Gerleve和Dave Ratti讨论了UE4中的服务器优化技术.
-虚幻的巨星
  - [EU 2019 / Replication Graph For Optimizing RTS Games](https://www.youtube.com/watch?v=VusAHXoHF3Y) -来自Deadalic Entertainment的NickPrühs的演讲.
-团结团结
  - [EU 2016 / Building a PvP focused MMO](https://www.youtube.com/watch?v=x_4Y2-B-THo) -Sandbox Interactive的David Salz提供的Albion MMO架构.
  - [EU 2017 / Photon vs UNet](https://www.youtube.com/watch?v=Y1my5bKhKJY) -Exit Games的Christof Wegmann对多人游戏架构的比较.
  - [LA 2018 / Deep-Dive Into Networking for Unity's FPS Sample](https://www.youtube.com/watch?v=k6JTaFE7SYI) -Unity的Peter Andreasen的Netcode演讲.
  - [EU 2019 / Intro to DOTS and Netcode](https://www.youtube.com/watch?v=P_-FoJuaYOI) -使用蒂姆·约翰森（Tim Johansson）的DOTS深入研究Unity的网络化未来.
-其他
  - [HandmadeCon 2015 / Pat Wyatt](https://www.youtube.com/watch?v=1faaOrtHJ-A) -聊天Pat Wyatt讨论的激战，暗黑破坏神，星际争霸的网络代码.
  - [Overwatch / Let's Talk Netcode](https://www.youtube.com/watch?v=vTH2ZPgYujQ) -来自暴雪的Tim Ford和Philip Orwig撰写的《守望先锋》网络代码的开发日志.
  - [Valorant / Netcode & 128-Servers](https://www.youtube.com/watch?v=_Cu97mr7zcM) -Riot Games的Valorant中的一些基本网络概念.
  - [Warframe / Networking Architecture](https://www.youtube.com/watch?v=VVetqMgcN50) -讨论Digital Extremes的Maciej Sinilo撰写的Warframe的网络代码.

## Tutorials

-虚幻引擎
  - [Authoritative Networked Character Movement](https://wiki.unrealengine.com/Authoritative_Networked_Character_Movement) -实施联网运动功能的简介.
  - [Blueprint Multiplayer](https://www.youtube.com/playlist?list=PLZlv_N0_O1gYqSlbGQVKsRg6fpxWndZqZ) -Epic Games的Wes Bunn提供的Blueprint多人游戏开发教程系列.
  - [Create Multiplayer Games](https://www.udemy.com/unrealengine-cpp/) -（付费）Tom Looman撰写的C ++多人游戏开发教程系列.
  - [Custom Struct Serialization For Networking](http://www.aclockworkberry.com/custom-struct-serialization-for-networking-in-unreal-engine/) -Giuseppe Portelli撰写的C ++教程文章.
  - [Online Game Development](https://www.udemy.com/unrealmultiplayer/) -（付费）Sam Pattuzzi提供的C ++在线游戏开发教程系列.
  - [Steam Multiplayer](https://www.youtube.com/watch?v=TPakLkxc6f0) -由Maik Hilfer提供的具有蒸汽支持的蓝图多人游戏教程.
-团结
  - [Bouncy Ball Networking](https://materiagame.com/complete-darkrift2-tutorials-for-unity3d-network-games) -使用MateriaGame的DarkRift2制作一个简单的网络弹力球.
  - [Making a Multiplayer FPS](https://www.youtube.com/playlist?list=PLPV2KyIb3jR5PhGqsO7G4PsbEC_Al-kPZ) -AsbjørnThirslund提供的基于UNET的多人FPS游戏开发教程.
  - [Multiplayer and Networking](https://docs.unity3d.com/Manual/UNet.html) -Unity提供的基于UNET的官方多人游戏网络教程.

## Libraries

-C / C ++
  - [ENet](http://enet.bespin.org/) -简单而强大的可靠UDP网络库.
  - [GameNetworkingSockets](https://github.com/ValveSoftware/GameNetworkingSockets) -游戏的Valve内部（蒸汽）网络传输层.
  - [GGPO](https://github.com/pond3r/ggpo) -出色的游戏，和平回滚网络SDK.
  - [KCP](https://github.com/skywind3000/kcp) -快速可靠的ARQ协议.
  - [RakNet](https://github.com/facebookarchive/RakNet) -功能齐全且成熟可靠的UDP网络引擎.
  - [TNL2](https://github.com/nardo/tnl2) -（非活动）扭矩网络库2 [TRIBES Engine Networking Model](https://www.gamedevs.org/uploads/tribes-networking-model.pdf).
  - [yojimbo](https://github.com/networkprotocol/yojimbo) -带有专用服务器的客户端/服务器游戏的可靠UDP网络库.
- C#
  - [Barebones Master Server](https://github.com/alvyxaz/barebones-masterserver) -具有身份验证，个人资料，大厅，Unity聊天功能的后端框架.
  - [DarkRift Networking](https://www.darkriftnetworking.com/) -专注于Unity的多线程多人网络解决方案.
  - [Forge Networking](https://github.com/BeardedManStudios/ForgeNetworkingRemastered) -专注于Unity的实时多人网络解决方案.
  - [Lidgren.Network](https://github.com/lidgren/lidgren-network-gen3) -可靠的UDP网络库（.NET / Mono / Unity）.
  - [LiteNetLib](https://github.com/RevenantX/LiteNetLib) -Lite可靠的UDP网络库（.NET / Mono / Unity）.
  - [Mirror](https://github.com/vis2k/Mirror) -取代Unity已废弃的UNET网络系统的社区.
  - [MLAPI](https://mlapi.network) -混合和匹配网络库，其中包含许多Unity内置功能.
  - [Networker](https://github.com/MarkioE/Networker) -TCP和UDP网络库（.NET / Unity）.
  - [Photon Engine](https://photonengine.com) -混合多人游戏网络平台（SaaS，云）.
  - [SocketWeaver](https://socketweaver.com) -专为Unity引擎（SaaS）设计的多人云服务.
-Java
  - [SmartFoxServer](http://smartfoxserver.com/) -具有高级内置功能的大型多人游戏服务器.
-JavaScript
  - [Colyseus](https://github.com/colyseus/colyseus) -权威的多人游戏服务器后端框架.
  - [SocketCluster](https://github.com/SocketCluster/socketcluster) -可扩展的多进程HTTP和实时服务器框架.

## Projects

-虚幻引擎
  - [CharacterMovementReplication](https://github.com/error454/CharacterMovementReplication-UE4) -为CharacterMovementComponent添加冲刺功能的项目.
  - [CoopHordeShooter](https://github.com/tomlooman/CoopHordeShooter) -第三人称合作多人部落射击游戏教程项目.
  - [EpicSurvivalGame](https://github.com/tomlooman/EpicSurvivalGameSeries) -第三人称多人僵尸生存游戏教程项目.
  - [GASDocumentation](https://github.com/tranek/GASDocumentation) -具有详细游戏功能系统文档的第三人称多人射击游戏.
-团结
  - [AuthoritativeMovementExample](https://github.com/Relic/AuthoritativeMovementExample) - Server authoritative movement project using Forge Networking for Unity.
  - [Angry Bots Multiplayer](https://assetstore.unity.com/packages/templates/photon-angry-bots-multiplayer-showcase-1917) -基于光子PUN的多人自上而下的射击项目.
  - [ArenaGame](https://github.com/NFMynster/ArenaGame) -基于Forge Networking的多人FPS游戏作为示例项目.
  - [Entitas Sync Framework](https://github.com/RomanZhu/Entitas-Sync-Framework) -Entitas ECS的网络框架，面向回合制或慢节奏游戏.
  - [FPSSample](https://github.com/Unity-Technologies/FPSSample) -来自Unity的官方多人FPS项目示例，使用新的网络软件包和ECS.
  - [Gambetta Networked Demo](https://github.com/RamiAhmed/Gambetta_NetworkedDemo) -Gabriel Gambetta使用Lidgren在Unity中实现网络架构.
  - [MultiplayerFPS](https://github.com/Brackeys/MultiplayerFPS-Tutorial) -基于UNET的简单多人第一人称射击游戏教程项目.
  - [SmartFoxServer2X Multiplayer](https://assetstore.unity.com/packages/tools/network/smartfoxserver2x-multiplayer-sdk-17261) -基于SFS2X的多人项目示例.

## Tools

- [CapAnalysis](https://www.capanalysis.net/ca/)  -Web可视工具，用于分析捕获的网络流量.  （Ubuntu，Debian）
- [clumsy](https://jagt.github.io/clumsy/)  -网络条件模拟实用程序.  （视窗）
- [Fiddler](https://www.telerik.com/fiddler)  -Web调试代理服务器.  （Windows，macOS，Linux）
- [netem](https://wiki.linuxfoundation.org/networking/netem)  -用于测试协议的网络仿真.  （Linux）
- [Network Link Conditioner](https://nshipster.com/network-link-conditioner/)  -网络环境仿真实用程序.  （macOS，iOS）
- [Network Protocol Analyzer](https://www.softperfect.com/products/networksniffer/)  -用于分析，调试，维护和监视连接的工具.  （视窗）
- [Network Simulator (ns)](https://www.nsnam.org)  -针对研究和教育用途的网络模拟器.  （macOS，Linux）
- [Postman](https://www.getpostman.com/)  -Web API调试客户端.  （Windows，macOS，Linux）
- [Wireshark](https://www.wireshark.org/)  -网络流量分析器工具.  （Windows，macOS，Linux）

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)

在法律允许的范围内， [M. Fatih MAR](https://github.com/mfatihmar) 放弃了此作品的所有版权以及相关或邻近的权利.
