Overview
Discover what makes Luanti powerful
Luanti (formerly Minetest) is a cross‑platform, open‑source voxel engine written primarily in C++ with a Lua scripting layer. It exposes a full game loop, physics, rendering, and networking stack while delegating gameplay logic to Lua scripts. This separation lets developers prototype quickly in Lua and then ship high‑performance binaries for Windows, macOS, Linux, BSDs, and Android.
Core engine
Scripting
Data storage
Networking
Overview
Luanti (formerly Minetest) is a cross‑platform, open‑source voxel engine written primarily in C++ with a Lua scripting layer. It exposes a full game loop, physics, rendering, and networking stack while delegating gameplay logic to Lua scripts. This separation lets developers prototype quickly in Lua and then ship high‑performance binaries for Windows, macOS, Linux, BSDs, and Android.
Technical Stack & Architecture
- Core engine: C++17, SDL2 for input/windowing, OpenGL/DirectX 11+ for rendering. The engine is modular: core services (audio, physics, networking) are compiled into a shared library (
libluanti.so/luanti.dll) that the launcher loads. - Scripting: Lua 5.4 is embedded via
luabind‑style bindings. All game content—nodes, items, entities, chat commands—is defined in Lua tables exposed through theminetestglobal namespace. - Data storage: Worlds are stored in a custom binary format (
.mtdfiles) that serialize chunk data, entity state, and metadata. Optional SQLite back‑ends are available for server side persistence (player inventories, bans). - Networking: A lightweight TCP/UDP protocol handles player connections, entity replication, and chat. The engine ships a built‑in server that can host up to several hundred players on commodity hardware.
Core Capabilities & APIs
- Lua API:
minetest.register_node,register_item,register_entity,register_chatcommand, etc. These functions allow developers to add new block types, tools, and gameplay mechanics without touching C++ code. - Mod lifecycle hooks:
on_prejoin,after_mods_loaded,before_shutdownprovide deterministic points for initialization and cleanup. - Map generators: Built‑in generators (flat, perlin, caves) can be swapped or extended via Lua modules. Custom generators can directly manipulate chunk data.
- ContentDB integration: The engine can download mods and texture packs from the community repository via HTTP, enabling rapid iteration.
Deployment & Infrastructure
- Self‑hosting: The server binary is a single executable with optional command‑line flags for port, max players, and world directory. It can be run on bare metal or within a Docker container (
luanti/luanti:latest). - Containerization: Official Docker images expose volume mounts for
/worlds,/mods, and/contentdb. Environment variables (MAX_PLAYERS,SERVER_NAME) configure runtime behavior. - Scalability: While a single server handles hundreds of players, horizontal scaling is achievable via dedicated proxy layers (e.g., HAProxy) that route clients to multiple instances and share world state through a central database.
Integration & Extensibility
- Plugin system: Mods are simply Lua files placed in the
mods/directory. The engine automatically loads them on startup, supporting hot‑reloading in single‑player mode. - Webhooks & REST: A minimal HTTP server can be enabled to expose endpoints for player statistics or custom chat commands. Third‑party services (Discord bots, monitoring dashboards) can hook into these endpoints.
- Customization: Texture packs are ZIP archives that override node textures at runtime. Shader overrides allow developers to experiment with visual styles without recompiling the engine.
Developer Experience
- Documentation: The
doc/developing/directory contains a comprehensive Lua API reference, architecture diagrams, and best‑practice guides. The website hosts tutorials from beginner to advanced. - Community: A vibrant forum and IRC channel provide rapid support. The ContentDB API is well‑documented, enabling automated publishing of mods.
- Licensing: LGPLv2.1+ allows commercial use while requiring modifications to the engine to be shared, striking a balance between openness and proprietary development.
Use Cases
- Custom multiplayer server – Deploy a themed voxel world (e.g., survival, creative) with bespoke gameplay rules via Lua scripts.
- Educational sandbox – Build physics or programming lessons by exposing low‑level engine functions to students in a safe environment.
- Rapid prototyping – Iterate on game mechanics entirely in Lua, then compile a lightweight binary for distribution.
- Modding platform – Host a mod showcase where community members can drop new content into the server’s
mods/folder and see it applied instantly.
Advantages Over Alternatives
- Performance: Native C++ engine with optional OpenGL/DirectX rendering delivers frame rates comparable to commercial voxel engines.
- Modularity: Lua scripting keeps gameplay logic separate, enabling quick iteration without recompilation.
- Open‑source licensing: LGPLv2.1+ allows commercial deployment while preserving community contributions.
- Cross‑platform reach: Native binaries for major desktop OSes and Android reduce friction for developers targeting diverse audiences.
- Extensive mod ecosystem: Over 1,100 mods on ContentDB provide ready‑made building blocks and learning material.
Luanti’s architecture empowers developers to focus on creative game design while leveraging a robust, self‑hosted engine that scales from single‑player prototypes to large multiplayer communities.
Open SourceReady to get started?
Join the community and start self-hosting Luanti today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Retrom
Centralized, self-hosted game library for all devices
Huly
All-in-one platform for team planning, chat, and virtual office
Davis
Modern, feature‑packed DAV server with admin UI
Listaway
Self‑hosted public list sharing
Mylar3
Automated comic book downloader and organizer
Note Mark
Fast, minimal web‑based Markdown notes with sharing and asset support