在Debian 8,Debian 9或CentOS 7上使用BungeeCord创建Minecraft服务器网络

你需要什么

  • 具有至少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 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

对于本文,我们将仅为BungeeCord代理后面的大厅添加单个Minecraft服务器。在本文的后面,将提供有关在其他Vultr VPS服务器或当前系统上添加其他服务器的其他信息。

使用您喜欢的文本编辑器,打开名为的文件config.yml

警告: YAML文件的语法非常重要。Java 对间距非常挑剔

将您自己添加为管理员。更改md_5为您的Minecraft用户名。添加其他管理员需要您首先放置两个空格,输入用户名,添加冒号,转到下一行,再添加两个空格和- admin标志。

最后,它应该看起来像这样。

groups:
 myMCUsername:
 - admin
 extraAdmin:
 - admin

然后,更改ip_forward: falseip_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.jarBungeeCord.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的文档

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息