1.2.0-beta.8
Pre-releaseCraftbox | Beta Preview (v1.2.0-beta.8)
Warning
Beta builds are NOT suitable for production use, so do not use this to manage Minecraft servers you care about! Test this build in a fresh container/environment.
- NEW! Every loader now installs and tracks the newest build published for the Minecraft version you picked. Forge was following the "recommended" promotion rather than the latest one, which on MC 1.20.1 meant provisioning 47.4.10 while Forge had long since shipped 47.4.23 — and because the upgrade check read the same value back, a server sitting on the recommended build was reported up to date indefinitely. Which Minecraft versions are offered has not changed; the stable/all filter in the version picker still decides that.
- NEW! Downloads tell you how big they are. A browser given no size shows an open-ended "Resuming…" with no percentage, no total and no ETA, which is what every archive Craftbox produced looked like — a zip's length simply is not known until its last entry is written. Server exports, the server files zip, the mods/plugins zip and the public status page's mods zip are now packed before the response begins, so all four arrive with a real size and a real progress bar. Single file and backup downloads carry their exact size too.
- NEW! The panel now says how a download went. Packing progress appears while a large export is being assembled, then a toast confirms the size that was delivered, reports a cancelled download as cancelled, and — new — actually shows you the reason one was refused.
Fixes
- Fixed Paper and Folia servers auto-selecting the oldest build published for their Minecraft version rather than the newest. The upstream build list is returned newest-first and Craftbox was reversing it on the assumption it was not, so both a fresh install and an upgrade took the wrong end of the list — on 1.21.11 that was build 35 instead of build 132. Both providers now sort the list themselves rather than trusting its order.
- Fixed a NeoForge beta being able to sort ahead of the release it precedes, so
21.9.16-betacould be offered as an upgrade over21.9.16. - Fixed a download being refused with no explanation. Stopping a download because the server is running returned an error the browser never displayed — it either did nothing visible or replaced the page you were on with a page of raw JSON. The reason now arrives as a toast, and the page you were on stays where it is.
- Fixed a cancelled or failed export leaving the panel with no idea either happened.
- Fixed an export holding the backup lock for the entire client download. It is now held only while the archive is packed, so a slow download no longer keeps a scheduled backup waiting behind it, and a client who gives up mid-export stops the packing work instead of leaving it compressing bytes nobody will read.
- Fixed a backup download advertising the size recorded in the database rather than the size of the file being sent, which reports as a corrupt download if the two ever disagree.
- Fixed an export with nowhere to go failing halfway through. There is now a free-space check before any packing starts, and a clear message when there is not enough room.
Note
Packing an archive before sending it is the trade that buys the size and the progress bar, and it is not free: on a large server there is now a wait before the download appears, roughly proportional to how much is being packed. The export panel says so, and the progress toast counts through it. The payoff beyond the progress bar is that a failure now lands before the download starts, so it can be reported properly instead of arriving as a truncated archive.
Dependencies
- better-sqlite3 13.0.3, express-rate-limit 8.6.2, sharp 0.35.4, uuid 14.0.2, ws 8.21.3.
archiver8 andcontent-disposition3 are held back: both are ESM-only releases, and adopting either means converting the whole application away from CommonJS.
Installation
The easiest way to host Craftbox yourself is by using Docker. Please read this part of the Craftbox docs for the installation guide.
Alternatively, you can also download the source code, install the required node modules and run the server manually. (Learn more)