MC开服全心路历程

老实说,直到我写这篇文章的这个时间,我站在笋岛东北方向的山顶上,眺望着这个服务器的主城,突然回想起了我为什么要开这个Minecraft服务器。
这个群,加上2020年疫情高峰时期蝎儿那个群,在疫情期间曾经进行过大约三次MC开黑潮,当时封控严重,群友个个闲的发霉,所以开个MC服解解闷也不奇怪。我们当时开黑使用的是手机网易版的领域服,我记得是我开了一次,蝎儿开了大约两次,不过每一次大伙大概玩了一周左右就再也没人打开了,最长的一次是两周,但那也是因为大伙玩创造搞建筑花的时间更久一些。这些事情给我们带来最大的影响是,我们讨论群里开黑什么游戏好,大家劈里啪啦说了一大堆,但MC始终是我们优先否决的一项。
原因很简单,原版游戏的内容对于我们来说太少。我的感觉是除了我以外,大家个顶个的都是顶级的MC生存高手。大家一致觉得,哪怕谁开了一个服务器,最快的人可能当天就能玩通整个游戏,然后又会陷入玩了一阵后就没人碰的死亡循环。所以,在7月1日当天建立服务器时,当时我就下了这个MC服务器最核心的目标:让这个MC服务器能够让人玩得更久。
那既然有这个目标,具体怎么实现呢。在2020年的MC开黑潮后,大概过了一到两年,我又试图开设MC服务器,当时我开设MC服务器的缘由是我买了腾讯云的云服务器,还买了域名,可不就得拿这两个东西搞点玩的嘛,所以当时MC服务器和一同搭建的CSGO服务器一起,成了我所谓“游戏服务”的一部分。当时的MC服务器使用的是不加任何优化的原版核心,且有一个极其基础的理念:我要在手机上也能玩。所以我同步搭建了Gayser,这能够让基岩版的客户端连接Java服务器,Gayser在其中充当了“翻译”的作用。但是我很快发现,游戏的内存和CPU占用远超我的想象,游戏内地形加载巨卡无比,当时我写的启动文件规定的内存占用最大值只能是1GB,很快,服务器开始不工作,这个短命的服务器只存在了不到24小时,以至于大部分的群友都没有听说过它。后来我翻阅贴子发现就当时我那羸弱的云服务器难以支撑MC服务器的运行,于是,开服务器这个想法就只能埋藏于心里了,在很长一段时间里,可能在某种机缘巧合之下会打开MC基岩版看看,然后看着领域服和昂贵的会费,加上想到哪怕花了钱也很快没人玩,所以只好作罢。
7月1日,当时我在研究frp,在我买了NAS这个节骨眼上,我希望能够打通家里的内网,可是,frps在服务器上似乎不工作,对此我查了一些资料,查着查着,就突然看到了第三方的内网穿透服务。起初,我对这种第三方的内网穿透服务并不在意,可是它(Sakurafrp)的文档有一些教程引起了我的注意,里面包含Gayser共通服的设置教程,我心想这不错,于是就看了下去翻到了Java服的开服教程,下面介绍了一些常用的服务端核心,我看到了Paper核心,于是点进去看了看,Paper的官网还有插件网站的链接。那一刻起,之前深藏的想法就死灰复燃了,既然如此,何必不搞一个试试看?在我重新尝试在我自己服务器的frps失败后,我就试了试他们的第三方内网穿透。
Windows环境下,搭建服务端核心和配置内网穿透都非常容易。很快服务端核心就配置好了。下午五点,服务器的地址正式在群内公告,我打着测试学习的名义,然而我当时并不清楚我到底要学什么。事实上那个时候我的Mac上甚至还没下载MC,完全不知道内网穿透是否真的可以使用(只有基岩版我测试确实可以进入)。但是很快,阿白顺利登入了服务器,那说明现在这个服务器处于正常运行的状态,这让我大受鼓舞。
这一次MC开服毫无征兆,但确实引起了群友很大的兴趣。很多人都没想到,原来我们真的要玩MC呀。开服的第一天,我在服务器出生点附近直接开创造修了我自己的房子,阿白当时连吃的都没有着落。在服务器的第一个版本(我认为用Ver0.1来形容很恰当),只安装了两个权限插件和Gayser,并且我花了很长时间才搞配置明白权限组分成,在Ver0.1的版本,基本等同于我们以前开的领域服的形态。
开服的第二天是星期三,正是我们CS打箱子的日子,可是阿白中途加入,大家打了一局,这一局阿白丢包非常严重,这一局结束后,阿白跟我们说我们要不去玩MC吧,并得到了一片相应,那个时候我意识到大家对MC的喜欢程度超过了我的想象。坦率地说,我自己对MC本身其实并不感兴趣。从开服的第一天我就开创造自己玩自己的去了,我的建筑能力分明也就是火柴盒水平,现在你去怀旧服还能看到我直接拿木板搭的一个超大号火柴盒,令人忍俊不禁。7月2日当天,大家纷纷进入服务器开辟江山,有人直接探索了数万方块远,早上起来翻服务器记录,发现超级夜猫子在这个服务器熬到了四点五十。
可是就在7月2日到3日期间,我最担心的事情发生了,阳光击杀了末影龙,意味着,原版内容已经被群友玩通关,如果不尽快做点什么服务器更新,或许很快就会进入前面所述的死亡循环。我在插件网站上翻了很久,决定在服务器内引入Multiverse插件,这一时期的服务器开始超越以前的领域服,版本号拟定为Ver0.2。Multiverse我引进了两种,一个是Multiverse-core,这是核心,另一个是Multiverse-portal,这便是一直使用到今天的传送门。
我搭建了两个世界,一个是生存异世界(world2),一个是创造异世界(world3),生存异世界在创建时,考虑到之前阳光在群里抱怨,主世界资源很少,建筑生成也不多,因此在创建时就用了在网上找的开局三个村庄的神级生存种子,创造异世界就干脆使用超平坦。这一招开始奏效,有群友在创造异世界中修了一些装饰。传送门功能在主世界内也运用于跟阳光故居和主城之间的相互穿梭。
后来,我更新了一些别的插件,包括Bluemap,一款能够在网页浏览器上看服务器地图的插件;Gsit,一款你能某个方块上坐下的插件,你也可以坐到别人头上,以及一款能够修改服务器motd的插件。这一时期,服务器版本定为Ver0.3。主城已经修的有一定规模了,那一段时间,我几乎每天都要去搜索一下插件,我一直想在那个时候的服务器添加一个能够自定义音乐播放,甚至视频播放的插件,可是我到最后都没有成功。
这一时期大概维持到7月10日左右,其实距离开服才一周多一点,可是群友是真真正正地把原版游戏玩通透了,我去参观阳光的阳光农场(或者说阳光故居),看着他造了一个大剑式的巨型传送门,这一切的资源都完全是从各个地方收集过来的,全无创造成分。阿白也用自己的资源搭建了自己的魔女塔,远处的巴别塔也即将完工。当时我满脑子完全没有想这些东西到底有多厉害,而是切切实实感受到危机感,当大家把辛辛苦苦收集来的资源用于造这些东西后,或者说等生电项目完工后,大家再也不缺资源了,那怎么办。基于前面所述的MC开服的核心理念,我必须想办法让大家把这些过剩的资源进行消化,经过一周多搜索插件的结果我渐渐得出了一个结论,插件本身是依靠原版游戏的资源进行的,它不可能凭空创造出游戏资源,如果想要为游戏添加资源,除了自己导入数据包,只有模组这一条路可走了。与此同时,群里也开始讨论模组的事情。
那要使用模组,就意味着我必须换一个服务端核心。我又继续查阅一些服务端核心的名录,考虑到之前我已经运行了一段时间的插件服务器,且我好不容易才大致搞明白这些插件怎么运作,我不想就把我积累起来的插件经验丢掉,所以我选择了Arclight的混合服务端核心,查阅的过程我了解到了一个更加让人绝望的事实:大量的模组都不支持现在的1.21.7版本,我希望使用的混合服务端核心基本只停留在1.21.1版本,停留在1.21.1的大多都是些极其经典且活跃维护的模组,至于那些不那么有名的模组最后支持的版本有1.20,有1.12,甚至还有1.7.10,也就是说更换服务端核心意味着我们必须将游戏降级。当时我认为,我不可能带着群友回到1.20甚至1.7.1o的超远古版本,我们只能留在1.21.1。在CurseForge翻阅1.21.x支持的模组列表时,有一个名字逐渐给我留下了印象,那就是NeoForge,后来我了解到,NeoForge事实上是Forge的分支,并在1.21开始,几乎整个社区都导向了NeoForge。那既然我要转成模组服务器,那我用什么形式呢,有两条路供我选择,第一个路是用一个比较热门的整合包,这些整合包里甚至自带了服务端。我当时下载了看着还不错的BetterMC,这一个整合包旨在建立一个原版加强的世界,我试着导入我们在Paper服务端上建立的世界,模组服务端能够正常读取,不错,群友也能加入。但是接下来发生的事情就让我大跌眼镜了,在我电脑上运行这一套将近三百多个模组的整合包实在是太卡了,以及攻击方式等等都和我认为的原版加强大相径庭,这不符合我的需求。所以,我只能选择第二条路,那就是自己装模组,而自己装模组最大的问题在于我对模组完全一无所知,但这对性能以及尽可能忠实于原版有益。我用了个简单粗暴的方法,那就是进入CurseForge,然后选择好版本和模组加载器后直接用下载量排序。我加了最经典的暮色森林模组,以及几个家具模组,然后添加了大量的地牢模组和灾厄模组,这就是模组服务器的第一个版本,Ver1.0,在转为模组服务器后,我认为必须要用版本号记录每一个更新内容,也方便群友找到正确的版本。这一个版本在7月12日凌晨发布,之后,我花了一天的时间重新编辑了权限组,确保现在的体验和之前的Paper服务器是一致的。
你可能会发现我更新的一个特点,这也是我写到这突然意识到的,那就是我对大幅度更改原版内容的模组呈现较为抵触的情绪,老实说,就连我转变为模组服都带有相当的妥协意味(为了不让死亡循环上演),我甚至当时一度想开启两个服务端核心,在群里讨论时我也说出我希望把维护的重心放到插件服上,我原本希望的MC服务器,是一个随时随地开启就能玩的服务器,而不是在玩之前就得下大量的模组费时费力的东西,并且这会让我放弃Gayser:基岩版和Java版共通的插件。但是透老师的操作意外改变了我的想法,当时他问我手机怎么玩,我告诉他下载基岩版,他却下载成FCL加载的Java版了,而且运行效率也不错。我突然意识到,Gayser也不是必须的。后来,虽然我没有给任何人说,但是我在某一天把Paper服务端设置成维护模式,不允许任何人进入,并写上“欢迎前往模组服务器”的字样,然后悄悄关闭Paper服务端归档,这一个小小的争议就这样解决了。
直到今天,我在服务器内更新最多的模组都是RPG类模组,提供新的维度、怪物、BOSS等待群友来挑战,对于对玩法有深刻改变的模组,我都很少更新。
Ver1.0上线后,·确实发挥了我期望的效果,大家纷纷涌入勇闯暮色。从插件服转到模组服正值我把我自己的超大火柴盒推倒重做别墅的阶段,于是加入的家具模组也派上了用场。Worldedit开放给创造世界当中,直到这个时候我才发现这个插件带来的巨大价值。但是很快,暮色森林的几个BOSS就被速度最快的群友光速通关,大家马上又把目光转向了灾厄,去搓他们的灾厄套去了。主城的建设还在大张旗鼓地进行着。在1.x的小版本中,增加了ysm模型。