怎样在VPS主机上运行Minecraft Java版本服务器

大多数人都听说过电脑游戏Minecraft的成功故事,现在的Minecraft的PC版的特点之一是能够在自己的电脑或服务器上运行自己的游戏服务器,允许用户和朋友们在私下里一起玩。那么想要达到这样的效果应该怎么办呢?下面Hostease美国服务器商就VPS主机怎样运行Minecraft Java版本服务器做一些简单介绍。

想要在电脑或者服务器上运行自己的游戏,那么第一件事就是指定VPS。建议至少有1GB的RAM,使VPS能够为少数玩家运行Minecraft服务器,并且1.5GB的RAM应该可以让运行最多二十个玩家的服务器。关于操作系统,将考虑使用Ubuntu 16.04来简化设置。当然,关于游戏服务器的相关介绍,也可以更多参考阅读 选择游戏服务器需要从哪些细节去考虑

安装Java

Minecraft需要Java才能运行,为了稳定,最好使用官方的Oracle Java发行版。要在Ubuntu上安装此程序,可以使用Web Upd8团队的PPA:

sudo apt-add-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

这使得安装Java的工作变得非常简单。在这之后,需要为运行Minecraft做好准备。但是,首先要让用户运行游戏服务器:

sudo adduser minecraft

接下来,需要创建一个存储游戏文件的地方。按照Linux的惯例,这将出现在/usr/local/games中,然后需要为Minecraft用户设置所有权:

sudo mkdir /usr/local/games/minecraft

sudo chown minecraft:minecraft /usr/local/games/minecraft

cd /usr/local/games/minecraft

下载Minecraft

现在需要把用户切换到Minecraft用户,并下载最新的Minecraft服务器:https://minecraft.net/en/download/server,在编写时,这个服务器是1.12.2。右击该页面上的下载链接并复制要在下面的命令中使用的链接:

su minecraft

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar -O minecraft_server.jar

运行服务器,使用以下命令,请注意,该命令基于具有1GB RAM的VPS:

java -Xms512M -Xmx512M -jar minecraft_server.jar nogui

该命令会失败,但这样做将创建一个名为eula.txt的文件,这是一个许可协议,必须同意才能使用服务器。若要同意,打开文件进行编辑并将false的值更改为true:

nano eula.txt

编辑并保存文件后,可以重复前面的命令来启动服务器。如果它启动了,就会在Minecraft服务器的命令提示符下,停止服务器,可以使用以下命令:

/stop

在启动Minecraft时,-Xms和-Xmx值指的是Java在运行Minecraft时应该使用的内存量。建议将它设置为512MB,比分配给VPS的内存少512MB,尽管可能只需要小256MB就可以摆脱这种情况;剩下的内存由VPS上的Linux操作系统使用。因此,如果VPS中有2GB RAM,可以使用以下命令:

java -Xms1536M -XmX1536M -jar minecraft_server.jar nogui

完成了运行Minecraft所需的命令之后,将制作一个简短的bash脚本来启动它:

nano minecraft.sh

然后输入以下命令行:

#!/bin/bash

/usr/bin/java -Xms512M -Xmx512M -jar /usr/local/games/minecraft/minecraft_server.jar nogui

请注意,这一次使用了文件的完整路径,以确保它可以正常运行。调整Xms和Xmx值以匹配系统,然后保存文件。现在将文件设置为可执行文件:

chmod +x minecraft.sh

启动和停止服务文件

最后,需要轻松地启动和停止服务器,然后,为系统创建一个服务文件。为此,退出Minecraft用户会话,然后使用如下命令创建文件:

exit

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

打开文件,设置以下配置:

[Unit]

Description=Minecraft server

Wants=network.target

After=network.target

[Service]

User=minecraft

Group=minecraft

Nice=5

WorkingDirectory=/usr/local/games/minecraft

ExecStart=/usr/bin/screen -dmS minecraft /usr/local/games/minecraft/minecraft.sh

ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval ‘stuff \”stop\”\015’

ExecStop=/bin/bash -c “while ps -p $MAINPID > /dev/null; do /bin/sleep 1; done”

[Install]

WantedBy=multi-user.target

保存并退出文件。

现在可以使用systemctl管理Minecraft服务器了。

sudo systemctl start minecraft.service

请注意,无论该脚本是否工作,都不会从中得到任何输出。因此,可以使用以下命令行进行查看:

sudo systemctl status minecraft.service

可通过以下方式禁用Minecraft:

sudo systemctl stop minecraft.service

最后,启用Minecraft,以确保它在VPS使用以下命令重新启动时自动重新启动:

sudo systemctl enable minecraft.service

需要注意的是,当在屏幕中启动了Minecraft,如果需要在命令行上与服务器交互,那么可以通过连接到其屏幕会话来实现这一操作。

如果想要了解更多相关内容,可以访问Hostease美国服务器官网,也可以参考了解一下 VPS主机与独立主机有什么区别