Skip to content

Minecraft Server Panel v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Aug 23:23
· 2 commits to master since this release
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