Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在 Ubuntu 20.04 上搭建 Minecraft (我的世界) 服务器

如何在 Ubuntu 20.04 上搭建 Minecraft (我的世界) 服务器

作者头像
雪梦科技
发布于 2020-06-28 03:48:54
发布于 2020-06-28 03:48:54
17.3K115
代码可运行
举报
文章被收录于专栏:ITCoderITCoder
运行总次数:15
代码可运行

文章目录

  • 一、前提
  • 二、安装 Java 运行环境
  • 三、创建 Minecraft 用户
  • 四、在 Ubuntu 上安装 Minecraft
    • 4.1 下载并且编译mcrcon
    • 4.2 下载 Minecraft 服务器
    • 4.3 配置 Minecraft 服务器
  • 五、创建 Systemd 单元文件
  • 六、调整防火墙
  • 七、配置备份
  • 八、访问 Minecraft 终端
  • 九、总结

Minecraft 一直是最流行的游戏之一。它是一个沙盒视频游戏,用户可以体验无限的世界,并且可以构建不同的结构,从简单的房子到高耸的摩天大楼。

这个指南解释如何在 Ubuntu 20.04 上如何搭建我的世界服务器。我们将会使用 Systemd 来运行我的世界服务器以及mcrcon工具来连接运行的实例。我们也将向你展示如何创建一个计划任务,执行常规的服务器备份。

一、前提

根据 Minecraft 官方网站,4GB RAM 内存是最基本的配置。

安装必要的软件包来构建mcrcon工具:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update
sudo apt install git build-essential

二、安装 Java 运行环境

Minecraft 需要 Java 8 或者更高版本。 我的世界服务器不需要图形用户界面,因此我们将会安装 Java 的无头模式版本。这个版本更适合服务器应用,因为它有更少的依赖,并且使用更少的系统资源。

运行下面的命令,安装 OpenJRE 11 无头模式软件包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install openjdk-11-jre-headless

验证安装,打印 Java 版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java -version
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

我们不会为这个用户设置密码。这样,这个用户将不能通过 SSH 登录。想要修改minecraft用户,你将需要使用 root 登录服务器,或者其他有 sudo 权限的用户。

四、在 Ubuntu 上安装 Minecraft

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su - minecraft

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p ~/{backups,tools,server}
  • backups目录将会存储 服务器备份。你可以同步这个目录到你的远程备份服务器。
  • tools 目录将会托管mcrcon客户端和备份脚本。
  • server目录将会包含实际的 Minecraft 服务器和它的数据。

4.1 下载并且编译mcrcon

RCON 是一个协议,它允许你连接到 Minecraft 服务器,并且执行命令。mcron是一个 RCON 客户端,使用 C 语言编写而成。

我们将会从 Github 下载最新的源代码,并且构建mcrcon二进制文件。

从 Github 克隆Tiiffi/mcrcon源到~/tools/mcron目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon

一旦完成,验证mcrcon编译成功,打印它的版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./mcrcon -v

输出看起来像是这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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/

4.2 下载 Minecraft 服务器

有一些 Minecraft 服务器 mods 例如 Craftbukkit 或者 Spigot ,允许你在你的服务器上添加特性(插件)以及定制,以及调整服务器设置。

在这个指南中,我们将会安装最新的 Mojang 官方 vanilla 我的世界服务器。同样的指令,同样适合于其他的服务器 mods。

Minecraft 下载页面 下载最新的 Minecraft 服务器 Java 压缩包(JAR)。在写作的时候,最新的版本是1.16

使用wget下载 jar 文件到~/server目录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server

4.3 配置 Minecraft 服务器

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui

第一次启动的时候,服务器执行一些操作,创建server.propertieseula.txt文件,并且停止。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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=falseeula=true:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/server/eula.txt

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eula=true

关闭并且保存文件。

下一步,打开server.properties文件,并且启动rcon协议,并且设置 rcon 密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/server/server.properties

定位到下面的行,并且更新它们的值,就像下面显示的一样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rcon.port=25575
rcon.password=strong-password
enable-rcon=true
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
不要忘记将`strong-password`修改为一些更安全的密码。如果你不想从远程位置访问 Minecraft 服务器,确保  rcon 端口被防火墙所阻塞。

在这里,你可以调整服务器的默认属性。想要获取更多关于服务器设置的信息,浏览server.properties页面。

五、创建 Systemd 单元文件

与手动启动 Minecraft 服务器相比,我们将会创建一个 Systemd 单元文件,并且将 Minecraft 当作服务来运行。

通过exit来切换回你的 sudo 用户。

打开你的文本编辑器,并且在/etc/systemd/system/目录下创建一个名为minecraft.service的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/systemd/system/minecraft.service

粘贴下面的配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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

