Skip to content

Releases: vib-studios/viblauncher

Vib-launcher 0.2.0 - Linux

Choose a tag to compare

@gabytz777 gabytz777 released this 09 Sep 08:06

Vib-launcher now runs on Linux. The launcher moved from WPF to Avalonia 11, which makes Linux the platform it is built and tested on, and Arch packaging ships with it.

Linux support

The whole application was ported: every view, dialog and theme dictionary is Avalonia XAML. It is still a native desktop application - no browser, no WebView, no Electron, no embedded web page - and the Classic theme looks the same as it did.

  • Token storage picks itself at runtime. Linux uses the freedesktop Secret Service through libsecret when a keyring is running, and falls back to a mode-0600 AES-GCM file keyed to the machine and user id when one is not. The Accounts page says which is in use.
  • Paths follow XDG, so data lives in ~/.local/share/VibLauncher unless XDG_DATA_HOME says otherwise.
  • Java detection, process handling and path safety learned the Linux cases.
  • On a Wayland session the launcher runs under XWayland, which is what Avalonia's X11 backend targets.

Installing

Arch - a PKGBUILD is in the repo:

git clone https://github.com/vib-studios/viblauncher
cd viblauncher/packaging/arch
makepkg -si

It builds framework-dependent against dotnet-runtime-10.0, so it does not ship a second copy of the runtime. libsecret and a keyring are optional but recommended, so Microsoft tokens go to the desktop keyring rather than to a file.

Anything else - grab a tarball below. They are self-contained single-file builds and need no .NET installed. You still need a Java runtime to play: Java 8 for 1.16 and older, 17 for 1.18, 21 for 1.20.5 and newer. The launcher detects what you have and says which one a version wants.

tar xzf viblauncher-0.2.0-linux-x64.tar.gz
cd viblauncher-0.2.0-linux-x64
./VibLauncher

Verify a download against SHA256SUMS.

Windows

There is no Windows build in this release, and Windows is no longer tested.

Everyone working on Vib-launcher has moved to Linux, so there is nobody left running Windows day to day and no Windows machine in the loop. The Windows support in the code is intact and not deliberately broken - it is one Avalonia application with no per-platform UI, the places that genuinely differ are written for both, and the test suite is platform-agnostic and runs headless. What is missing is anyone actually starting it there.

Rather than ship a binary nobody has run, this release ships none. You can still build one yourself:

dotnet publish src/VibLauncher.App -c Release -r win-x64 --self-contained -p:PublishSingleFile=true

Windows bug reports are welcome and will be fixed, but fixes are likely to be written blind and will need the reporter to confirm them. If you use Vib-launcher on Windows, testing releases is the most useful thing you can contribute.

Fixes

Two rendering bugs found while testing the port on Linux, both from the difference between WPF's and Avalonia's styling models:

  • Text boxes, combo boxes and the export tree drew nothing. A keyed ControlTheme in Avalonia replaces a control's default theme rather than merging with it the way the WPF styles did, so four controls that restyle the stock template ended up with no template at all and measured to zero. This affected the Java runtime picker and the memory and JVM argument fields in Settings, the server console input, and every server.properties field.
  • Indeterminate progress bars showed an empty groove. An indeterminate bar is sized by its theme rather than by the control, and the theme supplied no indeterminate style. This affected the progress dialog shown while installing an instance, and the Microsoft device-code dialog.

Known limitations

Unchanged from 0.1.1 and listed in the README: Forge and NeoForge install is not implemented (Fabric and Quilt are complete), Microsoft sign-in needs a client id supplied by whoever ships the build, there are no managed Java downloads, and CurseForge is not implemented.

Full changelog: v0.1.1...v0.2.0

v0.1.1 - The licensed build

Choose a tag to compare

@gabytz777 gabytz777 released this 07 Sep 14:51

The same launcher as v0.1.0, licensed properly.

v0.1.0 was built and uploaded before this repository had a LICENSE file, so the zip carried a binary with no licence text beside it and an exe whose file properties named no copyright holder. Vib-launcher is GPL-3.0-or-later, the same licence as vib-MC, and this build says so:

  • LICENSE.txt sits next to VibLauncher.exe in the zip.
  • The exe's file properties carry Copyright (C) 2026 Vib Studios. Licensed GPL-3.0-or-later.

