Skip to content

Releases: abhicommands/Minecraft-Server-Panel

Minecraft Server Panel v3.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 23:23
c37d7fd

Highlights

Minecraft Server Panel 3.0.0 replaces the active Node backend with a Bun 1.4
TypeScript backend and ships the frontend and backend together as a standalone
executable. End users do not need Bun, Node.js, npm, or node_modules.

  • Native Bun.serve, Bun.Terminal, and bun:sqlite backend.
  • Embedded React/Vite frontend with same-origin /api and /socket.io routing.
  • Standalone Apple Silicon macOS and glibc Linux x86_64 archives.
  • Interactive installer with automatic JWT generation, bcrypt password setup,
    direct-IP HTTP mode, and optional Caddy-managed HTTPS for DNS names.
  • Streamed uploads, validated ZIP backup handling, and external panel-data.
  • Serialized server lifecycle operations, durable process identity markers,
    complete process-group cleanup, crash recovery, and transactional update/delete
    recovery.
  • Bun-only development, lockfiles, audits, native smoke tests, benchmarks, and
    tag-driven release automation.

Why the Bun rewrite

The primary goal was a self-contained release without Node, npm,
node_modules, node-pty, or better-sqlite3 native-addon installation. The
rewrite also produced measurable gains on the recorded Apple M1 baseline:

Measurement Compiled Bun Legacy Node Result
Ready time 43.00 ms 201.17 ms 4.68x sooner
Idle RSS 51.13 MiB 90.55 MiB 43.5% lower
Session validation 44,808 req/s 14,300 req/s 3.13x throughput
Empty server list 39,175 req/s 11,777 req/s 3.33x throughput
Indexed UUID lookup 213,862/s 66,687/s 3.21x throughput
ZIP creation 87.10 MiB/s 74.33 MiB/s 17.2% faster
ZIP extraction 317.22 MiB/s 637.63 MiB/s 2.01x slower

These are application-level measurements from one machine, not a general claim
that Bun beats Node on every workload. The extraction regression is disclosed
deliberately; the Bun path also performs stricter CRC, size, overlap, path, and
symlink validation. The benchmark harness, fixture details, memory figures, and
reproduction commands are in the
benchmark documentation.

Install

Download the archive matching the host, extract it, and run:

./install.sh

The installer explains and validates the deployment choice. Java remains a host
requirement for Minecraft servers. Caddy is used only for automatic HTTPS when a
DNS name is selected; direct-IP HTTP mode runs the application without Caddy.

Verify downloads

Download SHA256SUMS beside the selected archive, then run:

shasum -a 256 -c SHA256SUMS

Each archive was built and smoke-tested natively in GitHub Actions and has a
GitHub artifact attestation. Back up an existing installation before cutover.

Supported release targets:

  • Apple Silicon macOS (darwin-arm64)
  • glibc Linux on x86_64 (linux-x64)

See the full changelog
and installation documentation.

Full comparison: 2.1.0...v3.0.0

Release 2.1.0

Choose a tag to compare

@abhicommands abhicommands released this 04 Nov 19:27

Release v2.1.0

What's Changed

  • Fixed the zip downloading, if downloading a file that was already a .zip then it wasn't working so fixed that.
  • Also fixed the issues with downloading and updating different server types such as Paper, Vanilla, Forge and not just fabric everytime.

Operating Requirements

  • curl
  • tar
  • Node.js 22 LTS (must be v22.x)
  • npm
  • Java (any version is fine; use the version your server/JAR requires)
  • sudo (optional; used to deploy frontend to /var/www/mc-panel. Without sudo, files go to ~/mc-panel-www)
  • Caddy or any other reverse proxy server such as nginx, apache to setup a reverse proxy server for the frontend.

Installation/update (One-liner)

install-minecraft-server-panel.sh is included for easy installation of the entire stack on a Linux server. It automatically downloads the latest assets and sets up the backend (in ~/Minecraft-Server-Backend) and the frontend (to /var/www/mc-panel if sudo is available, otherwise ~/mc-panel-www).
If already the backend or frontend exists then the script will automatically backup the server-directory and the server-database.

Run:

curl -fsSLO https://github.com/abhicommands/Minecraft-Server-Panel/releases/download/2.1.0/install-minecraft-server-panel.sh
chmod +x install-minecraft-server-panel.sh
./install-minecraft-server-panel.sh

Example Caddyfile Configuration

# Public IP
https://www.example.com {
        root * /var/www/mc-panel
        file_server
        # The PORT is the port you select for backend in the installation script.
        handle_path /api/* {
                reverse_proxy localhost:$PORT
        }
        handle {
                try_files {path} /index.html
        }
        # No CORS needed if your frontend calls /api on THIS same origin
}

Release 2.0.1

Choose a tag to compare

@abhicommands abhicommands released this 03 Nov 00:14

Release v2.0.1

What's Changed

  • Removed MSH config entirely (it caused multiple issues).
  • Fixed an upload method vulnerability.
  • Added ability to edit startup command flags for the Minecraft server (e.g., -XX:+UseZGC) beyond the basic -java -jar server.jar nogui.
  • Fixed a frontend issue where a new endpoint caused multiple duplicate calls for a specific task.
  • General stability improvements and bug fixes.

Operating Requirements

  • curl
  • tar
  • Node.js 22 LTS (must be v22.x)
  • npm
  • Java (any version is fine; use the version your server/JAR requires)
  • sudo (optional; used to deploy frontend to /var/www/mc-panel. Without sudo, files go to ~/mc-panel-www)

Installation (One-liner)

install-minecraft-server-panel.sh is included for easy installation of the entire stack on a Linux server. It automatically downloads the latest assets and sets up the backend (in ~/Minecraft-Server-Backend) and the frontend (to /var/www/mc-panel if sudo is available, otherwise ~/mc-panel-www).

Run:

curl -fsSLO https://github.com/abhicommands/Minecraft-Server-Panel/releases/download/2.0.1/install-minecraft-server-panel.sh
chmod +x install-minecraft-server-panel.sh
./install-minecraft-server-panel.sh

Release 2.0.0

Choose a tag to compare

@abhicommands abhicommands released this 02 Nov 03:58

Release 2.0.0

What's Changed

  • Fixed the update server issue not working
  • Updated all packages to the newest stable versions (node-stream-zip, better-sqlite3, etc.)
  • Switched frontend to Vite for faster, more responsive builds with modern, actively maintained dependencies (replacing Create React App)

Assets

  • Minecraft-Server-Panel-Frontend-v2.0.0.tar.gz — static frontend build (dist/ contents)
  • Minecraft-Server-Panel-Backend-v2.0.0.tar.gz — server source (tracked files only; no node_modules)

Install / Upgrade

Frontend → /var/www/mc-panel
sudo mkdir -p /var/www/mc-panel
curl -L <FRONTEND_ASSET_URL> | sudo tar -C /var/www/mc-panel -xz
Backend → /opt/mc-panel
sudo mkdir -p /opt/mc-panel
curl -L <BACKEND_ASSET_URL> | sudo tar -C /opt/mc-panel -xz
cd /opt/mc-panel
npm ci

Environment

  • After downloading and uncompressing, create a .env file in the server folder with the required values.
  • Guidance for .env variables is in README.md.

React build/node repo Release

Choose a tag to compare

@abhicommands abhicommands released this 12 Nov 05:13

This release consists the build compilation for the React front end and also consists a compressed node server as well. Release is made for the purpose of creating easier deployments, without requiring to git clone in remote containers/servers.