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 useimplementation rather than runtimeOnly.
build.gradle.kts
github.user and github.token through Gradle properties or your CI
environment before resolving Grounds GitHub Packages.
Compose a server
UseGroundsServer.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.