Lobsters | 原文链接 | 2026-09-05 收录

无锁并行的 Minecraft 服务器「Collider」:用 Clojure 写的概念验证原型

来源: github.com — 2026-08-29

概述

GitHub 上一个有趣的实验性项目:Collider,一个用 Clojure 实现的 Minecraft 服务器,主打「并行 tick 且没有任何星号」——没有锁、没有区块(region)划分、没有线程所有权,也不限制哪些机制可以跨越边界。整个 tick 在不可变快照、纯读阶段与「以数据而非就地编辑表达变更」的思路下,只用了寥寥几行函数式代码。作者称单核上它能匹配原版 1.8.9 的性能,六核上快 4.5 倍。与把世界按空间切成区块分给不同线程、还要防拥挤再把相邻区块合并回单线程的 Folia 思路不同,Collider 根本不关心玩家在哪。项目刻意做小(约 5500 行 Clojure),只为验证数据模型能否承载真实机制与测量性能,生物只有羊,含光照、水火、方块物理、掉落物、TNT、伤害、昼夜循环与库存等,目标是 Minecraft 1.8.9 的平坦创造模式世界。

核心要点

金句

Every part of it is as simple as I could make it.(它的每一部分,我都尽量做到我能做到的最简单。)
返回 Lobsters 首页