Commit Graph

8 Commits

Author SHA1 Message Date
7033a33795 Update version numbers: 15.0.0 Community, 14.0.1 EA Latest
Corrected version dropdown to reflect actual game versions:
- 15.0.0 (Community Server Latest)
- 14.0.1 (EA Official Latest)
- 14.0.0 through 8.0.0 (Historical EA versions)

Updated documentation to match real version history.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-20 10:01:14 -08:00
f1d0d43cb7 Add asset management migration
- UpdateGameAssetFields migration for new columns
- Added Description, IsRequired, UploadedAt to GameAssets
- Fixed nullable LocalPath and FileSha256

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-19 15:39:28 -08:00
0929f963c6 Add RR3 Asset Extraction & Management System
Cross-Platform Scripts:
- extract_z_asset.sh: Linux/Unix single file extraction
- batch_extract_z_assets.sh: Linux/Unix batch extraction
- pack_z_asset.sh: Linux/Unix asset packing
- extract_z_asset.ps1: Windows PowerShell extraction

Server Integration:
- AssetExtractionService.cs: C# service for ZLIB extraction/packing
- AssetManagementController.cs: API endpoints for asset management
  - POST /api/AssetManagement/extract
  - POST /api/AssetManagement/pack
  - POST /api/AssetManagement/batch-extract
  - GET /api/AssetManagement/list
- Registered AssetExtractionService in Program.cs

Features:
- Extracts .z files (ZLIB compressed textures/data)
- Packs files to .z format with ZLIB compression
- Batch processing support
- Cross-platform (Windows/Linux/macOS)
- Server-side API for remote asset management
- Path traversal protection

Documentation:
- ASSET_EXTRACTION_GUIDE.md: Complete integration guide
- Tools/README.md: CLI tool documentation

Based on: Tankonline/Real-Racing-3-Texture-Extraction-Tool
Converted to cross-platform bash/PowerShell scripts + C# service

Ready for .pak asset extraction when files arrive from community

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 10:06:58 -08:00
bfd37dc7c2 Add Game Asset Preservation System Foundation
DATABASE SCHEMA:
+ GameAsset entity added to RR3DbContext
  - Asset identification (ID, type, filename)
  - EA CDN tracking (original URL, CDN path)
  - Local storage (path, size, SHA256)
  - Metadata (downloads, access count, timestamps)
  - Game-specific (carId, trackId, category)

FEATURES:
- Track all cached assets in database
- Store EA CDN URLs while available
- SHA256 integrity checking
- Access statistics
- Category organization
- Version tracking

PURPOSE:
Foundation for full asset caching system.
Next step: AssetsController with EA CDN proxying.

STORAGE STRUCTURE:
wwwroot/assets/
├── cars/
├── tracks/
├── textures/
├── audio/
├── models/
└── misc/

PRESERVATION STRATEGY:
Phase 1 (EA online): Proxy + cache assets
Phase 2 (EA offline): Serve from cache
Result: Complete game preservation! 🎮💾

Package added: Microsoft.Extensions.Http (for CDN proxying)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:50:04 -08:00
3970ecd9a3 Add Asset Download System with CDN Support
ASSET CONTENT DELIVERY:
+ ContentController.cs
  - Serves game assets (cars, tracks, textures, audio)
  - Downloads from EA CDN (while available)
  - Caches for offline serving
  - Manifest endpoint for asset lists
  - Health check endpoint

FEATURES:
- Asset manifest (/synergy/content/manifest)
- Download assets (/synergy/content/download/{type}/{id})
- Asset metadata (/synergy/content/info/{type}/{id})
- List by type (/synergy/content/list/{type})
- Status checking (HEAD requests)
- MD5 checksums for integrity
- Automatic directory structure

STORAGE:
+ Assets/ directory with structure:
  - cars/
  - tracks/
  - textures/
  - audio/
+ README.md - Complete asset guide
+ .gitignore - Excludes .pak files (copyrighted)

DIRECTOR UPDATE:
* DirectorController.cs
  - Added synergy.content URL
  - Game will request assets from community server

