Repository navigation
Releases
CraftPanel v1.0.0
Upgrading
First stable release. From 0.3.x, update from the dashboard or re-run the installer. From 0.2.x or older, follow "Upgrading from 0.2.x" under 0.3.0 once.
Fixed
- Plugin and mod updates from Modrinth no longer suggest beta or alpha versions for an installed stable release; installs that already run a beta keep getting the newest one.
- Updating NeoForge to another version removes the previous version's libraries instead of leaving them in
libraries/. - Removing a plugin installed from Hangar also forgets it in
plugins/.craftpanel-hangar.json. - The software switch preview says "It stays in the folder" for a single mod or plugin.
Install or update
Linux / Raspberry Pi (systemd): curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash
Windows (PowerShell): irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex
Already installed: run the same command again, or the update command shown in Settings → Security & about. Servers, worlds and backups are kept.
CraftPanel v0.3.0
Upgrading from 0.2.x
This release moves Minecraft into its own runtime service. The first update saves and stops running servers once (servers with auto-start come back) and needs your explicit approval, so it can't be started from the dashboard of 0.2.x:
- Linux / Raspberry Pi:
curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash -s -- --allow-runtime-restart - Windows: in PowerShell as administrator (once, to register the runtime service; same Windows account):
$env:CRAFTPANEL_ALLOW_RUNTIME_RESTART = "1"; irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex - Checkout:
update.cmd/./update.sh, thenpnpm startas before; it now starts the runtime too.
Later dashboard-only updates keep your servers running.
Added
- Independent Minecraft runtime service with authenticated local IPC, console replay and dashboard reconnection. Dashboard-only updates preserve running servers; runtime changes require explicit maintenance approval. Windows service registration needs one elevated installation under the dashboard owner's account.
pnpm startin a checkout starts the runtime and the dashboard together, or reuses a runtime that already runs for the same data directory.
Fixed
- Runtime-update rollback preserves registry ownership and boot policy. Dashboard rollback leaves an unchanged Windows runtime host untouched. Manual runtime/dashboard starts share the same default data directory, and server installation is not reported complete before runtime registration is acknowledged.
Install or update
Linux / Raspberry Pi (systemd): curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash
Windows (PowerShell): irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex
Already installed: run the same command again, or the update command shown in Settings → Security & about. Servers, worlds and backups are kept.
CraftPanel v0.2.1
Changed
- Settings lists its sections on the left on wide screens and as a swipeable row on narrow ones, instead of a tab bar that needed horizontal and vertical scrollbars.
Fixed
- Windows: running
update.ps1of an installation by hand always acts on that installation. Before, an installation in a custom folder updated (or, withCRAFTPANEL_UNINSTALL=1, removed) the default installation unless the sameCRAFTPANEL_*variables were set again; a conflictingCRAFTPANEL_INSTALL_DIRis now refused. - Windows: a first install with
CRAFTPANEL_PORTno longer fails with "Another CraftPanel is running" when a different CraftPanel uses port 8080.
Install or update
Linux / Raspberry Pi (systemd): curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash
Windows (PowerShell): irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex
Already installed: run the same command again, or the update command shown in Settings → Security & about. Servers, worlds and backups are kept.
CraftPanel v0.2.0
Added
- Transactional Linux and Windows updates: verify recovery support before stopping, snapshot the database and startup artifacts, restore on installation failures, reject concurrent installers and retain two successful recovery points. Source-based Linux installs use the same installer path.
- Windows process supervisor with suspended startup and a kill-on-close Job Object so scheduled-task shutdown also owns Node and its descendants.
- Browser-facing dashboard origins (
CRAFTPANEL_PUBLIC_URL) and explicit trusted proxy peers (CRAFTPANEL_TRUSTED_PROXIES), including proxies on another host. - Deployment checks in Remote access, a read-only
doctorcommand with JSON output, and/api/readyfor startup/database readiness. - Release packages: every
v*tag publishes one archive that runs on every OS and CPU (no build on the target machine), with SHA-256 checksums. - One-line installers:
install.shfor Linux and Raspberry Pi (systemd service, private Node.js if needed) andinstall.ps1for Windows (runs at sign-in, no admin rights needed). Re-running them updates; a failed update rolls back. - Update notice in the dashboard when a newer release is available, with the right update command for the install.
- Settings in
/etc/craftpanel/craftpanel.env(Linux service) survive updates. - Purpur servers (Paper fork; same plugins, TPS/MSPT and
/craftpanelcommand). - NeoForge servers with a choice of NeoForge version (the official installer runs during installation); NeoForge mods from Modrinth (search, install, updates, upload) with dependency checks from
neoforge.mods.toml. - When NeoForge fails to load a mod, the crash reason names the jar (and says when it is a client-only mod) instead of a generic "Failed to start the minecraft server".
- Fabric servers with a choice of loader version; Fabric mods from Modrinth (search, install, updates, upload) with dependency checks by mod id.
- Log4Shell protection for Minecraft 1.7–1.18: CraftPanel adds Mojang's JVM flag or patched logging config on every start and shows it in the wizard and the server's runtime settings.
- Two-factor sign-in with an authenticator app (TOTP) and recovery codes; owners can require it per role and reset it for a user.
- Signed-in devices: see and sign out your sessions; owners can sign a user out everywhere.
- Per-server access: give users a role on single servers, or limit them to selected servers (e.g. a moderator for one server).
- Settings → Software & version: switch between Paper, Purpur, Fabric, NeoForge and Vanilla in any direction, change the Minecraft version or build, with a preview of what will happen (backup, world upgrade, add-ons that stop loading). Downgrades need an explicit confirmation.
- Update CraftPanel from the dashboard: "Update now" shows the release notes and which servers restart, follows the update through the restart and reloads into the new version, with "What's new" afterwards. Failed updates are rolled back and reported in the dashboard, the activity log and notifications. Works for installs made with
install.sh(systemd) andinstall.ps1; run the installer once more to enable it. - Performance presets (Raspberry Pi / small VPS, Balanced, Powerful machine): Aikar's garbage collector flags sized for the server's memory plus view and simulation distance. The wizard picks the one recommended for this machine; Settings → Performance switches between them and keeps your other JVM arguments.
- World pre-generation with Chunky (Paper, Purpur, Fabric, NeoForge): install it with one click, choose a radius around spawn, follow the progress, pause, continue or cancel.
- Servers from a modpack: search Fabric and NeoForge modpacks on Modrinth (or upload a
.mrpack) in the wizard; CraftPanel picks the Minecraft and loader version from the pack, downloads its server-side files with checksum checks, applies its overrides and keeps your port and EULA settings. - Hangar (PaperMC's plugin repository) as a second plugin source for Paper and Purpur: switch between Modrinth and Hangar under Plugins → Browse; installs are checked against Hangar's SHA-256, and plugins installed from Hangar show up under Updates.
CRAFTPANEL_RELEASE_DIR: update from a local folder of release archives instead of GitHub.- Velocity proxy: several servers behind one address. Create a Velocity server in the wizard, add servers on its Proxy tab in the order players should try them (optionally with a forced host), and CraftPanel writes
velocity.toml, sets up modern forwarding with a generated secret and configures Paper/Purpur backends (and Fabric backends via FabricProxy-Lite) on their next start. Backends can be bound to this computer so players can only join through the proxy. Velocity plugins from Modrinth. - Notifications via Discord webhook and e-mail (SMTP) when a server crashes or fails to start, a backup or scheduled task fails, or a CraftPanel update is available; with a test button.
Changed
- License: CraftPanel is now under the Functional Source License 1.1 with Apache 2.0 future license (FSL-1.1-ALv2) instead of AGPL-3.0-or-later. Use, changes and redistribution are allowed for any purpose except a competing commercial product or service, and each version becomes Apache-2.0 two years after its release. (An interim switch to PolyForm Strict 1.0.0 was never released.)
- The version lives only in
package.json. update.cmd/./update.shshow one line per step with its duration instead of the full pnpm and build output. That output goes toupdate.logand is shown only if a step fails;--verboseshows it live.- Faster and smaller: the dashboard is sent brotli/gzip-compressed (about 1.2 MB of JavaScript → 0.3 MB) and cached by the browser; the panel starts about 15% faster and uses less memory; the release archive no longer ships the 8 MB source map.
- The system view answers in about 2 ms instead of 9 ms on Windows.
- Downloads (Minecraft, Java, mods) retry twice on temporary server errors such as an HTTP 504 from GitHub instead of failing the installation.
Fixed
- Concurrent first-run requests can create only one owner account. Windows task shutdown now owns the entire managed process tree, including failed startup before a control token exists.
- Reverse-proxy setup requires the host's setup token even when the backend listens on loopback. Public clients require HTTPS and Secure cookies; missing proxy client-IP headers and ambiguous transport headers are rejected.
- HTTP and WebSocket origin checks include the scheme and support an external origin when the proxy rewrites Host. Backend TLS and Secure cookies are no longer presented as proof of browser HTTPS.
- The server section navigation can no longer be scrolled vertically by a pixel; it only scrolls sideways when the sections do not fit.
- Two servers installing at the same time no longer break each other's Java download.
- Switching from Paper or Purpur (Minecraft 1.21 and older) to Vanilla or Fabric no longer loses the Nether and the End: their folders are moved back into the world.
- The Worlds tab shows the Nether and the End for Minecraft 26.x worlds.
- Dashboard links no longer request missing prefetch files (404s in the browser console); page changes are faster.
- The Linux installer could report a failed update although the rollback had worked (systemd's restart counter from the broken version was counted again).
- On Windows the dashboard could miss how CraftPanel was installed (
install.jsonwith a byte order mark), so it showed no update command. - Development mode (dashboard on its own port) rejected PUT/PATCH/DELETE requests because of the CORS defaults.
- Invalid HTML nesting in the dashboard (a loading placeholder inside a paragraph) that caused hydration warnings, and a WebSocket warning in development.
Install or update
Linux / Raspberry Pi (systemd): curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash
Windows (PowerShell): irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex
Already installed: run the same command again, or the update command shown in Settings → Security & about. Servers, worlds and backups are kept.
CraftPanel v0.1.0
Oldest packaged version, mainly for testing updates. Built from commit 78af8be, the first state with release packages and installers. Known limits fixed in later versions: on Windows the dashboard shows no update command (
install.jsonwith a byte order mark) and cannot update itself, and a hand-runupdate.ps1of an installation in a custom folder acts on the default installation unless the sameCRAFTPANEL_*variables are set. Use v0.2.1 or newer for real installations.
First public version.
- Vanilla and Paper servers for any published version, checksum-verified downloads, automatic Java.
- Live console, metrics (CPU, RAM, TPS/MSPT), players, whitelist/ops/bans, settings and game rules editors.
- Plugins from Modrinth, worlds, file manager, backups with verification and restore, scheduled tasks.
- Start profiles (
local,lan,proxy,headless), network access policy, optional built-in HTTPS. - Multi-user with roles and an audit log, setup token for network-exposed installs.
- In-game
/craftpanelinfo command. - Linux systemd installer for git checkouts and the
update.cmd/./update.shupdate script.
Install or update
Linux / Raspberry Pi (systemd): curl -fsSL https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.sh | sudo bash
Windows (PowerShell): irm https://github.com/vctrchappot/CraftPanel/releases/latest/download/install.ps1 | iex
Already installed: run the same command again, or the update command shown in Settings → Security & about. Servers, worlds and backups are kept.