最近新酱迷上了这个好玩的像素块游戏,正好自己有一个闲置的腾讯云主机,就研究了一下如何开服给自己和朋友玩,功夫不负有心人,在我一天的研究后终于搭建好了,现在将教程分享给各位喜欢MC的朋友。
配置
经过我的测试,开服对于服务器的要求较高,我的1H2G的服务器居然偶尔带不动4个人玩,不过在我寻找了一下java的启动方式之后有所改善,保守估计同时4个人在线至少需要1H1G的服务器(估算参数,勿喷)。
系统和必备的工具
我用的系统是centos7,需要的工具有nano编辑工具、java,当然你也可以用其他的编辑工具VI,VIM等,但是我还是习惯用nano。
centos安装nano的命令
yum -y install nano
1
yum-yinstallnano
centos安装java的命令
yum -y install java
1
yum-yinstalljava
首先创建一个目录来保存服务端
mkdir /mc/minecraft
1
mkdir/mc/minecraft
进入这个新目录
cd /mc/minecraft
1
cd/mc/minecraft
使用wget来下载我的世界服务端
wget http://pan.xiaorenjc.net/%E6%B8%B8%E6%88%8F/%E6%88%91%E7%9A%84%E4%B8%96%E7%95%8C%E6%9C%8D%E5%8A%A1%E7%AB%AF/minecraft_server.1.12.2.jar
1
wgethttp://pan.xiaorenjc.net/%E6%B8%B8%E6%88%8F/%E6%88%91%E7%9A%84%E4%B8%96%E7%95%8C%E6%9C%8D%E5%8A%A1%E7%AB%AF/minecraft_server.1.12.2.jar
如果wget报错可能是你没有安装wget,安装下就好了
yum install -y wget
1
yuminstall-ywget
下载完我的世界客户端之后你需要运行一下下载的服务端,但是不会成功,等它报错。
java -Xms350M -Xmx500M -jar minecraft_server.1.12.2.jar nogui
1
java-Xms350M-Xmx500M-jarminecraft_server.1.12.2.jarnogui
Xms是你要分配给java多少最小内存,Xmx是最大内存。
这条命令报错之后会生成一个eula.txt文件,运行下面的代码同意协议
sed -i.orig 's/eula=false/eula=true/g' eula.txt
1
sed-i.orig's/eula=false/eula=true/g'eula.txt
离线运行服务端
现在你虽然可以直接使用上面的java启动代码启动服务器端,但是只要你关闭ssh远程连接之后java就会停止,所以我们需要screen的帮助。
安装screen
yum install -y screen
1
yuminstall-yscreen
安装完成后我们新建一个脚本
nano /mc/minecraft/start.sh
1
nano/mc/minecraft/start.sh
将下面的优化启动参数放进去(最大最小内存你根据配置修改)
#!/bin/bash
cd /mc/minecraft/ && java -server -Xincgc -Xmx1024M -Xms32M -Xss512K -XX:+AggressiveOpts -XX:+UseCompressedOops -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=2 -XX:CMSInitiatingOccupancyFraction=70 -XX:-DisableExplicitGC -XX:TargetSurvivorRatio=90 -jar minecraft_server.1.12.2.jar nogui
1
2
#!/bin/bash
cd/mc/minecraft/&&java-server-Xincgc-Xmx1024M-Xms32M-Xss512K-XX:+AggressiveOpts-XX:+UseCompressedOops-XX:+UseCMSCompactAtFullCollection-XX:+UseFastAccessorMethods-XX:ParallelGCThreads=4-XX:+UseConcMarkSweepGC-XX:CMSFullGCsBeforeCompaction=2-XX:CMSInitiatingOccupancyFraction=70-XX:-DisableExplicitGC-XX:TargetSurvivorRatio=90-jarminecraft_server.1.12.2.jarnogui
Ctrl+X输入y然后回车保存。
开启screen
开启一个screen会话
screen -S mc
1
screen-Smc
切换到脚本所在的目录
cd /mc/minecraft
1
cd/mc/minecraft
启动脚本
./start.sh
1
./start.sh
如果运行脚本提示权限不足,使用下面的代码给予脚本777权限
chmod 777 start.sh
1
chmod777start.sh
等待java启动完成就可以退出了,退出使用Ctrl+a+d,千万不要使用Ctrl+c,这样就直接关闭了screen,现在你就可以直接关闭ssh了,screen会一直帮你运行java。
当你需要重新启动服务端的时候先查看screen的进程
screen -ls
1
screen-ls
根据id来关闭旧的screen
screen -X -S ID数 quit
1
screen-X-SID数quit
之后再新建就可以了。我的世界客户端的版本必须与服务端一样。本次教程的服务端是1.12.2的,所以需要下载1.12.2的客户端,客户端我就不发了。