目的
以下文章将描述在Ubuntu 18.04 Bionic Beaver Linux上的Minecraft服务器配置过程
操作系统和软件版本
- 操作系统:-Ubuntu 18.04
- 软件:-Minecraft Server 1.12.2或更高版本
要求
将需要特权访问您的Ubuntu 18.04系统。
约定
本教程的其他版本
使用说明
安装先决条件
让我们从安装所有必备组件开始,包括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