XIVCHAT NEXT · 可选功能
自建中继怎么用
如果你在外面,客户端无法直接连接家里的游戏电脑,可以在自己的服务器上部署中继。客户端和游戏插件都连接它,再通过它传递消息。
中继需要自己部署,不是公共服务。游戏仍然要保持运行,角色仍然要在线。中继不能帮你登录游戏,也不会保存离线聊天或截图。
选择一种安装方式
**使用 1Panel:**按 1Panel 离线部署教程 导入发布包里的 Linux amd64 镜像,并设置域名和 HTTPS。
**普通 Docker 服务器:**如果没有现成的反向代理,可以使用项目里的 deploy/relay/compose.yaml,它包含 Caddy。把 .env.example 复制为 .env,填写你的 RELAY_DOMAIN 和至少 16 个字符的独立管理密码 RELAY_ADMIN_PASSWORD,再运行 docker compose up -d --build。具体步骤见 HTTPS 部署教程。
Caddy 需要使用服务器的 80、443 端口,不需要把 14777、8080 开放到公网。已有 1Panel 反向代理时,请使用对应教程,不要再叠加这一套 Caddy 配置。
部署完成后,打开 https://你的域名/admin/,用管理密码登录。客户端和插件里填写的服务地址是 https://你的域名,不要带 /admin/、其他路径或用户名密码。只有在本机开发时才能使用回环地址的 HTTP。
把游戏电脑和客户端连上
- 在后台的“游戏设备”里添加设备,保存页面显示的注册凭据。它只显示一次。
- 在游戏插件里填写中继地址和注册凭据,保存并启用中继,等后台显示设备在线。
- 在后台或插件中生成邀请。生成新邀请后,上一份尚未使用的邀请会失效。
- 在客户端选择“自建中继”,粘贴邀请。直接对照游戏插件显示的完整指纹,确认一致后保存;不在游戏电脑旁边时,通过你信任的渠道核对。
- 按客户端和插件的提示,完成第一次聊天连接的信任确认。
管理密码用来登录后台;注册凭据交给游戏插件;邀请交给新客户端。这几种内容不能互相替代。每个客户端有自己的凭据,只能由保存它的 Windows 用户使用;换电脑、换用户或丢失配置后需要重新配对。
正常重启不需要重新邀请。 邀请的十分钟有效期只限制第一次使用。配对信息保存成功后,邀请过期不会让已有连接失效。清空配置、撤销授权或更换设备身份后,才可能需要重新配对。
点击客户端左上角 Logo 可以连接上次成功使用的地址。中继连接意外断开后会自动重试;主动断开后停止重试。
后台能做什么
后台支持中英文,可以查看在线设备和连接、重命名设备、生成邀请,也可以撤销某个客户端或整个游戏设备的授权。撤销通常在两秒内生效,被撤销的凭据不能恢复。之前的原始凭据不会再次显示。
后台登录最多保持八小时,退出登录或重启服务后需要重新登录,但设备配对不会因此丢失。修改管理密码后,需要用更新后的环境变量重新创建容器;使用 Compose 时,重建时要再次提供域名和你保存的密码。
默认配置适合个人或小规模使用:最多 64 个在线游戏设备,每个设备最多 32 个客户端会话,整个服务最多 256 个会话。每个会话每个方向限速 4 MiB/s,允许 8 MiB 突发流量。截图和聊天共用连接,部分请求还受整个服务的频率限制。
备份和升级
升级前保存配置、数据卷和旧镜像。备份数据库时,先停止中继再复制数据;不要只复制运行中的 SQLite 主文件,否则可能漏掉还在 WAL 文件里的内容。使用 Compose 时可以这样备份:
mkdir -p backups
docker compose stop relay
docker compose cp relay:/data/relay.sqlite3 ./backups/relay.sqlite3
docker compose start relay
正常升级应保留数据卷,不要删除它。数据库结构升级后,如果要回退旧版中继,也要恢复升级前的数据备份。
连不上时先查什么
- **后台地址打不开:**检查 HTTPS 域名配置,以及反向代理是否转发了原始 Host。
- **后台登录失败或提示 429:**检查管理密码,连续失败后等一分钟再试。
- **游戏设备离线或提示 409:**检查插件是否启用中继,服务地址、注册凭据和 HTTPS 证书是否正确。
- **提示 401:**凭据可能无效或已被撤销,需要检查授权。
- **邀请不能用:**检查是否过期、已使用、生成了新的邀请,或客户端数量已达上限。
- **连接成功但发不出消息:**检查角色是否在线,两端是否都完成了信任确认。
- **指纹不一致:**先停止连接,重新核对游戏插件的指纹,不要跳过检查。
中继能看到连接地址、时间、设备标识和流量大小。聊天等应用数据在两端之间另有 TLS 和原有聊天加密,中继不持有设备私钥,也不把这些流量保存为聊天记录。