> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/rncasino/configuration/config.md).

# config.yml

Every option of config.yml.

Most options can also be changed in game with `/casino editor`.

## General

| Option                | Default | What it does                                                                                          |
| --------------------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `language`            | `en`    | Language file of `languages/`                                                                         |
| `per-player-language` | `false` | Each player gets the language of their Minecraft client when that file exists                         |
| `update-checker`      | `true`  | Tell admins when a new version is out. See [Updating](/rnsetups/rncasino/getting-started/updating.md) |
| `auto-reload`         | `true`  | Apply saved files without `/casino reload`                                                            |

## Storage

| Option                                                           | Default                                            | What it does                                                            |
| ---------------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------- |
| `storage.type`                                                   | `SQLITE`                                           | `SQLITE` (the file `data/casino.db`) or `MYSQL`                         |
| `storage.mysql.host` / `port` / `database` / `user` / `password` | `localhost` / `3306` / `minecraft` / `root` / `""` | MySQL connection                                                        |
| `storage.mysql.properties`                                       | `useSSL=false&...`                                 | Extra connection settings                                               |
| `storage.log-bets`                                               | `false`                                            | Save every single bet in the `rncasino_bets` table                      |
| `storage.keep-rounds`                                            | `50000`                                            | Rounds kept in the history; older ones are deleted. `0` = keep them all |

The plugin makes its tables (`rncasino_players`, `rncasino_flags`, `rncasino_rounds`, `rncasino_bets`) by itself. Every read and write runs on its own thread, never on the server's.

## Amounts

| Option                                 | Default                        | What it does                                           |
| -------------------------------------- | ------------------------------ | ------------------------------------------------------ |
| `currencies.vault.format` / `decimals` | `<gold>${amount}</gold>` / `2` | How money looks                                        |
| `currencies.playerpoints.format`       | `<aqua>{amount} points</aqua>` | How points look (always whole)                         |
| `numbers.thousands` / `decimal`        | `,` / `.`                      | Separators: `1,250.50`. Use `.` and `,` for `1.250,50` |

## Values for new tables

`defaults` holds the values a new table gets with `/casino create`. Each table then has its own copy in `tables/<name>.yml`, so changing `defaults` does not change tables you already have. See [Tables](/rnsetups/rncasino/configuration/tables.md) for each option.

```yaml
defaults:
  wheel: EUROPEAN
  currency: vault
  style: MODERN
  chips: [100, 500, 1000, 5000, 10000]
  min-bet: 100
  max-bet-per-player: 50000
  max-bet-per-table: 0
  max-bet-per-spot: 0
  betting-seconds: 30
  extend-seconds: 5
  spin-seconds: 9
  result-seconds: 6
  size: 1.0
  ring-radius: 4.0
```

## Payouts and rules

| Option              | Default                                                                               | What it does                                                                                                  |
| ------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `payouts.*`         | number 36, green 36, green-american 18, red/black/even/odd/low/high 2, dozen/column 3 | What a winning bet gives back, the bet included. See [Bets and payouts](/rnsetups/rncasino/guides/payouts.md) |
| `rules.la-partage`  | `false`                                                                               | Half back on even-money bets when 0 comes out (European tables)                                               |
| `rules.tax-percent` | `0`                                                                                   | Part of the profit of a win kept by the server (0 - 100)                                                      |

## Limits

| Option                         | Default | What it does                                                    |
| ------------------------------ | ------- | --------------------------------------------------------------- |
| `limits.max-rounds-per-day`    | `0`     | Rounds one player may play per day (`0` = no limit)             |
| `limits.max-loss-per-day`      | `0`     | Most one player may lose per day, per currency (`0` = no limit) |
| `limits.reality-check-minutes` | `30`    | Minutes between play-time reminders (`0` = off)                 |
| `limits.max-exclude-days`      | `365`   | Longest break a player can give themselves                      |

See [Responsible gaming](/rnsetups/rncasino/guides/responsible-gaming.md).

## Announcements

| Option                | Default | What it does                                                                                  |
| --------------------- | ------- | --------------------------------------------------------------------------------------------- |
| `broadcast-min-win`   | `25000` | Wins (profit) of at least this much are announced to everybody. `0` = every win, `-1` = never |
| `discord.webhook-url` | `""`    | A Discord webhook to post big wins (Channel settings > Integrations > Webhooks > Copy URL)    |
| `discord.min-win`     | `25000` | Wins posted on Discord from this amount                                                       |
| `chat-amount`         | `true`  | "Other amount" in the menus: the player types any amount in the chat                          |

## The 3D table

| Option                     | Default                                                | What it does                                                                                                                 |
| -------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `model.board`              | `true`                                                 | The betting cloth with clickable spots. `false` = only the wheel; players bet with the menu or `/casino bet`                 |
| `model.wheel-numbers`      | `true`                                                 | Numbers on the wheel pockets                                                                                                 |
| `model.view-distance`      | `48`                                                   | Blocks from where players see the table (8 - 128). Farther players get nothing of it                                         |
| `model.spin-update-ticks`  | `8`                                                    | Ticks between two wheel positions while it spins (1 - 10). The client draws the movement in between, so 8 still looks smooth |
| `model.classic-pointer`    | `ARROW`                                                | Item of the pointer inside classic rings                                                                                     |
| `model.classic-turn-speed` | `10`                                                   | How fast classic rings turn between rounds, in degrees a second (0 - 20; `0` = still)                                        |
| `model.push-players`       | `true`                                                 | Players standing on the table are moved off it                                                                               |
| `model.full-bright`        | `true`                                                 | The table is always lit, even in dark rooms                                                                                  |
| `model.blocks.*`           |                                                        | Blocks of each part: `table`, `cloth`, `lines`, `red`, `black`, `green`, `rim`, `cone`, `turret`, `ball`                     |
| `model.chips`              | white, red, blue, lime, black, purple, orange concrete | One color per chip of a table, in the order of its `chips`                                                                   |

{% hint style="info" %}
**Performance.** The table is made of display entities that are not saved in the world. They are only sent to players within `view-distance`. A table waiting for bets sends nothing; during a round the hologram changes once a second and the spinning wheel sends one small update every `spin-update-ticks`. Tables in unloaded chunks cost nothing.
{% endhint %}

## Sounds

Each sound is `"sound volume pitch"`; `""` turns it off.

| Key                        | When                              |
| -------------------------- | --------------------------------- |
| `chip` / `remove`          | A chip is put down / taken back   |
| `countdown`                | The last seconds of the bets      |
| `no-more-bets`             | Bets close                        |
| `spin` / `ball`            | The wheel starts / the ball rolls |
| `result`                   | The number comes out              |
| `win` / `big-win` / `lose` | For each player, by what they got |
| `error`                    | A bet is refused                  |

The sounds of the menus are in `menus.yml`.
