Repository navigation
Scripting
Welcome to the JustHostMC Lua Scripting guide.
JustHostMC uses sandboxed Lua scripts as the primary extension point for integrating new Server Types (Providers), orchestrating background tasks (Automation), parsing mod/plugin metadata (Parsers), and downloading add-ons from online sources (Shops).
Because scripts run inside the engine, they are heavily sandboxed and can only interact with the operating system through a strict, permission-gated API.
Please choose a subcategory below to explore the documentation:
Learn about the gopher-lua sandbox, the execution model, and how the returned launch specs tie into the underlying isolation and container mechanisms (Windows Job Objects / Docker).
Learn how to define a Server Provider. Details the meta object, the versions() method, and the install(ctx) method which returns the launch specification.
Learn how to drive running servers. Details lifecycle hooks (on_log, on_start, on_stop, schedule) and the server.* control API.
Comprehensive documentation on the jhmc.* table exposed to scripts. Includes Network, Filesystem, and Process/Java functions.
Details the 9 required permission kinds and explains the security consent model for user-imported scripts vs. built-in scripts.
See complete, copy-pasteable examples for both Provider and Automation scripts.
Learn how to write scripts that extract metadata (name, version, authors, icon) from uploaded mod and plugin jars for the UI.
Learn how to build Shop scripts to browse, search, and download add-ons directly from online sources like Modrinth or CurseForge.