-1

所以我之前问过一个问题,你是否可以将 ServerSocket 上的客户端发送到不同的服务器。但是现在,我问的是如何使用 Bungeecord 和/或 Lilypad 将我的世界的玩家从一个服务器发送到另一个服务器。我知道 LilyPad 使用代理和那些东西,但是当连接到 Bungeecord/Lilypad 服务器时,玩家如何发送到集线器/生成和/或其他服务器,例如生存服务器和创意服务器。您可以在有网络的服务器上找到这样的服务器。我知道宝藏战争使用百合花,如果有帮助的话。

4

1 回答 1

3

你是在自问自答。Bungeecord 和 LilyPad 都是代理服务器网络。

尽管服务器无法在未经许可的情况下将客户端重定向到另一台服务器,但服务器可以连接到另一台服务器(意味着第一台服务器是代理)并将该服务器的消息发送回客户端。由于第一台服务器本质上也是第二台服务器的客户端,因此第一台服务器可以在任何需要的点切换连接。

换句话说,Minecraft 客户端在任何时候都不会切换连接。Minecraft 客户端连接的服务器的 IP 永远不会改变,它是代理的。但是,改变的是代理连接到的服务器。如果客户端向代理发送一些消息,说明它希望转到集线器,则代理会断开与它当前连接的任何服务器的连接,连接到集线器,并将集线器响应的任何消息发送回 Minecraft 客户端.

这是我基于快速搜索的理解。

但是,如果 Minecraft客户端也进行了修改,则可以拥有类似的网络而无需像这样的代理:

  • 客户端以某种方式与服务器交互(可能玩家走进一个门户)以触发一些服务器切换动作。
  • 服务器识别出这种交互,并且因为它和客户端都被修改了,所以知道如何响应。响应只是向客户端发送一条消息,说:“切换到不同的服务器。这是 IP:(在此处插入 IP)”
  • 客户端从服务器接收到消息,并按照自己的意愿断开与当前服务器的连接并重新连接到新服务器。
于 2015-11-22T06:05:39.140 回答