外观
公网部署
适用范围
本页以旧联机版服务端为主。源码默认使用 UDP 28887,实际端口以 ServerSetting.json 的 ServerPort 为准。PocketSurvival 和插件联机版必须按各自配置重新核对协议与端口。
部署前提
先完成局域网快速开服,确认匹配客户端能加入、保存并重连。随后记录:
- 服务端局域网地址和 ServerPort;
- 宽带是否有公网 IPv4、可入站 IPv6,或处于运营商 CGNAT;
- 路由器是否支持端口映射,系统防火墙是否可管理;
- 玩家使用的客户端版本和认证模式。
不要用网页能否打开来判断游戏 UDP 服务。最终验证必须使用另一网络中的真实客户端。
公网 IPv4 与端口映射
- 给服务端设备设置固定局域网地址或 DHCP 地址保留。
- 在路由器创建 UDP 映射:公网端口映射到服务端局域网地址的 ServerPort。
- 只开放实际使用的 UDP 端口,不要设置整机 DMZ。
- 在系统防火墙中允许服务端程序或对应 UDP 入站端口。
- 使用手机流量或另一条宽带测试,不能只在同一路由器下连接公网地址。
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 映射,但仍需要:
- 服务端获得可路由的 IPv6 地址;
- 路由器与系统防火墙允许目标 UDP 端口入站;
- 客户端网络也具备 IPv6;
- 用外部网络验证地址和端口,而不是关闭全部 IPv6 防火墙。
家庭 IPv6 前缀可能变化。使用域名时可配置 AAAA 动态 DNS,并在地址变化后自动更新。
没有公网地址
选择隧道或组网工具时,必须确认它支持 UDP、固定映射和目标平台。评估延迟、带宽、流量限制、掉线重连、服务条款与运营者可信度。不要把 SCKey Token、共享密钥或服务器后台凭据交给未知中转服务。
长期运行与恢复
- 使用独立的低权限系统账户运行服务端;
- 在启动失败频繁发生时设置退避,不要无限高速重启;
- 保存日志并按大小或日期轮转;
- 定期备份世界、ServerSetting.json 和插件配置;
- 监控进程、磁盘空间、内存和 UDP 流量;
- 更新前在新目录验证,保留可立即回退的旧版本。
自动启动工具只负责拉起进程,不能替代游戏内正常保存。维护时先执行 save,再使用 exit 关闭旧联机版服务端。
公网验收清单
- [ ] 外部网络可以加入,局域网仍可正常连接;
- [ ] 端口只开放 UDP,且与 ServerPort 一致;
- [ ] 游客或 SCKey 认证符合预期;
- [ ] 两名以上玩家能完成移动、交互、聊天与重连;
- [ ] 保存、正常退出、异常重启后的世界数据均已验证;
- [ ] 日志、备份与回退位置已经记录;
- [ ] 对外发布的信息只包含地址、端口和必要的客户端版本。
