All Features15 Nove25-

# Raycin Track Manager – New Features Guide
This guide covers all the new features implemented in the Raycin Track Manager plugin. Use this document to understand how to use each feature.
## Table of Contents
1. [Racing Features](#racing-features)
2. [Donation Features](#donation-features)
3. [Shortcodes Reference](#shortcodes-reference)
4. [Admin Features](#admin-features)
5. [Database Tables](#database-tables)
## Racing Features
### 1. Track Completion Tracker
**What it does:** Tracks overall progress through all tracks and awards a “Track Master” badge at 100% completion.
**How to use:**
Automatically tracks progress as users complete races
View progress in the member dashboard: `

Please log in to view your dashboard.

`
Badge is automatically awarded when 100% completion is reached
**Database:** Uses existing `raycin_user_progress` table
**Methods:**
“`php
$members->get_track_completion_stats($user_id);
// Returns: array(‘completed’ => 50, ‘total’ => 100, ‘percentage’ => 50.0, ‘badge_earned’ => false)
“`
### 2. Track of the Week
**What it does:** Features a specific track each week with bonus points for racing on it.
**How to use:**
Admin can set Track of the Week via database or admin interface
Displayed in member dashboard
Bonus points automatically awarded when racing the featured track
**Database Table:** `wp_raycin_track_of_week`
**Methods:**
“`php
$members->get_track_of_week();
$members->set_track_of_week($track_id, $week_start, $week_end, $bonus_points, $description);
“`
**Admin:** Add admin interface to set Track of the Week (coming soon)
### 3. Rivalry System
**What it does:** Tracks head-to-head player comparisons on specific tracks.
**How to use:**
Automatically updates when players race the same track
View rivalries in player profiles
Shows time differences between players
**Database Table:** `wp_raycin_rivalries`
**Methods:**
“`php
$members->get_rivalries($user_id, $track_id = null);
$members->update_rivalry($user_id, $rival_user_id, $track_id);
“`
### 4. Vehicle Class Leaderboards
**What it does:** Separate leaderboards for each vehicle class (Super, Sports, Motorcycles, etc.).
**How to use:**
Use shortcode: `

🏎️ Vehicle Class Leaderboards

F2F Regulars Class Leaderboard

Rank Player Best Lap Races Tracks
1 Reece 3.00 6 5
2 zvonko mitrofonko 3.00 7 7
3 Adamp2412 3.00 4 4
4 KernowGlyn 4.00 16 11
5 dzundar 4.00 4 4
6 Barry 4.00 4 4
7 steva 4.00 3 3
8 enxesquet 4.00 3 3
9 Mateja mmmmmaks 4.00 5 5
10 xtitooxz 4.00 1 1
`
Automatically detects all available vehicle classes from race results
Filter by class using dropdown selector
**Shortcode:**
“`

🏎️ Vehicle Class Leaderboards

Super Class Leaderboard

Rank Player Best Lap Races Tracks
1 DelboyRP 1.00 13 11
2 Sienna 1.00 1 1
3 whitty 1.00 10 9
4 Sadie 1.00 1 1
5 BAAAAAA 1.00 2 2
6 RebeccaB 1.00 8 7
7 KernowGlyn 1.00 17 11
8 lilba 1.00 1 1
9 Baaaaaaaaa 1.00 2 2
10 Street 1.00 1 1
“`
**Parameters:**
`period`: “all”, “month”, “week”, “today”
`limit`: Number of results (default: 10)
`metric`: “best_lap”, “most_races”, “most_wins”
`selected_class`: Pre-select a specific class
**Methods:**
“`php
$leaderboards->get_available_classes();
$leaderboards->get_vehicle_class_leaderboard($race_class, $period, $limit, $metric);
$leaderboards->get_best_in_class_badges($player_name);
“`
### 5. Player Profiles
**What it does:** Public racing profiles showing stats, track mastery, and best-in-class achievements.
**How to use:**
Use shortcode: `

👤 PlayerName

No player data found.

`
Or by user ID: `

👤 randomracespitstop

No player data found.

`
**Shortcode:**
“`

👤 John Doe

No player data found.

Player name required.

“`
**Displays:**
Best lap time
Total races
Track mastery badges (tracks where player is #1)
Best in class badges (vehicle classes where player is #1)
### 6. Social Feed
**What it does:** Activity feed showing player achievements, records, and improvements.
**How to use:**
Use shortcode: `

📰 Activity Feed

No activity to display.

`
Automatically populated when players set records or earn achievements
**Shortcode:**
“`

📰 Activity Feed

No activity to display.

“`
**Parameters:**
`limit`: Number of entries (default: 20)
`feed_type`: Filter by type (“record_set”, “pb_improvement”, “achievement”)
`user_id`: Show only entries for specific user
**Methods:**
“`php
$members->add_social_feed_entry($user_id, $feed_type, $feed_data, $track_id, $event_id);
$members->get_social_feed($limit, $filters);
“`
**Feed Types:**
`record_set`: New track record
`pb_improvement`: Personal best improvement
`achievement`: Achievement earned
`donation_milestone`: Donation milestone reached
### 7. Time Attack Challenges
**What it does:** Auto-generated weekly/monthly time attack events.
**Database Table:** `wp_raycin_time_attack_challenges`
**Structure:**
`track_id`: Track for the challenge
`challenge_type`: “weekly” or “monthly”
`start_date` / `end_date`: Challenge period
`target_time`: Optional target time
`reward_points`: Points for completion
**Methods:**
“`php
// Create challenge (admin only)
$wpdb->insert($table, array(
    ‘track_id’ => 123,
    ‘challenge_type’ => ‘weekly’,
    ‘start_date’ => ‘2025-11-15’,
    ‘end_date’ => ‘2025-11-22’,
    ‘target_time’ => 60.5,
    ‘reward_points’ => 100
));
“`
### 8. Crew/Team System
**What it does:** Create racing crews with leaderboards and team competitions.
**Database Tables:**
`wp_raycin_crews`: Crew information
`wp_raycin_crew_members`: Crew membership
**Structure:**
Crew name, slug, description
Leader ID
Public/private crews
Member roles (leader, member)
**Methods:**
“`php
// Create crew (requires user login)
// Add member to crew
// Get crew leaderboard
“`
**Admin:** Add admin interface for crew management (coming soon)
### 9. Seasonal Competitions
**What it does:** Quarterly or seasonal championships with leaderboards.
**Database Table:** `wp_raycin_seasonal_competitions`
**Structure:**
Season name
Season type: “quarterly”, “monthly”, “yearly”
Start/end dates
Active status
**Methods:**
“`php
// Create seasonal competition (admin only)
// Track points/races during season
// Generate season-end leaderboard
“`
### 10. Achievement System Expansion
**What it does:** Additional achievement types beyond basic badges.
**New Achievements:**
**Speed Demon**: Complete 10+ tracks under 60 seconds
**Marathon Racer**: Race 20+ times in one day
**Night Owl**: Race 10+ times between midnight-6am
**Weekend Warrior**: Complete 25+ races on weekends
**How to use:**
Automatically checked when user races
Badges awarded automatically when criteria met
View in member dashboard
**Methods:**
“`php
$members->check_expanded_achievements($user_id);
// Returns array of newly awarded badge types
“`
### 11. Random Track Generator
**What it does:** “Surprise Me” button that randomly selects a track.
**How to use:**
Use shortcode: `

Random Track Generator

Not sure which track to race? Let us surprise you with a random track!

`
Awards “Explorer” badge on first use
**Shortcode:**
“`

Random Track Generator

Not sure which track to race? Let us surprise you with a random track!

“`
**Parameters:**
`button_text`: Custom button text (default: “🎲 Surprise Me!”)
`show_description`: Show/hide description (default: “true”)
**AJAX Endpoint:**
Action: `raycin_get_random_track`
Nonce: `raycin_random_track`
### 12. Community Challenges
**What it does:** Community-wide goals that all players contribute to.
**How to use:**
Use shortcode: `

🌍 Community Challenges

No community challenges available at this time.

`
Shows challenges with target values >= 100
Displays community progress bar
**Shortcode:**
“`

🌍 Community Challenges

No community challenges available at this time.

“`
**Parameters:**
`limit`: Number of challenges to display (default: 5)
**Database:** Uses `wp_raycin_daily_challenges` table (challenges with high target values)
### 13. Racing Tips & Guides
**What it does:** Placeholder for community-submitted racing tips and track guides.
**How to use:**
Use shortcode: `

💡 Racing Tips & Guides

Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
`
Currently shows placeholder message
Full implementation requires additional database table
**Shortcode:**
“`

💡 Racing Tips & Guides

Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
“`
**Future:** Will allow users to submit tips/guides for tracks
### 14. Friend System
**What it does:** Add friends and compare lap times.
**Database Table:** `wp_raycin_friends`
**Structure:**
`user_id`: User who sent request
`friend_user_id`: User who received request
`status`: “pending”, “accepted”, “blocked”
**Methods:**
“`php
// Send friend request
// Accept friend request
// Get friend list
// Compare times with friends
“`
**Admin:** Add UI for friend management (coming soon)
### 15. Track Reviews
**What it does:** Write detailed reviews for tracks, not just ratings.
**Database Table:** `wp_raycin_track_reviews`
**Structure:**
Track ID, User ID
Rating (1-5)
Review text
Approval status
**Methods:**
“`php
// Submit review
// Get reviews for track
// Approve/reject reviews (admin)
“`
### 16. Racing Tournaments
**What it does:** Bracket-style tournaments with single/double elimination.
**Database Tables:**
`wp_raycin_racing_tournaments`: Tournament info
`wp_raycin_tournament_participants`: Registered players
`wp_raycin_tournament_matches`: Match results
**How to use:**
Create tournament (admin only)
Players register for tournament
Admin creates bracket
Record match results
Tournament progresses automatically
**Methods:**
“`php
$members->create_tournament($data);
$members->register_tournament_participant($tournament_id, $user_id);
“`
**Tournament Data:**
“`php
array(
    ‘tournament_name’ => ‘Spring Championship’,
    ‘tournament_slug’ => ‘spring-championship-2025’,
    ‘description’ => ‘Quarterly championship tournament’,
    ‘bracket_type’ => ‘single_elimination’, // or ‘double_elimination’
    ‘start_date’ => ‘2025-12-01’,
    ‘end_date’ => ‘2025-12-31’,
    ‘max_participants’ => 16,
    ‘track_id’ => 123 // Optional: specific track
)
“`
### 17. Live Race Tracking
**What it does:** Shows who is currently racing in real-time.
**Database Table:** `wp_raycin_live_races`
**How to use:**
FiveM server sends race start/end events to API
Website displays active races
Auto-removes races older than 5 minutes
**Methods:**
“`php
$members->add_live_race($player_name, $player_identifier, $track_id, $track_name);
$members->get_live_races($limit = 10);
“`
**FiveM Integration:**
“`lua
— When race starts
exports[‘raycin-api’]:startRace(playerName, identifier, trackId, trackName)
— When race ends
exports[‘raycin-api’]:endRace(identifier)
“`
**Frontend:** Add shortcode/widget to display live races (coming soon)
### 18. Race Replays
**What it does:** Link to race replay videos (YouTube, Twitch, etc.).
**Database Table:** `wp_raycin_race_replays`
**How to use:**
Users submit replay URLs
Link to race results or track pages
Track view counts
**Methods:**
“`php
$members->add_race_replay(array(
    ‘track_id’ => 123,
    ‘replay_url’ => ‘https://youtube.com/watch?v=…’,
    ‘replay_type’ => ‘video’, // or ‘stream’
    ‘lap_time’ => 45.23,
    ‘replay_description’ => ‘Great race!’
));
“`
**Admin:** Approve/reject replay submissions
### 19. In-Game Notifications
**What it does:** Send notifications to Discord/webhooks when events occur.
**Database Table:** `wp_raycin_in_game_notifications`
**How to use:**
Users configure Discord webhook URL in profile
System sends notifications for:
  Achievement earned
  Record set
  Tournament match scheduled
  Friend request received
**Methods:**
“`php
$members->send_in_game_notification(
    $user_id,
    ‘achievement’,
    ‘Achievement Unlocked!’,
    ‘You earned the Speed Demon badge!’,
    array(‘badge’ => ‘speed_demon’)
);
“`
**User Meta:**
`raycin_discord_webhook`: User’s Discord webhook URL
**Discord Webhook Format:**
Sends embed with title, description, and fields
Color-coded by notification type
## Donation Features
### 20. Donation Round-up
**What it does:** Round registration fees up to nearest whole number, with difference going to charity.
**How to use:**
Automatically calculated during event registration
Optional checkbox: “Round up to nearest £1 for charity”
Round-up amount added to donation
**Methods:**
“`php
$donations->calculate_roundup($registration_fee);
// Returns: float (round-up amount)
“`
**Example:**
Registration fee: £4.75
Round-up: £0.25
Total charged: £5.00
Donation: £0.25
### 21. Supporter Badges
**What it does:** Display ⭐ badge next to usernames for users who have donated.
**How to use:**
Automatically displayed in:
  Social feed
  Leaderboards
  Player profiles
  Comments/forums (if integrated)
**Badge Types:**
`charity_supporter`: Donated to charity
`charity_champion`: Donated significant amount
`charity_hero`: Top donor
`supporter`: General supporter badge
**Methods:**
“`php
$donations->has_supporter_badge($user_id);
// Returns: bool
“`
**Display:**
Badge appears as: `Username ⭐`
Gold star emoji with tooltip “Supporter”
### 22. Recurring Donations
**What it does:** Set up monthly/weekly/yearly recurring donations.
**Database Table:** `wp_raycin_recurring_donations`
**How to use:**
Users can set up recurring donations
Payments processed automatically on schedule
Supports PayPal subscriptions
**Methods:**
“`php
$donations->create_recurring_donation(array(
    ‘user_id’ => 1,
    ‘charity_id’ => 2,
    ‘amount’ => 10.00,
    ‘frequency’ => ‘monthly’, // ‘weekly’, ‘monthly’, ‘yearly’
    ‘payment_method’ => ‘paypal’
));
“`
**Frequencies:**
`weekly`: Every week
`monthly`: Every month
`yearly`: Every year
**Cron Job:** Process recurring donations daily (check for due payments)
### 23. Gift Donations
**What it does:** Donate in honor of someone else.
**Database Table:** `wp_raycin_gift_donations`
**How to use:**
During donation, check “This is a gift”
Enter recipient name and email
Optional gift message
Recipient receives notification email
**Methods:**
“`php
$donation_id = $donations->create_donation($donation_data);
$donations->create_gift_donation($donation_id, array(
    ‘recipient_name’ => ‘John Doe’,
    ‘recipient_email’ => ‘john@example.com’,
    ‘gift_message’ => ‘Happy Birthday!’
));
“`
**Email:** Recipient receives email notification about the gift donation
### 24. Donation Milestones
**What it does:** Special announcements when donation totals reach milestones.
**Milestones:**
£100, £500, £1,000, £5,000, £10,000, £25,000, £50,000, £100,000
**How to use:**
Automatically triggered when milestone reached
Added to social feed
Action hook: `raycin_donation_milestone_reached`
**Methods:**
“`php
// Automatically called when donation completed
$public->check_donation_milestones($donation_id, $amount);
“`
**Action Hook:**
“`php
add_action(‘raycin_donation_milestone_reached’, function($milestone, $total, $donation_id) {
    // Send notification, update social feed, etc.
}, 10, 3);
“`
### 25. Admin Dashboard Widget
**What it does:** Widget on WordPress admin dashboard showing donation statistics.
**How to use:**
Automatically appears on WordPress dashboard
Shows:
  Total donations
  Today’s donations
  Site goal progress
  Pending donations count
**Location:** WordPress Admin → Dashboard
**Widget Features:**
Quick stats overview
Progress bar for site goal
Link to review pending donations
Link to all donations page
### 26. Recurring Charity Events
**What it does:** Special features for recurring charity race events.
**How to use:**
Track donation totals across all instances of recurring event
View donation history per event instance
Aggregate totals for event series
**Methods:**
“`php
$donations->get_recurring_charity_events($parent_event_id);
// Returns: array of event instances with donation totals
“`
**Returns:**
“`php
array(
    array(
        ‘event’ => object, // Event object
        ‘donation_total’ => 150.00
    ),
    // … more events
)
“`
### 27. Donation Tiers
**What it does:** Bronze/Silver/Gold tiers based on donation amounts.
**Database Table:** `wp_raycin_donation_tiers`
**How to use:**
Admin creates tiers with min/max amounts
Users automatically assigned tier based on total donations
Tiers can have badges and benefits
**Methods:**
“`php
$donations->get_donation_tier($amount);
// Returns: tier object or false
“`
**Tier Structure:**
“`php
array(
    ‘tier_name’ => ‘Gold Supporter’,
    ‘tier_type’ => ‘gold’,
    ‘min_amount’ => 100.00,
    ‘max_amount’ => null, // null = no upper limit
    ‘badge_name’ => ‘Gold Supporter’,
    ‘benefits’ => ‘Exclusive access, priority support’
)
“`
**Admin:** Add admin interface to manage tiers (coming soon)
### 28. Charity Impact Stories
**What it does:** Story/update content for charities showing impact.
**Database Table:** `wp_raycin_charity_impact_stories`
**How to use:**
Admin creates impact stories for charities
Display on charity pages
Featured stories highlighted
**Methods:**
“`php
$donations->create_impact_story(array(
    ‘charity_id’ => 1,
    ‘story_title’ => ‘Helped 50 Families’,
    ‘story_content’ => ‘With your donations, we were able to…’,
    ‘story_date’ => ‘2025-11-15’,
    ‘is_featured’ => 1
));
“`
**Frontend:** Add shortcode/widget to display stories (coming soon)
### 29. Team Fundraising
**What it does:** Create fundraising teams with goals and progress tracking.
**Database Tables:**
`wp_raycin_team_fundraising`: Team info
`wp_raycin_team_fundraising_members`: Team members
**How to use:**
Create team with goal amount
Team leader invites members
Track team progress toward goal
Team leaderboard
**Methods:**
“`php
$donations->create_team_fundraising(array(
    ‘team_name’ => ‘Racing for Charity’,
    ‘team_slug’ => ‘racing-for-charity’,
    ‘charity_id’ => 1,
    ‘goal_amount’ => 1000.00,
    ‘team_leader_id’ => 1,
    ‘description’ => ‘Our team goal is to raise £1000’
));
“`
**Frontend:** Add shortcode/widget for team pages (coming soon)
### 30. Donation Matching
**What it does:** Admin or sponsors can match donations (e.g., 1:1 or 2:1 matching).
**Database Table:** `wp_raycin_donation_matching`
**How to use:**
Admin applies matching to specific donations
Set matching ratio (1.0 = 1:1, 2.0 = 2:1)
Track matched amounts separately
**Methods:**
“`php
$donations->apply_donation_matching($donation_id, $matching_ratio = 1.0, $matcher_name = );
“`
**Example:**
Donation: £50
Matching ratio: 2.0 (2:1)
Matched amount: £100
Total impact: £150
### 31. Donation Certificates
**What it does:** Generate PDF certificates for donations (placeholder – requires PDF library).
**How to use:**
Currently returns placeholder URL
Full implementation requires TCPDF or FPDF library
Would generate downloadable PDF certificate
**Methods:**
“`php
$certificate_url = $donations->generate_donation_certificate($donation_id);
// Returns: URL to certificate or false
“`
**Future Implementation:**
Install PDF library (TCPDF recommended)
Design certificate template
Generate PDF with donation details
Store in uploads folder
Return download URL
## Shortcodes Reference
### Racing Shortcodes
| Shortcode | Description | Parameters |
|———–|————-|————|
| `

🏎️ Vehicle Class Leaderboards

F2F Regulars Class Leaderboard

Rank Player Best Lap Races Tracks
1 Reece 3.00 6 5
2 zvonko mitrofonko 3.00 7 7
3 Adamp2412 3.00 4 4
4 KernowGlyn 4.00 16 11
5 dzundar 4.00 4 4
6 Barry 4.00 4 4
7 steva 4.00 3 3
8 enxesquet 4.00 3 3
9 Mateja mmmmmaks 4.00 5 5
10 xtitooxz 4.00 1 1
`
| Vehicle class leaderboards | `period`, `limit`, `metric`, `selected_class` |
| `

Player name required.

`
| Player profile page | `player_name`, `user_id` |
| `

📰 Activity Feed

No activity to display.

`
| Activity feed | `limit`, `feed_type`, `user_id` |
| `

Random Track Generator

Not sure which track to race? Let us surprise you with a random track!

`
| Random track generator | `button_text`, `show_description` |
| `

🌍 Community Challenges

No community challenges available at this time.

`
| Community challenges | `limit` |
| `

💡 Racing Tips & Guides

Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
`
| Racing tips placeholder | `track_id`, `limit` |
### Existing Shortcodes
| Shortcode | Description |
|———–|————-|
| `

Please log in to view your dashboard.

`
| Member dashboard (includes Track Completion, Track of Week) |
| `

Track Leaderboard (All)

Rank Player Best Lap Races Avg Lap Last Race
1 MarioMan 1.00 1 1.00 11/01/2025
2 whitty 1.00 36 2.94 24/08/2025
3 DelboyRP 1.00 47 2.77 10/10/2025
4 SpookyButt 1.00 9 1.56 24/04/2025
5 RebeccaB 1.00 36 3.28 10/10/2025
6 Masrraaa 1.00 2 6.50 21/02/2025
7 Sienna 1.00 3 1.33 19/04/2025
8 Glynrr 1.00 18 4.83 13/01/2025
9 Sadie 1.00 6 4.17 10/10/2025
10 stoika 1.00 3 7.33 21/02/2025
`
| General leaderboards |
| `

Around The Docks Daily Event

📅 Date:
🏁 Track: Around The Docks
👥 Spaces: 998 available (1/999)
Daily Scheduled 🔁 Daily ⭐ 250 Points

Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your results are displayed on the…

MP Hocus Pocus Track - Daily

📅 Date:
🏁 Track: MP Hocus Pocus
👥 Spaces: 998 available (1/999)
Daily Scheduled 🔁 Daily ⭐ 250 Points

Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your results are displayed on the…

`
| Events list |
| `
Reset
⏰ Soon

Around The Docks Daily Event

📅
🏁 Track: Around The Docks
👥 Spaces: 998 available (1/999 registered)
Daily Scheduled 🔁 Daily ⭐ 250 Points

Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your…

⏰ Soon

MP Hocus Pocus Track - Daily

📅
🏁 Track: MP Hocus Pocus
👥 Spaces: 998 available (1/999 registered)
Daily Scheduled 🔁 Daily ⭐ 250 Points

Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your…

`
| Events summary |
| `

Hold Ctrl/Cmd to select multiple

Clear Filters

Current Selection

All race types
Overall Tracks 307 (Tracks matching current filters)
Class Types 21 (Distinct classes in this view)
Race Type Breakdown
Deadline 14
Face To Face 31
Hunting Pack 13
Multi Purpose 70
Parkour 2
Playground 6
R Hotring Circuit 15
Rally 8
Random Transform 19
Runner vs Vehicle 10
Stunt Race 48
Sumo 15
Sumo (Remix) 7
Transform 39
Image Track Name Difficulty Class Race Type Length (km) Checkpoints Lap Times
RO Hotring Circuit Sandy Shores RO Hotring Circuit Sandy Shores 0.20 Muscle R Hotring Circuit 1.37 49 🏆 00:51.89
MP Nebula Circuit MP Nebula Circuit 0.40 Super Multi Purpose 1.42 44
MP OW More Haste More Speed MP OW More Haste More Speed 0.50 open-wheel Multi Purpose 1.42 44 🏆 00:56.25
RO Hotring Circuit Double Helix RO Hotring Circuit Double Helix 0.20 Muscle R Hotring Circuit 1.43 52 🏆 01:20.93
Playground R.All - Errordrome Playground R.All - Errordrome 0.10 Compacts Playground 1.46 62 🏆 01:12.77
RO Hotring Circuit Vinewood RO Hotring Circuit Vinewood 0.20 Muscle R Hotring Circuit 1.48 48 🏆 00:57.05
RO Hotring Circuit Fort Zancudo RO Hotring Circuit Fort Zancudo 0.20 Muscle R Hotring Circuit 1.50 47 🏆 01:22.22
RO Hotring Circuit Arcadious RO Hotring Circuit Arcadious 0.30 Sports R Hotring Circuit 1.51 46 🏆 01:08.83
HP RR Hunting Pack (Remix) VII HP RR Hunting Pack (Remix) VII 0.60 Unknown Hunting Pack 1.53 13
MP OW Lifes a Beach MP OW Lifes a Beach 0.50 open-wheel Multi Purpose 1.55 52 🏆 01:01.73
MP RR Cross Heart Short MP RR Cross Heart Short 0.30 Sports Multi Purpose 1.55 61
RT RR Cross Heart Short RT RR Cross Heart Short 0.30 RDM-TSFM-select Random Transform 1.55 61 🏆 01:36.75
MP Los Santos GP Lower loop MP Los Santos GP Lower loop 0.40 Super Multi Purpose 1.56 43
MP Los Santos GP Upper Loop MP Los Santos GP Upper Loop 0.40 Super Multi Purpose 1.58 46
MP BlaineCounty 24h SST MP BlaineCounty 24h SST 0.30 Super Multi Purpose 1.61 45
HP RR Hunting Pack (Remix) IV HP RR Hunting Pack (Remix) IV 0.40 Unknown Hunting Pack 1.70 14
Trench II Trench II 0.20 Muscle Stunt Race 1.73 67
MP Alamo Bridges MP Alamo Bridges 0.50 Super Multi Purpose 1.74 51 🏆 01:13.16
R Jag Rusted Outrun Rally R Jag Rusted Outrun Rally 1.00 almost-rally Rally 1.75 59 🏆 01:54.08
RO Hotring Circuit City Slick RO Hotring Circuit City Slick 0.20 Muscle R Hotring Circuit 1.80 43 🏆 01:11.45
MP OW Urban Renewel MP OW Urban Renewel 0.50 open-wheel Multi Purpose 1.84 43 🏆 01:18.25
RT GNGR Burger Shot Raceway XD RT GNGR Burger Shot Raceway XD 0.50 RDM-TSFM-surprise Random Transform 1.85 56
MP GNGR Burger Shot Raceway XD MP GNGR Burger Shot Raceway XD 0.50 Super Multi Purpose 1.88 54
HP RR Hunting Pack (Remix) VI HP RR Hunting Pack (Remix) VI 0.50 Unknown Hunting Pack 1.89 15
Duel Duel 0.30 Muscle Stunt Race 1.89 62 🏆 01:43.19
MP Rockford Hills MP Rockford Hills 0.40 10-vehicles Multi Purpose 1.91 54 🏆 01:49.01
MP Hocus Pocus MP Hocus Pocus 0.20 Sports Multi Purpose 2.01 54 🏆 01:35.76
RT RR2Circuit Lap RT RR2Circuit Lap 0.30 RDM-TSFM-select Random Transform 2.02 41
MP Galileo Ringeroo MP Galileo Ringeroo 0.40 Super Multi Purpose 2.07 56
Trench I Trench I 0.20 Motorcycles Stunt Race 2.15 43 🏆 01:21.95
Splits Splits 0.30 Compacts Stunt Race 2.18 51
RT Gassed Up RT Gassed Up 0.20 RDM-TSFM-select Random Transform 2.20 52 🏆 01:29.17
MP TOK Griffith Park MP TOK Griffith Park 0.50 Off-Road Multi Purpose 2.21 66
MP TOK Twisted Drain MP TOK Twisted Drain 0.30 Compacts Multi Purpose 2.21 47 🏆 01:37.33
MP Los Santos GP MP Los Santos GP 0.30 Super Multi Purpose 2.28 52
Racing Alley Racing Alley 0.30 Sports Stunt Race 2.30 36 🏆 02:03.66
RO Hotring Circuit Vespucci RO Hotring Circuit Vespucci 0.20 Muscle R Hotring Circuit 2.33 46 🏆 01:36.57
MP TOK Caffeine Circuit MP TOK Caffeine Circuit 0.30 Super Multi Purpose 2.35 55 🏆 01:19.42
F2F 46 Josepo F2F 46 Josepo 0.40 F2F Regulars Face To Face 2.36 29 🏆 04:09.32
City Limits City Limits 0.40 Super Stunt Race 2.37 36 🏆 01:29.84
H200 H200 0.45 Sports Stunt Race 2.39 40 🏆 01:51.35
RT Emerald Drive RT Emerald Drive 0.30 RDM-TSFM-select Random Transform 2.46 56 🏆 02:00.03
Downtown Loop Downtown Loop 0.50 Super Stunt Race 2.46 35 🏆 02:03.96
Nightlife Nightlife 0.30 Motorcycles Stunt Race 2.47 61
RT CXB1 Dune Leapfroggin RT CXB1 Dune Leapfroggin 0.30 RDM-TSFM-select Random Transform 2.48 60 🏆 02:20.41
MP TarMac & Cheese Entree MP TarMac & Cheese Entree 0.40 Super Multi Purpose 2.50 58
MP RR Cross Heart long MP RR Cross Heart long 0.30 Sports Multi Purpose 2.52 69
Cluster Struck Cluster Struck 0.40 Muscle Stunt Race 2.53 52
MP FISH Demeters Grief MP FISH Demeters Grief 0.50 Super Multi Purpose 2.56 55
MP Alans Burger Shot Raceway MP Alans Burger Shot Raceway 0.40 Super Multi Purpose 2.57 60
Showing 101-150 of 307 tracks
`
| Track list with lap times |
## Admin Features
### Dashboard Widget
**Location:** WordPress Admin → Dashboard
**Shows:**
Total donations
Today’s donations
Site goal progress
Pending donations count
### Admin Pages
**Coming Soon:**
Track of the Week management
Tournament management
Crew management
Donation tier management
Charity impact stories
Team fundraising management
## Database Tables
### New Tables Created
**Racing Features:**
`wp_raycin_track_of_week`
`wp_raycin_rivalries`
`wp_raycin_social_feed`
`wp_raycin_friends`
`wp_raycin_time_attack_challenges`
`wp_raycin_crews`
`wp_raycin_crew_members`
`wp_raycin_seasonal_competitions`
`wp_raycin_track_reviews`
`wp_raycin_racing_tournaments`
`wp_raycin_tournament_participants`
`wp_raycin_tournament_matches`
`wp_raycin_live_races`
`wp_raycin_race_replays`
`wp_raycin_in_game_notifications`
**Donation Features:**
`wp_raycin_recurring_donations`
`wp_raycin_gift_donations`
`wp_raycin_donation_tiers`
`wp_raycin_charity_impact_stories`
`wp_raycin_team_fundraising`
`wp_raycin_team_fundraising_members`
`wp_raycin_donation_matching`
## API Integration
### FiveM Integration
**Live Race Tracking:**
“`lua
— Start race
exports[‘raycin-api’]:startRace(playerName, identifier, trackId, trackName)
— End race
exports[‘raycin-api’]:endRace(identifier)
“`
**REST API Endpoints:**
`/wp-json/raycin/v1/races/start` – Start live race
`/wp-json/raycin/v1/races/end` – End live race
## Action Hooks
### Available Hooks
“`php
// Donation created
do_action(‘raycin_donation_created’, $donation_id, $data);
// Donation milestone reached
do_action(‘raycin_donation_milestone_reached’, $milestone, $total, $donation_id);
“`
### Filter Hooks
“`php
// Filter donation amount
apply_filters(‘raycin_donation_amount’, $amount, $donation_data);
// Filter supporter badge display
apply_filters(‘raycin_supporter_badge_html’, $badge_html, $user_id);
“`
## Notes
1. **Admin Interfaces:** Many features have database tables and methods but need admin UI interfaces. These can be added as needed.
2. **PDF Certificates:** Donation certificates require a PDF library (TCPDF or FPDF) to be installed.
3. **Discord Webhooks:** Users need to configure their Discord webhook URL in their profile for in-game notifications.
4. **Live Race Tracking:** Requires FiveM server integration to send race start/end events.
5. **Tournament Brackets:** Tournament bracket generation logic needs to be implemented for automatic bracket creation.
## Support
For questions or issues with these features, check the main plugin documentation or contact support.
**Last Updated:** November 2025