~/projects/mcserver-creator

SOFTWARE2026

mcserver-creator

A command-line tool that scaffolds a new Paper Minecraft server, downloading the latest Paper build and selected Modrinth plugins automatically.

TIMELINE
May 2026 – Sep 2026
TEAM
Solo
CONTEXT
Personal project
Terminal output of the provisioner: prompts, a summary panel, then the Paper jar and three Modrinth plugins downloading.

Overview

mcserver-creator is a command-line script that provisions a new Paper Minecraft server from a template directory. It prompts for a server name and Minecraft version, downloads the matching Paper server jar, and fetches any selected plugins from Modrinth, assembling a ready-to-run server folder.

Features

  • Interactive prompts (via questionary) for server name, Minecraft version, and plugin selection
  • Fetches the list of available Minecraft versions and the latest Paper build for the chosen version from the PaperMC Fill API, defaulting to stable builds with an --unstable flag to allow experimental channels
  • Reads a default plugin list from _template/plugins.txt and lets the user toggle which ones to install, plus accepts additional Modrinth slugs ad hoc
  • Resolves and downloads the correct Modrinth plugin version for the target Minecraft version and Paper/Bukkit/Spigot loaders, falling back to the latest compatible version if no exact match exists
  • Streams downloads with a rich progress bar showing transfer speed and time remaining
  • Copies a _template directory (server.properties, eula.txt, start scripts, server icon) into the new server folder and reports any plugins that failed to download

How it works

The script is a single uv run Python file with inline dependency metadata (httpx, rich, questionary, packaging). It talks to two APIs: PaperMC’s Fill API for server jar builds, and the Modrinth API for plugin versions, matching plugins by Modrinth slug and preferring the primary file in each version’s file list.