技术文档

技术文档

面向运维与开发人员的集成部署指南

文档说明

本文档面向技术运维人员和游戏开发者,详细介绍如何将您的游戏客户端接入本系统,以及如何部署节点和解包服务。

适用范围:所有需要将游戏流量通过代理转发的场景。

前置条件:您已拥有一台或多台云服务器,并已获取后台分配的 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);

宏定义说明

// 后台分配的 snkey
#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

下载客户端代理程序
proxy.exe (Windows) (或 临时启动器

放置于游戏客户端目录,并按上方代码调用。

二、节点部署(Linux云服务器)

节点是公网转发入口,负责接收客户端流量并转发至解包服务。

推荐系统:CentOS 7/8 或 Ubuntu 18.04+

部署步骤

  1. 创建目录
    mkdir -p /opt/node
    cd /opt/node
  2. 上传节点程序:将 node 可执行文件放入该目录,并赋予执行权限:
    chmod +x node
  3. 安装 PM2(进程管理工具):
    sudo yum install nodejs -y
    npm install pm2 -g
  4. 启动节点
    pm2 start ./node --name "node" -- -key node_secret_key_123
  5. 开放端口:确保服务器防火墙放行 17777 端口(TCP/UDP)。两个协议都开放

说明:节点默认监听 17777 端口,该端口用于与代理端(DLL/EXE)通信及健康检查。多个节点可部署在不同服务器,后台会自动分配。

💡 提示:建议将节点部署在具有公网IP的服务器上,且尽量分散在不同地域以提高容灾能力。

下载节点程序
node (Linux amd64) (静态编译,直接运行)

上传至服务器 /opt/node/ 目录,并赋予执行权限。

三、解包服务部署(推荐放在游戏服务器上)

解包服务负责解密游戏数据,并与游戏服务器建立长连接。建议与游戏服务器部署在同一机器或内网,以隐藏游戏服务器真实IP。

部署步骤

  1. 上传程序:将 unpack.exe 放到游戏服务器任意目录(例如 C:\unpack/opt/unpack)。
  2. 创建启动脚本(Windows):新建 start_unpack.bat 文件,内容如下:
    @echo off
    echo Starting Unpack...
    unpack.exe -key 您后台的snkey
    pause
    注意:-key 参数使用的是您在后台创建的 snkey(而不是节点密钥),用于解包服务向后台拉取端口映射。
  3. 开放端口:确保防火墙放行 8889 端口(TCP),该端口供节点连接。
  4. 后台配置:在后台"我的应用"中,将 解包IP 设置为 您的服务器IP:8889(例如 101.227.42.80:8889)。
🔒 安全建议:游戏服务器端口(如 15400、23000)不必对外开放,仅需开放解包服务的 8889 端口,由节点与解包服务通信。

下载解包服务程序
unpack.exe (Windows) (或 后台启动器

放置于游戏服务器,按文档启动。

四、后台配置(关键)

登录后台后,依次完成以下配置:

1. 查看应用信息

进入 我的应用 → 点击对应应用 查看,获得以下信息:

字段说明
监听IP分配给您的本地IP(如 127.0.1.5),游戏客户端需连接此IP
加密密钥代理与解包服务协同工作的密钥(无需手动处理)
解包IP您部署的解包服务地址(格式:IP:8889
单机最高连接数默认20,可根据实际游戏调整(如飞飞游戏一个号约2-3个连接)
2. 新建端口映射

在应用详情页点击 新增映射,填写:

字段说明示例
监听端口游戏客户端使用的本地端口15400
目标 IP游戏服务器的真实IP192.168.1.100
目标端口游戏服务器接收连接的端口15400(通常与监听端口一致)

飞飞游戏默认有三个端口:154002300028000,请依次添加。

📌 关键提示:监听端口需与游戏客户端配置的端口一致,目标地址为游戏服务器的真实IP和端口。
五、验证与测试
  1. 客户端启动:运行登陆器,观察代理程序是否正常启动(托盘图标出现)。
  2. 游戏登录:使用游戏客户端连接 127.0.*.* 对应端口,应能正常登录。
  3. 节点状态:后台"节点列表"中查看节点状态是否为"活跃"。
  4. 日志检查:如有异常,查看 proxy.lognodeunpack 日志进行排查。
六、常见问题
Q:节点显示"非活跃"?
A:检查节点服务器是否运行,防火墙是否放行17777端口,以及节点服务是否正常监听。
Q:游戏无法登录?
A:确认监听IP和端口映射配置正确,解包IP地址可访问,游戏客户端连接的IP已改为后台分配的本地IP。
Q:支付后未生效?
A:点击"查询支付状态"手动刷新,若仍无效联系管理员检查订单状态。
相关文档

如需了解系统概念和用户操作,请参阅 使用帮助

如有疑问,可联系管理员或查看系统日志。