﻿隐盾 PackTool 使用说明（v1.3.14）

本手册只讲三件事：每个输入框填什么、各项注意什么、后端与中继服务器怎么部署（命令可整段复制）。
遇到本手册没覆盖的问题，请联系官网 cangip.cn 客服。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一、软件界面总览与激活
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 窗口标题栏下方：① 公共配置 / ② 后端实例 两个配置区
- 中间打包区：Windows 和 Android 两个页签 + 底部「生成兑换码」面板
- 首次启动需要联网激活：自动发放 3 天试用；正式使用请输入我们提供的工具激活码

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
二、① 公共配置 —— 每个框填什么
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1) 服务器地址
   填你部署「后端」的那台服务器 IP。默认 127.0.0.1 表示本机，仅适合本机测试。
2) 端口
   后端端口，默认 8001。必须与部署后端时使用的端口一致。
3) CDK购买地址
   玩家购买激活码的网页链接。可以先留空，以后补填。
4) CDK密钥
   点「随机」生成一次并妥善保存。后端与打包使用同一个值（导出后端配置时会自动带上）。
   ⚠ 不要随意更换：换了之后已发出去的激活码会失效。
5) 打包密钥
   点「随机」生成一次并妥善保存。用于加密你的游戏文件。
   ⚠ 不要随意更换：换了之后玩家电脑上已有的本地授权会失效。
6) 程序试用期限（天）
   玩家首次运行免激活的试用天数。填 0 = 不提供试用。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
三、② 后端实例 —— 激活码服务部署
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
字段：
1) 后端名称   ：服务名，例如 applock-backend
2) 后端令牌   ：点「随机」生成
3) 管理员密码 ：点「随机」生成（登录管理后台用，务必保存）

部署步骤（在你的云服务器上执行，服务器需已安装 Docker）：
  ① 点「仅导出后端配置」，得到一个配置文件夹
  ② 把整个文件夹上传到服务器（例如 /opt/backend/），然后执行：
       cd /opt/backend/配置文件夹
       sudo docker compose up -d
  ③ 验证：浏览器打开 http://服务器IP:端口/ ，用 admin + 管理员密码 登录，
     能看到激活码管理页面即成功
  ④ 到云控制台安全组，放行对应 TCP 端口

注意事项：
- 修改任何 .env 配置后，必须执行 sudo docker compose up -d --force-recreate 才会生效
- 换服务器迁移：备份 .env 与数据库文件一并带走

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
四、生成兑换码（玩家激活码）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1) 管理员令牌：默认 admin123；如果你在后端改过 ADMIN_TOKEN，这里填改后的值
2) 时长：数字 + 单位（天 / 周 / 月 / 年；按 月=30天、年=365天 折算）
3) 一码一机：勾选后，每张码只在第一台使用的电脑上生效（防止一张码到处传）
4) 点「生成 CDK」→「复制」→ 发给玩家
管理后台（http://服务器IP:端口/）可查看每张码的使用状态，支持导出 CSV。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
五、Windows 页签（打包 Windows 游戏）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1) 源程序目录
   选择游戏的整个文件夹。
2) 主程序相对路径
   游戏启动 exe 在该文件夹里的相对路径。不确定就点「自动检测」，或用「智能打包」一键完成。
3) 产品名称
   显示在玩家启动界面上的名字，例如「我的游戏」。
4) 排除目录
   不参与加密的子目录名，多个用 ; 分隔（例如存档目录 Save）。不确定就留空。
5) 输出目录
   打包结果保存位置。
6) 隐藏游戏IP（IP:端口）
   填你的真实服务器地址，格式 ip:端口，多个用 ; 分隔。
   ⚠ 必须填全：游戏服、更新服、所有区服的地址都要填；漏一个，玩家就能看到那一个地址。
   ⚠ 确认方法（推荐做一次）：运行未打包的原版客户端，登录并进入一次游戏，
      在命令行执行：netstat -ano -p tcp | findstr 游戏进程PID
      把结果里所有「非本机」的远程地址全部记下来，逐条填入本框。
