透過 BungeeCord 來使用 Sponge
BungeeCord 是 md_5 和 SpigotMC 团队联手打造的服务器代理软件,允许服主把 Minecraft 服务器连接在一起而玩家不用断线连接就能在服务器间切换。一种 BungeeCord 的典型用途就是多种不同游戏模式的服务器。
有关 BungeeCord 是什么、如何设置它、它是如何运作的详细信息,见 BungeeCord 官方网站 。此页将集中在针对 Sponge 的具体处理步骤。
警告
要将服务器连接到 BungeeCord,你必须以离线模式运行服务器。在离线模式下,如果没有适当的预防措施,任何人都可以用他们想用的名字登录到这个服务器,比如管理员们的名字。所以请确保你的服务器已经使用防火墙保护了起来。如果你使用 Linux,你可以看看 SpigotMC 提供的防火墙指南以配置你的 IPTables。当然,有些发行版使用 UncomplicatedFirewall 「ufw」 等其他的防火墙。
如果你不太习惯使用 Linux,或者你不太确定如何防止其他人未经授权访问你的服务器,你可以寻求有着更多服务器管理经验的其他人的帮助,以保证你的服务器的安全。
備註
如果你使用 SSH ,请确保开放 22 端口,否则你很可能会把你自己锁在服务器外面!
IP 轉發
BungeeCord 有一种模式被称为 IP 转发,这使得 BungeeCord 可以把玩家的 UUID 和 IP 地址转发到任何一个服务器上去,即使该服务器以 Offline 模式运行。目前的 BungeeCord 版本支持 SpongeVanilla 的 IP 转发,不过 SpongeForge 的 IP 转发只支持原版客户端——使用 Mod 客户端不能通过不加修改的 BungeeCord 登录 Mod 服务器。SpongeForge 只完全支持修改过(Patched)的 BungeeCord,或者添加了社区提供的 BungeeCord 插件的版本。
向 BungeeCord 发送的一个 Pull Request 添加了 SpongeForge 的原生支持。我们也在等待它被添加进主代码仓库中:
旧的 PR,具有上下文: BungeeCord PR 1557
新的 PR,使用了一种不同的方式避免不兼容: BungeeCord PR 1678
不搭配 IP 轉發使用 BungeeCord
虽然我们建议你无论何时都使用 IP 转发,但是如果你不想用的话,只需要简单地把 server.properties
中的 online-mode
设置为 false
然后在 Bungee 的 config.yml
中把服务器信息添加进去。Bungee 便会把所有连接转发到你的服务器。把服务器的端口设置为非 25565
的值是一个很好的防御措施。
這將適用於 Sponge 的所有實作,包含模組。
搭配 IP 轉發使用 BungeeCord
如果你想使用 IP 轉發:
在 BungeeCord 的
config.yml
中,將ip_forward
設定為true
在 Sponge 的設定檔 (config/sponge/global.conf) 設定
modules.bungeecord
與bungeecord.ip-forwarding
為true
如果你有任何其他伺服器軟體,請查閱該伺服器的文件。
所有 连接到 BungeeCord 网络的服务器都需要这么设置,然后你就照着不使用 BungeeCord 的 IP 转发功能的说明做就可以了。