《我的世界》是有史以来最受欢迎的游戏之一。本教程说明了如何在Ubuntu 20.04上制作Minecraft服务器。我们将使用Systemd运行Minecraft服务器,并使用该mcrcon实用程序连接到正在运行的实例。我们还将向您展示如何创建执行常规服务器备份的cronjob。

《我的世界》是有史以来最受欢迎的游戏之一。这是一款沙盒视频游戏,玩家可以探索无限的世界,并建造从简单的房屋到高耸的摩天大楼的不同结构。

本教程说明了如何在Ubuntu 20.04上搭建Minecraft服务器。我们将使用Systemd运行Minecraft服务器,并使用该mcrcon实用程序连接到正在运行的实例。我们还将向您展示如何创建执行常规服务器备份的cronjob。

先决条件

根据Minecraft官方网站的说法,建议将4GB RAM作为典型设置的最低配置。

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

sudo apt update

sudo apt install git build-essential

安装Java运行时环境

Minecraft需要Java 8或更高版本。Minecraft服务器不需要图形用户界面,因此我们将安装Java的无头版本。该版本具有更少的依赖性并且使用更少的系统资源,因此更适合服务器应用程序。

运行以下命令以安装无头OpenJRE 11软件包:

sudo apt install openjdk-11-jre-headless

通过打印Java版本来验证安装:

java -version

openjdk version "11.0.7" 2020-04-14

OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)

OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

创建Minecraft用户

出于安全原因,Minecraft不应在root用户下运行。我们将使用主目录创建一个新的系统用户和组/opt/minecraft。用户将具有运行Minecraft服务器的最低必需权限:

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

我们不会为此用户设置密码。这样,用户将无法通过SSHand登录而不会受到损害。要更改为minecraft用户,您需要以root用户或具有sudo特权的用户身份登录服务器。

在Ubuntu上安装Minecraft

在开始安装过程之前,请切换至minecraft用户:

sudo su - minecraft

运行以下命令在用户主目录中创建三个新目录:

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

该backups目录将存储您的Minecraft服务器备份。您可以将此目录同步到远程备份服务器。

该tools目录将包含mcrcon客户端和备份脚本。

该server目录将包含实际的Minecraft服务器及其数据。

下载与编译 mcrcon

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

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

将Tiiffi/mcrcon存储库从GitHub 克隆到~/tools/mcron目录:

git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon

完成后,切换到mcron目录并构建实用程序:

cd ~/tools/mcrcon

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

完成后,mcrcon通过打印其版本来验证是否已成功编译:

./mcrcon -v

输出将如下所示:

mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon

Bug reports:

tiiffi+mcrcon at gmail

https://github.com/Tiiffi/mcrcon/issues/

下载我的世界服务器

有多个Minecraft服务器模块,例如Craftbukkit或Spigot,可让您在服务器上添加功能(插件),并进一步自定义和调整服务器设置。

在本指南中,我们将安装最新的Mojang官方香草Minecraft服务器。相同的说明适用于安装其他服务器mod。

转到Minecraft下载页面以获取最新的Minecraft服务器的Java存档文件(JAR)的下载链接。在撰写本文时,最新版本是1.16。

使用以下命令将jar文件下载到~/server目录中wget:

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

配置Minecraft服务器

下载完成后,切换到~/server目录并启动Minecraft服务器:

cd ~/server

java -Xmx1024M -Xms1024M -jar server.jar nogui

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

[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties

[17:35:15] [main/WARN]: Failed to load eula.txt

[17:35:15] [main/INFO]: 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=true

关闭并保存文件。

接下来,打开server.properties文件并启用rcon协议并设置rcon密码:

nano ~/server/server.properties

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

rcon.port=25575

rcon.password=strong-password

enable-rcon=true

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

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

创建系统单位文件

我们将创建一个Systemd单元文件并将Minecraft作为服务运行,而不是手动启动Minecraft服务器。

输入切换回您的sudo用户exit。

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

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

在/etc/systemd/system/minecraft.service粘贴以下配置:

[Unit]

Description=Minecraft Server

After=network.target

[Service]

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 -Xms1024M -jar server.jar nogui

ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop

[Install]

WantedBy=multi-user.target

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

保存文件并重新加载systemd管理器配置:

sudo systemctl daemon-reload

您现在可以通过键入以下内容来启动Minecraft服务器:

sudo systemctl start 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 Tue 2020-06-23 17:48:44 UTC; 8s ago

Main PID: 1338035 (java)

Tasks: 15 (limit: 1074)

Memory: 465.3M

CGroup: /system.slice/minecraft.service

└─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui

最后,启用在启动时自动启动Minecraft服务:

sudo systemctl enable minecraft

调整防火墙

Ubuntu随附了一个名为UFW的防火墙配置工具。如果系统上启用了防火墙,并且您想从本地网络的外部访问Minecraft服务器,则需要打开port 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-%H-%M).tar.gz /opt/minecraft/server

rcon "save-on"

## Delete older backups

find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

保存文件并使脚本可执行:

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端口。

