Minecraft是非常流行的沙盒游戏,为了和几个朋友一起玩这个游戏,我需要一个属于自己的虚拟世界,自己的Minecraft服务器。
我在DigitalOcean的vps上架设Minecraft服务器,如果你只需在局域网内游戏,使用本地主机即可。
下面记录怎么在Ubuntu 16.04上安装Minecraft Server。
# 安装Minecraft Server
Minecraft的游戏客户端使用Java开发,服务端也是使用Java开发,所以我们首先需要安装Java运行时:
1 |
$ sudo apt install default-jre # OpenJDK |
你也可以使用Oracle JDK:Ubuntu 16.04 安装 Oracle JDK9
创建一个新用户和组:minecraft;使用这个用户运行Minecraft服务:
1 2 3 |
$ sudo adduser minecraft # 设置密码和其它信息 $ sudo groupadd minecraft $ sudo usermod -a -G minecraft minecraft |
登陆进新创建的minecraft用户:
1 2 |
$ su minecraft $ cd ~ |
下载minecraft_server:https://minecraft.net/en/download/server
1 2 3 |
$ wget https://s3.amazonaws.com/Minecraft.Download/versions/1.10.2/minecraft_server.1.10.2.jar $ mv minecraft_server.*.jar minecraft_server.jar $ chmod a+x minecraft_server.jar |
启动minecraft_server:
1 |
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui # 去掉nogui进入图形模式 |
第一次运行需要同意EULA协议:
1 2 3 4 5 6 7 8 |
[09:58:14] [Server thread/INFO]: Starting minecraft server version 1.10.2 [09:58:14] [Server thread/INFO]: Loading properties [09:58:14] [Server thread/WARN]: server.properties does not exist [09:58:14] [Server thread/INFO]: Generating new properties file [09:58:14] [Server thread/WARN]: Failed to load eula.txt [09:58:14] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. [09:58:14] [Server thread/INFO]: Stopping server [09:58:14] [Server Shutdown Thread/INFO]: Stopping server |
编辑生成的eula.txt文件:
1 |
$ vim eula.txt |
把eula改为true:
1 |
eula=true |
再次启动服务:
1 |
$ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui # 当前目录生成了日志和一些配置文件 |
–Xmx
和 –Xms
选项代表分配内存大小。
使用help查看命令帮助:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
help [10:09:36] [Server thread/INFO]: --- Showing help page 1 of 9 (/help <page>) --- [10:09:36] [Server thread/INFO]: /achievement <give|take> <name|*> [player] [10:09:36] [Server thread/INFO]: /ban <name> [reason ...] [10:09:36] [Server thread/INFO]: /ban-ip <address|name> [reason ...] [10:09:36] [Server thread/INFO]: /banlist [ips|players] [10:09:36] [Server thread/INFO]: /blockdata <x> <y> <z> <dataTag> [10:09:36] [Server thread/INFO]: /clear [player] [item] [data] [maxCount] [dataTag] [10:09:36] [Server thread/INFO]: /clone <x1> <y1> <z1> <x2> <y2> <z2> <x> <y> <z> [maskMode] [cloneMode] help 2 [10:09:42] [Server thread/INFO]: --- Showing help page 2 of 9 (/help <page>) --- [10:09:42] [Server thread/INFO]: /debug <start|stop> [10:09:42] [Server thread/INFO]: /defaultgamemode <mode> [10:09:42] [Server thread/INFO]: /deop <player> [10:09:42] [Server thread/INFO]: /difficulty <new difficulty> [10:09:42] [Server thread/INFO]: /effect <player> <effect> [seconds] [amplifier] [hideParticles] OR /effect <player> clear [10:09:42] [Server thread/INFO]: /enchant <player> <enchantment ID> [level] [10:09:42] [Server thread/INFO]: /entitydata <entity> <dataTag> |
Crtl+C终止服务。
为了方便minecraft服务的管理,我把它注册为systmed后台服务。
退出minecraft用户:
1 |
$ exit |
创建systemd配置文件;
1 |
$ sudo vim /etc/systemd/system/minecraft-server.service |
写入内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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 |
启动服务:
1 2 |
$ sudo systemctl start minecraft-server.service $ sudo systemctl enable minecraft-server.service # 开机自启 |
如果你想让Minecraft服务在后台运行,除了使用systmed,还可以使用screen:
1 |
$ sudo apt install screen |
使用screen启动minecraft服务:
1 |
$ screen java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui |
Ctrl+A退出screen,$ screen –r恢复。
# 使用客户端测试

如果有问题,查看Minecraft Server日志文件。