当前位置: 首页>>技术教程>>正文


如何在Ubuntu 18.04 Bionic Beaver Linux上设置Minecraft服务器

, ,

目的

以下文章将描述在Ubuntu 18.04 Bionic Beaver Linux上的Minecraft服务器配置过程

操作系统和软件版本

  • 操作系统:-Ubuntu 18.04
  • 软件:-Minecraft Server 1.12.2或更高版本

要求

将需要特权访问您的Ubuntu 18.04系统。

约定

  • -要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令
  • $-要求linux命令以普通非特权用户身份执行

本教程的其他版本

Ubuntu 20.04(Focal Fossa)

使用说明

安装先决条件

让我们从安装所有必备组件开始,包括nmap我们稍后可以将其用于一些基本故障排除目的的命令:


$ sudo apt update
$ sudo apt install wget screen default-jdk nmap 

创建Minecraft用户

接下来,我们需要创建一个名为minecraft。 Minecraft服务器最终将在该用户下运行:


$ sudo useradd -m -r -d /opt/minecraft minecraft

安装Minecraft服务器

如您将在后面看到的,可以在单个主机上运行Minecraft服务器的多个实例。因此,我们将在/opt/minecraft目录。让我们称第一例survival


$ sudo mkdir /opt/minecraft/survival

准备就绪后,下载Java Minecraft服务器。在继续之前,将浏览器导航到Minecraft官方下载页面并更新以下命令以反映当前的Minecraft服务器版本:


$ sudo wget -O /opt/minecraft/survival/minecraft_server.jar https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar

接受条款和条件:


$ sudo bash -c "echo eula=true > /opt/minecraft/survival/eula.txt" 

最后,更改/opt/minecraft/survival/目录以及其中的所有文件:


$ sudo chown -R minecraft /opt/minecraft/survival/



创建Minecraft SystemD启动脚本

为了能够在重启后方便地启动Minecraft服务器,请使用您喜欢的文本编辑器,例如。 vi:


$ sudo vi /etc/systemd/system/minecraft@.service 

并创建新的/etc/systemd/system/minecraft@.service包含以下内容的文件:

[Unit]
Description=Minecraft Server: %i
After=network.target

[Service]
WorkingDirectory=/opt/minecraft/%i

User=minecraft
Group=minecraft

Restart=always

ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui

ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."\015'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"\015'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"\015'


[Install]
WantedBy=multi-user.target

上面的文件仅作为示例。要将RAM从2GB增加到4GB,请执行以下操作:


FROM:
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui
TO:
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx4G -jar minecraft_server.jar nogui

启动Minecraft服务器

接下来,使用systemctl启动新的Minecraft服务器的命令:


$ sudo systemctl start minecraft@survival

确认新的Minecraft服务器已启动并正在运行:


$ sudo systemctl status minecraft@survival

● This email address is being protected from spambots. You need JavaScript enabled to view it. - Minecraft Server: survival
   Loaded: loaded (/etc/systemd/system/minecraft@.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-01-22 12:46:37 AEDT; 16s ago
 Main PID: 7751 (screen)
    Tasks: 21 (limit: 4915)
   CGroup: /system.slice/system-minecraft.slice/This email address is being protected from spambots. You need JavaScript enabled to view it.
           ├─7751 /usr/bin/SCREEN -DmS mc-survival /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui
           └─7757 /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui

Jan 22 12:46:37 ubuntu systemd[1]: Started Minecraft Server: survival.

为了确保Minecraft服务器在重启后启动,请执行:


$ sudo systemctl enable minecraft@survival

如果一切按计划进行,您现在应该可以使用nmap命令以检查默认的Minecraft端口25565


$ nmap -p 25565 localhost

Starting Nmap 7.60 ( https://nmap.org ) 
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00054s latency).
Other addresses for localhost (not scanned): ::1

PORT      STATE SERVICE
25565/tcp open  minecraft

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

全做完了。要在同一服务器上配置另一个Minecraft服务器实例,请继续阅读下一部分。



在同一主机上配置新的Minecraft服务器实例

以下linux命令会配置一个名为Minecraft的新服务器linuxconfig在港口25566。有关要在其中实现的其他服务器配置,请参见以下附录/opt/minecraft/linuxconfig/server.properties。使用我们现有的systemd脚本来部署Minecraft服务器的另一个实例很容易,因为:


$ sudo mkdir /opt/minecraft/linuxconfig
$ sudo cp /opt/minecraft/survival/minecraft_server.jar /opt/minecraft/linuxconfig/
$ sudo bash -c "echo eula=true > /opt/minecraft/linuxconfig/eula.txt" 
$ sudo bash -c "echo server-port=25566 > /opt/minecraft/linuxconfig/server.properties"
$ sudo chown -R minecraft /opt/minecraft/linuxconfig/

使Minecraft服务器在重新启动后启动并启动服务器:


$ sudo systemctl enable minecraft@linuxconfig
$ sudo systemctl start minecraft@linuxconfig

最后,检查状态:


$ sudo systemctl status minecraft@linuxconfig

附录

默认的我的世界server.properties设置:


max-tick-time=60000
generator-settings=
allow-nether=true
force-gamemode=false
gamemode=0
enable-query=false
player-idle-timeout=0
difficulty=1
spawn-monsters=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10576.html,未经允许,请勿转载。