<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>游戏服务器 on Chen Shungen</title><link>https://chenshungen.cn/tags/%E6%B8%B8%E6%88%8F%E6%9C%8D%E5%8A%A1%E5%99%A8/</link><description>Recent content in 游戏服务器 on Chen Shungen</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chenshungen.cn/tags/%E6%B8%B8%E6%88%8F%E6%9C%8D%E5%8A%A1%E5%99%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>游戏服务器开发实战笔记</title><link>https://chenshungen.cn/blog/game-server-erta/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://chenshungen.cn/blog/game-server-erta/</guid><description>&lt;p>这篇文章整合了我在游戏服务器开发过程中积累的几个核心主题的实践经验，时间跨度从 2018 到 2022 年。内容涵盖 3D 寻路、唯一 ID 生成、Go Plugin 热更新、通信安全加密，以及 Go 性能优化技巧。&lt;/p>
&lt;hr>
&lt;h2 id="一3d-寻路recastnavigation-在游戏服务器中的应用">一、3D 寻路：RecastNavigation 在游戏服务器中的应用&lt;/h2>
&lt;blockquote>
&lt;p>最初发表于 2018 年，记录了将 RecastNavigation 应用于游戏服务器的完整过程。&lt;/p>&lt;/blockquote>
&lt;h3 id="背景">背景&lt;/h3>
&lt;p>&lt;a href="https://github.com/recastnavigation/recastnavigation">RecastNavigation&lt;/a> 是一个开源的 Navigation-mesh Toolset for Games，核心功能包括 3D 寻路、控制 Agent 行走/移动、动态添加阻挡、动态改变地形。&lt;/p>
&lt;p>值得一提的是，RecastNavigation 其实就是 Unity3D 引擎自带的 Navigation 寻路模块的前身——这一点我曾在 Google Group 里和作者 memononen 确认过。&lt;/p>
&lt;h3 id="为什么要在服务器上做寻路">为什么要在服务器上做寻路&lt;/h3>
&lt;p>客户端做寻路很容易，现代游戏引擎都内置了这些工具。但在服务器上实现 3D 寻路，对于 AI 控制、反外挂验证等场景至关重要。RecastNavigation 用 C++ 实现，可以很方便地嵌入到 C++、Go、Python 等语言的服务器程序中。&lt;/p>
&lt;h3 id="从-unity-导出地图">从 Unity 导出地图&lt;/h3>
&lt;p>以 Unity 为客户端为例，有两种方式导出地图供 RecastNavigation 使用：&lt;/p>
&lt;p>&lt;strong>方式一：导出 Unity 已 bake 好的 NavMesh&lt;/strong>&lt;/p>
&lt;p>使用导出脚本将 Unity 中生成好的 NavMesh 导出为 obj 文件，然后放入 RecastNavigation 生成寻路网格。这种方式最直接，导出的 NavMesh 与 Unity 中一致。&lt;/p></description></item></channel></rss>