Skip to content
联机世界与服务器管理

公网部署

适用范围

本页以旧联机版服务端为主。源码默认使用 UDP 28887,实际端口以 ServerSetting.jsonServerPort 为准。PocketSurvival 和插件联机版必须按各自配置重新核对协议与端口。

部署前提

先完成局域网快速开服,确认匹配客户端能加入、保存并重连。随后记录:

  • 服务端局域网地址和 ServerPort;
  • 宽带是否有公网 IPv4、可入站 IPv6,或处于运营商 CGNAT;
  • 路由器是否支持端口映射,系统防火墙是否可管理;
  • 玩家使用的客户端版本和认证模式。

不要用网页能否打开来判断游戏 UDP 服务。最终验证必须使用另一网络中的真实客户端。

公网 IPv4 与端口映射

  1. 给服务端设备设置固定局域网地址或 DHCP 地址保留。
  2. 在路由器创建 UDP 映射:公网端口映射到服务端局域网地址的 ServerPort。
  3. 只开放实际使用的 UDP 端口,不要设置整机 DMZ。
  4. 在系统防火墙中允许服务端程序或对应 UDP 入站端口。
  5. 使用手机流量或另一条宽带测试,不能只在同一路由器下连接公网地址。

Windows 管理员 PowerShell 示例:

powershell
New-NetFirewallRule -DisplayName 'Survivalcraft Server UDP' -Direction Inbound -Protocol UDP -LocalPort 28887 -Action Allow

使用 UFW 的 Linux 示例:

bash
sudo ufw allow 28887/udp
sudo ufw status

如果路由器 WAN 地址与公网查询地址不同,或 WAN 地址落在 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、100.64.0.0/10 等范围,通常无法自行完成 IPv4 入站映射,需要向运营商申请公网地址或改用支持 UDP 的隧道。

IPv6 直连

IPv6 通常不需要 NAT 映射,但仍需要:

  1. 服务端获得可路由的 IPv6 地址;
  2. 路由器与系统防火墙允许目标 UDP 端口入站;
  3. 客户端网络也具备 IPv6;
  4. 用外部网络验证地址和端口,而不是关闭全部 IPv6 防火墙。

家庭 IPv6 前缀可能变化。使用域名时可配置 AAAA 动态 DNS,并在地址变化后自动更新。

没有公网地址

选择隧道或组网工具时,必须确认它支持 UDP、固定映射和目标平台。评估延迟、带宽、流量限制、掉线重连、服务条款与运营者可信度。不要把 SCKey Token、共享密钥或服务器后台凭据交给未知中转服务。

长期运行与恢复

  • 使用独立的低权限系统账户运行服务端;
  • 在启动失败频繁发生时设置退避,不要无限高速重启;
  • 保存日志并按大小或日期轮转;
  • 定期备份世界、ServerSetting.json 和插件配置;
  • 监控进程、磁盘空间、内存和 UDP 流量;
  • 更新前在新目录验证,保留可立即回退的旧版本。

自动启动工具只负责拉起进程,不能替代游戏内正常保存。维护时先执行 save,再使用 exit 关闭旧联机版服务端。

公网验收清单

  • [ ] 外部网络可以加入,局域网仍可正常连接;
  • [ ] 端口只开放 UDP,且与 ServerPort 一致;
  • [ ] 游客或 SCKey 认证符合预期;
  • [ ] 两名以上玩家能完成移动、交互、聊天与重连;
  • [ ] 保存、正常退出、异常重启后的世界数据均已验证;
  • [ ] 日志、备份与回退位置已经记录;
  • [ ] 对外发布的信息只包含地址、端口和必要的客户端版本。

玩家共建文档 · 原版、插件版、联机版与插件联机版请注意区分