three changes to workshop_install / workshop_uninstall: 1. zip_name from the frontend is now rejected if it contains '..', '/', '\\', or starts with '/' or '\\'. prevents the downloaded archive from escaping tmp_dir. 2. placeholder is now rejected if it contains '..' or starts with '/' or '\\'. after joining to instance_dir, the resolved path is canonicalized and asserted to start with instance_dir.canonicalize(). prevents the install from escaping the instance dir. 3. workshop_uninstall now re-validates every persisted path in pkg.dirs against instance_dir.canonicalize() before removing. if an attacker injected paths into workshop_packages.json (via the install traversals above or via LCEL-01's write primitive), uninstall used to delete arbitrary files. the proper fix is to use a safe zip library (zip-rs) that strips '..' from members instead of shelling to bsdtar/unzip/tar. left as a TODO so this commit stays minimal and reviewable. |
||
|---|---|---|
| .github/workflows | ||
| assets/screenshots | ||
| flatpak | ||
| nix | ||
| public | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| .gitmodules | ||
| .SRCINFO | ||
| BUILDING.md | ||
| bun.lock | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| postcss.config.js | ||
| README.md | ||
| RELEASE_ARTWORK.png | ||
| RELEASE_NOTES.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
LCE Emerald Launcher
FOSS cross-platform launcher for Minecraft Legacy Console Edition
| Main Screen | Versions Menu | Workshop |
|---|---|---|
Table of Contents
Overview
LCE Emerald Launcher is the easiest way to play Minecraft Legacy Console Edition on PC. Install community builds, manage versions, customize skins, and launch instantly from one lightweight hub.
Why Emerald? Traditional launchers often rely on bloated frameworks, consuming excessive resources. Emerald utilizes a modern Tauri architecture, using only a low amount of RAM, leaving your PC's resources dedicated to the game itself.
Features
| Feature | Description |
|---|---|
| Automated Setup | One-click installation for neoLegacy, Revelations, 360 Revived, and Hellish Ends |
| Cross-Platform | Native support for Windows, macOS (Intel & Apple Silicon), and Linux (Steam Deck is also supported!) |
| Lightweight | Very light RAM usage thanks to Rust backend and Tauri framework |
| Easy Configuration | Built-in settings for username, game parameters, and profiles |
| Skin Viewer | Interactive skin preview using Three.js with layer support |
| Custom Skins | Import and manage your own skins with local storage |
| Controller Support | Full gamepad navigation support (keyboard support included) |
| Discord Rich Presence | Show your current activity and game status on Discord |
| Workshop | Community content like DLCs, Textures, Skins and more |
| Free Multiplayer | Powered by LCEOnline, Emerald provides a free multiplayer service so you can play with anyone without port forwarding! |
Installation
Windows
| Format | Best For |
|---|---|
.exe (NSIS) |
Standard installation with uninstaller |
.msi |
A fallback option in case the .exe does not work |
⚠️ Windows SmartScreen Warning:
Since the launcher is unsigned, Windows may show a "Windows protected your PC" warning. To proceed:
- Click "More info"
- Click "Run anyway"
macOS
| Format | Architecture |
|---|---|
.dmg (x64) |
Intel Macs |
.dmg (aarch64) |
Apple Silicon (M-series and A-series) |
Installation Steps:
- Download the appropriate DMG for your Mac
- Open the DMG and drag the app to Applications
- If you see "app is damaged" error:
- Right-click the app → Open → confirm Open
- Or run:
xattr -cr "/Applications/Emerald Legacy Launcher.app"
GNU/Linux
Multiple distribution formats available:
| Format | Distribution |
|---|---|
.deb |
Debian, Ubuntu, Linux Mint |
.rpm |
RHEL, Fedora, openSUSE |
.AppImage |
Universal (no installation required) |
.flatpak |
Universal with sandboxing (recommended over AppImage) |
| Nix flake | NixOS and any Linux with Nix installed |
AUR: Special thanks to AntiApple4life for the AUR packages!
# git version
paru -S emerald-legacy-launcher-git # or yay
# stable version
paru -S emerald-legacy-launcher # or yay
# binary stable version
paru -S emerald-legacy-launcher-bin # or yay
Nix:
Requires Nix with flakes enabled (experimental-features = nix-command flakes in nix.conf).
# Run without installing
nix run github:LCE-Hub/LCE-Emerald-Launcher
# Install to your user profile
nix profile install github:LCE-Hub/LCE-Emerald-Launcher
On NixOS, add the flake as an input and install packages.<system>.default (or emerald-legacy-launcher) from it.
Flatpak Installation:
flatpak install emerald.flatpak
Dependencies (if building from source):
# Ubuntu/Debian
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libudev-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel patchelf systemd-devel
Building from Source
Refer to BUILDING.md.
Troubleshooting
macOS "App is Damaged" Error
# Remove quarantine attributes
xattr -cr /path/to/Emerald\ Legacy\ Launcher.app
Linux WebView Issues
Ensure WebKit2GTK-4.1 is installed:
# Check installation
pkg-config --modversion webkit2gtk-4.1
# Reinstall if needed
sudo apt install --reinstall libwebkit2gtk-4.1-0
Game Not Launching
- Verify game files are properly installed via the launcher
- Check that Wine/Proton is installed (Linux only)
- Check that Wine/GPTK3 are installed (macOS only)
- Ensure your GPU drivers are up to date
Controller Not Detected
- Connect controller before launching the launcher
- PlayStation controllers are not supported in-game but work in launcher. Use Steam Input.
Acknowledgments
- The Emerald Team - Technical development and maintenance
- 4J Studios & Mojang - Original creators of Legacy Console Edition
- The LCE Community - Research and foundations for LCE on PC
- Str1k3r - Original creator of LCEOnline
License
This project is licensed under the GNU GPL v3 License.