Minecraft 联机
和朋友异地联机玩 Minecraft,不租服务器、不走内网穿透中转,两台电脑 P2P 直连
和朋友异地联机玩 Minecraft,不租服务器、不走内网穿透中转。把两台电脑连进同一个虚拟子网后 P2P 直连,延迟就是两台机器之间真实的网络延迟,配置一次之后每次直接用。
想和朋友异地联机玩 Minecraft,常见的方案有三种:买一台游戏服务器、用内网穿透工具、或者走 P2P 直连。Noeio 属于第三种。
内网穿透的链路是「玩家 A → 公网穿透服务器 → 玩家 B」,来回都要多绕一跳。多模组场景下每次区块同步、实体更新都在跑网络,这一层中转积累下来体感很明显。
游戏服务器对原版 Minecraft 是个好选择,资源需求低,十几块钱一个月就够。但加了大量模组后内存和 CPU 占用成倍增长,配置要上去,月费也就不那么划算了。
Noeio 的 P2P 方案少了那一层转发,延迟就是你们两台机器之间真实的网络延迟。配置一次,之后每次联机直接用。
| 考量维度 | P2P(Noeio) | 内网穿透 | 游戏服务器 |
|---|---|---|---|
| 原版游戏 | 可用 | 可用 | 可用 |
| 多模组 | 流畅 | 延迟明显 | 配置成本高 |
| 成本 | 低 | 低 | 高 |
| 延迟 | 低 | 中 | 中 |
联机步骤
1. 准备 derper
derper 是 Noeio 用来协助节点打洞的中继服务,两种方式选一种。
- 方式一:公开试用服务器。 在试用 Derper页面选一台服务器生成 token,页面会同时给出配对的 network ID 和下面几步要用的启动命令,两位玩家使用同一份。
- 方式二:自行部署。 如果你有公网服务器,可以自己部署一台 derper,更稳定、延迟也更可控。部署和生成 token 的步骤见快速开始。
2. 安装 noeio
两位玩家都要在自己的电脑上安装。脚本会识别系统与架构,下载对应的二进制并放入 PATH。也可以去下载页手动下载。
macOS / Linux:
curl --proto '=https' --tlsv1.2 -sSf https://noeio.net/install.sh | shWindows(PowerShell):
irm https://noeio.net/install.ps1 | iex3. 启动 daemon
两位玩家都要执行。把 --derper-server 换成 derper 地址,--derper-token 换成第一步拿到的 token。也可以写进配置文件后直接 noeio boot,见配置文件。
Windows 用户请以管理员身份打开终端(右键开始菜单,选 Windows 终端(管理员));macOS / Linux 用户请在命令前加
sudo,如sudo noeio boot。
noeio boot \
--stun stun.chat.bilibili.com:3478 \
--derper-server <derper-address> \
--derper-token <token>4. 创建虚拟网卡并开始联机
玩家 A 负责开房间,玩家 B 加入。更多玩家参照玩家 B 的步骤。
玩家 A
创建虚拟网卡。 为自己分配一个虚拟 IP,推荐 100.64.0.x 网段,--network 填入第一步拿到的 network ID。创建完成后把这个 IP 告诉玩家 B。
noeio create vnic --ip 100.64.0.1 --network <network-id>在 Minecraft 里开放局域网。 进入存档后按 Esc,选「对局域网开放」,然后「开启联机」。把虚拟 IP(100.64.0.1)发给玩家 B,让他在「直接连接」里填入。

玩家 B
创建虚拟网卡。 向玩家 A 要到 network ID,为自己分配另一个虚拟 IP。每个玩家的 IP 不能重复,最后一段在玩家 A 的基础上依次加 1(100.64.0.3、100.64.0.4……),最大不超过 255。
noeio create vnic --ip 100.64.0.2 --network <network-id>连接到玩家 A 的游戏。 打开 Minecraft,进入「多人游戏」,选「直接连接」,输入玩家 A 的虚拟 IP(100.64.0.1)即可加入。

