尝试搭建一个支持Minecraft 1.8版本mod的服务器

故事

我认为“Minecraft”这个游戏的环境相对来说可以建立在任何类型的场地。因为它是由Java语言编写的,所以在这方面比较强大。然而,由于一些第三方制造的Minecraft服务器出现了许可证问题和其他复杂的问题,对于玩带有模组的Minecraft来说,需要经历一些麻烦的步骤。这是大约一年前发生的事情。

现在

在Minecraft的mod服务器中有几种选项,但最新的可能是Spongepowered吧。但是因为它太新,mod的数量很少,而且只有开发版本,所以不能推荐。不过,定期获取信息以备候选方案全部倒闭时可能是一个好主意。

最常使用的是Craftbukkit(Bukkit,Claudron,Spigot等)。在Bukkit 1.8(当前的Minecraft最新版本是1.8)上搜索会找到各种资料。以前只需下载已编译的可执行文件即可启动,但现在为了避免上述的许可问题,必须提前获取源代码并进行编译。这有点麻烦,但是mod很丰富,一旦熟悉了就很简单,是最推荐的方法。

请注意

顺便提一下,Minecraft的服务器端需要相当高的规格。CPU算不上,但是内存需要。每个角色需要展开半径为R的球形内存,随着人数增加,这个成本就会增加。我把8GB的内存放在我的Minecraft专用服务器上,现在才勉强能运行。

制作方法

请回到话题。你可以从这里获取Minecraft服务器的构建工具。请下载最新构建工具的BuildTools.jar文件。如果你是Linux用户,并且已安装包括git在内的开发工具,则可以进行安装。

java -jar BuildTools.jar

开始编译。由于会生成垃圾文件,我认为最好在新建的目录中执行。
在刚安装的Linux系统中,可能没有安装Development Tools。如果你使用的是RedHat Linux的克隆操作系统CentOS的最新版本(CentOS7),我认为你可以在控制台下输入以下命令安装。

sudo yum groupinstall -y "Development Tools"
sudo yum install -y curl git screen
mkdir ~/bukkit
cd ~/bukkit
curl -O https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar
cp CraftBukkit/target/craftbukkit*.jar craftbukkit.jar

screen是一个在后台启动进程非常有用的命令。 Minecraft服务器具有交互功能,可以在运行中输入命令(关闭服务器也需要输入/stop命令),因此通过使用screen将其转化为后台进程,可以在必要时调用命令输入界面。

机动

在启动服务器时,请

screen -AmdS net java -Djava.net.preferIPv4Stack=true -Xmx7000M -Xms7000M -jar craftbukkit.jar -o true

输入并调用屏幕时,

screen -r net

如果你想要从调用的画面中退出,只需按下Ctrl + a后再按下Ctrl + d即可。你就可以退出了。启动时的选项-AmdS就像咒语一样,请将net视为screen的名称,你可以自行取一个你喜欢的名字。顺便说一下,现在的网络兼容Java程序,默认正在等待通过IPv6端口连接,所以如果不作修改的话,无法通过IPv4地址进行连接。为了应对这个问题,你可以在java后面加上-Djava.net.preferIPv4Stack=true这个选项,这样它会使用IPv4端口作为等待连接的端口。-Xmx7000M和-Xms7000M分别是最大内存和最小内存的设置。我们设置为7GB,让你自由使用。暂时就是这些必要的知识了。

用中文进行本地化的翻译有很多选择 :

那个

插件方面有很多选择,你可以在这里注册并选择自己喜欢的插件。顺便一提,我目前安装了LunaChat、Multiverse-Core、Multiverse-Inventories、Multiverse-Portals、PermissionsBukkit、PluginMetrics、Sentry、TreeAssist以及WorldEdit插件。