Featured image of post 基于Easytier优化P2P游戏联机的方案

基于Easytier优化P2P游戏联机的方案

1. 概述

EasyTier 是一款简单、安全、去中心化的虚拟网网组网工具。对于游戏玩家而言,在具有公网 IP 的云服务器上部署一个 EasyTier 节点,可以显著提升不同网络环境下(NAT)玩家之间的“握手”成功率,实现低延迟的虚拟局域网联机。

本教程针对 Rocky Linux 9.0 及以上版本系统,采用官方一键脚本安装,并使用配置文件进行管理。为了降低小白的操作门槛,推荐使用 Xterminal 工具进行可视化操作。

2. 准备工作

在开始部署前,请确保:

  1. 服务器环境:已安装 Rocky Linux 9.x 的轻量云服务器。
  2. 防火墙配置:在云服务器控制台(安全组/防火墙)中开放 UDP 11010 端口和TCP11010端口(EasyTier 默认通信端口)。(非常重要)
  3. 对于不熟悉 Linux 命令行的用户,推荐使用 Xterminal(可视化 SSH 工具)。
    1. 下载安装:前往 Xterminal 官网 下载并安装。
    2. 建立连接
      • 打开 Xterminal,点击“新建连接” -> “SSH”。
      • 主机/IP:填入你云服务器的公网 IP。
      • 用户名:通常为 root
      • 密码:输入你服务器的登录密码。
    3. 连接成功:双击连接名进入。你会看到两个主要区域:左侧是文件管理面板(像文件夹一样操作),右侧是终端命令行(输入指令的地方)。

3. 服务端部署(云服务器)

我们将使用官方提供的自动化脚本进行安装,该脚本会自动处理依赖并将 EasyTier 注册为系统服务。

3.1 一键安装 EasyTier

请直接在终端执行以下命令:

1
wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && sudo bash /tmp/easytier.sh install --gh-proxy https://ghfast.top/

注意:该命令使用了 --gh-proxy 代理加速,确保在国内网络环境下也能快速下载官方资源。

安装完成后应该是显示Successful字样,如下图所示

alt text

3.2 准备配置文件

EasyTier 的默认安装后的核心配置位于 /opt/easytier/config/default.conf。我们使用以下标准化模板,请根据下方的说明替换 xxxx 部分。

配置文件模板

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
hostname = "xxxx_主机名"
instance_name = "xxxx_实例名"
instance_id = "xxxx_UUID_唯一标识符"
dhcp = true
listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
    "wg://0.0.0.0:11011",
]
rpc_portal = "0.0.0.0:0"

[network_identity]
network_name = "xxxx_网络名称"
network_secret = "xxxx_网络密钥"

[flags]
enable_kcp_proxy = true
enable_quic_proxy = true
private_mode = true
relay_network_whitelist = "xxxx_网络名称"

小白填写说明:

  • hostname / instance_name:可以随便起个好记的名字,例如 "Server01",这是联机时候你们看到的服务器的名字。

  • instance_id:这是一个唯一的身份 ID(UUID),你可以查看/opt/easytier/config/default.conf下的该字段复制过来即可。如果没有类似“7e7fca74-9cf1-47ba-acb4-3d33453f8d39”这种格式字样,建议使用UUID生成器产生一个id然后复制过来即可。

  • network_name:虚拟局域网的名字(建议与 relay_network_whitelist 保持一致)。

  • network_secret:加入该网络的“密码”,确保足够复杂。

  • private_mode = true:此项开启后,你的服务器将处于私有模式,仅允许白名单中的网络进行中转,安全性更高,白名单和私人模式都是防止其他人滥用你的服务器进行中继,只有进行联机组网所用,请确保它和network_name字段保持一致。

小技巧:填好上面的代码后,你可以将其粘贴到 EasyTier 官方可视化配置生成器 的导入框中,查看配置是否正确。

3.3 写入配置文件

配置文件默认放置在以下路径:

1
/opt/easytier/config/default.conf

将你刚刚保存好的配置文件替换掉默认的配置文件,Xterminal可以直接点击default.conf文件进行修改,复制粘贴覆盖掉默认的即可。

请记得点保存,红星号那个按钮为保存键

4. 服务管理

安装脚本已预置了 Systemd 服务模版。你可以通过以下命令管理 EasyTier 服务,服务你可以理解为windows上的开机自启,官方的一键安装脚本已经帮你配置好了,以后只需要进行简单无脑的开关机就可以对服务器进行关闭和开启操作。

4.1 启动并设置自启

1
2
3
4
5
# 重新启动名为 default 的配置服务以加载你刚刚最新修改的配置,不重启服务你修改的配置是无法生效的
sudo systemctl restart easytier@default

# 设置开机自动启动
sudo systemctl enable easytier@default

4.2 检查运行状态

1
sudo systemctl status easytier@default

如果看到 active (running),说明服务器节点已成功作为种子节点(Seed Node)在公网等待联机。

5. 客户端连接与游戏联机

5.1 玩家端连接

  1. 下载客户端:所有玩家在 Windows 电脑上下载 EasyTier Game 客户端。
  2. 配置连接
    • 服务器地址(Peer):协议选择UDP,地址填写你的服务器公网IPV4地址格式为(公网地址:端口号)x.xxx.xxx.xx:11010
    • 房间名称与密钥:房间名和密码为你设置的network_namenetwork_secret字段。
    • 虚拟 IP:无特殊需求勾上动态的V4即可。
    • 成员名:每个人在网络中的名字,随意设置自己喜欢的即可,为了避免乱七八糟的bug建议取纯英文名。
  3. 验证成功性:点击开始联机,可以看到联机成功字样,点击房间信息可以看到你的云服主机之间的延迟。

建议每个人在高级选项中勾上低延迟模式和KCP代理,有一定的优化作用

5.2 开始联机

  • 验证:打开房间信息可以看到你和其他人之间的延迟。
  • 联机:保持easytier在后台,打开游戏进行联机即可。

6. 维护说明

  • 修改配置:若需修改网络参数,请编辑 /opt/easytier/config/default.conf,修改后需执行 sudo systemctl restart easytier@default 重启服务生效。
  • 查看日志:若无法连接,可使用 journalctl -u easytier@default -f 查看实时运行日志。

项目参考:

  • GitHub 仓库:EasyTier
  • 官方文档:https://easytier.top/
Licensed under CC BY-NC-SA 4.0
最后更新于 Dec 21, 2025 12:44 +0800