场景指南

使用 Noeio 进行 Minecraft 联机

想和朋友异地联机玩 Minecraft,常见的方案有三种:买一台游戏服务器、用内网穿透工具、或者走 P2P 直连。Noeio 属于第三种。

内网穿透的链路是「玩家 A → 公网穿透服务器 → 玩家 B」,来回都要多绕一跳。多模组场景下每次区块同步、实体更新都在跑网络,这一层中转积累下来体感很明显。

游戏服务器对原版 Minecraft 是个好选择,资源需求低,十几块钱一个月就够。但加了大量模组后内存和 CPU 占用成倍增长,配置要上去,月费也就不那么划算了。

Noeio 的 P2P 方案少了那一层转发,延迟就是你们两台机器之间真实的网络延迟。配置一次,之后每次联机直接用。

考量维度P2P(Noeio)内网穿透游戏服务器
原版游戏可用可用可用
多模组流畅延迟明显配置成本高
成本低低高
延迟低中中

联机步骤

  1. 1

    准备 derper

    derper 是 Noeio 用来协助节点打洞的中继服务,两种方式选一种。

    方式一:公开试用服务器

    在试用 Derper页面选一台服务器生成 token,页面会同时给出配对的 network ID 和下面几步要用的启动命令,两位玩家使用同一份。

    方式二:自行部署

    如果你有公网服务器,可以自己部署一台 derper,更稳定、延迟也更可控。部署和生成 token 的步骤见快速开始。

  2. 2

    安装 noeio

    两位玩家都要在自己的电脑上安装。脚本会识别系统与架构,下载对应的二进制并放入 PATH。也可以去下载页手动下载。

    curl --proto '=https' --tlsv1.2 -sSf https://noeio.net/install.sh | sh
  3. 3

    启动 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. 4

    创建虚拟网卡并开始联机

    玩家 A 负责开房间,玩家 B 加入。更多玩家参照玩家 B 的步骤。切换查看各自的操作。

    1. 1

      创建虚拟网卡

      为自己分配一个虚拟 IP,推荐 100.64.0.x 网段,--network 填入第一步拿到的 network ID。创建完成后把这个 IP 告诉玩家 B。

      noeio create vnic --ip 100.64.0.1 --network <network-id>
    2. 2

      在 Minecraft 里开放局域网

      进入存档后按 Esc,选「对局域网开放」,然后「开启联机」。把虚拟 IP(100.64.0.1)发给玩家 B,让他在「直接连接」里填入。

      在 Minecraft 里对局域网开放