Minecraft是非常流行的沙盒游戏,为了和几个朋友一起玩这个游戏,我需要一个属于自己的虚拟世界,自己的Minecraft服务器。
我在DigitalOcean的vps上架设Minecraft服务器,如果你只需在局域网内游戏,使用本地主机即可。
下面记录怎么在Ubuntu 16.04上安装Minecraft Server。
1.安装Minecraft Server
Minecraft的游戏客户端使用Java开发,服务端也是使用Java开发,所以我们首先需要安装Java运行时:
$ sudo apt install default-jre # OpenJDK
你也可以使用Oracle JDK:
如果是Ubuntu 16.04版本要安装Oracle JDK8/9,依次执行如下命令:
$ sudo apt install python-software-properties software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt update
$ sudo apt install oracle-java9-installer
#$ sudo apt install java-common oracle-java8-installer
创建一个新用户和组:minecraft;使用这个用户运行Minecraft服务:
$ sudo adduser minecraft # 设置密码和其它信息
$ sudo groupadd minecraft
$ sudo usermod -a -G minecraft minecraft
登陆进新创建的minecraft用户:
$ su minecraft
$ cd ~
$ wget /Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar
$ mv minecraft_server.*.jar minecraft_server.jar
$ chmod a+x minecraft_server.jar
启动minecraft_server:
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui # 去掉nogui进入图形模式
第一次运行需要同意EULA协议:
[Server thread/INFO]: Starting minecraft server version 1.12.2
[Server thread/INFO]: Loading properties
[Server thread/WARN]: server.properties does not exist
[Server thread/INFO]: Generating new properties file
[Server thread/WARN]: Failed to load eula.txt
[Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[Server thread/INFO]: Stopping server
[Server Shutdown Thread/INFO]: Stopping server
编辑生成的eula.txt文件:
$ vim eula.txt
把eula改为true:
eula=true
再次启动服务:
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui # 当前目录生成了日志和一些配置文件
–Xmx 和 –Xms选项代表分配内存大小。
使用help查看命令帮助:
help
[Server thread/INFO]: --- Showing help page 1 of 9 (/help ) ---
[Server thread/INFO]: /achievement [player]
[Server thread/INFO]: /ban [reason ...]
[Server thread/INFO]: /ban-ip
[reason ...]
[Server thread/INFO]: /banlist [ips|players]
[Server thread/INFO]: /blockdata
[Server thread/INFO]: /clear [player] [item] [data] [maxCount] [dataTag]
[Server thread/INFO]: /clone [maskMode] [cloneMode]
help 2
[Server thread/INFO]: --- Showing help page 2 of 9 (/help ) ---
[Server thread/INFO]: /debug
[Server thread/INFO]: /defaultgamemode
[Server thread/INFO]: /deop
[Server thread/INFO]: /difficulty
[Server thread/INFO]: /effect [seconds] [amplifier] [hideParticles] OR /effect clear
[[Server thread/INFO]: /enchant [level]
[Server thread/INFO]: /entitydata
Crtl+C终止服务。
为了方便minecraft服务的管理,我把它注册为systmed后台服务。
退出minecraft用户:
$ exit
创建systemd配置文件;
$ sudo vim /etc/systemd/system/minecraft-server.service
写入内容:
[Unit]
Description=start and stop the minecraft-server
[Service]
WorkingDirectory=/home/minecraft
User=minecraft
Group=minecraft
Restart=on-failure
RestartSec=20 5
ExecStart=/usr/bin/java -Xms1536M -Xmx1536M -jar minecraft_server.jar nogui
[Install]
WantedBy=multi-user.target
Alias=minecraft.service
启动服务:
$ sudo systemctl start minecraft-server.service
$ sudo systemctl enable minecraft-server.service # 开机自启
如果你想让Minecraft服务在后台运行,除了使用systmed,还可以使用screen:
$ sudo apt install screen
使用screen启动minecraft服务:
$ screen java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Ctrl+A退出screen,$ screen –r恢复。
2.使用客户端测试
minecraft服务器IP
如果有问题,查看Minecraft Server日志文件。