技术文档
面向运维与开发人员的集成部署指南
文档说明
本文档面向技术运维人员和游戏开发者,详细介绍如何将您的游戏客户端接入本系统,以及如何部署节点和解包服务。
适用范围:所有需要将游戏流量通过代理转发的场景。
前置条件:您已拥有一台或多台云服务器,并已获取后台分配的 snkey。
📌 系统特性
- 游戏服务器IP完全隐藏,攻击者无法直接攻击源站
- 节点被攻击封堵时,系统自动切换至其他可用节点,游戏连接不中断
- 完美解决电信运营商每24/48小时强制重拨导致的IP变更问题,玩家无感知
一、客户端集成(登陆器调用)
在您的登陆器中,只需在启动游戏前调用代理程序即可完成接入。
示例代码(C/C++):
char szCmd[1024] = { 0, };
int nCount = _snprintf(szCmd, 1023, "%s %s", G_ProXyApp, G_GappID);
WinExec(szCmd, SW_HIDE);
int nCount = _snprintf(szCmd, 1023, "%s %s", G_ProXyApp, G_GappID);
WinExec(szCmd, SW_HIDE);
宏定义说明:
// 后台分配的 snkey
#define G_GappID "-snkey 您后台的snkey"
// 代理程序文件名
#define G_ProXyApp ".\\proxy.exe"
#define G_GappID "-snkey 您后台的snkey"
// 代理程序文件名
#define G_ProXyApp ".\\proxy.exe"
修改游戏连接地址:
将游戏客户端原本连接的服务端IP,改为后台为您分配的本地监听IP(格式如 127.0.*.*),端口保持不变。该IP在后台"我的应用"中查看。
示例:原游戏连接
192.168.1.100:15400 → 改为 127.0.1.5:15400
二、节点部署(Linux云服务器)
节点是公网转发入口,负责接收客户端流量并转发至解包服务。
推荐系统:CentOS 7/8 或 Ubuntu 18.04+
部署步骤:
- 创建目录:
mkdir -p /opt/node
cd /opt/node - 上传节点程序:将
node可执行文件放入该目录,并赋予执行权限:chmod +x node - 安装 PM2(进程管理工具):
sudo yum install nodejs -y
npm install pm2 -g - 启动节点:
pm2 start ./node --name "node" -- -key node_secret_key_123
- 开放端口:确保服务器防火墙放行 17777 端口(TCP/UDP)。两个协议都开放
说明:节点默认监听 17777 端口,该端口用于与代理端(DLL/EXE)通信及健康检查。多个节点可部署在不同服务器,后台会自动分配。
💡 提示:建议将节点部署在具有公网IP的服务器上,且尽量分散在不同地域以提高容灾能力。
三、解包服务部署(推荐放在游戏服务器上)
解包服务负责解密游戏数据,并与游戏服务器建立长连接。建议与游戏服务器部署在同一机器或内网,以隐藏游戏服务器真实IP。
部署步骤:
- 上传程序:将
unpack.exe放到游戏服务器任意目录(例如C:\unpack或/opt/unpack)。 - 创建启动脚本(Windows):新建
start_unpack.bat文件,内容如下:@echo off注意:
echo Starting Unpack...
unpack.exe -key 您后台的snkey
pause-key参数使用的是您在后台创建的 snkey(而不是节点密钥),用于解包服务向后台拉取端口映射。 - 开放端口:确保防火墙放行 8889 端口(TCP),该端口供节点连接。
- 后台配置:在后台"我的应用"中,将 解包IP 设置为
您的服务器IP:8889(例如101.227.42.80:8889)。
🔒 安全建议:游戏服务器端口(如 15400、23000)不必对外开放,仅需开放解包服务的 8889 端口,由节点与解包服务通信。
四、后台配置(关键)
登录后台后,依次完成以下配置:
1. 查看应用信息
进入 我的应用 → 点击对应应用 查看,获得以下信息:
| 字段 | 说明 |
|---|---|
| 监听IP | 分配给您的本地IP(如 127.0.1.5),游戏客户端需连接此IP |
| 加密密钥 | 代理与解包服务协同工作的密钥(无需手动处理) |
| 解包IP | 您部署的解包服务地址(格式:IP:8889) |
| 单机最高连接数 | 默认20,可根据实际游戏调整(如飞飞游戏一个号约2-3个连接) |
2. 新建端口映射
在应用详情页点击 新增映射,填写:
| 字段 | 说明 | 示例 |
|---|---|---|
| 监听端口 | 游戏客户端使用的本地端口 | 15400 |
| 目标 IP | 游戏服务器的真实IP | 192.168.1.100 |
| 目标端口 | 游戏服务器接收连接的端口 | 15400(通常与监听端口一致) |
飞飞游戏默认有三个端口:15400、23000、28000,请依次添加。
📌 关键提示:监听端口需与游戏客户端配置的端口一致,目标地址为游戏服务器的真实IP和端口。
五、验证与测试
- 客户端启动:运行登陆器,观察代理程序是否正常启动(托盘图标出现)。
- 游戏登录:使用游戏客户端连接
127.0.*.*对应端口,应能正常登录。 - 节点状态:后台"节点列表"中查看节点状态是否为"活跃"。
- 日志检查:如有异常,查看
proxy.log、node或unpack日志进行排查。
六、常见问题
Q:节点显示"非活跃"?
A:检查节点服务器是否运行,防火墙是否放行17777端口,以及节点服务是否正常监听。
Q:游戏无法登录?
A:确认监听IP和端口映射配置正确,解包IP地址可访问,游戏客户端连接的IP已改为后台分配的本地IP。
Q:支付后未生效?
A:点击"查询支付状态"手动刷新,若仍无效联系管理员检查订单状态。
相关文档
如需了解系统概念和用户操作,请参阅 使用帮助。
如有疑问,可联系管理员或查看系统日志。