luanti faq

Luanti 常见问题大百科(沙雕玩家版)

这里是 Luanti 高频问题大合集!技术故障请直接看故障排查篇。


啥是 Luanti?

Luanti 是一款免费开源的体素游戏引擎,专门用来造各种方块游戏。详细介绍看官网主页就行。


关于引擎本体

多少钱?贵不贵?

不要钱!白嫖到底!

是 MC 抄袭/复刻版吗?

绝对不是!
Luanti 和 MC 定位完全不一样,它不是来对标或替代 MC 的。
Luanti 是引擎 + 平台,能跑 N 多种体素游戏,不是一个固定玩法的游戏。

2010 刚诞生时确实想复刻 MC 阿尔法版,后来直接跑偏成专业游戏引擎了。

谁搞出来的?

最初由 Perttu “celeron55” Ahola 开发,现在由一群技术疯子 + 全球社区一起维护。

用啥语言写的?

  • 核心:C++
  • 渲染:魔改的 Irrlicht 引擎
  • 脚本 / API:Lua

我能自己改代码吗?

随便改!
开源协议 LGPL 2.1 等,完全允许你魔改。

下次更新啥时候出?

去看 GitHub 里程碑,进度一目了然。

版本号为啥从 0.4.17.1 跳到 5.0.0?

弃用老版本号,改用行业标准语义化版本(semver)
以前的 0.5.0.0 现在就叫 5.0.0,更清爽。

怎么安装运行?

快速上手指南

怎么更新?

看你系统和安装方式:要么下新版,要么跑更新命令。
Git 版直接 pull 再编译就行。

去哪找游戏玩?

  • 首次打开会自动引导去内容浏览器
  • 主菜单 → 内容标签页
  • 网页逛 ContentDB

Irrlicht 是啥?

一款上古 3D 渲染库,负责渲染、窗口、GUI、输入、图片模型支持。
因为太老、基本没人维护,我们正在慢慢抛弃它,改用 SDL2 + 自研渲染管线。
现在用的是魔改版 IrrlichtMt

UI 为啥这么复古?

主菜单用的是 Irrlicht 祖传默认样式。
不是不能改,是很难让所有人都满意。欢迎大佬提交优化!

主菜单也太拉了吧!

我们正在重做!别急!

支持多线程吗?

支持!

  • 客户端 / 服务端分开线程
  • 服务端地图生成用工作线程(目前限单线程,可改配置)
  • 客户端网格生成多线程
  • 5.7.0 起地图块渲染并行多线程

多线程游戏逻辑很难写,和 Luanti 低门槛创作的目标冲突,但模组可以用线程 API。

为啥叫 Luanti?

玩梗:
芬兰语 Luonti = 创造

  • 脚本语言 Lua
    = Luanti

2024-10-13 官宣改名,5.10 版本正式启用。

Minetest 又是啥?

Luanti 的曾用名,慢慢会被替换干净,但彻底消失不太现实。
当年就是个复刻 MC 阿尔法的测试项目(test),所以叫 Minetest。

能出 iOS 版吗?

很难,基本没戏。

  • App Store 协议和 LGPL 开源协议冲突
  • iOS 对开源不友好,要么每年交 80 刀开发者费 + 用 Mac,要么越狱
  • 核心团队没人负责 iOS 开发

补充:现在欧盟逼苹果开放侧载,未来可能有戏。

能支持 XX 平台/主机吗?

纯志愿项目,人力有限
只有核心开发者在用的平台才会官方支持。
主机官方上架基本不可能:NDA 保密协议和开源冲突。
但欢迎社区做自制移植版(homebrew)

去哪提问?

参与社区页面,所有社区渠道都在那。
建议先搜历史记录,90% 问题都有人答过。

模组之间兼容吗?

大部分直接兼容,但可能互动不完美。
不同 API、游戏专属模组、同类功能冲突模组可能不兼容。

怎么连服务器?要账号吗?

没有全局账号!
每个服务器独立注册账号,第一次登录自动创建。
单机完全不用账号密码。

怎么开服?

开服教程

怎么装第三方内容?

  • 主菜单 → 内容 → 浏览在线内容
  • 网页去 ContentDB

专有名词

完整术语表看词汇表


关于 Minetest Game

啥是 Minetest Game?

Luanti 引擎的官方默认游戏,以前捆绑安装,现在去 ContentDB 下载。
原版很无聊,创造模式够用,生存模式必须装模组。

MC 的 XX 功能在哪?

Minetest Game 不是 MC 复刻!
想玩 MC 功能就去玩 MC,类似功能可以装 Mineclonia

该玩哪个 Mineclone?

  • Voxelibre:曾用名 MineClone 2,现在不再追求复刻 MC
  • Mineclonia:Voxelibre 分支,坚持稳定 + 高性能 + 复刻 MC
  • MineClone 5:已废弃

MeseCraft 是啥?

不是 MC 复刻!是精选模组整合包,开箱即玩的生存体验。

内容太少!没怪物没剧情!

Minetest Game 就是个纯沙盘,没剧情没目标。
要玩内容去装模组或换游戏。

快给 Minetest Game 加 XX 功能!

现在只维护不更新,新功能自己装模组。

XX 物品怎么用/怎么合成?

方块与物品文档,或装合成指南模组

