Features:
- Version dropdown in single/ZIP upload (9.3.0, 9.2.0, etc.)
- Patch-compatible matching (9.3.x assets work with 9.3.0)
- manifest.json/xml support for automatic metadata detection
- Smart category auto-detection from folder structure
- Version field stored in GameAssets table
Manifest support:
- JSON format with gameVersion, category, assets array
- Per-file metadata overrides (type, required, description)
- Auto-detect falls back if no manifest present
- See ASSET-MANIFEST-SPECIFICATION.md for full spec
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Added @Html.AntiForgeryToken() to Register.cshtml
- Added @Html.AntiForgeryToken() to Login.cshtml
- Fixes 400 Bad Request errors on form submission
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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>
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>
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>
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>