[https://blog.0u0.one/archives/34dd83e4-0cce-4aaa-b548-9a7f7be36c3c](MC Fabric 开服教程)
前言
这篇文章只是可行性探讨,给Minecraft服务器套CDN不一定会减少网络延迟,甚至可能适得其反。
在原版MC服务器中使用的是协议基于TCP的私有协议 而大多数CDN通常只免费提供HTTP(s)/Websocket协议的代理,而TCP协议需要高昂的费用才能享有。
让MC服务器套CDN的核心思想就是把MC的私有协议封装进Websocket协议,使得CDN能够处理并代理流量。
域名必须备案,或者服务器在海外,因为Websocket协议与HTTP(s)相似,可能会被国内服务商拦截。
其他服务端也可以如法炮制,只要mod支持。
本教程假设前提:
环境:
- Windows 10 及以上系统
- Azul zulu jdk21
- Minecraft JE 1.21.3 Fabric
- 境外网络代理
- 腾讯云EdgeOne
其他:
- 若未说明打开方式,则是用纯文本编辑器打开
- 一个域名
在 eo 配置中开启 Websocket 支持
- 打开eo控制台的站点加速标签页
- 在
网络优化类别中,打开WebSocket并把最大超时时长设置到上限。 - 在
HTTP S类别中 将HTTP/2 回源关闭
在 fabric 服务器中开启 Websocket 支持
- 下载 wsmc mod
- 将 wsmc 放入服务器根目录的
mods文件夹中 - 重启服务器
在 eo 配置源站
- 在eo控制台,域名管理中添加域名
- 加速域名填一个自己喜欢的
- 源站配置填写你的服务器 ip
- 回源协议改为 HTTP
- 回源端口设置为你的 MC 服务器端口,通常默认为
25565 - 下一步
- 在你的 DNS 服务商里配置好 eo 的 CNAME
- 申请证书并配置 HTTPS(可选)
用户连接
配置完成后 用户连接服务器时就不能直接输入域名/IP连接 而是需要在域名前加上协议名
如果原来是 example.com 那么用户连接时 应该输入 ws://example.com/,如果你还配置了 HTTPS 那么可以使用wss://example.com/