A OneLauncher/OneClient fork that removes offline account restrictions, adds Ely.by authentication, and provides instance/mods exporting
This fork is not endorsed by Polyfrost/OneLauncher
Warning
This is a fork modified and maintained with AI.
- Add offline accounts without first signing in with a Microsoft account, with live username validation, an invalid-name override, random characters/username generators, and an optional online-name check (off by default).
- Sign in with Microsoft, Ely.by, or a custom Yggdrasil authentication server. Ely.by skin visibility to other players depends on server support.
- Export enabled mods as a portable ZIP, including manually added mods and linked files from the launcher cache.
- Export Ornithe Gen2 Minecraft 1.8.9 instances for Prism Launcher, with a file/folder picker, personal-use and distribution presets, remembered selections, and optional opening in Prism.
- Follow exports through live progress notifications with file names and completion details.
- Install alongside upstream OneClient using separate accounts, settings and game data.
- Based on upstream OneLauncher, with the fork-specific changes described here.
- Free and open-source under GPL-3.0-only.
Offline accounts can be used for singleplayer and servers configured to accept offline players. Servers requiring Microsoft/Mojang authentication still need an account with Minecraft access. Initial game, loader and mod downloads require an internet connection.
Important
PolyPlus world hosting, social and cosmetic features do not work with offline accounts. The launcher's current PolyPlus integration requires an authenticated Microsoft Minecraft account; Ely.by and custom accounts also do not enable these services.
Download OneForAll Launcher from GitHub Releases. Choose the package for your operating system and processor:
| Platform | Download | Installation |
|---|---|---|
| Windows x86_64 | .exe |
Run the installer. |
| Linux x86_64 | .AppImage |
Mark the file executable, then run it. |
| Debian/Ubuntu x86_64 | .deb |
Install with your distribution's package installer. |
| Fedora/openSUSE x86_64 | .rpm |
Install with your distribution's package manager. |
| macOS Apple Silicon | darwin_aarch64.dmg |
Open the DMG and copy the app to Applications. |
| macOS Intel | darwin_x86_64.dmg |
Open the DMG and copy the app to Applications. |
macOS also has .app.tar.gz archives for each processor type. Releases include SHA256SUMS.txt for checking downloads. Current builds are unsigned, and macOS builds are not notarized, so Windows SmartScreen or macOS Gatekeeper may show a warning or block them.
Note
Automatic launcher updates are not supported for now. Download and install newer versions manually from GitHub Releases. Publishing a new release does not update existing installations automatically.
If you found a bug or want to suggest a feature, please open an issue in GitHub Issues. Pull requests and contributions (code, docs, translations) are welcome!
If this fork falls behind the upstream repository or is missing recent commits, please contact me via Discord or open a GitHub Issue so it can be brought up to date.
OneForAllLauncher is a Rust workspace using Freya/Skia. Install Rust 1.97 or newer with rustup, plus Git, Python 3 and a JDK 17+ with javac, and the native build dependencies for your platform. Cargo compiles the preview compatibility agent from source automatically; a Java runtime alone is not sufficient for building the launcher.
- Windows: use the MSVC Rust toolchain and install Visual Studio Build Tools with Desktop development with C++ and a Windows SDK, plus CMake, Python 3 and a JDK 17+ (set
JAVA_HOMEor putjavacon PATH). - macOS: install Xcode command-line tools with
xcode-select --install. Install CMake, pkg-config, Python 3 and a JDK 17+; with Homebrew, usebrew install cmake pkg-config python openjdk@17and setJAVA_HOMEto the installed JDK. - Linux: install a C/C++ toolchain, CMake, Clang, pkg-config, Python 3, and the font, windowing, graphics, GTK and D-Bus development libraries below.
On Ubuntu 22.04, these match the release workflow's build dependencies:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential cmake pkg-config clang python3 openjdk-17-jdk \
libfontconfig-dev libfreetype-dev \
libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev \
libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libdbus-1-dev \
libgtk-3-dev libayatana-appindicator3-devOther Linux distributions use different package names. AppImage packaging/running may also need FUSE support; the Ubuntu 22.04 release runner installs libfuse2.
git clone https://github.com/liwwyy/OneForAllLauncher.git
cd OneForAllLauncher
rustup toolchain install stable --profile minimal
rustc +stable --version
cargo +stable build --locked -p oneclient_app --bin oneforall_app -j 2
cargo +stable run --locked -p oneclient_app --bin oneforall_appCheck that the Rust version is at least 1.97. Run Cargo commands from the repository root. The executable is target/debug/oneforall_app on Linux/macOS, or target/debug/oneforall_app.exe on Windows. Internal workspace package names still use the oneclient_ prefix.
Debug builds use the separate OneForAllLauncher-dev data directory. Release builds use OneForAllLauncher, so their accounts and settings are separate. Neither uses upstream OneClient's data directory.
For an optimized executable:
cargo +stable build --locked --release -p oneclient_app --bin oneforall_app -j 2The executable is placed under target/release/. Builds can take several minutes and substantial RAM/disk space; use -j 1 for fewer concurrent compiler jobs. The default release profile uses fat LTO; CI uses thin LTO and 16 codegen units to reduce memory use.
cargo +stable test --locked -p oneclient_auth -j 2
cargo +stable test --locked -p oneclient_core -p oneclient_events -p oneclient_app --lib -j 2After building the release executable, Linux users can create DEB and AppImage packages:
cargo +stable install cargo-packager --version 0.11.8 --locked
NO_STRIP=1 cargo +stable packager --release --packages oneclient_app --formats deb,appimageOutput is under target/release/. NO_STRIP=1 avoids linuxdeploy's older strip tool failing on modern system libraries; Cargo already strips the release executable.
See the release workflow for Windows NSIS runtime bundling, macOS app/DMG packages, and Linux RPM packaging. Converted icons and Prism template files are included in the repository; the ignored original artwork and example ZIP are not needed. Both local Cargo builds and release/nightly CI compile the Java compatibility agent from source.
The previously checked-in packages/oneclient_core/assets/elyby-preview-compat.jar has been removed. Cargo compiles the agent from the tracked Java source and embeds the generated JAR from its build output directory. It is only enabled for Ely.by/custom-account launches of Minecraft 1.8.9 to fix a missing-name crash in VanillaHUD's OneConfig tab preview. It is separate from authlib-injector, which the launcher downloads and verifies for Ely.by/custom authentication. The preview agent does not receive account credentials; its preview lookups may contact Mojang's public profile API.
The Java source, pinned ASM dependency checksum, licenses, deterministic build script and console regression tests are in distribution/elyby-preview-compat. Cargo handles normal builds. To generate a standalone test JAR at target/elyby-preview-compat/elyby-preview-compat.jar, run:
python3 distribution/elyby-preview-compat/build.pyThe first agent build downloads the checksum-verified ASM dependency; later builds reuse target/elyby-preview-compat/asm-9.10.1.jar. For an offline build, cache that dependency first or point ONEFORALL_ASM_JAR to the exact pinned JAR. PYTHON, JAVA_HOME and JAVAC can select your build tools. End users running packaged releases need no Python or Java compiler for this agent.
A fix in VanillaHUD's preview code would let us remove the agent entirely. FreesmLauncher’s launch patch code first tries a version-matched Ely.by authlib replacement and falls back to authlib-injector; using that approach here would need regression testing with our bundled mods.
The launcher contacts third-party services for sign-in, game metadata, downloads, skins and enabled online features. These include Microsoft/Mojang, Ely.by when you use an Ely.by account, your chosen authentication server for custom accounts, Polyfrost services, and mod/content providers. Those services receive the requests needed to provide their features; an offline account does not make all launcher activity offline.
- Crash reporting: controlled by Settings → Launcher → Crash Reporting and applies after restarting. Reports require reporting to be enabled and the build to have a configured Sentry endpoint. Declining the terms/privacy consent disables reporting. Fork builds have no Sentry endpoint by default; it must be supplied at build time through
ONEFORALL_SENTRY_DSN. - Discord Rich Presence: enabled by default and controlled by Settings → Launcher → Discord RPC. When enabled, it shares launcher/game activity with your running Discord client.
- Online username check: Check for online usernames with the same name in the offline-account popup is unchecked by default in both onboarding and account settings. When enabled, valid usernames are sent over HTTPS to Mojang's public profile lookup at
api.mojang.com/users/profiles/minecraft/<username>after a short pause in typing. Mojang receives the queried name and your public IP address; no passwords or account tokens are sent. Clearing the checkbox or closing the popup cancels pending checks. Matches and lookup failures are informational: you can still create the offline account, and its offline UUID stays unchanged. With the checkbox off, this feature sends no lookup requests. - PolyPlus: when used with a supported Microsoft account, its online services connect to Polyfrost's backend. They are unavailable with offline accounts.
You can inspect the source and these settings before running the launcher. See Polyfrost's privacy policy for its services; Microsoft, Ely.by and other providers have their own policies.
OneForAll Launcher is independently maintained and is not endorsed by Polyfrost or the OneLauncher team. Contributions and bug reports are welcome through this repository's issues and pull requests.
OneForAllLauncher, a fork of OneClient by Polyfrost. This project is licensed under the GNU General Public License, version 3 only (GPL-3.0-only). See LICENSE for the license terms and ATTRIBUTION.md for original credits and third-party notices.





