0.2.0-beta.0 minor

Our biggest update since preview began

The biggest core update since preview began. Modpack mode, a memory advisor that knows your real RAM, locale-safe Windows, and a pile of reliability work.

Highlights

  • · Thanks for hanging in there. This release is the biggest core architectural and feature update since preview began - the gap between updates was us making sure it'd be worth the wait. Heads-up though: an overhaul this size means there may be regressions we didn't catch. If something that worked yesterday breaks today, please file a Diagnostics report from inside the app - we want to hear about it fast so we can patch it.
  • · Modpack-mode managed servers: spinning up a server from a Modrinth modpack is now a first-class flow, and once installed the server runs in 'modpack mode' that keeps its identity stable. The Server Info card shows the pack's effective Minecraft version and loader (instead of the underlying generic Java image), the TYPE and VERSION fields lock so you don't accidentally drift the server out from under the pack, and the pack's true name + version surface in tooltips, the web portal banner, and the Discord Connect Card. The new wizard mode lets you pick a modpack from the asset browser, see version chips for which MC + loader combos that pack supports, stage your choice, and ship a working server in one flow. Modpacks enforce single-world (which mods like FTB Quests assume); the wizard explains this when it applies. Uninstall from the Collection tab when you want to leave modpack mode.
  • · Modpack client downloads auto-add the server: when you download the client-side modpack file from a SpawnBox-managed server, SpawnBox now injects the server's connection info into the .mrpack file's bundled server list. Launchers like PrismLauncher auto-add the server when your friends install the pack, so they go from 'click install' to 'connect to your server' without ever typing an address. The passthrough path also fingerprints the bundle, so re-downloading when nothing changed is instant.
  • · Memory advisor with proactive start gating: SpawnBox now actively coaches you on RAM allocation. The new memory input in the create-server wizard, import-server wizard, and Settings tab shows you exactly what your machine has available right now (not what's configured-but-not-applied), with inline copy that calls out under-allocation, over-allocation against your true ceiling, and the gap between your roster and what your system can host. When you start a server, SpawnBox makes one of three calls: it fits right now and starts immediately, it needs to grow the underlying memory ceiling first (a one-time prompt that explains exactly what's about to happen and why), or your roster + machine combination genuinely can't host it and the start is blocked with a plain-English explanation of which servers to free up. The old behavior - hardcoded 256GB cap, no advice, post-hoc out-of-memory crashes when reality didn't match the dial - is gone.
  • · System memory comes back when servers are stopped: when all your servers are stopped, the small Linux container SpawnBox runs servers inside now fully releases the system memory it was holding. Previously the container kept that memory reserved until you quit SpawnBox entirely, which surprised people who run games or other heavy apps alongside it. Now: servers off, memory back. Start a server again and the container boots as part of the launch. The memory ceiling itself is also computed from your actual server roster - it grows when you add a bigger server and propagates without an app restart.
  • · Quit warns when players are online; tray gets an Advanced submenu: if someone is mid-game, SpawnBox warns you before the Quit button pulls the rug - it checks who's actually connected to your servers, not just process state. The right-click tray menu also has a new Advanced submenu with explicit shutdown options for the Linux container that hosts your servers on Windows, so when you genuinely want to free that memory and you know what you're doing, the option is there instead of buried.
  • · Modded re-imports keep per-world progress: importing a modded server with FTB Quests, FTB Teams, JourneyMap, Xaero's Map, or similar mods that store per-world progression used to lose that data on certain re-import paths. The system that decides where each mod's data lives is now reconciled right before each launch instead of locked in at install time. Per-world data carries cleanly across imports and edits - and this is the underpinning needed for the multi-world / multi-mod-stack story SpawnBox is built around.
  • · The window opens at a sensible size after every reboot: there was a bug where the window's saved size and position could get corrupted across an app close + Windows reboot cycle, causing the next launch to come up as a paper-thin strip at the top of the screen or a tiny rectangle in the top-left corner. The fix discards any saved window state that's below an 800x600 floor, refuses to save garbage values to begin with, and adds an operating-system-level minimum size as a final safety net. If your current install has already been bitten by this, the new version self-heals on first launch - it sees the bad saved state, throws it out, and re-maximizes the window cleanly.
  • · Big step toward localization-safe Windows ops: SpawnBox used to lean on parsing the text output of Windows commands like netsh (the firewall configurator) and wsl.exe, which print in your system's display language. Non-English Windows installs (German, Polish, French, Spanish, and so on) hit a class of failures that's much harder to reproduce on an English machine - including one user who accumulated 932 duplicate firewall rules in 18 hours before we tracked it down. SpawnBox now talks to the underlying Windows APIs directly instead (firewall via COM, WSL via the system DLL, registry for distro state) which return typed values, not localized text - and the build pipeline now blocks new code from regressing back to text-parsing. We expect this to substantially reduce locale-specific failures, but we don't yet have wide enough signal to declare the whole class closed - if you're on a non-English Windows install and something behaves unexpectedly, please file a report from Diagnostics. A one-time cleanup pass also removes the duplicate firewall rules left behind by previous versions.
  • · Faster + more deterministic server starts: server start no longer blocks on scanning every file in your server folder up front. On large modpacks (300+ mods) this shaves real seconds off every start. The pieces of SpawnBox that need each other to be ready (the Linux container, the network connection, the remote console) now wait for each other in a defined order before declaring 'ready,' which closes off the most common 'something disconnected' false-alarm panic some users were hitting mid-startup. The internal state machine now only re-arms when there's an actual signal to act on instead of polling on a schedule. There may be other failure modes we haven't surfaced yet - if you see a server stuck or showing a confusing state, we'd love a Diagnostics report.
  • · More 'stuck' cases addressed + background reliability: a bundle of small fixes that close off ways SpawnBox could get pinned, surface false alarms, or thrash. The container engine now pulls the image up front before trying to create the container (closes a path that could fail silently on first launch of a new server type). The first-run setup check now runs before the daemon-bootstrap check, so a fresh install no longer routes to a confusing intermediate state. The auth refresh path no longer relies on a separate event-bus signal that could race. Service warnings in the daemon-status panel now wait three ticks before promoting to the UI, so brief blips don't flash a red banner. When the post-stop idle window kicks in, there's now a 60-second grace period after the last server stops before deliberate shutdown begins - so if you stop and immediately start another server, nothing has to spin back up. The data channel the SpawnBox Telemetry Plugin uses no longer floods the network when many things ask for it at once. Brief disconnects from the container engine recover automatically instead of falling out of sync. The Insight engine runs on its own schedule so it never blocks anything user-visible. And the cache layer is tagged with the right context per server so it self-corrects after loader-type switches.
  • · App-update path rebuilt end to end: the path that delivers SpawnBox updates to your machine has been rebuilt from the ground up. Stricter validation that the build you receive matches what the dev team published, signed download links scoped to your account so they expire properly, and a clean separation between channels (dev / alpha / beta) so switching channels in Settings does what you would expect. The server side that publishes builds now also writes an audit log of every publish / pin / ring operation. You shouldn't notice anything different in normal use; you should notice fewer 'stuck on an old version' edge cases. (Worth stating plainly since some users don't expect it: when SpawnBox itself updates, your running servers and connected players stay up - the part of SpawnBox that's hosting the server lives separately from the app window, so updating the app does not interrupt anyone's game.)
  • · Finding out where first-run setup actually breaks for people: telemetry from real installs strongly suggests a meaningful share of users hit something during first-run setup and don't make it through to a working SpawnBox. We could see the entry rate and the success rate, but not which step in between is the wall - so this release instruments every step of the setup wizard with anonymized started / completed / abandoned signal. Once that data is in, we can attack the specific friction points instead of guessing. (Same telemetry rules: no personal data, opt-out from the same toggle in Settings, transparent about what's collected.) The companion improvement: the daemon-status panel in Settings has been rebuilt with typed contracts for each service and per-section copy-to-clipboard buttons, so you can paste specific state straight into a support thread when something needs a closer look.
  • · One more auto-heal step for 'WSL networking broken,' plus much better diagnostic data on what's left: there's a class of WSL2 boot failure where networking inside the Linux container fails to come up at startup, which has had a few different root causes over time. This release adds one more auto-heal step targeting one specific cause (writing the right auto-proxy fix into the WSL config before retrying) - users who hit that exact cause will likely never see the failure surface. The class as a whole isn't fully solved; other root causes still slip through. The bigger win behind this is the much richer diagnostic data we now collect on each WSL networking attempt - which is what the team needs to track down the next root causes. Fallback messaging is also clearer when no auto-heal step applies.
  • · Discord Rich Presence shows the running app version: if you have Discord Rich Presence enabled, the SpawnBox status line now shows the running app version. Useful for spotting 'are you on the same build as me?' at a glance when troubleshooting in DMs without asking.