Skip to main content
grounds-minestom-runtime provides the process-level pieces for Grounds Minestom lobby and minigame servers: module lifecycle, shared services, runtime configuration, and Minestom startup and shutdown orchestration. It is not a hot plugin system. Build a server as an immutable Gradle distribution with its runtime dependencies already on the classpath, then use modules to compose its behavior at startup.

Add the runtime

Add the runtime core from the Grounds Maven registry. Your application calls the runtime API directly, so use implementation rather than runtimeOnly.
build.gradle.kts
Configure github.user and github.token through Gradle properties or your CI environment before resolving Grounds GitHub Packages.

Compose a server

Use GroundsServer.builder() in your application entrypoint. Discover provider-backed modules from the classpath, then select only the providers your server needs.
discoverProviders() finds GroundsModuleProvider implementations through Java ServiceLoader. Discovery alone does not activate every provider; useProvider selects one by its stable ID.

Start here

Runtime modules

Define lifecycle-aware modules, providers, descriptors, and typed service contracts.

Runtime composition

Discover providers, select modules, configure the runtime, and understand startup behavior.

Local modules

Replace a released Minestom module with a local repository during a Grounds push.

Manifest reference

Configure the Minestom distribution task and artifact in grounds.yaml.