跳到主要内容

加入好友

提示:

这篇文章来自 Hytale 官方,我们仅对原文进行了翻译和排版处理。

原文链接:https://support.hytale.com/hc/en-us/articles/45324238811291-Joining-Friends
上次更新时间:2026/01/28 12:48

本文介绍如何邀请好友加入你的单人世界,以及如何排查连接问题。

注意:

预期读者: 希望与好友一起游玩、但不想搭建专用服务器的玩家。

网络要求: 好友加入依赖 UPnP 和直连,这在所有网络环境下并不都能正常工作。如果你遇到问题,请查看“故障排除”,或直接跳转到“替代方案”,例如 Tailscale 或专用服务器托管。

早期系统: 该功能仍在完善中。我们正在积极改进,但目前它还无法保证对所有人都能完美运行。

警告:

分享码包含你的 IP 地址。请勿公开发布分享码、在公共聊天中粘贴分享码,或在直播中展示分享码。请仅将分享码直接分享给你信任的人。

目录

工作原理

Hytale 允许你在不运行专用服务器的情况下,将你的单人世界开放给好友。当你启用好友加入时,Hytale 会:

  1. 使用 UPnP(Universal Plug and Play)自动配置你的路由器
  2. 生成一个包含连接信息的分享码
  3. 好友粘贴分享码,即可直接连接到你的游戏

分享码包含加密后的连接候选项,包括你的本地网络地址、公网 IP(通过 UPnP 获取)以及任何 VPN 地址(如 Tailscale)。加入方客户端会依次尝试每个候选项,以找到可用的连接方式。

托管世界

  1. 进入你的单人世界
  2. ESC 打开暂停菜单
  3. 点击 Online Play(在线游玩)
  4. Allow Other Players to Join(允许其他玩家加入)切换为 ON(开启)
  5. (可选)设置 Password(密码)以限制访问
  6. (可选)切换 Include Password in Share Code(分享码包含密码)以将密码嵌入分享码
  7. 点击 Save(保存)

保存后,Hytale 会与路由器进行 UPnP 协商。完成后:

  • 文本框中会显示分享码
  • 下方会显示连接状态(例如 "Connected via UPnP")
  • NAT Type 会显示你的网络配置

点击 Copy to Clipboard(复制到剪贴板),并将代码发送给你的好友。

加入好友的世界

  1. 在主菜单中,进入 Servers(服务器)
  2. 点击 Join via Code(通过代码加入)
  3. 粘贴分享码
  4. 如需要且未嵌入密码,则输入密码
  5. 点击 Connect(连接)

客户端会按优先级顺序尝试每个连接候选项,直到其中一个成功连接。

故障排除

未生成分享码

症状: 点击 Save(保存)后未出现分享码,或出现错误提示。

原因与修复方法:

原因修复方法
路由器禁用了 UPnP登录路由器管理面板并启用 UPnP
路由器不支持 UPnP查看“手动端口转发”或“替代方案
存在多个路由器(双重 NAT)在所有路由器上启用 UPnP,或将电脑直接连接到主路由器
防火墙阻止 UPnP在 Windows 防火墙中允许 Hytale

好友无法连接

症状: 分享码成功生成,但好友连接超时或连接失败。

原因与修复方法:

原因修复方法
CGNAT(运营商级 NAT)你的 ISP 可能让多个用户共享一个公网 IP,UPnP 端口映射无法工作。请查看“替代方案
防火墙阻止入站连接在 Windows 防火墙中允许 Hytale,并同时允许私有网络与公用网络
UPnP 映射已过期重新保存 Online Play(在线游玩)设置以刷新映射
杀毒软件干扰临临时禁用,或将 Hytale 添加为例外
ISP 阻止游戏端口联系 ISP,或使用 Tailscale

如何检查是否存在 CGNAT

你的 ISP 可能使用运营商级 NAT(Carrier-Grade NAT),这意味着你与其他客户共享一个公网 IP。在这种情况下 UPnP 无法工作。

  1. 打开 PowerShell
  2. 运行:tracert -d 8.8.8.8
  3. 检查前几跳

如果第一跳是公网 IP(不是 192.168.x.x、10.x.x.x 或 172.16-31.x.x),你大概率拥有直连公网。如果在到达公网地址之前出现多个私有 IP 网段,则你处于 CGNAT 或双重 NAT 环境下。

你也可以对比:

  • 路由器的 WAN IP(在路由器管理面板中查看)
  • 你的公网 IP(在浏览器中搜索 "what is my IP")

如果二者不一致,则你处于 CGNAT 环境下。

手动端口转发

如果 UPnP 失败但你拥有直连公网 IP:

  1. 记下 Online Play(在线游玩)设置中显示的端口(默认值:每次会话不同)
  2. 登录路由器管理面板
  3. 找到 Port Forwarding(端口转发)设置
  4. 创建一条规则,将该 UDP 端口转发到你电脑的本地 IP
  5. 重新保存 Online Play(在线游玩)设置

IPv6 连接

当可用时,分享码会包含 IPv6 地址。如果你的好友具备 IPv6 连接能力,即使 UPnP 失败,也可能直接连接成功。要实现此方式,双方的 ISP 都必须提供可用的 IPv6。

