EasyTier自建服务器教程:打造低延迟游戏局域网

前言

你是否遇到过这样的困扰:想和朋友一起玩只支持局域网的游戏,却因身处不同地点而无法实现?EasyTier是一款开源的异地组网工具,能够帮你快速搭建虚拟局域网,让分布在不同网络的设备如同在同一个局域网内通信。本文将详细介绍如何手动安装配置EasyTier服务器,实现与小伙伴的低延迟游戏联机。

准备工作

硬件要求

  • 一台具有公网IP的云服务器(推荐国内厂商,延迟更低)
  • 客户端设备:支持Windows/Linux/macOS/Android

服务器端部署

1. 下载安装EasyTier

登录云服务器,执行以下命令下载并安装EasyTier(以Linux x86_64为例):

bash 复制代码
# 安装依赖
apt update
apt install -y unzip

# 创建安装目录
mkdir -p /opt/easytier && cd /opt/easytier

# 下载最新版本(请替换为最新版本号)
wget https://github.com/EasyTier/EasyTier/releases/download/v2.3.2/easytier-linux-x86_64-v2.3.2.zip

# 解压并赋予执行权限
unzip easytier-linux-x86_64-v2.3.2.zip
cd /opt/easytier/easytier-linux-x86_64/
chmod +x easytier-core

2. 配置Systemd服务

创建systemd服务文件以实现开机自启和后台运行:

bash 复制代码
vi /etc/systemd/system/easytier.service

插入以下配置(注意修改ExecStart中的参数):

ini 复制代码
[Unit]
Description=EasyTier Service
After=network.target

[Service]
Type=simple
ExecStart=/opt/easytier/easytier-linux-x86_64/easytier-core \
    -i "10.112.112.1" \
    --network-name "game_lan" \
    --network-secret "YourStrongPassword" \
    -l "tcp://0.0.0.0:11010" \
    -l "udp://0.0.0.0:11010" \
    -l "wg://0.0.0.0:11011" \
    -l "ws://0.0.0.0:11011/" \
    -l "wss://0.0.0.0:11012/" \
    --relay-network-whitelist "game_lan"
Restart=on-failure
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target

网络要求

  • 服务器需开放对应端口:11010(TCP/UDP)、11011(TCP/UDP)、11012(TCP)
  • 确保服务器防火墙和安全组已放行上述端口

3. 启动服务

bash 复制代码
# 重新加载systemd配置
systemctl daemon-reload

# 启用并启动服务
systemctl enable easytier --now

# 查看服务状态
systemctl status easytier

客户端配置

Windows客户端

  1. 官网下载Windows GUI版本

  2. 安装后打开客户端,进行如下配置:

    • 网络名称game_lan
    • 网络密码YourStrongPassword
    • 虚拟IP10.112.112.2(每个设备需不同)
    • 网络方式:选择"手动"
    • 服务器地址wss://你的服务器IP:11012
  3. 点击"运行网络"即可连接

Linux客户端

bash 复制代码
# 下载并解压EasyTier
wget https://github.com/EasyTier/EasyTier/releases/download/v2.3.2/easytier-linux-x86_64-v2.3.2.zip
unzip easytier-linux-x86_64-v2.3.2.zip
chmod +x easytier-core

# 启动客户端
sudo ./easytier-core \
    -i "10.112.112.3" \
    --network-name "game_lan" \
    --network-secret "YourStrongPassword" \
    -p "wss://你的服务器IP:11012"

游戏联机设置

连接成功后,所有设备将位于同一虚拟局域网内(10.112.112.0/24)。只需按照以下步骤操作:

  1. 打开支持局域网的游戏
  2. 其中一位玩家创建主机/服务器
  3. 其他玩家通过虚拟IP(如10.112.112.2)加入游戏
  4. 尽情享受低延迟游戏体验

高级优化

NAT穿透优化

EasyTier会优先尝试P2P直连,只有在失败时才会通过服务器中转。不同NAT类型的打洞成功率如下:

NAT类型 打洞成功率 特点
Full Cone NAT 很高 所有外部主机都可访问同一端口
Restricted Cone NAT 较高 限定来源IP/端口,易打洞
Port Restricted Cone NAT 中等 限定来源端口更严格
Symmetric NAT 同一内网对不同外网主机端口不同

如果玩家处于Symmetric NAT环境,可尝试以下方法提高连接成功率:

  • 更换网络连接(如使用手机热点)
  • 配置端口转发(如路由器支持)
  • 使用UPnP(如果路由器支持)

性能优化

  1. 协议选择:WSS协议(WebSocket Secure)通常能提供更好的穿透效果
  2. 多路径连接:可同时指定多个服务器地址提高可靠性
  3. 子网代理:如需访问整个子网,可配置子网代理功能

故障排除

连接失败

  1. 检查服务器防火墙设置
  2. 确认客户端配置参数正确
  3. 尝试更换连接协议(TCP/UDP/WSS)
  4. 查看客户端日志:sudo journalctl -u easytier -f

高延迟问题

  1. 检查是否为P2P连接(直连延迟远低于中继)
  2. 尝试重启客户端重新建立连接
  3. 考虑更换地理位置更近的服务器
相关推荐
永不停歇的蜗牛1 小时前
解决方法:在本地电脑安装的Centos虚拟机上启动redis服务,使用本地电脑客户端无法连接到redis。
linux·redis·centos
e***98571 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
D***y2011 小时前
Redis服务安装自启动(Windows版)
数据库·windows·redis
W***83201 小时前
Linux(CentOS)安装 Nginx
linux·nginx·centos
瑞思蕊萌1 小时前
Docker讲解(未完结)
运维·docker·容器
郝学胜-神的一滴1 小时前
Linux C++系统编程:使用mmap创建匿名映射区
linux·服务器·开发语言·c++·程序人生
好奇的菜鸟1 小时前
Ubuntu 系统 Docker 镜像加速
linux·ubuntu·docker
Wokoo71 小时前
数据链路层:以太网、MAC 地址及 ARP 协议详解
服务器·网络·后端·网络协议·信号处理
h***06651 小时前
Nginx搭建负载均衡
运维·nginx·负载均衡