我有 2 个 Minecraft 服务器在同一个 IP 地址上运行。一个在端口 25565 上运行,另一个在端口 25566 上运行。我还有 2 个域,例如,假设为 domain1.com 和 domain2.com。我希望 domain1.com 指向在端口 25565 上运行的服务器,我希望 domain2.com 指向在端口 25566 上运行的服务器。我希望这样客户端就不需要通过执行 domain2.com:25566 来输入端口号。我听说有一种方法可以使用 SRV 记录来做到这一点,但我似乎不知道该怎么做。(顺便说一下,我正在为我的域使用 Dynadot)
答案1
您也可以在不更改太多 DNS 记录的情况下执行此操作。Minecraft 会随第一个连接数据包发送主机名(用户输入的地址)。您可以使用中间服务器(代理),该服务器仅分析第一个数据包,然后根据主机名将所有后续包路由到正确的 minecraft 服务器。
GitHub 上已经有这样一个项目,你可以使用:https://github.com/RenegadeEagle/minecraft-redirect-proxy
因此你要做的是:
- 将两个域名都指向你的服务器 IP
- 在您的服务器上安装代理(监听端口 25565)
- 更改您的服务器,使其在端口 25566 和 25567 上运行(例如)
- 配置代理以反映您想要的域
- 启动所有应用程序,您就可以开始了
这就是我设置代理的方式(但我还没有测试过!)
{
"versionName": "ProxyCup",
"maxPlayers": 0,
"onlinePlayers": 0,
"motd": "Couldnt connect to requested backend server. If you believe this to be an issue, contact the administrator of this proxy.",
"port": 25565,
"nodes": [
{
"hostname": "domain1.com",
"remoteHostname": "localhost",
"remoteHostPort": 25566
},
{
"hostname": "domain2.com",
"remoteHostname": "localhost",
"remoteHostPort": 25567
}
]
}