Lyre Tennis - Realistic Tennis Minigame with ELO Ranking, Leaderboards, AI Training, Tennis Tutorial


Lyre Tennis is a complete and professional tennis game for FiveM servers. Experience authentic tennis gameplay with realistic ball physics, competitive ELO ranking system, AI opponents for training, and an interactive tutorial with a coach NPC. Whether your players want casual matches with friends or intense ranked competition climbing the leaderboards, this script delivers a polished sports mini-game with a beautiful modern interface!


  • Four Game Modes – Complete variety for all player types:
    • Ranked Matches: Competitive PvP affecting ELO rating and leaderboard position
    • Friendly Matches: Casual PvP without ranking consequences
    • Training Mode: Practice against AI opponents with 3 difficulty levels
    • Tutorial Mode: Interactive lessons with a coach NPC teaching tennis fundamentals
  • Authentic Tennis Rules – Complete implementation of real tennis scoring system: Love (0), 15, 30, 40, Deuce, Advantage. Configurable sets (best of 1, 3, or 5), tiebreak system at configurable threshold, service faults with double-fault detection, and out-of-bounds calls.
  • Advanced Ball Physics – Realistic physics simulation with gravity, air drag, ground bounce elasticity, and net collision. The ball behaves like a real tennis ball!
  • Three Shot Types – Each shot type affects ball trajectory differently:
    • Normal: Standard balanced trajectory
    • Backspin: Ball floats longer in the air, slower descent
    • Topspin: Ball dips faster toward the ground, aggressive play
  • Comprehensive Animation System – 36+ animations covering all shot combinations. Automatic selection based on ball position, height, and distance. Includes forehand, backhand, diving saves, serves, and 8-directional movement.
  • ELO Ranking System – Chess-style competitive rating with 6 progression tiers:
    • Beginner (0-249 ELO)
    • Iron (250-499 ELO)
    • Silver (500-999 ELO)
    • Gold (1000-1499 ELO)
    • Amethyst (1500-1999 ELO)
    • Ruby (2000+ ELO)
  • Time-Based Leaderboards – Three competitive periods to dominate:
    • All-Time: Permanent rankings for the legends
    • Weekly: Auto-resets every Sunday - fresh competition each week
    • Monthly: Auto-resets first of each month - monthly champions
  • Detailed Statistics Tracking – Complete player stats persisted in database: matches played/won/lost, points/games/sets won, aces count, double faults, current and maximum win streaks, peak ELO rating achieved.
  • Intelligent AI Opponents – Training mode features NPC opponents using the same animation system as players. Three difficulty levels with configurable reaction times, accuracy, movement speed, and positioning precision.
  • Interactive Tutorial System – Lesson covering court basics, scoring rules, serving mechanics, shot types, movement impact, and strategy tips. Practice phases require completing objectives before advancing.
  • Coach NPC – A dedicated coach character guides players through the tutorial with dialog and demonstrations. Configurable coach name and model.
  • Serve Power Meter – Visual power bar when serving with an optimal zone indicator. Master the timing for perfect serves!
  • Modern React Interface – Beautiful, responsive UI built with React and TypeScript
  • Multi-Court Support – Configure unlimited tennis courts on your server. Each court operates independently with its own referee NPC.
  • Immersive Audio – Tennis audio banks with ball impacts, net collisions, footwork squeaks on court surface, and UI feedback sounds. Full sound integration for gameplay immersion.
  • Rank Badges – Visual badge icons for each rank tier displayed in UI and leaderboards. Show off your tennis skills!
  • Configurable Physics – Fine-tune gravity values, drag coefficients, bounce elasticity, spin effects, ball speed, and more. Adjust gameplay feel to match your server’s preferences.
  • Configurable Match Settings – Customize games to win per set, sets to win per match, tiebreak threshold, and ELO K-factor for rating calculations.
  • Framework Bridge System – Professional architecture with clean framework abstraction. Automatic detection of ESX or QBCore. Easy to adapt to any framework with included bridge examples.
  • Two Interaction Modes – Support for both 3D markers and target systems (ox_target, qb-target) based on your server’s preference.
  • Multi-Language Support – 9 fully localized languages out of the box: English, French, German, Spanish, Italian, Japanese, Dutch, Russian, and Simplified Chinese.
  • Performance Optimized – Runs at an ultra-low 0.00ms performance impact with efficient resource usage.

All features can be configured in the config file. Check our documentation for detailed configuration options.

Overview tab

Play tab

Leaderboard tab

Tutorial dialog

Choose a training difficulty vs AI

Serve power bar and scoreboard

Dependencies

The script has been designed for the latest versions of these dependencies.

Framework compatibility
  • ESX (latest version): Drag and drop compatible (bridge auto-detection enabled by default)
  • QBCORE & QBOX (latest version): Drag and drop compatible (bridge auto-detection enabled by default)
  • Standalone: Works without any framework (uses example bridge)
  • Any other framework: You can create a custom bridge (see our documentation for guidance)

The script uses a framework bridge pattern - all framework-specific code is isolated in the bridge folder for easy multi-framework support.

SQL resource compatibility
Onesync compatibility
  • Onesync Infinity: Compatible
  • Onesync Legacy: Compatible
  • Without Onesync: Compatible
Target system compatibility
  • ox_target: Compatible
  • qb-target: Compatible
  • 3D Markers: Compatible (default)

:point_right: Buy it on Tebex :point_left:
Script is actually 15% OFF

Check our documentation

Code is accessible No
Subscription-based No
Lines (approximately) ~9000
Requirements oxmysql
Support Yes