一片伟大的净土

灵魂的归处,肉体的坟墓。

在Linux上搭建我的世界服务器

常用命令
screen -S “Mine”:新建一个名为”Mine”的屏幕,并且进入。(相当于新开一个线程)
screen -r:进入屏幕。
ctrl a+d:退出屏幕,如果屏幕在运行会保持后台运行。
ctrl c/stop:关闭服务器。
sh startmcs.sh:通过sh脚本启动服务器。

搭建我的世界服务器只需要两样东西:

  1. 服务器核心
  2. Java开发环境(注意jdk和jre的区别,我们只要jdk)

首先我们获取Java开发环境,1.12.2版本只能用Java9及以下,这里我选择经典的Java8。

yum -y install java-1.8.0-openjdk

新建一个文件夹,放服务端文件。

mkdir mcs

上传文件我这里选择的是直接用网页控制台传入,点左上角文件,打开一个文件树,可以直接把文件拖入新建的mcs文件夹中。也可以右键mcs文件夹,点击上传文件,两者区别不大,速度都慢的要命。
要速度快可以用ftp或者qq互相传文件,不过mcserver就只有一点点大,不太需要。
如果服务器要到期了,右键文件夹下载文件把整个文件夹下载下来就行了。

接下来进入mcs文件夹

cd mcs

启动服务器(命令格式和意义自行百度)(启动前先放入服务端核心,此处为cat.jar

java -Xms512m -Xmx1024m -jar cat.jar nogui

启动完成之后关闭服务器(如果服务器启动失败也进行下一步)

ctrl+c

刷新一下左边文件树的mcs文件夹,可以发现里面多了很多东西。(双击文件树就能打开文件,闲的话也可以用open命令)
打开mcs文件夹下的eula.txt的文件,把里面的false改成true(mojang官方要求)。再打开server.properties,把online-mode改成false(正版验证关闭)。

在阿里云服务器安全组上配置入方向25565端口,协议为TCP,源和下面设置一样。

至此服务端全部配置完毕,剩下内容自行配置plugins和mods。
但是可以发现每次都输入那么依托启动命令太麻烦了,设置shell脚本(shell就是命令行解释器,相当于一个自动运行的terminal终端)

在mcs文件夹下面新建一个文件,名字为startmcs.sh(都随意,后缀也随意,只是表明是一个shell脚本)
输入以下内容:

#!/bin/bash
java -Xms512m -Xmx1024m -jar cat.jar nogui

以后启动服务器只需要输入

sh startmcs.sh

客户端连入的时候直接用公网IP:开服的端口即可。(注意不要输入中文的冒号)
如果要套域名直接使用A解析,由于不是建站,所以不需要备案,但是解析要换DNS服务器,可以使用CloudFlare。
如果开服用的就是25565端口,那么就可以直接用域名连接了。注意:我的世界不是网站,不要用CloudFlare代理安全流量,要用仅DNS。

在不断开远程链接SSH(Secure Shell,安全外壳协议)的情况下,我们发现服务器已经可以进入了,但是一断开SSH,服务器就自动关闭了。还要再加一个screen防止断开。

yum -y install screen

设置好屏幕,防止退出后服务器自动关闭。(-S是设置会话标题)

screen -S “Minecraft Server”

在屏幕内进入mcs文件夹,运行脚本,启动完毕之后按下面组合键退出(如果没有运行内容屏幕会自动结束)。

ctrl a+d

以后如果要进入屏幕就输入

screen -r

如果有多个屏幕开着,会显示前面的id,在-r后面加入id。

当然白嫖的阿里云服务器宽带是极其之小的,1Mb约100KB。
还有优化空间,不过宽带限制摆在那,用处不大。
我的世界服务器宽带优化教程
CSDN教程
若服务器出现卡顿也可以尝试把启动脚本的Xmx最大内存调最大,此处阿里云为2048m。