> For the complete documentation index, see [llms.txt](https://wiki.novadev.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.novadev.ovh/novashard/5.-configuration.md).

# 5. configuration

Les fichiers de configuration se trouvent dans `plugins/NovaShard/` après le premier démarrage.

{% hint style="info" %}
Pour appliquer les modifications sans redémarrer : `/novashard reload`
{% endhint %}

***

## config.yml

### Licence

```yaml
license:
  key: "VOTRE-CLE-LICENCE-ICI"
```

| Clé           | Description                        |
| ------------- | ---------------------------------- |
| `license.key` | Votre clé de licence. Obligatoire. |

***

### Noms des commandes

```yaml
commands:
  shards: "shards"
  afk: "afk"
  quitafk: "quitafk"
  transfer: "transfer"
  store: "store"
  novashard: "novashard"
  leaderboard: "leaderboard"
  setafk: "setafk"
  afkremove: "afkremove"
```

Chaque commande peut être renommée librement. La valeur est le nom tel qu'il sera tapé en jeu (ex : `"shards"` → `/shards`).

{% hint style="warning" %}
Un redémarrage complet du serveur est nécessaire pour que les changements de noms prennent effet. `/novashard reload` ne suffit pas.
{% endhint %}

***

### Noms des sous-commandes

```yaml
subcommands:
  shards:
    balance: "balance"
    give: "give"
    remove: "remove"
    set: "set"
  novashard:
    reload: "reload"
    configure: "configure"
  store:
    add: "add"
    remove: "remove"
    edit: "edit"
    editname: "editname"
    editlore: "editlore"
```

Les sous-commandes de chaque commande peuvent également être renommées.

{% hint style="info" %}
Exception : `about` et `help` sont toujours disponibles quel que soit le nom configuré - ils ne sont pas configurables.

Un redémarrage complet est nécessaire pour appliquer les changements.
{% endhint %}

***

### Stockage

```yaml
storage:
  type: sqlite
  mysql:
    host: localhost
    port: 3306
    database: novashard
    user: root
    password: password
  sqlite:
    file: plugins/NovaShard/storage/novashard.db
```

| Clé                      | Valeur par défaut                        | Description                            |
| ------------------------ | ---------------------------------------- | -------------------------------------- |
| `storage.type`           | `sqlite`                                 | Type de stockage : `sqlite` ou `mysql` |
| `storage.mysql.host`     | `localhost`                              | Adresse du serveur MySQL               |
| `storage.mysql.port`     | `3306`                                   | Port MySQL                             |
| `storage.mysql.database` | `novashard`                              | Nom de la base de données              |
| `storage.mysql.user`     | `root`                                   | Utilisateur MySQL                      |
| `storage.mysql.password` | `password`                               | Mot de passe MySQL                     |
| `storage.sqlite.file`    | `plugins/NovaShard/storage/novashard.db` | Chemin du fichier SQLite               |

{% hint style="info" %}
Passez à MySQL si vous gérez un réseau multi-serveurs partageant la même économie.
{% endhint %}

***

### Boutique

```yaml
store:
  size: 54
  title: "&6Boutique de Shards"
  default-lore:
    - "&7Prix : {price} shards"
  items: {}
```

| Clé                  | Valeur par défaut             | Description                                                           |
| -------------------- | ----------------------------- | --------------------------------------------------------------------- |
| `store.size`         | `54`                          | Nombre de slots de l'interface : `9`, `18`, `27`, `36`, `45` ou `54`  |
| `store.title`        | `&6Boutique de Shards`        | Titre de la fenêtre (supporte les codes couleur `&`)                  |
| `store.default-lore` | `["&7Prix : {price} shards"]` | Lore affiché sous chaque item. `{price}` est remplacé automatiquement |

{% hint style="info" %}
Les items sont ajoutés en jeu via `/store add <slot> <prix>` - pas dans ce fichier.
{% endhint %}

***

### Gains

#### Temps de jeu

```yaml
earning:
  playtime:
    enabled: true
    interval: 3600000
    amount: 3
    message-enabled: true
```

| Clé                                | Valeur par défaut | Description                                           |
| ---------------------------------- | ----------------- | ----------------------------------------------------- |
| `earning.playtime.enabled`         | `true`            | Activer/désactiver                                    |
| `earning.playtime.interval`        | `3600000`         | Intervalle en **millisecondes** (3 600 000 = 1 heure) |
| `earning.playtime.amount`          | `3`               | Shards gagnés par intervalle                          |
| `earning.playtime.message-enabled` | `true`            | Notifier le joueur lors du gain                       |

#### PvP (kills)

```yaml
  kills:
    enabled: true
    amount: 10
    message-enabled: true
```

| Clé                             | Valeur par défaut | Description                     |
| ------------------------------- | ----------------- | ------------------------------- |
| `earning.kills.enabled`         | `true`            | Activer/désactiver              |
| `earning.kills.amount`          | `10`              | Shards gagnés par kill          |
| `earning.kills.message-enabled` | `true`            | Notifier le joueur lors du gain |

{% hint style="info" %}
Un cooldown de 24 heures s'applique par paire tueur/victime pour éviter les abus.
{% endhint %}

#### Mode AFK

```yaml
  afk:
    enabled: true
    interval: 30
    amount: 1
    countdown: 5
    message-enabled: true
```

| Clé                           | Valeur par défaut | Description                                             |
| ----------------------------- | ----------------- | ------------------------------------------------------- |
| `earning.afk.enabled`         | `true`            | Activer/désactiver                                      |
| `earning.afk.interval`        | `30`              | Secondes entre chaque gain                              |
| `earning.afk.amount`          | `1`               | Shards gagnés par intervalle                            |
| `earning.afk.countdown`       | `5`               | Secondes de compte à rebours avant la téléportation AFK |
| `earning.afk.message-enabled` | `true`            | Notifier le joueur lors du gain                         |

***

### Récompenses quotidiennes

```yaml
daily-rewards:
  enabled: true
  amount: 10
  streak:
    enabled: true
    increment: 0.1
    active_stage: easy
    easy:
      interval: 1
    mid:
      interval: 3
    hard:
      interval: 7
```

| Clé                                  | Valeur par défaut | Description                                                              |
| ------------------------------------ | ----------------- | ------------------------------------------------------------------------ |
| `daily-rewards.enabled`              | `true`            | Activer/désactiver                                                       |
| `daily-rewards.amount`               | `10`              | Shards donnés par jour                                                   |
| `daily-rewards.streak.enabled`       | `true`            | Activer le multiplicateur de série                                       |
| `daily-rewards.streak.increment`     | `0.1`             | Augmentation du multiplicateur par palier (ex : `0.1` = +10% par palier) |
| `daily-rewards.streak.active_stage`  | `easy`            | Niveau actif : `easy`, `mid` ou `hard`                                   |
| `daily-rewards.streak.easy.interval` | `1`               | Palier augmente tous les 1 jour consécutif                               |
| `daily-rewards.streak.mid.interval`  | `3`               | Palier augmente tous les 3 jours consécutifs                             |
| `daily-rewards.streak.hard.interval` | `7`               | Palier augmente tous les 7 jours consécutifs                             |

***

### Transferts

```yaml
transfer:
  enabled: true
```

| Clé                | Valeur par défaut | Description                                     |
| ------------------ | ----------------- | ----------------------------------------------- |
| `transfer.enabled` | `true`            | Activer/désactiver les transferts entre joueurs |

***

### Classement

```yaml
leaderboard:
  enabled: true
```

| Clé                   | Valeur par défaut | Description                      |
| --------------------- | ----------------- | -------------------------------- |
| `leaderboard.enabled` | `true`            | Activer/désactiver le classement |

***

### Gains par région *(WorldGuard requis)*

```yaml
region-earning:
  enabled: false
  regions:
    spawn:
      amount: 2
      interval: 60
      message-enabled: true
    arena:
      amount: 5
      interval: 300
      message-enabled: true
```

| Clé                                            | Description                                    |
| ---------------------------------------------- | ---------------------------------------------- |
| `region-earning.enabled`                       | Activer/désactiver                             |
| `region-earning.regions.<nom>.amount`          | Shards donnés par intervalle dans cette région |
| `region-earning.regions.<nom>.interval`        | Intervalle en **secondes**                     |
| `region-earning.regions.<nom>.message-enabled` | Notifier le joueur lors du gain                |

{% hint style="info" %}
`<nom>` doit correspondre exactement au nom de la région WorldGuard.
{% endhint %}

***

### Gains par grade

```yaml
rank-earning:
  enabled: false
  ranks:
    vip:
      permission: novashard.rank.vip
      priority: 1
      amount: 10
      interval: 3600
      label: "VIP"
      message-enabled: true
```

| Clé                                       | Description                                                                    |
| ----------------------------------------- | ------------------------------------------------------------------------------ |
| `rank-earning.enabled`                    | Activer/désactiver                                                             |
| `rank-earning.ranks.<id>.permission`      | Permission que doit avoir le joueur pour ce grade                              |
| `rank-earning.ranks.<id>.priority`        | Valeur plus haute = priorité plus haute. Seul le grade le plus haut s'applique |
| `rank-earning.ranks.<id>.amount`          | Shards donnés par intervalle                                                   |
| `rank-earning.ranks.<id>.interval`        | Intervalle en **secondes**                                                     |
| `rank-earning.ranks.<id>.label`           | Nom affiché dans le message de gain                                            |
| `rank-earning.ranks.<id>.message-enabled` | Notifier le joueur lors du gain                                                |

***

## messages.yml

Tous les messages affichés aux joueurs sont personnalisables dans ce fichier.

### Codes couleur

Utilisez `&` suivi d'un code :

| Code | Couleur      |
| ---- | ------------ |
| `&a` | Vert         |
| `&c` | Rouge        |
| `&e` | Jaune        |
| `&6` | Or           |
| `&f` | Blanc        |
| `&7` | Gris         |
| `&d` | Violet clair |

Liste complète : [wiki.ess3.net/wiki/Color\_Codes](https://wiki.ess3.net/wiki/Color_Codes)

### Variables disponibles

| Variable       | Utilisée dans                            |
| -------------- | ---------------------------------------- |
| `{amount}`     | Messages de gain, transfert, boutique    |
| `{player}`     | Messages de kill, give/remove, transfert |
| `{sender}`     | Message de réception de shards           |
| `{item}`       | Message d'achat boutique                 |
| `{price}`      | Lore boutique, message d'achat           |
| `{slot}`       | Messages de gestion boutique             |
| `{seconds}`    | Compte à rebours AFK                     |
| `{days}`       | Série de connexions                      |
| `{multiplier}` | Multiplicateur de série                  |
| `{stage}`      | Niveau de série actif                    |
| `{region}`     | Gain par région                          |
| `{rank}`       | Gain par grade                           |
| `{type}`       | Stockage actuel dans l'aide              |

### Désactiver un message

Pour qu'un message n'apparaisse pas, mettez-le à vide :

```yaml
shards.playtime-earned: ""
```

### Désactiver tous les messages

```yaml
settings:
  messages-enabled: false
```

{% hint style="info" %}
Les messages d'erreur restent actifs même si `messages-enabled` est `false`.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.novadev.ovh/novashard/5.-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