DOCUMENTATION:
+ Assets/README.md
  - How to extract assets
  - Legal guidelines (preservation only)
  - Testing instructions
  - Asset formats and naming

PURPOSE:
Game preservation after EA shutdown.
Users extract assets they own, server hosts them.
Post-shutdown: Full offline gameplay possible.

LEGAL:
- For preservation of owned content only
- Do not distribute EA's copyrighted assets
- Private server use

This enables complete game functionality
independent of EA's servers! 🎮

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:46:12 -08:00
934fa51524 Add Complete Game Progression System
MAJOR UPDATE - Full game systems based on APK analysis:

CAR SYSTEM:
- Purchase cars with Gold or Cash
- 5 starter cars across all classes (C,B,A,S,R)
- Car database with manufacturers and performance ratings
- Garage management and inventory tracking

UPGRADE SYSTEM:
- 5 upgrade types (Engine, Tires, Suspension, Brakes, Drivetrain)
- Progressive Performance Rating increases
- Cash-based upgrade economy
- Per-car upgrade tracking

PROGRESSION SYSTEM:
- Experience Points and leveling (1000 XP per level)
- Level-up rewards (10 Gold + 5K Cash)
- Reputation tracking
- Complete player profile management

CAREER MODE:
- Career series and event tracking
- Star rating system (1-3 stars per event)
- Best time tracking
- Star-based rewards (10G/2KC/100XP per star)

ECONOMY:
- Balanced F2P progression
- ~350 Gold + \ daily earning potential
- Fair pricing for cars and upgrades
- Multiple currency sources

NEW ENDPOINTS:
- GET /synergy/progression/player/{id} - Player profile
- POST /synergy/progression/player/{id}/update - Update stats
- POST /synergy/progression/car/purchase - Buy cars
- POST /synergy/progression/car/upgrade - Upgrade cars
- POST /synergy/progression/career/complete - Finish events

DATABASE:
- Cars table - Vehicle catalog
- OwnedCars table - Player garage
- CarUpgrades table - Upgrade options
- CareerProgress table - Event completion
- User table extended with Level/XP/Reputation

SEEDED DATA:
- 5 cars (Nissan Silvia to McLaren P1 GTR)
- 5 upgrades for starter car
- Time trials and gold packages from previous update

This creates a COMPLETE single-player experience with:
✓ Daily rewards + time trials
✓ Car ownership + garage
✓ Upgrade system
✓ Career progression
✓ Level/XP system
✓ Full economy

Based on actual RR3 game analysis!

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:21:36 -08:00
fbe421847e Add Daily Rewards & Time Trials features
NEW FEATURES:
- Daily login rewards with Gold and Cash
- Daily time trial racing events
- FREE gold purchase system
- Streak tracking for consecutive days
- Web panel for managing rewards and events

ENDPOINTS ADDED:
- GET/POST /synergy/rewards/daily/{id} - Daily rewards
- POST /synergy/rewards/gold/purchase - Buy gold (FREE)
- GET /synergy/rewards/timetrials - Active events
- POST /synergy/rewards/timetrials/{id}/submit - Submit times

DATABASE:
- DailyReward table - tracks claims and streaks
- TimeTrial table - racing events with rewards
- TimeTrialResult table - player submissions
- User.Gold and User.Cash - currency tracking

WEB PANEL:
- /admin/rewards - Manage all reward features
- Create/edit/activate time trial events
- View reward statistics and history
- Gold packages in catalog (100, 500, 1000, 5000)

FOCUS:
- Single-player progression features
- NO race teams or multiplayer
- Perfect for offline play
- All purchases are FREE in community server

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:14:03 -08:00
0a327f3a8b Initial commit: RR3 Community Server with web admin panel
- ASP.NET Core 8 REST API server
- 12 API endpoints matching EA Synergy protocol
- SQLite database with Entity Framework Core
- Web admin panel with Bootstrap 5
- User, Catalog, Session, Purchase management
- Comprehensive documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 22:02:12 -08:00