Skip to content

MythicalLTD/LunarPlusPlus

Repository files navigation

LunarPlusPlus (NotSoLunarClient)

Desktop patcher for Lunar Client built with Tauri + SvelteKit.

It lets you:

  • manage built-in patch toggles
  • add custom user patch files
  • apply enabled patches to app.asar with backup-first behavior
  • export/decompile source, repack it, and generate a patch from source changes

Features

  • Patch sets UI for system and user patches
  • Built-in patch collection (ads/news/radio/analytics/update/devtools and more)
  • Drag-and-drop user patches (.json or .js)
  • Enable/disable and delete user patches
  • Apply-enabled workflow with progress logs
  • Automatic backup/restore behavior for safer patching
  • Source tooling:
    • export Lunar app.asar source
    • compile/repack source back into app.asar
    • backup/restore latest source backup
    • create a patch from source differences
  • Configurable paths for Lunar install, patch folder, and source folder

Tech Stack

Requirements

  • Node.js 18+ (20+ recommended)
  • pnpm (project uses pnpm-lock.yaml)
  • Rust toolchain (rustup, cargo)
  • Platform-native Tauri prerequisites:

Getting Started

pnpm install

Run frontend only

pnpm dev

Run desktop app (Tauri)

pnpm tauri dev

Build frontend

pnpm build

Build desktop bundle

pnpm tauri build

Main Commands

  • pnpm dev - run Vite dev server
  • pnpm build - build SvelteKit frontend
  • pnpm preview - preview built frontend
  • pnpm check - run Svelte/TypeScript checks
  • pnpm check:watch - run checks in watch mode
  • pnpm tauri dev - run Tauri app in dev mode
  • pnpm tauri build - create production desktop bundle

Typical Usage

  1. Open Settings and set:
    • Lunar Client install path
    • patch directory
    • source directory
  2. Click Save + Verify Lunar.
  3. In System Patches, select built-in patches.
  4. In User Patches, drag/drop custom patch files if needed.
  5. In Patcher, click Apply Enabled Patches.
  6. Use Source tab when you want extract/repack/diff workflows.

Built-In Patch IDs

The app includes these built-in patch IDs:

  • no-lunar-analytics
  • disable-sentry
  • disable-updates
  • enable-devtools
  • debugging
  • enable-frame
  • unique-installation-id
  • adblocker-no-overwolf-tracking
  • remove-lunar-news
  • remove-partnered-servers
  • remove-lunar-radio
  • hide-lunar-coins
  • remove-ads
  • hide-friends-list
  • blur-friends-list

Compatibility notes:

  • hide-friends-list and blur-friends-list are mutually exclusive.
  • no-lunar-analytics is incompatible with blur-friends-list.

Project Structure

  • src/ - Svelte UI and routes
  • src-tauri/src/ - Rust commands, patch engine, source/asar pipeline
  • src-tauri/src/patches/builtins/ - built-in patch definitions

License

MIT (see LICENSE).