在Debian 8、Debian 9或Centos 7上使用Bungecord创建一个Minecraft服务器网络
Xn_warm
・9 分钟阅读
你需要什么
- 一个至少有1GBRAM的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 8and Debian 9
apt-get update
apt-get install openjdk-7-jdk screen -y
接下来你要做的是创建一个单独的用户来运行服务器,虽然这是可选的,但是,强烈建议你永远不要以root用户身份托管任何面向公众的系统。这会使你的VPS被利用,如果它被用于非法目的,这可能会导致你的服务器被终止,即使它不是由你造成。
CURRENT_USER='bungeemc'
useradd $CURRENT_USER -m -d /home/bungee
尽可能从bungeemc
更改用户名,尽管它会是整篇文章中使用的用户。
然后,以用户身份登录。
su $CURRENT_USER
现在,为BungeeCord服务器创建一个文件夹。
mkdir ~/bungeeServer
cd ~/bungeeServer
下载服务器的可执行文件。
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
让我们第一次运行它。
java -Xms256M -Xmx512M -jar BungeeCord.jar
通常,对于上面显示的命令,你将要留出至少128MB的RAM空间以允许系统平稳运行。否则,你可能会遇到麻烦,因为操作系统的低内存应用程序杀手会在内存不足时终止你的服务器。
此时,你应该点击CTRL+C
退出服务器提示符,所有需要的文件都已生成,因此我们可以继续配置。
步骤2配置BungeeCord
在本文中我们会只为Bungecord代理后面的大厅添加一个单一的Minecraft服务器,在本文后面,会提供有关在额外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 block that begins with host :0.0.0contains port 25565 允许用户无需连接指定端口,。
我们需要为BungeeCord做的最后一件事,实际上放在我们lobby的一个条目中(服务器默认允许玩家加入)我们现在会使用默认条目,因为它符合我们的需要。将motd更改为你想要的服务器描述,最后,它应该看起来像这样。
servers:
lobby:
address: localhost:25567
restricted: false
motd: 'My lobby server'
保存并关闭文件。
现在,让我们创建lobby服务器,有大量的Minecraft服务器文章,但是,建议你选择包含Spigot或CraftBukkit的文章。在后台运行请记住为SpigotMC服务器正确设置内存限制,并且接受EULA。
你需要做一个更改: 启用目标服务器的脱机模式,这是通过打开server.properties
并会online-mode=true
转换为false
来完成的,我们会在"安全措施"部分讨论这个问题。
此时你应该有一个SpigotMC jar文件。
步骤3:启动服务器并使其持久化
我们首先要做的是创建一个启动两个服务器的脚本。
将你在"设置Spigot "文章中创建的脚本复制到新文件。
cp ~/server/start.sh ~/bungeeServer/start.sh
编辑~/bungeeServer/start.sh
,并且会spigot.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服务器。
安全措施
通过当前配置,脱机(也被称为cracked用户)可以直接加入你的目标服务器,有很多插件可以阻止所有不从代理加入的玩家,其中之一是onlyProxyJoin 。
由于这种设置方式,我们可以简单地打开服务器的server.properties服务器,并将监听IP地址更改为127.0.0.1,这会阻止任何用户直接连接,从而强制由代理验证所有用户。
结束语
在本文中,我们设置了一个小型的Bungee网络。它是可扩展的,并允许服务器所有者创建大量互连的服务器和游戏模式。
其他信息可在BungeeCord的文稿中获得。