Self-hosted Minecraft Java server management for Windows and Linux.
BlockPilotMC is a self-hosted web panel for Minecraft Java servers. It handles server setup, imports, power controls, live console access, file editing, plugins, mods, modpacks, backups, users, audit records, and host monitoring from one browser window. The panel runs on your own Windows or Linux machine, and your worlds, configuration files, account data, and backups stay on that host.
BlockPilotMC is intended for people who want a practical way to manage one or more Minecraft servers without switching between terminal windows, file explorers, and separate backup tools.
Host load, Minecraft process usage, panel status, and server shortcuts are shown on the overview page.
See which servers are running and use the main power controls without opening each server first.
Review saved archives, their contents, size, location, and restore options.
Create Paper, Purpur, Vanilla, Fabric, Folia, Forge, NeoForge, or Velocity servers with guided settings.
Search Modrinth and choose a server-compatible modpack version from the panel.
Upload an .mrpack or Server Pack ZIP, or provide a direct download URL.
Add an existing server directory and let BlockPilotMC help detect its launch command.
- Create and import Minecraft Java servers, including Paper, Purpur, Vanilla, Fabric, Folia, Forge, NeoForge, Velocity, and custom launch commands.
- Use a live WebSocket console with command input, reconnect handling, color modes, search, and complete session logs.
- Browse and edit server files, manage
server.properties, and control installed plugins, mods, and manually added JAR files. - Search Modrinth, install supported
.mrpackpackages, and import author-provided Server Pack archives. - Create full or world-only backups manually or on a schedule, then download or restore them from the panel.
- Monitor host CPU and memory together with Java PID, Minecraft CPU, RSS memory, JVM limit, and uptime.
- Manage administrator and operator accounts, session limits, idle sign-out, login protection, and audit records.
- Choose a light or dark interface, upload a background, edit sign-in text, and configure the panel port or optional bind IP.
- Integrate Discord Webhooks and Bots for notifications, bidirectional chat, channel status topics, and restricted remote commands.
- Run from source on Windows or Linux, or use the included systemd and Docker examples.
- Node.js
22to26 - npm
10or later - Java compatible with the Minecraft version you plan to run
- A modern browser such as Chrome, Edge, Firefox, or Safari
- SQLite is embedded; no separate database server is required
Choose the launcher language:
Start-BlockPilot-EN.bat English
Start-BlockPilot-TW.bat Traditional Chinese
Start-BlockPilot-ZH.bat Simplified Chinese
Start-BlockPilot.bat Language selection menu
All three language launchers check for npm, install Node.js LTS through winget when needed, install the locked project dependencies, and build the project. Windows then opens two consoles: a WEB startup window with the panel address, and a separate API window for service messages. Routine successful dashboard polling is hidden so the API console remains readable.
BlockPilotMC v1.0.4 uses better-sqlite3 13.0.2, which includes Windows x64 prebuilt files. Python and Visual Studio Build Tools are therefore not expected for a normal supported Windows x64 installation. If npm has to fall back to native compilation, the launcher stores the full output in runtime/install/npm-install.log and shows concise instructions for Python 3 and Visual Studio 2022 Build Tools with the Desktop development with C++ workload. A production-dependency audit is saved separately as runtime/install/npm-audit.log; findings are reported without applying an automatic breaking update.
The first startup creates .env and prints a randomly generated administrator password. Save it and change the password after signing in.
Ubuntu and Debian can install BlockPilotMC as a systemd service with one command:
curl -fsSL https://raw.githubusercontent.com/BlockPilotDev/BlockPilotMC/v1.0.4/scripts/install-ubuntu.sh | sudo bashAfter installation, open http://<server-ip>:8787. The installer prints the initial administrator password once and enables automatic startup.
To run directly from a cloned source folder instead:
npm ci
chmod +x start-linux.sh
./start-linux.shstart-linux.sh creates .env when it is missing, installs platform-specific dependencies when required, builds the project, and starts the panel. For firewall, systemd, and manual package instructions, see Installation.
Run these commands from the BlockPilotMC project directory containing package.json:
npm ci
npm run setup-env
npm run build
npm startThe default local address is:
http://127.0.0.1:8787
For access from another device on the same network, set HOST=0.0.0.0, allow the selected port through the host firewall, and open the panel with the host LAN address.
A sample Dockerfile and docker-compose.yml are included. Read Docker deployment before using them, especially the volume paths for runtime/ and Server/.
Common settings are stored in .env:
PORT=8787
HOST=0.0.0.0
WEB_ORIGINS=http://localhost:8787,http://127.0.0.1:8787The panel Settings page can update the port and optional bind IP. Network changes take effect after restarting BlockPilotMC.
Do not commit .env, runtime data, server files, credentials, or API keys. See Configuration for the public-source checklist.
- Release notes
- Installation
- Configuration
- Discord integration
- Docker
- Architecture
- Troubleshooting
- Upgrade guide
- Privacy and external connections
- CurseForge API integration status (planning paused)
- Security policy
- Contributing
- Third-party notices
npm install
npm run lint
npm run check:i18n
npm run check:ui
npm run check:network
npm run check:source
npm run buildRun every project check with:
npm run verifyMain directories:
apps/api/ Fastify API, SQLite, process control, backups, and file services
apps/web/ React interface and translations
scripts/ Build, validation, diagnosis, and maintenance tools
docs/ Installation, deployment, security, and project documents
runtime/ Panel runtime data; only .keep belongs in Git
Server/ Minecraft server root; only .keep belongs in Git
BlockPilotMC can start Java processes, edit server files, and accept administrative commands. Do not expose it directly to an untrusted public network. Use HTTPS behind a trusted reverse proxy, a VPN, or another access-control layer for remote administration.
Report security issues privately according to SECURITY.md.
Bug reports and focused pull requests are welcome. Please read CONTRIBUTING.md before submitting changes. New interface text must include English, Traditional Chinese, and Simplified Chinese translations.
BlockPilotMC is licensed under the Apache License 2.0. The repository also includes a project NOTICE and third-party notices.
Minecraft and related trademarks belong to their respective owners. BlockPilotMC is not an official product of Mojang Studios, Microsoft, CurseForge, Overwolf, or Modrinth, and is not endorsed by them.






