在Debian 8、Debian 9或Centos 7上使用Bungecord创建一个Minecraft服务器网络

・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的文稿中获得。

Xn_warm profile image