Nothing else changed. No behaviour, no fixes, no new features. Everything in the v0.1.0 notes still describes this build, including the known limitations. 208 tests pass, none of which need a network.

If you are already running v0.1.0 there is no reason to update, beyond having the licence in the folder.

VibLauncher-0.1.1-win-x64.zip is self-contained: unzip it anywhere and run it, with nothing else installed. Windows SmartScreen will warn about an unsigned executable, because it is unsigned.

v0.1.0 - Instances, accounts, mods and vib-MC servers

Choose a tag to compare

@gabytz777 gabytz777 released this 07 Sep 14:19

The first release of Vib-launcher: a native Windows Minecraft launcher and vib-MC server control panel, in one WPF desktop application. No browser, no WebView, no embedded web page anywhere in it.

Requirements: Windows 10 20H1 or newer, 64-bit. The download below is self-contained, so nothing needs .NET installed. Playing still needs a Java runtime, and the launcher says which one a given Minecraft version wants.

Nothing from Minecraft is bundled. Client jars, libraries and assets come from Mojang's own distribution endpoints and are checked against the hashes Mojang publishes with them.

Instances

Isolated instances, one folder each, with the versions, libraries and assets shared between them. A second instance on a version already installed costs almost nothing on disk.

Import and export are real formats rather than a folder copy. An export is a .vibinstance zip holding the record plus mods, config, resource packs, shader packs and worlds, and the export dialog shows everything the archive would carry as a tree with sizes, so anything can be left out. Import reads .vibinstance, Modrinth .mrpack and plain zips, told apart by what is inside the file rather than by its extension. Every entry is resolved under the destination before anything is written, so an archive cannot place a file outside the instance it is imported into.

CurseForge packs are refused with an explanation instead of being half imported. That format names its mods by project id, which needs an API key this launcher does not ship.

Accounts

Microsoft sign in over the device code flow: Microsoft identity, then Xbox Live, then XSTS, then Minecraft services. The launcher never sees a Microsoft password. Tokens live in a store encrypted with DPAPI under the current Windows user, and every log line goes through a redaction filter on the way out, so a token cannot reach a log even inside an exception message.

Offline accounts derive the same UUID a server computes for an unauthenticated player, so a local profile keeps its data across launches and matches what a vib-MC server with online-mode=false hands out.

Microsoft sign in needs an Azure application id, set in Settings or in VIBLAUNCHER_MSA_CLIENT_ID. One is deliberately not compiled in: a client id is public rather than secret, but it belongs to whoever ships a build.

Mods and loaders

Fabric and Quilt install completely. Forge and NeoForge list their real published builds but cannot be installed yet, and the dialog says so rather than creating an instance that would not start.

Mods come from Modrinth through its documented v2 API. Nothing is scraped and no key is required. Compatibility is part of the query rather than a check afterwards: results are filtered by the instance's Minecraft version and loader before the search leaves the launcher, and the specific file is checked again at install time. Required dependencies are resolved automatically. Disabling a mod renames it to .jar.disabled, so re-enabling is exact.

vib-MC servers

Server jars come from the vib-MC releases API. A server runs as a child process with its streams redirected, never inside the launcher, so a crash cannot take the launcher down. Console output is captured per run, typed commands go to stdin, and nothing auto restarts.

Ports are checked before a start and a conflict offers the next free port, but the port is never changed for you: a server that silently moves is a server nobody can connect to. Updates replace only the jar, after a backup, and never touch worlds, player data, plugins or server.properties. Backups live outside the server folder, so deleting a server does not delete them. The server.properties editor preserves comments, key order and any key the launcher does not know about.

Known limitations

  • Forge and NeoForge cannot be installed. Fabric and Quilt are complete.
  • Microsoft sign in needs a client id supplied by whoever ships the build.
  • No managed Java downloads. The launcher finds installed runtimes and names the one a version needs.
  • CurseForge packs are not imported, and CurseForge is not a mod source.
  • Server plugin management is not implemented. Servers get a plugins/ folder and a button to open it.
  • Player counts and server memory use are not shown, because nothing available reports them reliably.

Download

VibLauncher-0.1.0-win-x64.zip holds a single self-contained VibLauncher.exe. Unzip it anywhere and run it. Windows SmartScreen will warn about an unsigned executable, because it is unsigned.

Built from main with the .NET 10 SDK. 208 tests pass, none of which need a network.