7) 仅加密游戏登录器
   特大体积游戏（几十 GB 以上）勾选，可把打包时间从几十分钟缩短到秒级。
   勾选后按提示把输出文件放回游戏目录即可运行。
8) 客户端加壳/自校验
   游戏对自身文件名有校验（被改名就闪退）时勾选。
9) 启用远程中继（推荐勾选）
   勾选后玩家电脑只与你的中继服务器通信，看不到真实游戏服务器 IP。
   - 远程中继地址(Win)：中继服务器 IP:基础端口，可填 1~3 个用 ; 分隔（互为备用，端口必须相同）
   - 中继令牌(可选)：与中继服务器 relay_config.json 里的 token 一致；两边都留空 = 不校验
10) 点「开始打包」
   完成后输出目录里得到两个文件：开始游戏.exe 和 payload.bin。
   发给玩家时两个文件必须放在同一个文件夹。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
六、Android 页签（打包 安卓 游戏）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1) 源 APK 文件：选择要保护的原游戏 APK
2) 输出 APK 目录：打包结果保存位置
3) 中继地址(host:port)：你的中继服务器 IP:端口（安卓打包必填）
4) 点「开始打包」，完成后输出目录里有：
   - 开始游戏.apk   → 发给玩家安装
   - 中继服务器 文件夹 → 你自己部署中继用（见第七节），不用发给玩家
玩家手机首次启动会弹出「VPN 连接请求」，点确定即可（本工具的隐藏功能需要这一次授权）。
签名已自动处理，无需填写任何密钥或密码。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
七、中继服务器部署（命令可整段复制）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
准备：一台与游戏服务器不同 IP 的云服务器（轻量云即可），
      在云控制台安全组放行配置中用到的 TCP 端口（安卓方式还需 UDP 端口）。

① 把打包输出目录里的「中继服务器」文件夹整个上传，例如放到 /opt/relay/
② 执行一键脚本（自动安装运行环境 + 注册开机自启）：
     cd /opt/relay/中继服务器
     sudo bash setup_relay.sh
③ 修改配置 = 编辑同目录的 relay_config.json，然后：
     sudo systemctl restart applock-relay
④ 不想用系统服务、手动运行也可以：
     sudo python3 applock_relay.py --config relay_config.json

relay_config.json 必改的两处：
  - token：与 PackTool 里填的「中继令牌」一致
  - allow_cidrs：玩家所在网络的出口公网 IP/32（多个网络写多条）
    ⚠ 严禁填 0.0.0.0/0：等于把你的服务器开放成公共代理，会被扫描滥用
    ⚠ 格式填错会导致中继拒绝所有连接，重启后看运行日志即可发现

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
八、常见问题（操作向）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Q1 打包时报「文件正被占用」
   关闭正在运行的游戏 / 输出目录里的旧文件 / 杀毒软件实时防护后重试。
Q2 玩家电脑杀毒软件报毒或删文件
   让玩家把游戏目录加入杀毒软件白名单；被删的文件重新解压即可。
Q3 玩家兑换激活码失败
   检查：后端是否在运行；客户端配置的「服务器地址/端口」是否与后端一致；安全组端口是否放行。
Q4 玩家进不了游戏服务器
   九成是第六节第 6) 条没填全：按该处方法重新采集地址，补齐后重新打包。
Q5 安卓包安装后闪退或提示异常
   确认发给玩家的是打包输出目录里的 开始游戏.apk 本体（不要用旧包覆盖新包）。
Q6 想换端口 / 换服务器
   后端：改 .env 后 sudo docker compose up -d --force-recreate
   中继：改 relay_config.json 后 sudo systemctl restart applock-relay
   客户端：改 PackTool 里对应地址后重新打包一次。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
九、一句话流程速记
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
配后端 → 部署后端 → 部署中继 → PackTool 填地址 → 打包 → 把产物发玩家 → 后台发码收钱。

官方网址：cangip.cn（问题反馈与技术支持请走官网客服）
