注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com
你需要什么
具有至少1GB RAM的Vultr VPS。
SSH访问(带有 root
/administrative
特权)。
步骤1:安装BungeeCord
首先,我们需要安装Java才能正常工作。
根据您使用的是基于Debian的操作系统还是CentOS,每个操作系统的命令会略有不同。每个命令都会记录应该使用它的操作系统。如果所有的CentOS 7,Debian 8和Debian 9支持它,则不会显示任何特殊标记。
操作系统: CentOS的7
yum install java-1.7.0-openjdk-devel screen -y
操作系统: Debian 8和Debian 9
apt-get update
apt-get install openjdk-7-jdk screen -y
接下来,您需要创建一个单独的用户来运行服务器。虽然这是可选的,但它是 强烈地 建议您不要托管任何面向公众的系统,因为 root
用户。这将使您的VPS容易被利用,并且如果它被用于非法目的,即使不是由您引起的,也可能导致您在Vultr处的服务器终止。
CURRENT_USER='bungeemc'
useradd $CURRENT_USER -m -d /home/bungee
随时更改用户名 bungeemc
,尽管本文中将成为用户使用。
然后,以用户身份登录。
su $CURRENT_USER
现在,为BungeeCord服务器创建一个文件夹。
mkdir ~/bungeeServer
cd ~/bungeeServer
下载服务器的可执行文件。
wget https://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
让我们第一次运行它。
java -Xms256M -Xmx512M -jar BungeeCord.jar
通常,对于上面显示的命令,您将需要至少留出128MB的RAM,以使系统平稳运行。否则,稍后可能会遇到麻烦,因为当内存不足时,操作系统的内存不足应用程序杀手将杀死您的服务器。
此时,您应该点击 CTRL+C
退出服务器提示。已经生成了所有必需的文件,因此我们可以继续进行配置。
步骤2:配置BungeeCord
对于本文,我们将仅为BungeeCord代理后面的大厅添加一个Minecraft服务器。在本文的后面,将提供有关在其他Vultr VPS服务器或当前系统上添加其他服务器的其他信息。
使用您喜欢的文本编辑器,打开名为 config.yml
。
警告: YAML文件的语法非常重要。 Java是 非常 挑剔的间距。
将您自己添加为管理员。更改 md_5
到您的Minecraft用户名。
添加其他管理员需要您首先放置两个空格,写一个用户名,添加一个冒号,转到下一行,再添加两个空格,然后 - admin
旗。
最后,它应该看起来像这样。
groups:
myMCUsername:
- admin
extraAdmin:
- admin
然后,改变 ip_forward: false
至 ip_forward: true
。这将允许任何目标服务器查看客户端的IP,从而可以发布基于IP的禁令。
移至 player_limit
。将默认值从 1
插槽数量如果将此值设置为 -1
,无限数量的玩家可以加入。
这是你的 listeners
部分应该看起来像。
listeners:
- max_players: 1000
priorities:
- lobby
proxy_protocol: false
host: 0.0.0.0:25565
tab_size: 60
force_default_server: false
bind_local_address: true
ping_passthrough: false
tab_list: GLOBAL_PING
motd: '&lMy first BungeeCord server'
query_enabled: false
query_port: 25577
之后更改单引号的内容 motd:
设置您的服务器说明(玩家第一次在客户端中查看服务器时会看到的内容。)请确保 listeners
始于 host: 0.0.0.0
包含端口 25565 允许用户无需指定端口即可进行连接。
实际上,我们对BungeeCord要做的最后一件事是放置在大厅的条目中(默认服务器参与者加入。)我们现在将使用默认条目,因为它适合我们的需求。将motd更改为所需的服务器描述,最后,它现在应该看起来像这样。
servers:
lobby:
address: localhost:25567
restricted: false
motd: 'My lobby server'
保存并关闭文件。
现在,让我们创建大厅服务器。 Vultr上有很多有关Minecraft服务器的文章,但建议您选择其中包含Spigot或CraftBukkit的文章。遵循“在Ubuntu上设置Spigot”一文中的“下载并使用BuiltTools”部分。到达“可选:在后台运行”部分时,停止。切记为SpigotMC服务器正确设置内存限制并接受EULA。
您需要进行一项更改:为目标服务器启用脱机模式。这是通过打开完成的 server.properties
和变化 online-mode=true
至 false
。我们将在 安防措施 部分。
此时,您应该有一个SpigotMC jarfile。
步骤3:启动服务器并使之持久
我们要做的第一件事是创建一个将启动两个服务器的脚本。
将您在“设置掺入”文章中创建的脚本复制到新文件中。
cp ~/server/start.sh ~/bungeeServer/start.sh
编辑 ~/bungeeServer/start.sh
并改变 spigot.jar
至 BungeeCord.jar
。将内存值更改为所需的设置后,保存并退出。
确保允许执行脚本。
chmod +x ~/bungeeServer/start.sh
还有两个脚本要创建,下一个脚本将在 ~/startAll.sh
。这将使我们能够启动每台服务器并在后台运行它。
内容 ~/startAll.sh
。
#!/bin/bash
for line in $(find ~ -name "start*"); do
echo "Starting $line..."
serverID=$(($serverID + 1))
screen -dmS "server-$serverID" bash $line
done
这将自动执行目录中的启动脚本 /home/bungeeServer/
。
最后创建的脚本将在 ~/stopAll.sh
,内容应该是这个。
#!/bin/bash
cd /var/run/screen/S-$USER/
for f in *; do
screen -S $f -X kill
done
请记住,这不会在您的服务器中保存世界,请事先这样做。
添加其他服务器
每次要将新服务器添加到Bungee配置时,都需要打开 config.yml
并添加以下条目。
serverName:
address: address.of.minecraft.server:portNumber
restricted: false
motd: 'New server description'
更改仅限于 true
如果您想将服务器限制为管理员。
完成后,保存并重新启动BungeeCord服务器。
安防措施
使用当前配置,脱机(也称为破解用户)可以直接加入目标服务器。有许多插件可以阻止所有无法从代理加入的玩家,其中一个是 OnlyProxyJoin。
由于设置方法的不同,我们可以简单地打开大厅服务器的 server.properties
,然后将侦听IP地址更改为127.0.0.1。这将阻止任何用户直接连接,从而强制所有用户由代理验证。
结论
在本文中,我们设置了一个小型的蹦极网络。它是可扩展的,并允许服务器所有者创建大量相互连接的服务器和游戏模式。
有关其他信息,请参见BungeeCord的 文件资料。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com