地牢在哪?

创建世界时开启地牢,地表下随便逛就能遇到。

找不到 default 模组?

default、wool 等是Minetest Game 内置模组,不能单独安装。
依赖这些模组的话,必须用 Minetest Game。


游戏玩法

怎么看坐标/FPS?

F5 显示调试信息:FPS、坐标等。
服务器/游戏禁用就看不到。
多按几次切换:分析器 → 线框模式 → 关闭。

为啥帧率这么低?

常见原因:无限视距开了。
降低视距:默认 - 缩小,+ 放大。

怎么全屏?

  • 系统快捷键:如 Ubuntu Alt+F11
  • 主菜单 → 设置 → 高级设置 → 图像 → 全屏
    重启生效。

按键在哪?怎么改?

控制说明

能用手柄吗?

可以,但原生支持拉胯,建议用第三方映射软件。

暂停菜单不能改设置?

很多设置需要重启游戏,且没做界面,欢迎大佬来写代码。

地图有多大?

立方体,边长 61840 格
坐标范围:-30912 ~ 30927
总格子数:236,487,637,504,000

地图能再大点吗?

目前不行。
受整数类型、浮点精度限制,改代码工程量巨大,还会破坏多人兼容,优先级很低。

怎么换皮肤?

没有统一皮肤服务器,按游戏/世界独立实现。

  • 单机:装皮肤模组
  • 服务器:用服主的皮肤模组

皮肤用啥格式?

Minetest Game 用 MC 1.8 前的 64×32 皮肤。
其他模组支持 64×64 等格式。

怎么设置重生点?

  • Minetest Game:睡觉
  • 通用:配置文件 minetest.conf 里写 static_spawnpoint = (x,y,z)

怎么弄超平坦世界?

创建世界时选 flat 地图生成器,关掉所有生成标志。
想纯平地可以装 Really Flat 模组。

能用炫酷着色器?

  • 5.6.0:支持动态阴影
  • 5.7.0:泛光、体积光等进阶后处理
    不支持的游戏可以装 enable_shadows 模组。

怎么调亮?

故障排查里的“屏幕太暗”。

怎么飞?

需要 fly 权限

  • 开关飞行:K
  • 上升:空格
  • 下降:Shift

怎么冲刺?

需要 fast 权限

  • 开关加速:J
  • 辅助键:E
    比普通冲刺快得多。

找不到家了?

  • F5 记坐标
  • 指令 /teleport x y z(需要权限)
  • Minetest Game:/sethome 设家,/home 回家

怎么生成世界地图?

  • 俯视图:minetestmapper
  • 等距视图:maprenderer

能用 WorldPainter 吗?

作者做了 Luanti 插件,能用但体验随缘

有 WorldEdit 吗?

有! ContentDB 还有其他编辑模组。

能把 MC 世界转成 Luanti 吗?

可以,用 MC2MT,支持转换 MC 1.12 及以下世界到 Mineclonia。


游戏与模组开发

啥是模组(mod)?

一段代码,用来添加/修改功能。
最简单的模组就是 mods/ 文件夹里带 init.lua 的文件夹。
Luanti 的“游戏”本质就是模组整合包

用啥语言写?

Lua:简单、轻量、飞快。

怎么学做模组/游戏?

  • 入门:Luanti 模组开发书
  • 进阶:Lua API 文档

Lua 快不快?

飞快!

为啥用不上新版 Lua 特性?

用的是 LuaJIT(基于 Lua 5.1)。
未来原版 Lua 能追上 JIT 性能再考虑升级。

能用别的语言写吗?

能转译到 Lua 或自己接解释器就行,比如 Fennel
官方只主推 Lua

我要用 Java 模组!

大部分场景 Lua 比跨 Java 桥接快得多。
重度计算可以直接调用 C/C++ 库。

啥是 Luanti API?

引擎暴露的所有功能接口,文档可查。

模组能改引擎吗?

不能!
只能用官方 API。缺功能就提 issue 或自己写。

啥是 Formspec?

Luanti 的UI 系统,用来做窗口、表单。

啥是 Listring?

Shift+点击快速转移物品的便捷机制,把多个背包栏连成环。

怎么做群系?

温度 + 湿度分布(0~100),看模组开发书。

啥是 devtest?

Development Test,用来测试引擎功能、开发模组的极简游戏。

模组安全是啥?

防止模组未经允许执行危险操作。

  • 用 HTTP 必须声明
  • 系统级操作需要信任模组

怎么调试 Lua 代码?

  • 日志:minetest.log()dump()
  • 进阶:装 dbg 模组

报错/警告啥意思?

故障排查里的错误信息说明。

不能自定义更多按键?

没做这个功能,欢迎提交代码。

怎么做模型?

  • 静态:OBJ
  • 5.10 起支持 GLTF(静态 + 动画)
    工具:Blender、Blockbench

能用 Blockbench 吗?

能! 5.10 支持 GLTF 后完美适配。

能独立分发游戏吗?

可以,但需要自己维护魔改引擎,非官方支持。

能卖用 Luanti 做的游戏吗?

可以,但必须遵守开源协议:

  • 引擎修改版必须公开源码
  • 第三方模组遵守其协议

要不要我继续把下一篇 Luanti 文档也翻译成这种幽默好懂的风格