Skip to main content
Minestom is a Java library available on Maven Central. Unlike traditional Minecraft server platforms like Bukkit or Spigot, Minestom is added as a dependency to your project, giving you complete control over your server implementation.

Requirements

  • Java 21 or higher
  • Gradle or Maven build tool
  • Basic understanding of Java programming
Minestom is a developer API, not an end-user server. It does not implement Bukkit, Forge, or Sponge APIs. You’ll need to write your own server logic.

Maven Central (Stable Releases)

The recommended way to use Minestom is through stable releases published on Maven Central.
repositories {
    mavenCentral()
}

dependencies {
    implementation("net.minestom:minestom:1.21.11-rv2")
}
Check the Maven Central repository for the latest version number.

Testing Library (Optional)

Minestom provides an integration testing library that’s useful for writing tests for your server implementation.
dependencies {
    implementation("net.minestom:minestom:1.21.11-rv2")
    testImplementation("net.minestom:testing:1.21.11-rv2")
}

Snapshot Versions (Development)

Pull request branches tagged with “Publish Pull Request” are automatically published to the Maven Central snapshot repository. This allows you to test new features before they’re officially released.
Snapshot versions are unstable and should only be used for testing new features. They may contain bugs or breaking changes.
repositories {
    maven(url = "https://central.sonatype.com/repository/maven-snapshots/") {
        content {
            includeModule("net.minestom", "minestom")
            includeModule("net.minestom", "testing")
        }
    }
    mavenCentral()
}

dependencies {
    implementation("net.minestom:minestom:<branch>-SNAPSHOT")
    testImplementation("net.minestom:testing:<branch>-SNAPSHOT")
}
Replace <branch> with the name of the pull request branch (e.g., 1_21_6-SNAPSHOT).

Pinning Snapshot Versions

By default, snapshot versions always resolve to the latest build. This can cause inconsistency between developers if Gradle has cached an older version (default 24 hours). To pin a specific snapshot build, you can reference the exact build number:
dependencies {
    implementation("net.minestom:minestom:1_21_6-20250707.141325-4")
}
Find the pinnable version:
  • In the maven-metadata.xml file, combine snapshot.timestamp and snapshot.buildNumber
  • In IntelliJ IDEA’s “External Libraries” section, expand the -SNAPSHOT jar to see the pinnable version

Next Steps

Now that you have Minestom added to your project, you’re ready to create your first server!

Quickstart Guide

Build your first Minestom server in minutes

Core Concepts

Learn about instances, blocks, entities, and more

Build docs developers (and LLMs) love