Re:从零开始的MineCraft服务器

2.1k words

(最近修改于 2023-12-10)

本文不太完善,缺少操作细节,目前仅可作为其他教程的补全。

你可以加入 Mesh Server 向我催更这篇文章。

引入

想起第一次上手MineCraft这款游戏,由于不是正版,需要自己装Java环境,这从未见过的安装流程,可着实难住了当时习惯了“下一步”的我。不过,经过实践,最后还是成功喝上了“咖啡”,在游戏里建立起方块牧场。

玩了一段时间后发现,这游戏单机玩叫享受孤独,联机玩则是分享快乐。

在我看来,这游戏不只让我体验了开放世界的乐趣,它更是为我打开新世界大门的使者。 (各种意义上

这几年,玩了好久好久单机手游(没有MC)。另外,说真的,我真的是超级排斥网游,因为国内主流的网络风气不是很好。

但唯独对这款游戏,我始终有一个念念不忘的念头:

开个服。

前排

要成为一个合格的MineCraft服主,要有奉献精神,而且不要想着盈利,以技术和乐趣为先。

START.BAT

核心选用

由于我对MC的了解有一段时间的断层,对其印象还停留在1.7.10版本,所以了解了一下现在高版本的服务端核心后,得出结论:“时代变了”。(感谢MCBBS联机教程区版主贺兰兰组织撰写了核心介绍

如今的MC有两个大版本:Java和基岩,区别在于:基岩版使用C语言编写,内存优化较好,可跨平台联机,但缺点是一些广为人知的BUG特性有所缺失。而且是后来从零开始开发,游戏内容也就没有Java版完善。要论正统和经典,还得是Java版,所以本文依据Java版进行撰写(主要是懒)。

以前我最喜欢的是可以同时安装模组和插件的MCPC+核心。
现在开服,得从服务器性能出发,你得知晓一个事实:在玩家数量一样的情况下,模组服的性能需求要比纯插件服高好几个等级,更别提稳定性和兼容性了。
MC从始至今就没有真正且稳定地支持过多线程,所以对服务器的单核性能要求极高,若服务器的核心数有余,可以试试群组服,缺点就是玩家分散至不同子服,本文不介绍群组服,有需要请查看其他教程。

这里我选出了几个核心:

纯插件阵营:

  • Paper:更新快、优化、稳定,是 spigot 的分支,曾用名 PaperSpigot,可以使用 bukkit 插件、spigot 插件、paper 插件。值得一提的是,Paper 进行了无数的错误修复和性能改进,带来了强大的异步处理能力,故其受到 EssentialsX 插件开发者的强烈推荐。
  • Spigot(bukkit的分支)。
  • Purpur(增强游戏的可配置性,是 paper 的分支,在 paper 的基础上新增 PufferfishAPI)。

Bukkit+Forge阵营:

  • CatServer:对大陆的网络有优化,使用了镜像源加速下载。
  • Arclight:对新版MC的支持较快速,服务端能够无视部分严重报错,继续运行。
  • Magma:对新版MC的支持较慢,自称是最强大的 Forge 服务器。根据我的测试,它的性能不是很好,主要体现在CPU占用。

它们都可以安装大部分Bukkit系插件和Forge模组。
需要注意的是,出于历史遗留原因,Bukkit和Forge在底层设计上并没有为对方考虑,两者同时使用会造成额外的性能开销以及兼容性问题。重点在于兼容性问题,在使用时可能会引发恶性漏洞,请使用这类核心的服主尤其注意。

SPONGE阵营:

  • spongeforge:SpongeAPI从设计之初就考虑了和Forge模组的兼容性,但用户较少,社区发展较缓慢,插件数量不多,胜在插件与模组的兼容。

Fabric阵营:

  • 仅支持Fabric模组,不能添加Bukkit插件以及Forge模组。优点在于,客户端较为成熟,API的性能较强,仅推荐使用客户端进行局域网联机,不推荐使用Fabric服务端开服。

插件/MOD选用

插件和MOD的介绍和获取渠道放在这里:

我把我看上的插件分为以下几类,供参考:

基础插件 功能拓展 玩法拓展
【必备】EssentialsX 【操作记录】CoreProtect 【多世界】Multiverse-Core
【权限】LuckPerms 【经济前置】Vault 【GUI】chest-commands
【反作弊】NoCheatPlus 【砍树】timber-plugin
【创世神】WorldEdit 【标志保护】blocklocker
【物品禁用】BanItem 【全息显示】holographic-displays
【粘液科技】SlimeFun

登陆系统

只推荐下面的两种登陆方式

正版登录

若是公开的服务器,建议使用正版登录,原因有二:一是正版,二是方便。

外置登录

推荐使用皮肤站的外置登录,可以是现有的大型皮肤站,也可以自建。与其他登录方案相比,这个换皮肤真的很方便。
(教程暂时咕咕咕)

常用规则指令:

1
防爆(包括TNT和生物)  /gamerule mobGriefing false
1
死亡不掉落  /gamerule KeepInventory true
1
阻止火焰传播  /gamerule doFireTick false

(未完待续…)