替代方案

尝试让好友托管

当你无法托管时,最简单的解决方法是让你的好友创建世界并邀请你加入。不同的网络配置意味着某些玩家可以托管,而另一些玩家无法托管。

如果你想分享现有世界:

  1. %appdata%\Hytale\saves\ 中找到你的世界存档
  2. 将世界文件夹发送给好友
  3. 好友导入后进行托管

使用 Tailscale

Tailscale 使用 WireGuard 在设备之间建立点对点 VPN 隧道,可完全绕过 NAT 与防火墙问题。

设置:

前往 YouTube 观看:https://youtu.be/SXO0xNzswns

完成连接后,Hytale 会自动检测 Tailscale 地址并将其加入分享码。它们会以连接候选项的形式出现,地址类似 100.x.x.xfd7a:115c:a1e0::*

Tailscale 有效的原因:

  • 建立点对点直连
  • 可穿透大多数 NAT 配置
  • 如果直连失败,会回退到中继服务器
  • 加密的 WireGuard 隧道
  • 个人使用免费

当双方都运行 Tailscale 后:

  1. 重新保存 Online Play(在线游玩)设置以生成新的分享码
  2. 新分享码会将 Tailscale 地址作为高优先级候选项
  3. 将分享码分享给你的好友

专用服务器

对于需要长期运行的世界或好友人数较多的情况,建议使用专用服务器。它能提供:

  • 更好的性能(服务器无需同时渲染游戏画面)
  • 当你离线时仍可持续运行
  • 更多配置选项
  • 无需 NAT 的可靠连接能力

选项 1:租用托管服务商

最简单的方案是向游戏服务器提供商租用服务器,例如我们标记为“Launch Verified”的服务商:

这些服务商负责所有网络、硬件与维护工作。服务器 24/7 在线,并可在任何地点访问,无需 UPnP 或端口转发。多数服务商提供一键安装 Hytale 以及自动更新。

选项 2:自建托管

如果你希望使用自己的硬件,请查看 Server Manual(服务器手册)获取搭建说明。

技术细节

分享码格式

分享码是一个 Base64 编码、压缩后的 JSON 结构,内容包括:

{
"HostName": "PlayerName",
"HostUuid": "...",
"ServerName": "World Name",
"Password": "optional",
"ExpiresAt": "2026-01-09T01:50:03Z",
"Candidates": [
{"Type": "Host", "Address": "192.168.1.100", "Port": 52102, "Priority": 1000},
{"Type": "Host", "Address": "100.86.150.116", "Port": 52102, "Priority": 1000},
{"Type": "UPnP", "Address": "82.12.145.33", "Port": 52102, "Priority": 900},
...
]
}
  • Host 候选项:直连 IP 地址(本地网络、IPv6、Tailscale)
  • UPnP 候选项:通过路由器端口映射获得的公网 IP
  • Priority(优先级):值越高越优先尝试(1000 > 900)

客户端会按优先级遍历候选项,并依次尝试连接,直到成功为止。

连接优先级

连接时,候选项通常会按以下顺序尝试:

  1. 本地网络地址(最快,同一网络)
  2. Tailscale/VPN 地址(可靠,可穿透 NAT)
  3. IPv6 地址(如果双方都有 IPv6,则可直连)
  4. UPnP 公网 IP(需要端口映射成功)

安全注意事项

  • 分享码包含你的 IP 地址 - 仅与可信好友分享
  • 分享码会过期(可在 ExpiresAt 字段中查看)
  • 密码可提供额外保护,但分享码本身仍会暴露网络信息
  • 可考虑使用 Tailscale 作为额外的加密层

未来改进

我们正在努力提升好友加入功能在不同网络配置下的可靠性。

计划增强

更好的 IPv6 支持

IPv6 完全消除了 NAT,使玩家之间能够直接连接。我们计划改进 IPv6 的检测与优先级排序,使具备 IPv6 的玩家无需依赖 UPnP 即可连接。

NAT 打洞

NAT 打洞(也称 UDP hole punching)允许两个位于 NAT 后的玩家通过第三方服务器协调,从而建立直连。我们正在探索将其作为一种连接方式,这在 UPnP 失效的许多情况下仍能正常工作。

为什么不提供中继服务器?

有些游戏会提供中继服务器,用于转发无法直连的玩家之间的流量。我们决定不为好友加入功能提供此服务。

成本问题

中继服务器必须为每个已连接会话处理完整的游戏流量带宽。与仅处理少量突发数据的匹配或认证服务器不同,中继服务器需要在玩家连接期间持续提供带宽。要在全球范围内大规模提供此服务,将需要巨额的长期基础设施成本。

更值得的投入

与其投入带有固有延迟与容量限制的中继基础设施,不如将这笔资金投入专用服务器。以相同的成本,你可以获得:

  • 24/7 可用性(不依赖房主在线)
  • 更好的性能(专用资源、优化路由)
  • 无中继延迟开销
  • 支持更多玩家

如果直连无法满足你的情况,我们建议使用“替代方案”中的解决方法 - 尤其是 Tailscale(免费点对点连接),或托管专用服务器以获得最佳体验。