Roadmap · STYGION Launcher
Everything we are building, in the open
No dates, no promises we cannot keep. Just what we are thinking about, what we decided to do, what somebody is working on today, and what is already out.
Last thing out A project can be renamed, cards and all 3 weeks ago
Exploring
16Ideas we keep turning over. None of it is a promise.
stygion:// deep link for connect
Custom protocol instead of 127.0.0.1 callback — fewer browser mixed-content fights.
Datapack manager
Same experience as the mod/resourcepack/shader manager, but for datapacks (per instance/world).
Browse filters
Category / MC version / loader / sort in the unified CF+Modrinth catalog.
Log upload / share
One-click log sharing (mclo.gs or a custom paste). Pairs with the crash parser.
3rd-party auth (authlib-injector / Ely.by)
Alternative auth server + skins for offline accounts. Weigh against the STYGION ID direction.
Skin library + changer
Skin library + apply directly from the launcher (we already render skins).
Resource pack & shader manager
Same experience as the mod manager, but for packs and shaders (browse/install/enable per instance).
Java 'Optimize'
Auto-tune JVM args + RAM per machine and pack (Aikar-style, automatic).
Quick servers from modpack
Modpacks often offer an official server → one-click add to Server Hub.
Offline / airplane mode
Full launch from cache without network (even without MS re-login while the token is valid).
Export / share instance
Pack a configured instance and send it to a friend (reproducibly, see lockfile).
Custom instance icon
Upload/pick an icon instead of the modpack logo or letter.
Pre/post-launch hooks + wrapper + env
Per-instance: custom pre/post-launch script, Linux gamemode/mangohud wrapper, custom env vars.
Clone instance
Duplicate an instance in one click (test mods/versions without breaking the original).
Auto-snapshot before update
Automatic instance backup before a modpack/mod update (tied to delta snapshot/rollback).
Modpack update changelog
On modpack update, show what changed (added/removed/updated mods).
Planned
25Decided. Waiting for its turn.
Sign in to the game without a second login
With your game account linked in STYGION ID, the launcher gets you into the game directly.
Playtime stats
Accumulated time after a session ends. Shown on instance detail, cards and Recent. UI refreshes after a session.
Compatible mods only
Mod search inside an instance filters to that instance loader + MC version only (no dead ends).
Achievements / challenges
In-menu badges, driven from the STYGION ID admin workspace: presets, rotation, mega-quests, configurable rewards.
GTNH special mode
See specs/2026-06-27-gtnh-special-mode-design.md.
macOS / Linux build & signing
CI build matrix + notarization/signing.
Import from other launchers
Detect + import instances from Prism / CurseForge App / MultiMC / Modrinth App. Killer for switchers.
Privacy disclosure
First-run banner, GDPR legitimate interest.
Potato Mode
Aggressive low-end preset (render/JVM/launch).
Friend VPN Tunnel
WireGuard P2P, Open to LAN → friend → encrypted tunnel.
Find out how a modpack runs for you before playing it for four hours
The launcher can benchmark a modpack on your own machine. The same scene every time, the same camera path — two machines are only comparable if they drew the same thing — and about a minute, with a number at the end. Not average FPS, because that hides exactly the stutter that ruins an evening: the median, and the worst few percent beside it. It also says **which of your parts ran out first** — a card sitting at half load while one processor core is pegged is the difference between buying the right thing and the wrong one. Useful on the very first machine: measure, change a setting, measure again, and see whether it actually helped. Send the result and a modpack starts telling people how it runs on machines like theirs — always with how many runs that is from. Sending is your choice, carries no name, and no number that leads back to you.
Cloud Backup
Panel cloud + third parties (Drive/OneDrive/Dropbox/WebDAV), AES-256 client-side, incremental.
Keyboard shortcuts (config + cheatsheet)
v1 already: Ctrl+1–7 sections, Ctrl+F/K command palette. Planned: configurable global shortcuts + cheatsheet overlay.
Guided tour
Coachmark overlay over finished features.
Mod-conflict analyzer
Mod collision detection (Phase 4).
Lockfile
Reproducible instance (Phase 4).
Multi-theme engine
Beyond Amber: switchable themes (Bone / Catppuccin…) + data-extensible registry. Today: Amber only (density + scale).
Click a server and you are in it
A server running STYGION Keystone states which modpack and which version it wants, right there in the list. The launcher picks that up: it fetches the pack, or switches your instance to the right version, and connects you. You have it but a few mods differ? It says which. You added client-side mods of your own? They stay. A server that says nothing works exactly as it does today.
Delta snapshot / rollback
Instance versioning, roll back (Phase 4).
Repair
Integrity check + fetch missing files (Phase 4).
Crash parser
Read crash log + quick-fix suggestions (Phase 4).
Advanced instance groups
Colors/cross-group sorting (partial), pin.
Screenshot manager
Per-instance screenshot gallery.
Dependency resolution
Transitive required dependencies.
Per-instance account
A different account per instance, quick switch.
Building
0Somebody has their hands on it right now.
Nothing here
Done
71Built and out. Newest at the top.
On Linux the launcher got faster and sign-in opens a browser
The interface was being repainted on the processor on every Linux machine because of a bug that affects one kind of graphics card — it is now worked around only where that bug is. Signing in tries several ways to open a browser, and when none of them catches, it shows the address with a copy button instead of waiting on a window that never came up.
One download on Linux, nothing else to install
The Linux build carries everything it needs inside the file you download. No prerequisites, no instructions to read, no window that opens up blank. 0.8.0 did exactly that — it also carried a library belonging to the machine it runs on — and 0.8.1 fixes it at the source: only what is genuinely ours goes into the bundle, and the build stops if a host library ever gets back in.
Stability & security pass (0.7.x)
Safe pack extraction, secrets never in logs, crash-proof database upgrades, downloads that neither hang nor corrupt, and a launcher that always tells you when something fails.
Full visual overhaul of the launcher
The whole look gets one design system shared with the website: new tokens, rebuilt components, smoother motion and unified error handling.
No mock data
No fake product data in Tauri runtime — real empty state or WIP. (Browser dev mocks only for UI preview.)
Feature isolation
Each screen/feature in its own module.
Tauri 2 + SvelteKit + Rust core + SQLite
Thin Tauri bin, isolated modules.
Discord Rich Presence
Discord shows the modpack you are playing. Toggle in Settings → Privacy.
Server Hub
servers.dat union, live ping, Home row (fit rails) + full Servers view. Join via Quick Play / launch modal.
No hidden telemetry / benchmark / HW scan
No secret HW scan / FPS benchmark / hidden beacons. Only the disclosed anonymous version ping (opt-out in Privacy). Presence + Discord RP also toggles.
Anonymous opt-out telemetry
Version/channel/os/arch + random install_id, no PII, IP not stored.
Launch update prompt + badge
Bottom toast: Install / Later / Details→Settings Updates + settings badge. Auto ON: ~0.7s toast then overlay. Auto OFF: prompt only. Changelog snippet in toast.
Signed manifest
SHA256 + Ed25519 artifact verification, signed download URL.
Release Control (admin)
Admin channels alfa/beta/release/canceled (backend + id.stygion.eu admin), auto from GitHub. Not in-app UI — release pipeline for the launcher.
Updates page
Channel status, manual check.
Changelog on update
Release notes before/during install.
Auto-update on launch
Tauri updater + channels. Auto-update default ON. Soft prompt + badge on launch (see dedicated card). Fullscreen overlay while installing.
Command palette (Ctrl+F)
Ctrl+F / Ctrl+K: navigate, launch instance, join server. Titlebar trigger + fuzzy filter.
Notification Center v1
Titlebar bell + history (update/friend/import/mod), unread badge, localStorage. Soft update toast stays. 0.6.
i18n cs/en
Complete localization.
App-wide scaling
80–150% slider (whole-app zoom), persistent.
Density
Comfortable / compact.
Page transitions
Slide+fade between screens.
MC changelog modal
Mojang v2 patch-notes feed (index + per-version contentPath), exact-match; missing version → nothing. Large readable modal.
Frameless shell
Custom titlebar (search + account chip + window controls), sidebar.
Premium onboarding
Welcome → data folder → init progress. (Theme step dropped — v2 ships Amber only.)
Dead CF reuploads → Modrinth (hardcode)
Old packs point at removed CF projects (e.g. unofficial CC: Tweaked 1579830). Launcher fetches the same jar from official Modrinth (SHA1/filename) in the normal download loop — no manual CF gate. Not CF CDN invent.
Mod update checker
Instance detail: check updates, per-mod badge, update one/all (CF+Modrinth, MC+loader). 0.6.
Drag & drop import
Drop .mrpack / CF .zip onto the library → new instance (Tauri drag-drop + overlay). 0.6.
Discover: downloads default, search → relevance
Empty catalog = most downloads. On search, sort switches to best match; clearing query restores downloads. Back from detail resets filters.
Install progress: speed, ETA, files, current jar
Install modal: pack art, %, average speed/ETA (not burst EMA), live file count (parallel CF), current jar name under the bar. Phases pack/extract/resolve/download.
Resource/shader install paths
CF classId 12 → resourcepacks/, 4559 → shaderpacks/, else mods/. Import no longer dumps everything into mods/.
CF install by project ID
CF ?slug= (Create World CZ), title→slug, paste CF URL, project ID, multi-query + title rank. Fix for all packs, not one special case.
Per-instance mod manager
List, enable/disable, add/remove a mod.
CF locked: official web + website API + install panel
downloadUrl null → official CF page (attribution). Download via CF website API for exact fileId (no invent CDN). WebView DENY wrong versions, SHA1 after write, install side panel steps 1–3 (Skip/Cancel/Retry, cs/en), 404 → Skip.
Import .mrpack / CF .zip
BOM + case-insensitive manifest.json/modrinth.index.json, clear errors (not a ZIP / missing manifest).
One-click modpack install
Install a chosen modpack version from pack detail (one action → instance + live progress). Card hover quick-install is a separate card.
Unified browse
CurseForge + Modrinth in one catalog, relevance ranking, infinite scroll.
World management
List worlds from saves/, open folder, zip backup under backups/worlds/. Restore = manual unzip (next step).
Delete instance + files
Removes the DB row and the on-disk folder.
Instance detail
Tabs (overview/mods/logs…), per-instance RAM·Java·JVM override.
Modpack logo on the card
CF/Modrinth logo, letter fallback.
Card size S/M/L
Fixed track widths, consistent scale.
Groups (folders)
Create/rename/delete groups. DnD works in Tauri/WebView2 (module drag state + text/plain). No groups = free packs (“Ungrouped” label only after first group). 0.7.
Instance library
Grid/list, sorting, search.
Discord profile picture (CDN sync)
On /me and login the backend fetches the real Discord CDN URL; launcher shows it in the footer (own profile). Letter fallback. 0.6.
STYGION ID integration
Device link (browser + loopback), token, social REST/WS, user search, Discord avatar CDN (live sync). Friends on the web too.
Multi-account library
Switching, active account, skin/head render from the real texture.
Offline accounts
Local profile without Microsoft.
Microsoft auto login
Auth-code + PKCE + loopback redirect (browser flow, not device-code).
Cross-platform data dir
directories crate (Win/macOS/Linux), optional data-folder move (copy→verify→relaunch→delete).
Hidden consoles
Processor/java subprocesses without a console window (Windows CREATE_NO_WINDOW).
LWJGL natives
Modern :natives-* jar stays on the classpath (self-extract), legacy flat extraction.
Java auto-detect + download
Adoptium/Temurin per javaVersion, checksum, per-major runtimes.
Fabric / Quilt launch
Loader profile merge, libraries from loader meta.
Forge / NeoForge launch
Loader merge into vanilla data, installer processors, library dedup (key group:artifact:classifier).
Vanilla launch
Mojang version manifest → asset/library resolver (shared dedup store, SHA1) → spawns the real MC.
Everything you touch answers back
Press a button and it moves under your finger. Start something slow and it says it started. Finish it and a short message confirms it. No dead clicks, no button greyed out without saying why.
When something fails, it says so
A failed load and an empty library are told apart everywhere — library, servers, worlds, the home rows, the command palette, your reports — and each offers to try again. Errors read as sentences in your language instead of the raw text from inside.
Quick install on pack card
Install on the card opens a version-picker modal (default latest) — no longer a silent install of the latest version without confirmation. See "Modpack version switch" for the full update flow.
Modpack version switch
Install (card and detail) opens a version-picker modal, defaulting to the latest installable version. Launching an instance whose pack has a newer version available prompts to update first. Update reinstalls pack files while preserving saves/config (snapshot before, restore after) — not a finished delta-diff.
Click an author, see everything they made
The author's name is a link everywhere in Discover — on the card and in pack detail. It opens their own page with all their modpacks, and back takes you exactly where you were.
Friends, chat and who's playing right now
Add a friend, see who is online and what they are playing, and write to them without leaving the launcher. Built once already and being rebuilt on the new STYGION foundations, so it comes back for good.
A Play button that works from anyone's website
A player clicks Play on a server owner's own website and ends up standing on that server: the launcher opens, asks once, installs the pack and joins. The button itself is served from us, so the operator can change what it says and where it goes without touching their page again.
Stop an install you didn't mean to start
Every install can be cancelled at any point, including one running in the background. What was half-downloaded is cleaned up, nothing is left behind, and the next install starts normally.
Sign in with one button
Connect STYGION ID opens your browser, you sign in there and press one button — the launcher picks it up by itself a second later. Nothing to copy, nothing to type.
Quick Play / direct join (0.7)
MC Quick Play multiplayer: join from Server Hub, Home and Command palette via launch modal (progress + live log). No pack detail diversion. 0.7.0.
Running instances — management
Launch modal (progress, tips, live console) + floating bubble when minimized. Stop from modal/bubble/card. Auto-dismiss bubble on stopped/exited. 0.7.
Launcher v2 UI (0.7) — hub, launch modal, rails
Ground-up UI: Home hub (Continue, library, servers, worlds, Discover) without page scroll; width-fit rails (ResizeObserver, no side-scroll); launch modal with live MC console + floating bubble; Quick Connect without pack detail; Feedback in titlebar. 0.7.0.
Catalog without jumping cards
Hover and enter animation in Discover no longer move the tile under the cursor — only a soft fade and image zoom inside the card.
Feedback in titlebar (tickets)
Feedback button next to the bell → Settings → Support. Unread badge. Ticket kind = pill chips (not native white select). 0.7.0.