如果您定期连接到Minecraft控制台,则无需创建此长命令,而是创建一个bash别名。

结论

我们已经向您展示了如何在Ubuntu 20.04上制作Minecraft服务器并设置每日备份。

现在,您可以启动Minecraft客户端,连接到服务器并开始Minecraft冒险。

乌班图系统我的世界服务器手机版,如何在Ubuntu 20.04上搭建Minecraft服务器相关推荐

  1. 虚拟机安装我的世界服务器,如何在Ubuntu 20.04上搭建我的世界Minecraft服务器

    本文说明了如何在Ubuntu 20.04上制作Minecraft服务器.我们将使用Systemd运行Minecraft服务器,并使用该mcrcon实用程序连接到正在运行的实例.还将向您展示如何创建执行 ...

  2. linux xrdp 远程桌面,详解如何在Ubuntu 20.04上安装Xrdp服务器(远程桌面)

    Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统.通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样. 这篇指南讲解如何在 Ub ...

  3. 如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)

    本文最先发布在: https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-20-04/ Xrdp 是一个微软远程桌面协议(RDP)的开 ...

  4. ubuntu系统怎么安装ssh服务器配置,如何在Ubuntu 20.04 LTS上安装SSH服务器

    Terminal Linux Logo 在 步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的. sudo apt update sudo apt upgrade 步骤2. ...

  5. 如何在Ubuntu 18.04上安装和配置NFS服务器

    网络文件系统(NFS)是一种分布式文件系统协议,使您可以通过网络共享远程目录.使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程计算机上的文件. NFS协议默认情况下未加密,并且与S ...

  6. 乌班图服务器账号密码忘了,如何在Ubuntu 20.04 LTS服务器中重置Sudo密码

    本文简单介绍了如何在Ubuntu 20.04 LTS服务器版中重置sudo密码.第一次安装Ubuntu时,会创建一个新的sudo用户来执行各种管理任务.如果您有多个sudo用户,您可以从另一个sudo ...

  7. ubuntu系统samba服务器安装,Ubuntu 20.04.1安装Samba服务器及配置

    Ubuntu 20.04.1安装Samba服务器及配置 1查看Ubuntu的版本 agold@ubuntu:~$ cat /etc/issue 2更新软件 agold@ubuntu:~$ sudo a ...

  8. 在ubuntu16.04上搭建svn服务器

    本文介绍在如何在ubuntu16.04 的系统上搭建svn服务器以及可能遇到的问题.下面的操作都以root用户进行. 1.安装svn服务器软件subversion. // 安装完成后的svn版本为 1 ...

  9. 如何在Ubuntu 20.04 / 18.04服务器中进入救援模式或紧急模式?

    我们在使用香港服务器www.a5idc.net时,难免遇到用户忘记登录密码或系统遭受文件系统损坏的情况.当这种情况发生时,建议的解决方案是启动进入救援或应急模式,并应用所需的修复措施. 救援模式也被称 ...

最新文章

  1. 一起谈.NET技术,保护您的 Silverlight 应用程序的安全
  2. 互联网产品策划经验总结(用户端产品)
  3. linux指令popd,Linux切换目录pushd、popd、dirs命令
  4. Win7下telnet使用
  5. 并发编程-concurrent指南-线程池ExecutorService的使用
  6. 编译原理:正规式转变成DFA算法
  7. php-fpm的pool php-fpm慢执行日志 open_basedir php-fpm进程管理
  8. codeblocks调试问题--单步调试遇到breakpoint不停---不能单步调试--运行按钮是灰色但是没有dos窗口...
  9. ES6快速入门——类与对象
  10. python小游戏,植物大战僵尸,免费源代码分享,少儿编程体验项目,项目注释详细,可更改游戏参数,关注私聊“关注即送植物大战僵尸源代码”即可免费获得
  11. python数据建模优缺点_Python数据分析\建模入门建议
  12. GD32F103学习笔记(2)——在GD32F103移植STM32F103代码
  13. VARCHART XGantt与活动互动教程指南
  14. python之简易飞机大战
  15. PHP安装rabbitmq扩展
  16. python实现:将一个四位数反向输出
  17. 【计算机网络】实验报告一:验证性实验
  18. c语言编译器字体怎么变大,c语言中怎么将个别字体放大,如9,将其放大,怎么编程呢?...
  19. Linkedin领英如何添加或更改账号的邮箱地址
  20. (转载)视频采集学习笔记

热门文章

  1. 基于MATLAB改进暗通道先验的图像去雾算法
  2. linux mv 命令撤销,Linux mv 命令
  3. 80老翁谈人生(18):填表何须再发愁?
  4. 微信小程序向系统日历添加事件(提醒)实现
  5. 千锋教育python2104期总结day4
  6. 怎么样查杀主页劫持木马,劫持浏览器首页的驱动木马解决方法
  7. python pptx table_Python-pptx Table
  8. 中山一院——新一代的智慧医院建设,以流量分析为抓手,提升用户体验
  9. 基于Vue与Node.js的个人网盘
  10. MySQL8.0 权限与安全管理