Centos搭建Minecraft服务器

事先准备

  • Centos7服务器
  • java环境
  • 基础的Linux命令掌握

下载Minecraft服务器端

首先要创建一个mc的目录,如我的Minecraft目录在:/root/MC

cd进入到该目录,通过以下命令下载Minecraft服务端的jar包

1
wget https://s3.amazonaws.com/Minecraft.Download/versions/<你要下载的版本号>/minecraft_server.<你要下载的版本号>.jar

这里我选择的是1.12.2的版本,所以下载的命令为:

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

这里需要注意的是,客户端的下载的Minecraft启动器版本要和服务器的Minecraft版本一致。

启动Minecraft服务器

使用命令启动服务器

1
java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui

例:

1
java -Xms256m -Xmx512m -jar /root/MC/minecraft_server.1.12.jar nogui

关于命令最后一个参数 nogui,是分开的单词 no gui,意思是不需要图形界面,这样会大大减小内存的使用,如果你的Linux是有图形界面的,就可以不打这个 nogui。

在上面的命令运行过程中,会输出以下内容:

1
2
3
4
5
6
[11:09:37] [Server thread/INFO]: Loaded 488 advancements
[11:09:37] [Server thread/INFO]: Preparing start region for level 0
[11:09:38] [Server thread/INFO]: Preparing spawn area: 1%
[11:09:39] [Server thread/INFO]: Preparing spawn area: 31%
[11:09:40] [Server thread/INFO]: Preparing spawn area: 98%
[11:09:40] [Server thread/INFO]: Done (3.785s)! For help, type "help" or "?"

输出完成后,代表着Minecraft服务器已经启动完成

Shell脚本启动

不过上边的命令太长,我们可以通过一种更优雅的方式,来启动Minecraft服务器。

1
start-game.sh

运行服务端后命令行界面就被占用,无法执行其他操作,只能通过CTRL+C结束服务,所以我们使用nohup命令让其在后台执行:

1
2
nohup java -Xmx1024M -Xms1024M -jar minecraft_server.1.12.2.jar nogui >/root/mcworld.log &
tail -f /root/mcworld.log

通过下面的命令可以方便地运行服务端:

1
start-game.sh

使用CTRL+C退出信息打印,服务端将继续在后台运行。

验证是否运行成功:

1
2
ps -ef | grep java
输出:root 7351 1 12 11:05 pts/0 00:00:24 java -Xms256m -Xmx512m -jar /root/MC/minecraft_server.1.1

也可以查看运行日志,nohup默认会输出日志到nohup.out,这里已经用 > 命令重新指定输出文件mcworld.log:

1
cat /root/MC/mcworld.log 

停止运行MC服务端

要结束服务进程,查看ps -ef第二列显示的进程号,执行以下命令:

1
kill -9 7351

可能会遇到的问题

如果遇到了服务器启动失败的情况,请检查并修改以下配置:

修改eula.txt

1
vim eula.txt

eula=false改为eula=true

客户端连接MC服务器失败

在jar包目录下找到server.propertices并编辑:

1
vim server.propertices

online-mode:true改为online-mode:false

这是正版验证服务的设置

开启服务器端口

打开server.propertices文件,找到server-port=25565这一行,其中的25565是服务器的端口号,需要打开服务器的这一端口。

需要注意的是,使用客户端连接服务器时,输入服务端IP地址,即服务器的公网地址,端口默认为25565,所以不用输入。

参考文章链接

Linux搭建Minecraft服务器