安卓系统

如何在Debian 9上安装Minecraft服务器

How to Install Debian 9 on VirtualBox

How to Install Debian 9 on VirtualBox

目录:

Anonim

《我的世界》是有史以来最受欢迎的游戏之一。 这是一个沙盒电子游戏,内容涉及建造各种建筑物并进行冒险。

本教程说明了如何在Debian 9上安装和配置Minecraft Server。我们将使用 mcrcon 运行Minecraft服务器,并使用 mcrcon 实用程序连接到正在运行的实例。 我们还将向您展示如何创建将执行常规服务器备份的cronjob。

先决条件

您登录的用户必须具有sudo特权。

安装构建 mcrcon 工具所需的软件包:

sudo apt update sudo apt install git build-essential

安装Java运行时环境

Minecraft需要在系统上安装Java 8。

我们将安装JRE的无头版本。 该版本具有更少的依赖性并且使用更少的系统资源,因此它更适合服务器应用程序:

sudo apt install openjdk-8-jre-headless

通过运行以下命令来验证安装:

java -version

openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01) OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)

创建Minecraft用户

下一步是使用主目录 /opt/minecraft 创建一个新的系统用户和组,该用户和组将运行Minecraft服务器。 为此,请运行以下命令:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

用户将没有密码。 这是一种很好的安全做法,因为该用户将无法通过SSH登录。

在Debian上安装Minecraft

在开始安装过程之前,请确保您切换到 minecraft 用户。

sudo su - minecraft

在用户主目录中创建三个新目录:

mkdir -p ~/{backups, tools, server}

  • backups 目录将存储您的服务器备份。 稍后您可以将此目录同步到远程备份服务器 mcrcon 目录将存储 mcrcon 客户端和备份脚本。 server 目录将包含实际的Minecraft服务器及其数据。

下载并编译mcrcon

RCON是一种协议,允许您连接到Minecraft服务器并执行命令。 mcron是用C内置的RCON客户端。

我们将从GitHub下载源代码并构建 mcrcon 二进制文件。

首先导航到 ~/tools 目录,并使用以下命令从GitHub克隆 Tiiffi/mcrcon 存储库:

cd ~/tools && git clone

切换到存储库目录:

cd ~/tools/mcrcon

通过运行以下 mcrcon 开始编译 mcrcon 实用程序:

gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

完成后,您可以通过键入以下内容进行测试:

./mcrcon -h

输出将如下所示:

Usage: mcrcon…… Sends rcon commands to Minecraft server. Option: -h Print usage -H Server address -P Port (default is 25575) -p Rcon password -t Interactive terminal mode -s Silent mode (do not print received packets) -c Disable colors -r Output raw packets (debugging and custom handling) -v Output version information Server address, port and password can be set using following environment variables: MCRCON_HOST MCRCON_PORT MCRCON_PASS Command-line options will override environment variables. Rcon commands with arguments must be enclosed in quotes. Example: mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop mcrcon 0.6.1 (built: May 19 2019 23:39:16) Report bugs to tiiffi_at_gmail_dot_com or

下载我的世界服务器

有多个Minecraft服务器模块,例如Craftbukkit或Spigot,可让您在服务器上添加功能(插件),并进一步自定义和调整服务器设置。 在本教程中,我们将安装最新的Mojang官方香草Minecraft服务器。

可从Minecraft下载页面下载最新的Minecraft服务器的Java存档文件(JAR)。

在撰写本文时,最新版本为 1.14.1 。 在继续下一步之前,您应该检查下载页面是否有新版本。

运行以下 wget 命令以在 ~/server 目录中下载Minecraft jar文件:

wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server

配置Minecraft服务器

下载完成后,导航至 ~/server 目录并启动Minecraft服务器:

java -Xmx1024M -Xms512M -jar server.jar nogui cd ~/server java -Xmx1024M -Xms512M -jar server.jar nogui