根据你的服务器资源来调整XmxXms标志。Xmx标志定义 Java 虚拟机的最大申请内存。而Xms定义了初始申请内存。当前,确保你使用了正确的rcon端口和密码。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl daemon-reload

你还可以输入下面的命令,启动 Minecraft 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start minecraft

当你第一次启动服务的时候,它将会生成服务器配置文件和目录,包括 我的世界。

使用下面的命令,检查服务状态:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status minecraft

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
● 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 服务开机启动。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable minecraft

六、调整防火墙

Ubuntu 附带防火墙工具 UFW。如果在你的系统上启用了防火墙,你想从你的本地网络访问 Minecraft 服务器,你需要打开端口25565:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ufw allow 25565/tcp

七、配置备份

在这一节,我们创建一个备份 shell 脚本和计划任务,以便自动备份 Minecraft 服务器。

切换到minecraft:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su - minecraft

打开你的文本编辑器,并且创建下面的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano /opt/minecraft/tools/backup.sh

粘贴下面的配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/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

保存文件,并且将脚本设置为可执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod +x /opt/minecraft/tools/backup.sh

下一步,创建一个定时任务,每天自动在一个固定时间运行一次。

打开你的 crontab 文件,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -e

每天 23:00 运行备份脚本,粘贴下面的文本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 23 * * * /opt/minecraft/tools/backup.sh

八、访问 Minecraft 终端

想要访问 Minecraft 终端,使用mcrcon工具。你需要指定主机,rcon 端口,rcon 密码并且使用-t(启动mcrcon终端模式):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Logged in. Type "Q" to quit!
> 

从远程位置访问 Minecraft 终端,确保 rcon 端口没有被阻塞。

如果你正常连接到 Minecraft 终端,不想输入一大串命令,你可以创建一个 bash 关联

九、总结

我们已经向你展示如何在 Ubuntu 20.04 上搭建一个 Minecraft(我的世界)服务器,并且设置每天备份。

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

原文 :https://linuxize.com/post/how-to-make-minecraft-server-on-ubuntu-20-04/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年06月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
好多地方都必须跟着步骤走,如果能解释一下为什么要这样做就好了
好多地方都必须跟着步骤走,如果能解释一下为什么要这样做就好了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
搭建自己的 Minecraft 服务器
服务器默认会对版权进行校验,如果不是使用正版 MC 登陆,会出现 登入失败:无效会话。 需要将服务器中 server.properties 文件中, online-mode 对应值修改为 false。
云游君
2021/05/21
4.6K0
适当愉悦,自建 Minecraft 服务器
本文主要介绍自建 Minecraft 服务器的方法,可以使用提供的公有云服务,Minecraft 对虚拟机配置需求如下:
宋天伦
2020/07/16
7.1K1
适当愉悦,自建 Minecraft 服务器
[轻量COS]使用轻量搭建MC服务器并自动备份存档至轻量COS
本文以Minecraft 1.18.2为例,教你如何使用轻量搭建一个MC服务器,并定时将存档备份入轻量COS,节省本地空间。
kr
2024/02/20
1.3K0
[轻量COS]使用轻量搭建MC服务器并自动备份存档至轻量COS
使用轻量COS自动备份我的世界游戏存档
本文以Minecraft 1.18.2为例,教你如何使用轻量搭建一个MC服务器,并定时将存档备份入轻量COS,节省本地空间。
kr
2024/08/05
2650
使用Windows10搭建minecraft JE服务器
安装个java 下载就行了 安装之后 右击此电脑 点击属性 点击高级系统设置 点击环境变量 在系统变量的一栏里 新建一个变量 叫JAVA_HOME 添加你的java安装路径 之后找到path变量<忽略大小写,如果没有此变量请新建> 改成 %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin 找到classpath 没有就新建 不注意大小写 添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 之后 打开cmd 输入 java 之后不显示没有此命令代表可以了
Wlog
2022/03/30
5.8K0
如何在Ubuntu上搭建Minecraft服务器
PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。
你在哪里
2018/08/14
11.8K2
如何在Ubuntu上搭建Minecraft服务器
搭建我的世界服务器
近期终于想到闲置的服务器应该做什么了,于是有了这篇搭建我的世界服务器的教程(可怜我的服务器闲置了半年)本篇教程不适合服务器纯小白,不会给你解释一些命令之类的,如果你了解一些linux命令,那这篇教程是不吃力的
huanhao
2020/04/23
10.5K1
搭建我的世界服务器
在Ubuntu 14.04/14.10上搭建Minecraft Spigot服务器
本文介绍了如何在Ubuntu 14.04 / 14.10上搭建自己的Minecraft服务器,搭建一个让我们可以与朋友远程开黑的私服,甚至是搭建一个几百人的公共服务器。
东心木水
2018/09/05
3.3K0
搭建属于自己minecraft服务器
  我的世界可以说是一款比较有名的游戏了,在游戏中大家可以自由创造出属于自己的世界。   这里我就来教大家如何搭建属于自己的Minecraft服务器。
