Simple utility for declarative and reproducable Minecraft server development
Find a file
Perny 774e2380fa
Some checks failed
Build / build (push) Has been cancelled
woops readmeeeeeeeeeeeeeeee
2026-01-20 20:49:23 +02:00
.github/workflows changes to wrapper stuff 2026-01-19 01:41:09 +02:00
cmd/plugstep progress bars 2026-01-20 02:42:12 +02:00
images Upload files to "images" 2026-01-20 20:26:07 +02:00
pkg/plugstep progress bars 2026-01-20 02:42:12 +02:00
scripts changes to wrapper stuff 2026-01-19 01:41:09 +02:00
.gitignore fix: fix gitignore ignoring the entirety of plugstep 2026-01-19 00:11:24 +02:00
.plugstep-version wrapper upgrade 2026-01-19 02:16:21 +02:00
go.mod progress bars 2026-01-20 02:42:12 +02:00
go.sum sqlite cache! 2026-01-19 21:37:58 +02:00
LICENSE Initial commit 2025-09-18 11:54:01 +03:00
plugstepw wip plugstepw 2026-01-19 01:19:26 +02:00
plugstepw.ps1 update wrapper stuff 2026-01-19 01:37:07 +02:00
README.md woops readmeeeeeeeeeeeeeeee 2026-01-20 20:49:23 +02:00

Declarative and reproducible Minecraft server deployment.
Core component to the Mineframe stack.

InstallUsageExampleAboutWhy Plugstep?


Installation

curl -sSL https://releases.perny.dev/mineframe/plugstep-wrapper/install.sh | bash
Windows (PowerShell)
iwr -useb https://releases.perny.dev/mineframe/plugstep-wrapper/install.ps1 | iex

This adds plugstepw and .plugstep-version to your project. Commit both to version control. There's no global install by design, because if your server config is reproducible, so should your tooling be. You can think of Plugstepw similarily to Gradlew.

Updating: ./plugstepw upgrade

Removing: Delete plugstepw, plugstepw.ps1, and .plugstep-version

Usage

./plugstepw                  # Show version
./plugstepw install          # Download server JAR and all plugins
./plugstepw plugin add       # Add a plugin interactively
./plugstepw plugin remove    # Remove a plugin
./plugstepw plugin search    # Search for plugins
./plugstepw plugin list      # List configured plugins
./plugstepw plugin pin       # Pin plugins to their current versions
./plugstepw upgrade          # Upgrade plugstep to the latest version

Quick Example

plugstep.toml

[server]
vendor = "papermc"
project = "paper"
minecraft_version = "1.21.8"
version = "latest"

[[plugins]]
source = "modrinth"
resource = "luckperms"
version = "v5.5.0-bukkit"

Output

INFO Initializing Plugstep ♪(๑ᴖ◡ᴖ๑)♪
|--------------------------------------|
|   Server vendor     papermc          |
|   Server project    paper            |
|   Minecraft version 1.21.8           |
|   Server version    latest           |
|--------------------------------------|
INFO Downloaded server JAR successfully.
INFO Starting plugin download plugins=1
INFO Installed luckperms
INFO Plugins ready. installed=1 checked=0

What's Mineframe?

Mineframe is a work in progress scalable and developer friendly technology stack for developing Minecraft servers. It relies on technology like Docker, Plugstep and Schemastash to create a unified and scalable Mineframe network. Mineframe was designed for use on the McWar server, but we decided to turn it into an independent project.

Can I use this on my server?

Yes! Plugstep is licensed under GPLv3 meaning you can freely use it on your server, whether commercial or not. Please do note that the GPLv3 license is a copyleft license, so all derivative work must also be licensed under it.

How is this better?

Plugstep is designed to allow a reproducible Minecraft server to be made. This means that multiple developers can develop concurrently, use version control software to combine their work, and deploy it in production without ever manually dragging a single file. It may not be ideal for a small server like a private SMP, but in situations where the ability to spin up an exact replica server in seconds is useful, Plugstep does the hard work for you.


Part of Mineframe. Opinionated stack for declarative and reproducible Minecraft networks