导语

想和兄弟萌一起砍砍MC吗?想增加服务器运维经验吗?想学习一下MC的插件编写吗?毫无疑问,自己开个MC服务器是在合适不过了。

服务器性能要求

MC对于算力、内存的要求不是很大,但也需要一点,在Minecraft Wiki里显示了硬件要求。

需求 玩家 CPU 内存 硬盘 [隐藏]注释
最低配置 2-4 Intel Core 2 Duo 或 AMD Athlon 64 x2 2GB 至少150MB用于储存世界 确保至少拥有一个低ping的互联网连接
(比如DSL或缆线连接)。
建议配置 2-6 Intel Core 2 Duo 或 AMD Athlon 64 x2 3GB 至少200MB用于储存世界 确保至少拥有一个低ping的互联网连接
(比如DSL或缆线连接)。

实际上在各个云服务器运营商哪里,一个这样的服务器都不是很贵(PS:如果你之前没买过)(PPS:甚至可以去tb之类的地方买到更便宜的)。

配置服务器

服务器核心种类

MC目前主流的服务器主要分为官服、水桶服(CraftBukkit)、水龙头服(spigot)和paper服(paperspigot)等。

简而言之,水桶服是在官服基础上构建,水龙头服是在水桶服之上构建,paper等等服是在水龙头服之上构建,服务器插件向下兼容,即水龙头服能用水桶服的插件,水桶服用不了专为水龙头服的插件。事实上绝大部分插件都是bukkit插件,所以除了少数插件需要多留意一下以外,插件直接装就完事了。

同时,越上层的服务器的功能越强大,比如paper服比spigot服在资源利用上有一定提升。

搭建一个spigot服

搭服务器的方法多种多样,不同的操作系统配合不同的java版本和不同的MC版本,可以形成非常多的组合,乃至于docker搭建等等等等。本人在是在阿里云CentOS7上搭了一个1.12.2的spigot服,因此本文只介绍如何在CentOS上搭。

使用Spigot BuildToos即可轻松搭建,BuildTools需要用到Git和Java,在CentOS上使用yum即可

sudo yum install git java-1.8.0-openjdk-devel

这里需要注意,如果你要装1.17.1版本的MC,你要jdk16而非jdk8,如果你要装1.17.1以上的版本,你药妆jdk17而非jdk8。可以使用

yum list | grep java

来找到你要装的jdk版本的名称。如果不清楚自己装过了什么版本的jdk,或者想卸载使用

yum list installed | grep java #查看自己装了什么版本jdk
yum remove *** #移除***

即可。

最好别让服务器在root运行,因此创建一个新用户。

sudo useradd mcserver
sudo passwd mcserver
# 设置密码
su mcserver
cd ~

在/home/mcserver里随便建一个文件夹,用wget下载BuildTools

wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

因为是要装1.12.2版本,因此

java -jar BuildTools.jar -Xmx1024m --rev 1.12.2

spigot的BuildTools会自动的给你装水桶服和水龙头服,用哪个就看你自己罢了。

img

然后由于近期log4j漏洞,建议参考https://www.mcbbs.net/thread-1283360-1-1.html进行相应的修复。下载Log4j2Fix-1.1-jar.with-dependencies.jar。

最后,使用以下命令启动

java -javaagent:Log4j2Fix-1.1-jar-with-dependencies.jar -Xms256m -Xmx2048m -jar spigot-1.12.2.jar

其中Xms是最小内存,Xmx是最大内存,根据自己的服务器硬件进行相应的调整即可。建议把以上内容写到一个start.sh里,到时候

screen ./start.sh

即可后台运行,若要查看,则

screen -ls
screen -r ***

然后在1.12.2的客户端里连接即可。

img

对了,第一次启动要将eula.txt改成true才行。

插件

https://www.spigotmc.org/resources/categories/spigot.4/里找到对应的插件,查看其安装使用方法(绝大部分是将jar放在plugins里重启服务器即可)

img

很多插件有自己的命令,需要服主自己学习哦。

管理

在后台输入op +id即可给予你的角色op,在游戏中输入相应的命令和在后端输入命令等效。

参考

https://www.mcbbs.net/thread-661632-1-1.html

https://www.mcbbs.net/thread-1283360-1-1.html