服务器随笔

MTR 本,俗,善?

1.MTR的优点

我也不知道为什么,这个暑假对铁道特别感兴趣,仿佛加入了列车迷的行列
于是我搞起了mtr
拜托,看着自己的列车穿梭在田野山间真的超带劲的好不好
mtr给我最大的感觉就是简单,你只需要不超过一个小时就可以把mtr的各项功能都给摸遍
可问题也就在这
mtr的下限低,上限也低
我转身向create走去

2.MTR的死板

mtr本身就存在一个老生常谈的问题,就是3.0和4.0社区的严重割裂
我不知道mtr作者跨越式拒绝兼容的适配算不算不负责任,这让玩家去被迫站队
选3.0,资源较多,功能老旧
选4.0,建设体验好(毕竟近乎吞并了nte),资源新,萌新选4.0准没错
但就目前的体验而言,无论你是选择3.0还是4.0都爽不了
无法坐下,无法对列车区间单独进行限速(我知道你想说有不同规格的限速铁轨,但是每个将近50的差距怎么精细化限速),以及不支持按里程收费(这对设置中转车站很不友好)
在mtr里,你的列车是别人造好的,你只能用现有的列车模型,考虑好你站台的长度等等去挑选
还有自动驾驶,不能像create那样长按空格自动对标,你只能看自己能不能把握好那个瞬间
而追加包,更是mtr的一大诟病
MTR 追加包社区堪称灾难——资源散落在 QQ 群、网盘、论坛等等——资源随缘失效,而且还有非常混乱的版权保护,我买到的不是文件,是使用权
如果我将追加包用在了服务器,就算私传,然后就要被联合封禁
至于你还想说能不能让突然设置列车不停靠某个站台,列车能在哪个站台多停一会,nonono,当你重新规划路线的时候,列车实体就会被清空,上面的游客直接就会被摔下来
列车还撞不死人(不对我在想什么,不过也确实是少点乐趣(?)

无法坐下的列车,只是一种风景

这才是最致命的问题
我造了站台、铺了轨道、设了时刻表,然后坐进车厢——发现自己就是个穿模的幽灵MTR 的座椅是纯贴图互动,乘客和列车之间没有物理关系你上车的唯一体验是「屏幕闪一下然后视角被锁在一个偏移坐标上」
你还能享受窗外风景,但仅此而已这感觉不像一座轨道交通系统,更像一个精致的屏保

过度神化的fabric

fabric 总被人捧成「优化好、生态强」,但这印象太粗糙了
fabric 把一个空壳给你——fabric loader 加上 fabric API 这个大号前置——然后你每需要一项优化,都得自己去装一个对应的独立模组sodium、lazyDFU、ImmediatelyFast……单是优化模组的数量就够喝一壶的了
neoforge 则是在加载器层面就整合了大量底层优化:FML 4.0 的模块化架构自带延迟 DFU 加载、键位冲突检测、数据包兼容性检查和模组列表界面——这些在 fabric 里全都要靠独立社区模组来补
换言之,fabric 的选配项,neoforge 出厂就是全系标配
更关键的区别在依赖管理fabric 把核心运行库拆成几十个独立的小模组块——fabric-rendering-v1fabric-networking-api-v1fabric-block-api-v1——每个都是单独的 jar,通过 Jar-in-Jar 层层嵌套加载
如同同一个扳手好几个人共用,谁瞎改一下,别人的模组就崩了
fabric 生态里著名的模组冲突——Sodium vs Optifabric vs Immersive Portals 来回不兼容——根源就在这:没有统一的抽象层,每个模组都直接抄起底层工具就干
neoforge 走了另一条路FML 把通用 API 内置在加载器里,模组通过事件总线和注册系统交互,不直接碰底层实现这意味着同一个功能不会被三个模组用三种方式实现然后互相炸掉
表面看 fabric 包小,neoforge 包大
但neoforge用空间换回了时间,而fabric用一锅浆糊做了桌看似能吃却暗藏玄机的菜
请问,fabric真的值得如此地位吗

为什么是 Create

Create 给你的不是一列火车,而是一个物理引擎
你可以造车、造飞机、造飞船——以及最重要的——你真的坐在里面
这是你自己造的列车,完全可以按照你的来,而不用去看模型作者的脸色
甚至Aeronautics 把「载具」的概念从地面拉到了天空,天空即为极限
更重要的是,Create 的蓝图系统、机械结构社区和开源生态意味着:你造出来的东西是真正属于你的,可以导出、分享、二次创作,没有人能用一纸「协议更新」让它消失
这是mtr无法比拟的
同样的世界,create 的齿轮开始转动,虽然上手成本不低,但是花个几小时后,你会发现create的设计真的很精明
虽然我很承认,mtr的电梯和手扶梯开箱即用,比机械动力简单多了
可是mtr的电梯只能开一侧的门,你说一个车厢两扇门,不好意思,我还真不知道怎么做,在有些时候单项开门反而带来了麻烦
create难吗?其实并不,他的逻辑比mtr符合mc的方块逻辑和现实的逻辑,只是上手学习成本较高
create对列车转弯,铁轨铺设,最大铺设长度进行了严格的要求,这体现了硬核,也增加了些工作量,看起来比mtr更得不偿失
但create 的精明在于它用机械直觉替代了 GUI 菜单
强力胶让你能够对列车等机械的结构进行更深刻的理解,更符合哲学里“整体与部分”的概念,列车是一个整体,但各部分车厢也是一个单独的整体,你不能一个强力胶糊满整辆车,那就会报转向架错误
蓝图与笔 是另一个精巧的地方 你造好的东西不是留在存档里——你可以把它打包成文件带走
换世界、换服务器、分享给别人,没有任何平台绑定,极为灵活
模组间哲学差异 MTR 给你一列火车,你用别人的建模、别人的设定、别人的时刻表逻辑
Create 给你转向架和车壳,你自己造火车前者是消费,后者是创造
如果你更牛批,可以自己手动驾驶列车,对标,广播,甚至因人身事故紧急停站,这要比mtr的各种概念更加直接,因为他才是真正去适应mc的游戏逻辑
这就是为什么同样的「铁道兴趣」,Create 的上限比 MTR 高出一个数量级
ponder等等的 更不用提了

拎包走人

留什么?MTR,Fabric 的优化模组,我当然不能要了
存档里已经铺好的轨道,也不要了
MTR 的尸体清单不算短:MTR-fabric(81 MB)、JCM(24 MB)、Tianjin-Metro(13 MB)、mtr-japan-ticket(12 MB),加上早已被禁用的 MTR-MSD-AddonMTR-ANTEMetropolis——整个 MTR 生态一共七个 jar,合起来超过 190 MB
全删了换成 Create 三件套,体积小一半,功能多十倍
留下的,是我的建筑,和服务器里的涩涩图片

拎包入住

23 个 neoforge 模组,从 1.20.1 fabric 到 1.21.1neoforge 的完整迁移只花了一个下午,还有调用deepseekagent的两块钱

核心策略:能上neoforge不用信雅互联,能用兼容模组不去冒风险尝试名单外模组

要么给每个 Fabric 模组找 NeoForge 替代品,要么用 Sinytra Connector 让 Fabric 模组直接跑在 NeoForge 上
实际操作下来,答案是两者结合
Connector 2.0 在 1.21.1 上的表现比预期好得多,它的原理是在 FML 和 Fabric Loader 之间架一层翻译——把 Fabric转译到Neoforge
实际测试下来,civillis、mishanguc、Axiom 这些纯 Fabric 模组全部通过 Connector 成功加载,就像没换过平台一样
但也有翻车的时候,mishanguc 的 1.6.1 版 GameRenderer Mixin 找不到目标方法,降回 1.5.3 才消停
所以 Connector 的兼容性列表不是摆设——用之前翻一眼 connector.sinytra.org 能省不少碰壁的时间
真正麻烦的是那些 Connector 明确不兼容的模组
Sodium 和 Iris 都在这张黑名单上——它们碰了 Forge 渲染管线,Connector 无能为力
好消息是 1.21.1 的 Sodium 和 Iris 都已官方支持 NeoForge,直接下原生版就行
Embddium 反而被 Iris 1.8 拒之门外(“Iris and Embeddium cannot be used together”),绕了一圈还是回到了 Sodium

沉浸画框的数据结构

一个小坑:我们并不知道如何迁徙存档里的图片,只知道迁徙过后,虽然cache里能找到蛛丝马迹,但是还是没办法完全无损迁徙存档
迁徙后,玩家的上传记录会消失,已有的画作就会显示空白,不过cache帮我们找回了大部分文件

结语

从 Fabric 到 NeoForge,技术层面比想象中平滑
Connector 处理了大部分 Fabric 残余模组,Sodium/Iris 的原生支持消除了最大的渲染性能顾虑,Create 生态给了 MTR 无法企及的自由度
唯一遗憾的是存档里 MTR 的痕迹变成了一片空白,所有曾付出心血的东西——现在像一位故人留下的潦草字迹——但那是另一个话题了

23 个 NeoForge 模组,1.21.1,两块 API 调用费
同样的世界,Create 的齿轮开始转动


服务器推广环节~

mc 1.21.1 城建玩法
mod清单:

  • Create 6.0.10 — 机械动力本体
  • Create Aeronautics 1.3.0 — 航空学(飞机/飞艇/载具)
  • Sable 2.0.3 — 物理引擎(航空学前置)
  • 汽鸣轨道
  • Effortless Building 4.1 — 便捷建造
  • WorldEdit 7.3.8 — 创世神(批量编辑)
  • Axiom 5.4.2 — 建筑工具
  • Farmer’s Delight 1.3.2 — 农夫乐事(种植/烹饪)
  • Immersive Paintings 0.7.8 — 自定义画框
  • Distant Horizons 3.2.0-b — 远景渲染
  • Exposure 1.9.18 — 相机摄影
    厌倦了单机造景没人看?厌倦了追加包作者的联合封禁警告?想玩平静且硬核的mc?
    来樱花庄(暂定名称)服务器~
    城建向,公共交通为主,创电,机械动力 + 航空学,自己造火车、造飞机、造你想要的任何载具(前提是别整狂轰乱炸的东西)
    沉浸画框随便贴,远景渲染开到满,Exposure 相机随建随拍
    还有可爱的铁路娘苏暖泉(任职咕嘟泉畔铁道交通有限公司)!
    就是…服务器几乎啥也没有qaq 我们才开不到半个月欸
    如果服务器能开下去,会改成生电玩法为主,轻度创电,但我们会公开存档,你可以把自己改好后的结构蓝图发给我们直接上传,免除了建造的麻烦
    同时还会有社模,现实议题(如环境保护,政治博弈)
    月活破200腐竹直接女装cos苏暖泉娘
    至于别的——服务器里还有涩涩图片,但那是另一码事
    想来玩的可以看这里→hahahotsoup的起始页→项目页里
    472c9976-cf02-47a4-8a4c-e96d7506b70c.png · 2065