🌰 OurNuts - Master Integration Guide

Welcome to OurNutsβ€”the unified, private ecosystem for our MU Origin 3 server project. This repository was born out of the Avalonia-based MU3Launcher and has been transformed into a fully-fledged, independent client-manager that entirely circumvents the Ourpalm SDK stack.

This document outlines all the capabilities we now possess across the entire software stack.


1. πŸ–₯️ Client Side: Unleashing the UE4 Client

The stock mobile wrapper (MU3.exe web-login) is highly restrictive, caching hardware IDs and causing authentication headaches. OurNuts intercepts and bypasses this completely.

πŸ”‘ Ourpalm SDK Emulation

  • No More Web Views: The launcher intercepts the user's email/password, performs MD5 signing, and talks directly to the Ourpalm authentication endpoints (/ucenter, /login/).
  • Session Injection: Once authenticated, the launcher extracts the uid and session token and passes them directly to the native MU3-Win64-Shipping.exe via encrypted command-line arguments.

🎭 Device ID Spoofing & Hardware Ban Immunity

  • Hardware ID Generation: The launcher dynamically generates valid @@@@... 36-character Device IDs.
  • Environment Injection: It forces the UE4 client to use the generated ID via the MU3_DEVICE_ID environment variable.
  • Database Patching: It actively rewrites the hidden Statistics_Info_v1.db SQLite database before the client boots, ensuring the hardware ID matches and prevents token-mismatch disconnects.

πŸ“ Multi-Profile System

  • Because the launcher swaps out Statistics_Info_v1.db dynamically, you can have unlimited isolated accounts/profiles running on the same PC without any cross-contamination.

2. πŸ–§ Server Side: Unified Backend Integration

With OurNuts, our MU3.AuthServer and MU3.GameServer have full control over the client's routing.

πŸ”„ Dynamic Environment Switching

  • Proxy-less Routing: Instead of relying on HTTP_PROXY tricks, the launcher's launcher.config.json allows us to point the login server directly to our custom MU3.AuthServer (e.g., http://127.0.0.1:8080).
  • Custom Signatures: Our authentication server can now generate its own session tokens, and OurNuts will happily calculate the required MD5(uid + token + timestamp).ToUpper() signature and pass it to the GameServer without needing Ourpalm's secret keys.

πŸš€ Direct Live Configuration Loading

  • The launcher pulls the server list directly from our AuthServer API. When we merge servers or update LiveEnvironmentConfig.json, OurNuts instantly reflects the new server architecture to the user.

3. πŸ”Œ API Side: Developer & GM Tools

OurNuts isn't just a UIβ€”it runs a headless REST API locally (http://localhost:9090) to allow deep integration and automated testing.

πŸ› οΈ Local API Capabilities

  • Process Management: POST /api/kill to forcibly terminate hung MU3-Win64-Shipping.exe processes during automated testing.
  • SQLite Manipulation: POST /api/query allows a GM tool (or Discord Bot) to remotely query and modify a player's local Statistics_Info_v1.db (e.g., clearing corrupted cache data).
  • System Metrics: GET /api/stats monitors CPU and RAM usage, useful for load-testing our multi-client bot scripts.

4. 🎨 UI/UX: The Player Experience

OurNuts uses Avalonia UI (a modern, cross-platform .NET framework) to deliver a triple-A user experience.

πŸŒ— Modern Aesthetics

  • Dark Theme First: Built with a sleek dark mode featuring smooth transitions and hardware-accelerated rendering.
  • Server Status Indicators: Real-time ping and reachability status (Online/Maintenance/Offline) directly in the UI.

πŸ“° In-App News & Updates

  • Three-Tier News System: Displays patch notes, events, and maintenance alerts directly in the launcher.
  • Automatic Patching: Contains an UpdateService that reads a CDN index.xml, verifies local files via SHA256 checksums, and downloads missing or corrupted .pak files automatically.

βš™οΈ Client Customization

  • Graphics Settings Injection: Players can adjust Resolution, Window Mode (Fullscreen/Borderless), FPS Uncap, Anti-Aliasing, and Shadow Quality in the launcher. OurNuts directly patches the UE4 GameUserSettings.ini so the game boots perfectly tailored to their hardware.

πŸš€ Next Steps for "OurNuts"

  1. Rebranding: We will strip the Mu3Launcher branding and fully transition the UI assets to the OurNuts theme.
  2. Auth Integration: Wire the launcher's launcher.config.json to point to our newly minted C# MU3.AuthServer.
  3. Distribution: Compile the launcher to a single-file executable (.exe) that players can download and use to connect directly to your custom live server tomorrow!