π° 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
uidandsession tokenand passes them directly to the nativeMU3-Win64-Shipping.exevia 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_IDenvironment variable. - Database Patching: It actively rewrites the hidden
Statistics_Info_v1.dbSQLite 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.dbdynamically, 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_PROXYtricks, the launcher'slauncher.config.jsonallows us to point the login server directly to our customMU3.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/killto forcibly terminate hungMU3-Win64-Shipping.exeprocesses during automated testing. - SQLite Manipulation:
POST /api/queryallows a GM tool (or Discord Bot) to remotely query and modify a player's localStatistics_Info_v1.db(e.g., clearing corrupted cache data). - System Metrics:
GET /api/statsmonitors 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
UpdateServicethat reads a CDNindex.xml, verifies local files via SHA256 checksums, and downloads missing or corrupted.pakfiles 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.iniso the game boots perfectly tailored to their hardware.
π Next Steps for "OurNuts"
- Rebranding: We will strip the
Mu3Launcherbranding and fully transition the UI assets to the OurNuts theme. - Auth Integration: Wire the launcher's
launcher.config.jsonto point to our newly minted C#MU3.AuthServer. - 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!