首次启动服务器时,它将执行一些操作并创建 server.properties eula.txt 文件并停止。

: Failed to load properties from file: server.properties: Failed to load eula.txt: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

从上面的输出中可以看到,您需要同意Minecraft EULA才能运行服务器。 打开 eula.txt 文件,将 eula=false 更改为 eula=true

nano ~/server/eula.txt 〜/服务器/ eula.txt

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun May 19 23:41:45 PDT 2019 eula=true

关闭并保存文件。

接下来,启用rcon协议并通过编辑 server.properties 文件来设置rcon密码:

nano ~/server/server.properties

找到以下几行并更新其值,如下所示:

〜/ server / server.properties

rcon.port=25575 rcon.password=strong-password enable-rcon=true 不要忘记将 strong-password 为更安全 strong-password 。 如果您不想从远程位置连接到Minecraft服务器,请确保rcon端口被防火墙阻止。

您还可以调整服务器的默认属性。 有关可能的设置的更多信息,请访问server.properties页面。

创建系统单位文件

通过键入 exit 切换回您的sudo用户。

打开您的文本编辑器,然后在 /etc/systemd/system/ 创建一个名为 minecraft.service 的文件:

sudo nano /etc/systemd/system/minecraft.service

粘贴以下配置:

/etc/systemd/system/minecraft.service

Description=Minecraft Server After=network.target User=minecraft Nice=1 KillMode=none SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/minecraft/server ExecStart=/usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop WantedBy=multi-user.target

根据您的服务器资源修改 Xmx Xms 标志。 Xmx 标志定义Java虚拟机(JVM)的最大内存分配池,而 Xms 定义初始内存分配池。 另外,请确保使用正确的 rcon 端口和密码。

保存并关闭文件,并通知systemd我们创建了一个新的单位文件:

sudo systemctl daemon-reload

通过执行以下命令启动并启用Minecraft服务器:

sudo systemctl start minecraft sudo systemctl enable minecraft

首次启动该服务时,它将生成多个配置文件和目录,包括Minecraft世界。

使用以下命令检查服务状态:

sudo systemctl status minecraft

● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 7262 (java) Tasks: 19 (limit: 4915) CGroup: /system.slice/minecraft.service └─7262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui

调整防火墙

如果您的服务器受防火墙保护,并且您想从本地网络外部访问Minecraft服务器,则需要打开端口 25565

要允许默认的Minecraft端口 25565 上的流量, 25565 输入以下命令:

sudo ufw allow 25565/tcp

配置备份

在本节中,我们将创建一个备份Shell脚本和cronjob来自动备份Minecraft服务器。

首先切换到用户 minecraft

sudo su - minecraft

打开您的文本编辑器并创建以下文件:

nano /opt/minecraft/tools/backup.sh

粘贴以下配置:

/opt/minecraft/tools/backup.sh

#!/bin/bash function rcon { /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1" } rcon "save-off" rcon "save-all" tar -cvpzf /opt/minecraft/backups/server-$(date +%F_%R).tar.gz /opt/minecraft/server rcon "save-on" ## Delete older backups find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

通过发出以下 chmod 命令,保存文件并使脚本可执行:

chmod +x /opt/minecraft/tools/backup.sh

接下来,创建一个cron作业,该作业将每天固定时间自动运行一次。

通过键入以下内容打开crontab文件:

crontab -e

要每天在23:00运行备份脚本,请粘贴以下行:

0 23 * * * /opt/minecraft/tools/backup.sh

访问Minecraft控制台

要访问Minecraft控制台,您可以使用 mcrcon 实用程序。 语法如下,您需要指定主机,rcon端口,rcon密码,并使用 -t 开关启用 mcrcon 终端模式:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t

Logged in. Type "Q" to quit! >

要从远程位置访问Minecraft控制台,请确保未阻止rcon端口。

结论

您已经在Debian 9系统上成功安装了Minecraft服务器,并设置了每日备份。

Java Minecraft Debian