开发者中心
一套 Lua API 打通游戏与模组开发:添加节点、物品、生物与玩法,无需编译引擎。本页带你从零写出第一个模组,并了解服务器架设与作品发布。
入门
为什么选择 Lua 开发?
Luanti 引擎用 C++ 编写并负责渲染、物理与网络等底层能力,内容层完全通过 Lua 脚本驱动。这意味着:
- 改玩法不用碰引擎源码,保存脚本后重载世界即可见效;
- Lua 语法简洁,是编程入门的常选语言,学生也能快速上手;
- 模组与游戏共用同一套 API,学会一处即可两用;
- 官方提供完整的 Lua API 参考文档与开发者指南。
基础
三个核心概念
- 节点(node):构成世界的方块。每个 16 x 16 x 16 的区块由节点组成,节点由 C++ 高效渲染,适合做地形与建筑。
- 物品(item / craftitem):玩家手中的东西,可定义合成配方、工具属性与使用行为。
- 实体(entity):可移动对象,例如生物、投掷物与载具,由脚本驱动其行为逻辑。
世界数据以区块(mapblock)为单位存储与同步,开发者通常无需直接处理区块细节。
实战
第一个模组:注册一个节点
模组以文件夹形式存放于 worlds 同级的 mods 目录,入口文件为 init.lua。以下代码注册一个可挖可放的示例方块:
modname = "my_first_mod"
-- 注册一个新节点(方块)
minetest.register_node(modname .. ":demo_block", {
description = "演示方块",
tiles = { "my_first_mod_demo_block.png" },
groups = { cracky = 3 },
})
-- 注册合成配方:3x3 木板 --> 4 个演示方块
minetest.register_craft({
output = modname .. ":demo_block 4",
recipe = {
{ "default:wood", "default:wood", "default:wood" },
{ "default:wood", "default:wood", "default:wood" },
{ "default:wood", "default:wood", "default:wood" },
},
})
进入游戏后开启 Mod,创造模式中即可看到「演示方块」。完整的回调、权限与 HUD 能力请查阅官方 Lua API 文档。
发布
把作品发布到 ContentDB
- 为模组撰写 mod.conf(名称、描述、依赖)与 license.txt(许可证声明);
- 在 ContentDB 注册账号,提交仓库地址,平台会自动拉取版本;
- 打上语义化版本标签(如 1.0.0),玩家即可在客户端内搜索安装;
- 持续维护:回应评价、修复问题,作品评分与下载量会持续累积。
架设多人服务器
一台普通 VPS 即可承载数十名玩家同时在线。
服务器程序
官方提供 luanti-server(曾名 minetest-server)专用程序,Linux 各发行版可通过包管理器安装,Windows 亦可用主程序以服务器模式启动。
Docker 部署
官方仓库提供 Dockerfile 与部署文档,环境一致、迁移方便,适合容器化运维,见 GitHub 仓库 doc/docker_server.md。
权限与管理
内置权限(privilege)体系:授予、回收、封禁与区域保护,配合管理类模组可实现完整的社区治理方案。
开发者资源导航
| 资源 | 地址 | 说明 |
|---|---|---|
| Lua API 参考文档 | api.luanti.org | 全部注册函数、回调与对象定义 |
| 官方开发者文档 | docs.luanti.org | 入门教程、Mod 规范与最佳实践 |
| 源代码仓库 | github.com/luanti-org/luanti | LGPL v2.1+,C++ 引擎与内置脚本 |
| ContentDB 发布平台 | content.luanti.org | 游戏、模组与材质包的分发中心 |
| 官方论坛 | forum.luanti.org | 模组发布版块与问题解答 |
准备好写第一个模组了?
下载 Luanti,打开文本编辑器,从注册一个节点开始你的创作之旅。

