服务器网络与您自己的代理
如何在 Millida 中搭建由多个 Minecraft 服务器组成的网络:一键部署 Velocity 或 BungeeCord、内存分配,以及连接到他人的代理。
更新于 2026年8月13日
网络是指玩家通过同一个地址进入,并在各个服务器(大厅、生存、小游戏)之间切换而无需重新连接。从外部看它是一个地址;在内部,则是代理后面的多台服务器。
配置网络
“地址与网络”板块 → 启用网络。控制面板会自动启动代理并将您的服务器连接到它:转发密钥、后端上的 online-mode、关闭的端口——一切都已配置妥当。您无需手动编辑这些文件。
您需要选择:
- 组成 —— 您的哪些服务器属于该网络。
- 代理核心 —— Velocity(默认,现代且快速)或 BungeeCord(如果您需要只能在它上面运行的旧插件)。
- 内存 —— 您将其分配给网络中的服务器;网络入口本身会保留少量预留,且不计入套餐。
更改代理核心会改变转发格式——使用旧设置的服务器将无法让玩家进入,因此控制面板会连同代理一起重新配置它们。
构建组成的两种方式
在套餐内创建世界。 网络板块中的“创建”按钮。这样的世界无需单独付费:它运行在创建它的服务器的内存和核心上,其内存上限由您自行分配。
连接已购买的服务器。 如果您有多个套餐,它们各自按原样连接到网络:“将已购买的服务器连接到网络” → “连接”。服务器仍保留在自己的套餐上,拥有自己的内存、自己的世界和自己的订阅——只是入口发生了变化:玩家通过网络地址进入,而服务器自身的地址不再接受直接连接(转发就是这样工作的;否则,您可以绕过代理并以任意昵称进入)。
这里的内存是按每个付费套餐单独计算的:相邻服务器的 GB 数对此服务器不可用;没有人会把它们合并在一起。在网络板块中,每个套餐都有自己的进度条。
连接和断开都会重启服务器——否则新的入口设置无法送达它。您可以随时用“从网络断开”按钮将服务器从网络中移除:它会恢复到自己的地址。在其套餐内创建的世界也随之一起离开。
如果服务器位于不同地区,您可以连接它们,但玩家在世界之间的切换会跨越半个国家——控制面板会提前警告您这一点。
为什么这只有“作为整体”才安全
在经典配置中,后端会切换为 online-mode=false 并信任代理。如果它们的端口同时对外界开放,任何人都可以以任意昵称进入,包括管理员昵称——这是自建网络中最常见的漏洞。在我们这里,后端保持关闭,只接受代理,账户验证在网络入口处进行。
迁移到网络时需要考虑的事项
- 代理上的插件是不同的。 在 Velocity 上您需要安装专门的 Velocity 版本:LuckPerms、LibertyBans、ViaVersion——它们都有单独的构建。
- 权限和封禁最好保存在共享的 MySQL 数据库中;否则每个服务器都有自己的:数据库。
- 服务器之间的聊天和传送 —— 通过代理上的插件实现;普通的 Essentials 做不到这一点。
- 版本由安装在代理上的 Via 处理:从不同版本进入。
连接到您自己的代理
如果您已经有代理(包括在其他托管商上),“地址与网络”板块中有一个单独的用于您自己代理的地址——在网络配置中将其指定为后端地址。游戏地址仍然可用。
在这种情况下,配置由您负责:在 Velocity 上启用现代转发并在后端设置相同的密钥,对于 BungeeCord——在 spigot.yml 中设置 bungeecord: true。真实玩家 IP 会到达服务器,IP 封禁继续有效。
在网络中使用自己的代理
代理也可以是您自己的——例如,带有现代化转发(modern forwarding)的 BungeeCord 分支(NullCordX 及类似项目),运行在您的一台服务器上。此时,在“网络”部分启用 “我自行配置转发”。
开关开启时,控制面板不会改动任何网络配置:velocity.toml、config.yml、config/paper-global.yml 中的 proxies 部分以及 spigot.yml 中的 bungeecord 都会保持您写入的内容不变,并在服务器重启后保留。若未开启,我们会在每次启动时向其中写入接入设置——您自己的配置将无法保留。
在此模式下,以下内容由您负责:
- 转发密钥,以及它在代理和网络内所有服务器上的一致性;
- 代理配置中的服务器列表;
- 后端的
online-mode:在代理后方必须禁用(“设置”部分)。
请从控制面板获取地址。 在“网络”部分,开关下方有一个可直接用于 velocity.toml 的现成区块,并带有“复制”按钮:服务器名称及其地址。每个服务器只有一个地址——其常规的 <name>.millida.host——无论服务器位于我们哪台机器上,它的工作方式都相同:机器之间的连接由我们在自己的私有网络内维护。代理配置中不会出现端口。
如果服务器旁边显示“重启服务器——我们会分配地址”,说明该服务器自接入网络以来尚未重建:点击“重启”,地址就会出现。
关于 Millida 之外的自有代理(其他托管商、您自己的机器)有一点说明:那里的地址相同,但还需在“您的代理”字段中填写代理自身的地址——我们的入口正是通过它来识别您的连接。
它旁边是 “您的代理的入口地址”——您网络的域名或 SRV 记录的目标,即玩家在客户端中输入的内容。如果代理位于您与他人共用的机器上(廉价 VPS、他人的托管控制面板),请填写此项:这类连接无法通过单一 IP 区分——它们从同一地址到达我们这里——而“入口地址 + IP”这一组合可以精确区分它们。如果该 IP 已被邻居占用,控制面板会提示您:添加入口地址后,入口即可正常工作,且无需从邻居那里夺走该 IP。
代理同样托管在 Millida 上
此时无需填写“您的代理”字段——那里不接受我们的地址。将带有代理及其世界的服务器连接为单一网络(“网络”→“连接服务器”):使用 Velocity 或 BungeeCord 核心的代理会像普通服务器一样连接。面板不会改动其配置,它不会被加入后端列表,并且其中的网络服务器名称(<name>.millida.host)会开始解析到容器本身——包括运行在我们另一台机器上的容器。
若不这样做,您就无法从我们的代理访问自己的世界:从外部看,该名称指向共享入口,而入口会根据玩家连接您代理时使用的地址来解析连接——然后连接又会回到它那里(“You are already connected to this proxy!”)。为此您无需修改 server.properties 中的端口 25565,也不能修改:服务器正是靠它找到我们的入口。
如果服务器旁边显示“重启服务器——我们会分配地址”,说明端口尚未分配:重启该服务器,地址就会出现。
关闭开关——我们会立即恢复自己的配置,无需等待重启。
何时不需要网络
如果您只有一个世界和十几个朋友,那就不需要它:在一个服务器上创建多个世界可以通过插件实现,既便宜又简单。请参阅多世界。
