我一直在运行一个小游戏服务器一段时间,并希望在同一台服务器上build立第二个服务器。 问题是这些服务器不支持域名; 如果一个请求进入正确的端口(22565),不pipe域名访问什么都不重要,不像说apache与它的虚拟主机)。
所以我唯一的select是在默认端口(25565)上设置一个游戏服务器,另一个在另一个端口(25564)上。
所以对于我的问题:是否有可能重新映射一个端口(在这种情况下25565至25564),如果它来自一个特定的域? (我有两个指向我的服务器的子域:mc,mcold;并且想要将发送到25565的所有stream量redirect到25564,如果用户来自子域mcold)。
谢谢你的帮助,
马克斯
tl; dr:不。
为了做这种事情,游戏客户端需要支持它,而且这是不太可能的。 在Web服务的情况下,客户端(Web浏览器)将HTTP请求中的域名作为主机头发送。 这样,服务器就知道使用了哪个域。
但是,在你的游戏中,这是不可能的。 客户端在启动时查找域名,然后所有后续访问仅通过IP进行。
你最好的办法是看看你是否可以获得服务器的额外的静态IP地址。