xcsoft
2021/07/14
3.1K0
【腾讯云的1001种玩法】搭建属于自己的Minecraft服务器
该文章介绍了如何在Minecraft中制作一个简单的腐竹服务器,包括安装Java、配置SSH免密登录、使用Nginx反向代理、配置Docker以及如何使用Kubernetes部署和管理Minecraft服务器。同时,文章还介绍了如何利用流量监控工具来实时查看服务器的网络流量情况,并通过Shell脚本定时清理系统日志文件,以确保服务器安全稳定地运行。
陈润泽
2017/03/03
13.7K3
【腾讯云的1001种玩法】搭建属于自己的Minecraft服务器
记ipv6 MineCraft 开服
针对2021年网络特色 MineCraft 开服教程 针对版本 (1.13.2 - 1.16.5) 注意:1.17需要最新的java版本,本教程的java下载地址都是java8,并非最新版本,请移步官网下载。
赤月未咲
2023/03/17
2.8K0
威联通NAS用Docker搭建我的世界(MC)服务器
视频教程:https://www.bilibili.com/video/BV16Z4y1i79R/
zeruns
2022/11/11
5K0
威联通NAS用Docker搭建我的世界(MC)服务器
Windows2012搭建我的世界(Minecraft)服务器超简单
有台qq云的服务器一直在挂机没事干,使用Windows2012系统搭建我的世界服务端,傻瓜式安装简单快速,亲测试可以玩。 0.安装环境 服务器配置:2核2G1M 系统:Windows2012  区域:腾讯云上海 1.安装JAVA环境 下载地址http://www.java.com/zh_CN/download/manual.jsp 2.安装Minecraft 下载地址:http://tcpr.ca/files/cauldron/cauldron-1.7.10-2.1403.1.54.zip 下载好服务端
用户1188347
2018/02/27
17.4K1
如何在 Linux 上安装 Minecraft 服务器
Minecraft是一个流行的沙箱独立游戏,由瑞典程序员Markus “Notch” Perssion首先创造,后来由Mojang开发并发布。这是一款关于打碎和放置砖块的游戏。首先,人们建造建筑物来抵抗夜晚的怪物,随着游戏的发展,玩家一起创造有趣和充满想象力的东西。
星哥玩云
2022/06/30
2K0
如何在Ubuntu 14.04上设置Hexxit(Minecraft ModPack)服务器
Hexxit是一个Minecraft modpack,即Minecraft mods的集合。虽然原始游戏的根源在于自由形态的探索和建设,但Hexxit强调冒险和战斗。Hexxit中包含的54种mod包括各种各样的新怪物(包括老大),新的探索结构以及大量稀有和有用的战利品!
不会飞的蝴蝶
2018/10/22
1.4K0
制作Minecraft服务器【JAVA版篇,一】
对于萌新或学生来说,开本地服务器还是比教好的,至少不会付钱,但是如果你要创建一个大型类的服务器就需要购买了QAQ!
XiaotongCode
2023/03/07
1.7K0
通过内网穿透,在Windows 10系统下搭建个人《我的世界》服务器公网联机
今天和大家分享一下只需简单几步即可在windwos系统搭建我的世界服务器,并通过cpolar内网穿透工具将本地服务暴露到公网连接,实现与小伙伴一起联机游戏。
程思扬
2023/09/23
1.9K0
通过内网穿透,在Windows 10系统下搭建个人《我的世界》服务器公网联机
我的世界java版服务器搭建
首先是服务器的要求,这个部分我也不是很了解,嘿嘿。。。默认跳过了,在这里还是以腾讯云轻量应用服务器2H4G,Ubuntu Server 22.04 LTS 64bit系统作为举例
京剧猫
2023/03/06
2.3K0
我的世界java版服务器搭建
如何开一个属于自己的服务器
1.检查电脑 首先,你需要一个64位的电脑获得更好的体验,32位我还没有测试过,但是只支持4GB内存 2.了解运作 客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序 服务器端,从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对服务器端外提供ftp服务,也可以叫服务器) 咱们今天讲的是PC端上的我的世界开服,但是你也可以在服务器应用 3.下载所需文件 创建服务器,你需要一个配置良好的服务端,和一个畅通的网络,还有一个高带宽好用且便宜良心的一个端口映
axiomxs
2021/11/26
2K0
ubantu 搭建我的世界java服务器 spigot核心
进入Spigot官网–>选择版本–>download–>进入下载页面–>下滑找到spigot-xx.xx.xx.jar–>右击复制链接地址,用wget命令打开这个网址。
全栈程序员站长
2022/09/01
1.9K0
相关推荐
搭建自己的 Minecraft 服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验