Daniel Elliott 367962bd9e Use original MainActivity from before offline mode
Restored MainActivity from commit f3960ee35 (before Phase 1 offline mode).
This version has no references to LocalSaveManager or offline mode classes.

Fixes NoClassDefFoundError crash on startup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-19 14:20:44 -08:00

🏎️ RR3 APK Modification Tools + Server Browser

License: Educational Platform: Windows Language: PowerShell

🎮 Real Racing 3 - Community Server APK Modifier

This repository contains tools to modify the Real Racing 3 APK to connect to community-hosted servers instead of EA's official servers. Perfect for game preservation, private servers, and offline play.

NEW: Server Browser UI

No more rebuilding APKs! The new Server Browser feature lets users manage multiple community servers from within the game:

  • 🌐 Multiple Servers - Save unlimited server profiles
  • 🎨 Beautiful UI - WebView-based interface with real-time status
  • One-Click Connect - Switch servers instantly
  • 🔄 No Reinstalls - One APK for all servers
  • Favorites - Mark frequently used servers
  • 🔍 Connection Testing - Verify before saving

Quick Start

Basic APK Modification

# Simple URL redirect (old method)
.\RR3-Community-Mod.ps1 -ServerUrl "http://your-server-ip:5001"

Server Browser Installation (NEW!)

# Add server browser UI to APK
.\RR3-Server-Browser-Installer.ps1 -ApkPath "realracing3.apk"

# With pre-configured server
.\RR3-Server-Browser-Installer.ps1 `
    -ApkPath "realracing3.apk" `
    -DefaultServerUrl "http://localhost:5001" `
    -DefaultServerName "My Local Server"

📦 What's Included

Core Tools

  • RR3-Community-Mod.ps1 - Simple APK URL redirect script
  • RR3-Server-Browser-Installer.ps1 - NEW! Adds server browser UI

Server Browser UI (NEW!)

  • assets/community_servers_list.html - Server browser interface
  • assets/community_server_edit.html - Add/edit server form
  • smali-patches/ - Android bridge code (JavascriptInterface)

Documentation

  • APK_MODIFICATION_GUIDE.md - Complete guide (14,000 words)
  • APK_MODIFICATION_SUMMARY.md - Quick reference (12,000 words)
  • NETWORK_COMMUNICATION_ANALYSIS.md - Protocol docs (13,000 words)
  • docs/SERVER_BROWSER_GUIDE.md - NEW! Server browser user guide

Reference Files

  • reference/ - Original APK analysis (Java decompiled code)

🔍 How It Works

Method 1: Simple URL Redirect (Original)

Real Racing 3 has built-in support for custom servers! Just change the configuration in AndroidManifest.xml:

<meta-data android:name="com.ea.nimble.configuration" android:value="custom" />
<meta-data android:name="NimbleCustomizedSynergyServerEndpointUrl" android:value="http://your-server:5001" />

Method 2: Server Browser (NEW!)

Adds a complete UI for managing servers:

  1. HTML/CSS/JS interfaces stored in APK assets
  2. Smali bridge code (CommunityServerManager) with JavascriptInterface
  3. SharedPreferences storage for server configs
  4. Patched game code to read active server URL at runtime

Result: One APK that can connect to any number of community servers!

🎯 Use Cases

For Players

  • Keep one APK, switch between servers
  • Test multiple servers easily
  • Manage LAN + public servers
  • Favorites for frequently used servers

For Server Owners

  • Share one APK with all users
  • No need to distribute custom builds
  • Users can add your server themselves
  • Professional UI experience

For Developers

  • Test against multiple server instances
  • Quick switching between local/staging/production
  • Beautiful UI example code

📱 Server Browser Screenshots

┌─────────────────────────────────────────┐
│  🌐 Community Servers                   │
├─────────────────────────────────────────┤
│  ┌─────────────────────────────────┐   │
│  │ 🏠 My Local Server              │   │
│  │ http://localhost:5001           │   │
│  │ Status: 🟢 Online    [Connect]  │   │
│  └─────────────────────────────────┘   │
│                                         │
│  ┌─────────────────────────────────┐   │
│  │ 🌍 RR3 Community #1 (Active)    │   │
│  │ https://rr3-community.com       │   │
│  │ Status: 🟢 Online               │   │
│  └─────────────────────────────────┘   │
│                                         │
│  [+ Add New Server]                     │
└─────────────────────────────────────────┘

🚀 Getting Started

Prerequisites

  1. apktool - For decompiling/rebuilding APKs
  2. uber-apk-signer - For signing APKs (optional)
  3. Real Racing 3 APK - Original game file

Installation

# Install apktool (Windows)
choco install apktool

# Download uber-apk-signer
# https://github.com/patrickfav/uber-apk-signer

See docs/SERVER_BROWSER_GUIDE.md for complete instructions!

🌐 Need a Server?

Check out rr3-server - ASP.NET Core 8 community server with:

  • Web admin panel
  • Daily rewards system
  • Time trials
  • Car ownership & upgrades
  • Career progression
  • Player leveling

Together, these projects create a complete community-run RR3 experience!

📚 Documentation

  • Server Browser Guide - User guide for server browser UI
  • APK_MODIFICATION_GUIDE.md - Technical APK modding details
  • NETWORK_COMMUNICATION_ANALYSIS.md - RR3 protocol documentation

🤝 Contributing

Contributions welcome! Areas for improvement:

  • Auto-generate smali code
  • Server discovery/public list
  • Import/export server configs
  • Server statistics (ping, uptime)
  • QR code sharing

This project is for educational and game preservation purposes only.

  • Real Racing 3 © Electronic Arts Inc.
  • Use at your own risk
  • Do not distribute EA's assets
  • Respect intellectual property rights

🎖️ Credits

  • RR3 Community - Keeping the game alive
  • apktool - APK toolkit
  • EA/Firemonkeys - Original developers

Made with ❤️ for game preservation 🏎️💨

One APK. Unlimited Servers. Endless Racing.

Description
No description provided
Readme 663 MiB
Languages
Smali 74.4%
Java 24.9%
JavaScript 0.6%