Minecraft - 2 个服务器,1 个 IP 地址,2 个端口,2 个域

Minecraft - 2 个服务器,1 个 IP 地址,2 个端口,2 个域

我有 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

因此你要做的是:

  1. 将两个域名都指向你的服务器 IP
  2. 在您的服务器上安装代理(监听端口 25565)
  3. 更改您的服务器,使其在端口 25566 和 25567 上运行(例如)
  4. 配置代理以反映您想要的域
  5. 启动所有应用程序,您就可以开始了

这就是我设置代理的方式(但我还没有测试过!)

{
  "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
    }
  ]
}

相关内容