> For the complete documentation index, see [llms.txt](https://k0ssek-scripts.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://k0ssek-scripts.gitbook.io/docs/scripts/squash.md).

# Squash

1v1 squash matches and solo practice with a server-side referee, wagers, Elo rankings and four ready courts.

**kossek\_squash** is a squash minigame for FiveM. Players walk onto a court, open the squash panel and play a match against each other or practise alone, while others watch. Every rally is decided by the server on a ball simulation that all players run identically, so players and spectators see the same ball.

Current version: **1.0.0**. What it contains and its known issues are in the [Changelog](/docs/scripts/squash/changelog.md).

## Features

| Feature                      | Details                                                                                                                                                 |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Matches and practice**     | 1v1 matches with point-a-rally scoring to 11, as a single game or best of three or five. Solo practice records the longest rally.                       |
| **Real shots**               | Hard shots and touch shots aimed with the camera. Timing and how cleanly the ball meets the racket decide speed and accuracy. Serves use a power meter. |
| **Server-side referee**      | The server decides every rally: tin, out lines, double bounce, service faults, the ball hitting a player, and let appeals by the World Squash rules.    |
| **Four ready courts**        | The included map turns the handball courts at Vespucci Beach into a squash venue with glass back walls, lights and scoreboards.                         |
| **Your own courts**          | One in-game command creates a court where you stand, lines it up with the walls of a room and prints the config line.                                   |
| **Scoreboards in the world** | A live screen per court, placed in game with a command.                                                                                                 |
| **Wagers**                   | The player who opens a match can set a stake. The winner takes the pot.                                                                                 |
| **Elo ranking**              | Rating, rank and win rate per character, with a leaderboard in the panel.                                                                               |
| **Spectators**               | Bystanders see the ball and the rackets, and read the score on the court's scoreboard, or on their screen at a court without one.                       |
| **Custom racket and ball**   | Squash models included, with the game's tennis props as a fall-back.                                                                                    |
| **Player HUD editor**        | Every player can move the HUD elements. The whole look is one CSS file.                                                                                 |
| **Multi-framework**          | ESX, QBCore, QBX and standalone, detected automatically.                                                                                                |
| **Target or text prompt**    | ox\_target, qb-target, or a marker with the E key.                                                                                                      |
| **Localization**             | English and Polish included.                                                                                                                            |

## Editable files

These are not encrypted:

* `config/` - all settings
* `bridge/` - framework and target integrations
* `locales/` - every text shown to players
* `client/editable.lua`, `server/editable.lua` - notifications and the prompt
* `web/dist/theme.css` - the look of the HUD, the panel and the scoreboards

## Where to go next

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Installation</strong></td><td>Requirements, the two resources, start order and admin access.</td><td><a href="/docs/scripts/squash/installation.md">Installation</a></td></tr><tr><td><strong>Configuration</strong></td><td>Every option in config/shared.lua.</td><td><a href="/docs/scripts/squash/configuration.md">Configuration</a></td></tr><tr><td><strong>Courts &#x26; Scoreboards</strong></td><td>The included courts, adding your own in game, and hanging scoreboards.</td><td><a href="/docs/scripts/squash/courts-and-scoreboards.md">Courts &amp; Scoreboards</a></td></tr><tr><td><strong>Gameplay</strong></td><td>Starting a game, controls, the referee, wagers and rankings.</td><td><a href="/docs/scripts/squash/gameplay.md">Gameplay</a></td></tr><tr><td><strong>Frameworks &#x26; Targets</strong></td><td>What each framework and target option does, and how to adapt the bridge.</td><td><a href="/docs/scripts/squash/frameworks-and-targets.md">Frameworks &amp; Targets</a></td></tr><tr><td><strong>Customization</strong></td><td>Languages, notifications, the look of the HUD and the files you can edit.</td><td><a href="/docs/scripts/squash/customization.md">Customization</a></td></tr><tr><td><strong>Events</strong></td><td>The server event fired when a match or a practice session ends.</td><td><a href="/docs/scripts/squash/events.md">Events</a></td></tr><tr><td><strong>Changelog</strong></td><td>What each version changed, and the known issues of the current one.</td><td><a href="/docs/scripts/squash/changelog.md">Changelog</a></td></tr></tbody></table>

{% hint style="info" %}
Need some help? Create a ticket on our [Discord](https://discord.gg/eZN5ycvPVs).
{% endhint %}
