醉后不知天在水,满船清梦压星河。
如何自行搭建一条 Hypixel 加速 IP
如何自行搭建一条 Hypixel 加速 IP

如何自行搭建一条 Hypixel 加速 IP

如何自行搭建一条 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 来说更低,可以降低成本。如果你觉得带宽费用过高,可以适当降低峰值带宽或者考虑按量计费,测试用服务器可以选择 抢占式/竞价型 实例,最大程度上降低测试成本。建议多看几家云服务商,做出最合适的选择。

本文写得并不严谨,瑕疵在所难免,还请见谅。

以上。

SweetCandy233’s Blog — 醉后不知天在水,满船清梦压星河。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注