如何自行搭建一条 Hypixel 加速 IP
本文撰写于 2023 年 4 月 13 日。
话不多说,直接进入正题!本文仅有 1000 字左右,写得很简单。
1. 购买服务器
首先,你需要至少一台服务器。你可以从任意云服务商处购买服务器,配置要求并不高,甚至 1 核 0.5G 也可,因为主要是数据转发。但带宽一定不要太少。本文以阿里云为例,且使用的操作系统为 CentOS 7.9
。
购买服务器时,选择在地理位置上离你较近的服务器,可以在一定程度上降低延迟。例如广东一带可以选择中国香港,而江浙沪一带可以选择日本。你可以在网上找到各大云服务商在各地区机房的测试 IP,通过对这些 IP 进行延迟测试,可以大致得知你到哪家云服务商在哪里的服务器延迟最低,具体延迟还取决于你的路由。
你实际的游戏延迟的计算方式为:你到服务器的延迟 + 服务器到游戏服务器的延迟
。在这个基础之上,再增加 10-20ms,即为较准确的游戏内延迟。购买服务器的具体步骤此处省略。
1.1 关于服务器的选择
购买服务器当然还是国内大厂最方便也相对便宜,如果你想先买台国内大厂的服务器来试试水,当然也是没有问题的。以下暂时只讨论一台服务器的情况。
(2023.06.14更新)香港阿里云/腾讯云:全国运营商均可稳定连接,无丢包和延迟波动。到Hypixel延迟约为200-225ms。
东京阿里云:电信存在大量丢包(超过20%),基本是无法使用的。联通和移动正常,移动内陆地区有少量丢包(0-4%),具体取决于地区,但当然了,零丢包肯定是最好的。到Hypixel延迟约为135-165ms,极限延迟133ms。建议移动/联通使用。
首尔阿里云/腾讯云:先说首尔腾讯云,不推荐电信使用,绕路导致延迟高,且存在约10%的丢包。移动联通可选。
首尔阿里云,电信可用,部分地区存在1-3%的丢包,极限延迟最低可达25ms(上海电信直连到首尔)。不推荐联通使用,联通虽然无丢包但绕路导致到服务器的延迟至少150ms,再加上服务器到Hypixel的延迟,至少会达到320+ms,这是很不理想的延迟。移动也是可用的。
以浙江为例,下图展示从浙江到韩国首尔的移动路由。你到某地服务器的延迟取决于你的路由。
首先,从本机出发,路由先经过中移浙江(AS56041),再经过全国骨干网。如果是出境流量,则随后必定经过中移国际(AS58453)再向境外出口,中移国际在香港、美国加州、日本东京、英国伦敦等地均有节点。因此中移国际的路由走香港、日本东京或者美国,再去韩国首尔都是有可能的。当然最快线路就是直连首尔。

2. 进行配置
购买完服务器后,需要通过远程连接登录服务器进行配置。你可以选择任何 SSH 终端,也可以直接使用阿里云提供的云终端。
下图为阿里云 ECS 云服务器的远程连接入口。

在登录服务器后,在终端输入命令下载转发 Minecraft 数据包所需的程序。此程序来自于 GitHub 开源项目。
wget https://github.com/AllesUgo/Minecraft-Speed-Proxy/releases/download/v2.3.0/minecraftspeedproxy
服务器将自动下载文件,下载完成后,可以使用 ls
命令查看当前目录的文件。
ls
返回结果:
minecraftspeedproxy
说明当前目录下存在名为 minecraftspeedproxy
的文件。
之后,对文件赋予执行权限。
chmod +x ./minecraftspeedproxy
到此,文件已经可以直接执行了。但需要注意的是,在阿里云控制台需要配置防火墙/安全组,放行对应端口。Linux 本身也有防火墙,因此也需要放行对应端口。
Minecraft 使用的是 TCP 协议,此处以 30001 端口为例,放行 TCP 30001 端口:
firewall-cmd --zone=public --add-port=30001/tcp --permanent
然后,重启防火墙,否则规则将不会生效:
firewall-cmd --reload
到此,系统自带的防火墙已经配置完成。不要忘记配置阿里云控制台对应服务器的防火墙/安全组,如果已经在阿里云控制台放行端口但端口仍然无法访问,则可能是 Linux 防火墙未放行端口导致的。
最后,启动程序:
./minecraftspeedproxy mc.hypixel.net 25565 30001
此处 mc.hypixel.net
是目标服务器的地址,25565
是 Minecraft Java 版多人联机使用的默认端口,30001
为本地监听端口,启动时所有参数都是必填的。之后,我们在游戏内输入服务器地址时,应该输入的地址是 你的服务器地址:30001
。
你也可以使用 ./minecraftspeedproxy --help
来查看帮助。
启动后程序会立刻开始工作,这时我们就可以打开游戏加入服务器了。使用 stop
命令即可立即关闭程序。
3. 关于 screen 的使用
以上这些已经是完整的步骤,程序可以正常运行,你也可以正常加入服务器游玩了。
但有很重要的一点,程序无法后台运行。
因此,当你关闭远程连接后,程序可能会自行关闭,你的游戏玩到一半就掉线了还连不回去。这显然不是我们想要的效果。因此我们需要安装 screen
,使程序可以 24 小时运行。
首先,登录终端,输入命令开始安装:
yum install screen
完成安装后,直接输入 screen
即可创建一个新窗口。
这时,我们在新建的窗口内输入刚才的命令,让加速程序运行起来:
./minecraftspeedproxy mc.hypixel.net 25565 30001
运行之后,你就不用管它了,它已经可以 24 小时不间断运行了。想要退回到最开始的窗口,直接按下 Ctrl + A + D
即可,退出后也不会影响新窗口中程序的运行。
如果我们需要返回加速程序所在的窗口,可以先输入以下命令查看正在运行的窗口:
screen -list
返回结果:
There are screens on:
8828.pts-0.iZj6cdthxpprhf3ulkeg01Z (Detached)
31192.pts-3.iZj6cdthxpprhf3ulkeg01Z (Detached)
22743.pts-0.iZj6cdthxpprhf3ulkeg01Z (Detached)
3 Sockets in /var/run/screen/S-root.
说明这台服务器上有 3 个窗口正在运行中,假设我们想进入第一个窗口,也就是编号为 8828 的窗口,输入以下命令即可:
screen -r 8828
如果无法进入窗口,提示需要先 Detach,那么先输入以下命令:
screen -d 8828
再重复上面的 screen -r 8828
即可。
4. 说明
本文所使用的方法仅限于一台服务器的情况。如果你想使用多台服务器架设线路,可以试试在服务器之间使用反向代理,最后连接游戏服务器的服务器上使用此程序。
不仅仅限于 Hypixel,自己拥有一台服务器的最大好处就是灵活,你可以用它来加速任何你想玩的 Minecraft 服务器,只是具体延迟还是取决于服务器所在的地域…
关于延迟优化:如本文开头所说,你需要自行测试延迟寻找最优解。大多数情况下需要不止一台服务器,成本是相对较高的。因此个人仍然建议购买加速服务而非自行架设。
关于服务器选购:建议使用 Linux 操作系统,因为其价格相对于 Windows 来说更低,可以降低成本。如果你觉得带宽费用过高,可以适当降低峰值带宽或者考虑按量计费,测试用服务器可以选择 抢占式/竞价型 实例,最大程度上降低测试成本。建议多看几家云服务商,做出最合适的选择。
本文写得并不严谨,瑕疵在所难免,还请见谅。
以上。