# Konfigurationsreferenz

Diese Seite dokumentiert jeden Schlüssel in Verités `config.yml`. Die gezeigten Standardwerte sind die Werte, mit denen Verité ausgeliefert wird. Konfigurationsschlüssel, Werte und Code erscheinen genau so, wie sie in der Datei geschrieben sind (ASCII), während die Prosa den akzentuierten Namen Verité verwendet.

Verités Konfiguration ist in Module gruppiert:

- `general`: pluginweite Einstellungen.
- `chat.filter`: der Chatfilter, Veritédoux.
- `moderation`: das Moderationssystem, Veritésauver.
- `invsee`: Inventareinsicht.
- `vanish`: das Vanish-System, Veritévoiler.

!!! note "Flags im Spiel bearbeiten"
    Viele dieser Schlüssel können mit `/verite config` aus dem Spiel heraus gelesen und geändert werden, was den einzelnen Schlüssel auf der Festplatte anpasst und jeden Kommentar in der Datei beibehält. Dieser Befehl ist durch die Berechtigung `veritedoux.flag` geschützt. Jeder Wahr-oder-Falsch-Schlüssel und jeder numerische Schlüssel in `config.yml` lässt sich so bearbeiten, entweder über den Kurznamen oder den vollständigen Punktpfad. Freitext-Schlüssel, die Listen des Strafenbaums und `config.language` sind so nicht bearbeitbar; ändere sie in der Datei oder über das Web-Dashboard. Führe `/verite config` ohne Argumente aus, um alle bearbeitbaren Schlüssel aufzulisten. Die meisten Änderungen werden live angewendet; die Modulschalter (`chat.filter.enabled`, `moderation.enabled`, `vanish.enabled`) und die beiden Auto-Update-Flags erfordern einen Neustart, um wirksam zu werden.

## General

Der Abschnitt `general` enthält pluginweite Einstellungen.

```yaml
general:
  prefix: "<#808080>[<#B1C7F0>Verité<#808080>]<reset>"
  auto.update.config: true
  dashboard.url: "https://verite.gg"
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `general.prefix` | `<#808080>[<#B1C7F0>Verité<#808080>]<reset>` | Das öffentlich sichtbare Präfix auf jeder Verité-Nachricht, im Verite-Tag-Format. |
| `general.auto.update.config` | `true` | Fügt der Konfiguration automatisch neue Schlüssel hinzu, wenn das Plugin aktualisiert wird. Umgeht keine Tokenizer-Updates. Mit `/verite config` als `auto.update.config` bearbeitbar, erfordert aber einen Neustart, um wirksam zu werden. |
| `general.dashboard.url` | `https://verite.gg` | Wohin dich `/verite dashboard` schickt. Nur ändern, wenn du das [Dashboard](page:web-dashboard) selbst hostest. |
| `config.language` | `en` | Die Sprache, in der das gesamte Plugin läuft. Eine von `en`, `es`, `fr`, `it`, `pt` oder `de`. Eine Änderung erfordert einen vollständigen Neustart, kein Neuladen. |

## Chatfilter (Veritédoux)

Der Abschnitt `chat.filter` konfiguriert die Nachrichtenfilterung.

```yaml
chat.filter:
  enabled: true
  auto.update.eve: false
  block.message: "@prefix Your message wasn't sent. Please keep chat friendly."
  repeat.message: "@prefix You've already sent that message. Please wait a moment before repeating yourself."
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `chat.filter.enabled` | `true` | Aktiviert das Chatfilter-Modul. Mit `/verite config` als `chat.filter.enabled` bearbeitbar, erfordert aber einen Neustart, um wirksam zu werden. |
| `chat.filter.auto.update.eve` | `false` | Aktualisiert die `.eve`-Konfigurationsdateien automatisch, wenn neue Einträge hinzugefügt werden. Wenn dies aktiviert ist, werden benutzerdefinierte Einträge überschrieben oder verworfen, sobald die `.eve`-Dateien durch aktualisierte Versionen ersetzt werden. Mit `/verite config` als `auto.update.eve` bearbeitbar, erfordert aber einen Neustart, um wirksam zu werden. |
| `chat.filter.block.message` | `@prefix Your message wasn't sent. Please keep chat friendly.` | Der Hinweis, der angezeigt wird, wenn eine Nachricht vom Filter blockiert wird. Unterstützt `&`-Codes und `&#RRGGBB`-Hex. Verwende `@prefix`, um dein gewähltes Präfix einzufügen. |
| `chat.filter.repeat.message` | `@prefix You've already sent that message. Please wait a moment before repeating yourself.` | Der Hinweis, der angezeigt wird, wenn eine Nachricht als Wiederholung blockiert wird. Unterstützt `&`-Codes und `&#RRGGBB`-Hex sowie `@prefix`. |

!!! note "Selbstverletzungs-Nachricht"
    Die Blockmeldung für Selbstverletzung kann nicht geändert werden. Dadurch wird sichergestellt, dass Nutzer im Umgang mit Inhalten zu Selbstverletzung stets die richtige Anleitung und Unterstützung erhalten.

### Sprachen

Der Block `chat.filter.general.lang` wählt aus, welche Sprachen inhaltlich geprüft werden und welche Erkennungskategorien für jede laufen. Die Erkennung von Vulgärsprache ist standardmäßig deaktiviert, damit Server, die gelegentliches Fluchen erlauben, nicht betroffen sind. Passe diese an die Toleranz deines Servers an.

Jeder Sprachblock unterstützt diese Schlüssel:

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `allowed` | `true` | Ob die Sprache im Chat erlaubt ist. |
| `self.harm.detection` | `true` | Erkennt Inhalte zu Selbstverletzung in dieser Sprache. |
| `abuse.detection` | `true` | Erkennt missbräuchliche Inhalte in dieser Sprache. |
| `slur.detection` | `true` | Erkennt Beleidigungen in dieser Sprache. |

Die Schlüssel für Vulgärsprache sind sprachspezifisch. Jeder ist standardmäßig `false`. Setze einen auf `true`, um Vulgärsprache für diesen Dialekt oder diese Region zu kennzeichnen.

| Sprache | Schlüssel für Vulgärsprache (alle standardmäßig `false`) |
| --- | --- |
| `english` | `profanity.global` |
| `spanish` | `profanity.spain`, `profanity.argentinian`, `profanity.chilean`, `profanity.colombian`, `profanity.mexican`, `profanity.peruvian`, `profanity.venezuelan`, `profanity.uruguayan`, `profanity.cuban`, `profanity.dominican`, `profanity.panamanian`, `profanity.global` |
| `french` | `profanity.france`, `profanity.canadian` |
| `portuguese` | `profanity.european`, `profanity.brazilian` |
| `german` | `profanity.global` |
| `italian` | `profanity.global` |

Zwei zusätzliche Einträge decken Text ab, dessen Sprache nicht aufgelöst werden konnte:

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `chat.filter.general.lang.unknown.lang.allowed` | `true` | Ob Nachrichten in einer Sprache, die Verité nicht erkennt, erlaubt sind. |
| `chat.filter.general.lang.undeterminable.allowed` | `true` | Ob Nachrichten, deren Sprache nicht bestimmt werden kann, erlaubt sind. |

Ein Beispiel-Sprachblock:

```yaml
chat.filter:
  general.lang:
    english:
      allowed: true
      self.harm.detection: true
      abuse.detection: true
      slur.detection: true
      profanity.global: false
```

### Erweitert

Der Block `chat.filter.advanced` enthält die Feinabstimmung für Lesbarkeit, Spam und Wiederholungserkennung.

```yaml
chat.filter:
  advanced:
    keep.chat.readable: false
    block.possible.spam: false
    block.repeat.messages: false
    block.repeat.exact: true
    block.repeat.near: true
    block.repeat.history.size: 5
    block.repeat.window.ms: 5000
    block.repeat.similarity.threshold: 0.85
    block.unsupported.languages: false
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `keep.chat.readable` | `false` | Blockiert Nachrichten, die den Chat unleserlich machen könnten, etwa durch ausgefallene Schriftartersetzungen, selbst wenn die Nachricht den Filter ansonsten bestehen würde. Emojis werden nicht blockiert. Mit `/verite config` als `keep.chat.readable` bearbeitbar. |
| `block.possible.spam` | `false` | Nutzt Verités Tokenizer, um möglichen Spam und Werbung zu erkennen und zu blockieren. Mit `/verite config` als `block.possible.spam` bearbeitbar. |
| `block.repeat.messages` | `false` | Aktiviert die Erkennung wiederholter Nachrichten. Jeder Schlüssel unten gilt nur, wenn dies aktiviert ist. |
| `block.repeat.exact` | `true` | Blockiert eine Nachricht, die mit einer kürzlichen desselben Nutzers identisch ist. Der Vergleich ignoriert Groß- und Kleinschreibung, Akzente und wiederholte Buchstaben, sodass `HELLO`, `hello` und `helllo` alle als dieselbe gelten. |
| `block.repeat.near` | `true` | Blockiert eine Nachricht, die einer kürzlichen desselben Nutzers ähnlich (aber nicht identisch) ist. Wie ähnlich als Treffer zählt, wird durch `block.repeat.similarity.threshold` festgelegt. |
| `block.repeat.history.size` | `5` | Wie viele der jüngsten Nachrichten jedes Nutzers gespeichert und auf Wiederholungen geprüft werden. Setze auf `-1`, um alle Nachrichten zu speichern, oder auf `0`, um die Wiederholungserkennung ganz zu deaktivieren. |
| `block.repeat.window.ms` | `5000` | Wie weit zurück (in Millisekunden) eine gespeicherte Nachricht noch als Wiederholung zählt. Nachrichten, die älter sind, werden ignoriert. Setze auf `-1`, um die Zeit zu ignorieren und Nachrichten unbegrenzt zu speichern, oder auf `0`, um die Wiederholungserkennung ganz zu deaktivieren. |
| `block.repeat.similarity.threshold` | `0.85` | Für die Erkennung von Beinahe-Wiederholungen: wie ähnlich zwei Nachrichten sein müssen, um als Wiederholung zu zählen. Ein Wert zwischen `0` und `1`, wobei `1` identisch bedeutet. Höher ist strenger (weniger Blockierungen); niedriger ist aggressiver. |
| `block.unsupported.languages` | `false` | Blockiert Sprachen, die Verité noch nicht unterstützt. Die unterstützten Sprachen sind Englisch, Spanisch, Französisch, Italienisch, Portugiesisch und Deutsch. Alle anderen Sprachen werden blockiert, wenn dies aktiviert ist. Mit `/verite config` als `block.unsupported.languages` bearbeitbar. |

### Gewichtungen der Spracherkennung

Der Block `chat.filter.advanced.language` stimmt ab, wie Verité jedem Wort in einer Nachricht eine Sprache zuweist.

```yaml
chat.filter:
  advanced:
    language:
      known.word.weight: 50
      unknown.word.weight: 0.1
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `known.word.weight` | `50` | Gewichtung für ein Wort, das das Wörterbuch einer Sprache kennt, das aber nicht in der Ratentabelle aufgeführt ist. Höher bedeutet, dass die Wörterbuchzugehörigkeit stärker zählt. |
| `unknown.word.weight` | `0.1` | Mindestgewichtung für ein Wort, das kein Wörterbuch kennt und das die Ratentabelle auslässt. |

### Umgehungsdurchläufe

Der Block `chat.filter.advanced.evasion` schaltet die Durchläufe um, die Versuche rückgängig machen, Inhalte am Filter vorbeizuschleusen. Jeder ist standardmäßig `true`. Das Deaktivieren von Durchläufen kann die Latenz geringfügig verringern.

```yaml
chat.filter:
  advanced:
    evasion:
      homoglyph: true
      entity: true
      deobfuscate: true
      segmentation: true
      fingerprint: true
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `homoglyph` | `true` | Faltet Fullwidth-, kyrillische und mathematisch-fette Buchstabenfälschungen zurück auf ASCII. Mit `/verite config` als `evasion.homoglyph` bearbeitbar. |
| `entity` | `true` | Entfernt HTML-Entities und ähnliche Kodierungen. Mit `/verite config` als `evasion.entity` bearbeitbar. |
| `deobfuscate` | `true` | Macht durch eingefügte Zeichen und Ausdehnung erzeugte Verschleierung rückgängig. Mit `/verite config` als `evasion.deobfuscate` bearbeitbar. |
| `segmentation` | `true` | Teilt zusammengeschriebene Wörter wieder in einzelne Wörter auf. Mit `/verite config` als `evasion.segmentation` bearbeitbar. |
| `fingerprint` | `true` | Fängt vertauschte Schreibweisen ab. Mit `/verite config` als `evasion.fingerprint` bearbeitbar. |

### Vulgärsprachen-Konfidenz

Der Block `chat.filter.advanced.use.profanity.confidence` legt die Mindestkonfidenz fest, bevor eine Nachricht als vulgär behandelt wird.

```yaml
chat.filter:
  advanced:
    use.profanity.confidence:
      enabled: true
      profanity.confidence.threshold: 0.30
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `enabled` | `true` | Aktiviert den Konfidenzschwellenwert für Vulgärsprache. Mit `/verite config` als `use.profanity.confidence.enabled` bearbeitbar. |
| `profanity.confidence.threshold` | `0.30` | Die Mindestkonfidenz, die erforderlich ist, um eine Nachricht als vulgär zu betrachten. Mit `/verite config` als `use.profanity.confidence.profanity.confidence.threshold` bearbeitbar. |

## Moderation (Veritésauver)

Der Abschnitt `moderation` konfiguriert das Moderationssystem.

```yaml
moderation:
  enabled: true
  use.rank.weights: true
  auto.ban.alts: false
  expire.warns.after: 7d
  shared.ip.scan.limit: 20
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `moderation.enabled` | `true` | Aktiviert das Moderationsmodul. Mit `/verite config` als `moderation.enabled` bearbeitbar, erfordert aber einen Neustart, um wirksam zu werden. |
| `moderation.use.rank.weights` | `true` | Vergleicht die LuckPerms-Gruppengewichtung, damit Mitarbeiter keine gleich- oder höherrangigen bestrafen können. Operatoren werden stets als höchster Rang behandelt, unabhängig von der LuckPerms-Gewichtung. |
| `moderation.auto.ban.alts` | `false` | Bannt automatisch Alt-Konten eines gebannten Spielers, unabhängig davon, ob der Spieler per IP gebannt wurde. Auf Servern, die IP-Adressen zwischen verschiedenen Nutzern teilen, nicht empfohlen. Mit `/verite config` als `moderation.auto.ban.alts` bearbeitbar. |
| `moderation.expire.warns.after` | `7d` | Wie lange eine Verwarnung als aktiv zählt, bevor sie verfällt. |
| `moderation.shared.ip.scan.limit` | `20` | Die maximale Anzahl von Konten, die in einem Doppel-IP-Scan angezeigt werden. Mit `/verite config` als `moderation.shared.ip.scan.limit` bearbeitbar. |

### Befehlssperrliste für Stummgeschaltete

`moderation.muted.command.blacklist` listet Befehle auf, die ein stummgeschalteter Spieler nicht verwenden darf.

!!! note "Proxy-Injektion"
    In einem Netzwerk mit Proxy-Injektion werden diese Befehle möglicherweise nicht von Verité blockiert, was bedeutet, dass ein stummgeschalteter Nutzer sie trotzdem verwenden könnte.

Die ausgelieferte Liste lautet:

```yaml
moderation:
  muted.command.blacklist:
    - "me"
    - "say"
    - "tell"
    - "whisper"
    - "reply"
    - "pm"
    - "message"
    - "msg"
    - "msgall"
    - "tellall"
    - "speak"
    - "emsg"
    - "epm"
    - "etell"
    - "ewhisper"
    - "w"
    - "m"
    - "t"
    - "r"
    - "mail"
```

### Ausnahme

Der Block `moderation.exempt` steuert, wie Ranggewichtungsvergleiche gleichgewichtige Ziele behandeln.

```yaml
moderation:
  exempt:
    use.group.weights: false
    permit.same.weight: true
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `use.group.weights` | `false` | Erlaubt das Handeln gegen ein gleichgewichtiges Ziel, wenn Gruppengewichtungen verwendet werden. Mit `/verite config` als `moderation.exempt.use.group.weights` bearbeitbar. |
| `permit.same.weight` | `true` | Erlaubt das Handeln gegen ein Ziel mit derselben Gewichtung. Mit `/verite config` als `moderation.exempt.permit.same.weight` bearbeitbar. |

### Vorlagen für Strafnachrichten

`moderation.punish.message.templates` legt den Text fest, der bestraften Spielern und den Mitarbeitern angezeigt wird. Vorlagen unterstützen `\n` (Zeilenumbruch) und die Platzhalter `@duration`, `@enforcer`, `@target`, `@reason`, `@punishment`, `@total.warns` und `@remaining`. Wenn kein Grund gesetzt wurde, wird `@reason` durch `No reason provided.` ersetzt.

```yaml
moderation:
  punish.message.templates:
    ban.template.temporary: {You have been banned for @duration.\n@reason}
    ban.template.permanent: {You have been permanently banned.\n@reason}
    mute.template.temporary: {You have been muted by @enforcer for @duration.\n@reason}
    mute.template.permanent: {You have been muted by @enforcer.\n@reason}
    mute.notice: {You are muted. Time remaining: @remaining}
    mute.notice.permanent: {You are muted.}
    warn.template: {You have been warned by @enforcer. Active warnings: @total.warns\n@reason}
    kick.template: {You have been kicked by @enforcer.\n@reason}
    admin.receipt.template: {@target was @punishment by @enforcer.\n@reason}
```

| Schlüssel | Standard |
| --- | --- |
| `ban.template.temporary` | `{You have been banned for @duration.\n@reason}` |
| `ban.template.permanent` | `{You have been permanently banned.\n@reason}` |
| `mute.template.temporary` | `{You have been muted by @enforcer for @duration.\n@reason}` |
| `mute.template.permanent` | `{You have been muted by @enforcer.\n@reason}` |
| `mute.notice` | `{You are muted. Time remaining: @remaining}` |
| `mute.notice.permanent` | `{You are muted.}` |
| `warn.template` | `{You have been warned by @enforcer. Active warnings: @total.warns\n@reason}` |
| `kick.template` | `{You have been kicked by @enforcer.\n@reason}` |
| `admin.receipt.template` | `{@target was @punishment by @enforcer.\n@reason}` |

### Strafbaum

Der Block `moderation.tree` definiert die Strafkategorien, die Eskalationsstufen innerhalb jeder Kategorie und welche Mitarbeitergruppen welche Kategorien anwenden dürfen. Jede Kategorie wendet ihre Strafen der Reihe nach an. Unterstützte Strafarten sind `warn`, `mute`, `kick` und `ban`. Eine Dauer nach einem Doppelpunkt (zum Beispiel `ban: 14d`) macht diese Stufe temporär; derselbe Typ ohne Dauer ist dauerhaft. Der letzte `minecraft:`-Eintrag in jeder Kategorie ist der Gegenstand, der für diese Kategorie in der Straf-GUI angezeigt wird.

```yaml
moderation:
  tree:
    enabled: true
    use.fields: true
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `moderation.tree.enabled` | `true` | Aktiviert den Strafbaum. |
| `moderation.use.fields` | `true` | Verwendet Minecraft-1.21.7+-Fields für den Strafabschluss anstelle des Chats. |

#### Berechtigungen

`moderation.tree.permissions.luckperms` ordnet LuckPerms-Gruppennamen den Kategorien zu, die sie anwenden dürfen. Eine Hierarchie wird von oben nach unten unterstützt: Wenn deine Gruppen `helper`, dann `mod`, dann `admin` lauten, erbt `admin` die Kategorien von `mod` und `helper`, und `mod` erbt die Kategorien von `helper`. Ersetze die Gruppennamen durch deine eigenen.

```yaml
moderation:
  tree:
    permissions:
      luckperms:
        helper: {harassment, threats, spam, advertising, macroing, misinformation, inappropriate.content}
        mod: {exploiting, discrimination, impersonation}
        admin: {hacking, fraud, evading.punishment, inappropriate.username, inappropriate.skin, griefing}
```

| Gruppe | Gewährte Kategorien |
| --- | --- |
| `helper` | `harassment`, `threats`, `spam`, `advertising`, `macroing`, `misinformation`, `inappropriate.content` |
| `mod` | `exploiting`, `discrimination`, `impersonation` |
| `admin` | `hacking`, `fraud`, `evading.punishment`, `inappropriate.username`, `inappropriate.skin`, `griefing` |

#### Kategorien

`moderation.tree.categories` listet jede Kategorie und ihre geordneten Eskalationsstufen auf.

```yaml
moderation:
  tree:
    categories:
      harassment: {kick, ban: 14d, ban, minecraft:nether_star}
      threats: {mute: 5h, ban: 14d, ban, minecraft:tnt}
      spam: {warn, mute: 10m, mute: 1h, ban: 3d, ban, minecraft:cactus}
      advertising: {mute: 1d, ban: 3d, ban, minecraft:redstone_block}
      macroing: {warn, kick, ban: 7d, ban: 31d, ban, minecraft:redstone_torch}
      misinformation: {warn, mute: 20m, mute: 1h, ban: 3d, ban, minecraft:paper}
      inappropriate.content: {warn, mute: 1h, mute: 7h, ban: 7d, ban, minecraft:book}
      exploiting: {warn, warn, warn, ban: 2d, ban, minecraft:lever}
      discrimination: {ban: 31d, ban, minecraft:iron_sword}
      impersonation: {ban: 7d, ban, minecraft:player_head}
      hacking: {ban: 31d, ban, minecraft:diamond_sword}
      fraud: {ban: 31d, ban, minecraft:gold_ingot}
      evading.punishment: {ban: 31d, ban, minecraft:ender_pearl}
      inappropriate.username: {ban, minecraft:name_tag}
      inappropriate.skin: {ban, minecraft:leather_chestplate}
      griefing: {ban: 7d, ban, minecraft:stone_pickaxe}
      staff.disruption: {warn, kick, ban: 7d, minecraft:bottle_o_enchanting}
      chat.violation: {warn, mute: 1h, ban: 3d, minecraft:book_and_quill}
```

| Kategorie | Eskalationsstufen | GUI-Gegenstand |
| --- | --- | --- |
| `harassment` | `kick`, `ban: 14d`, `ban` | `minecraft:nether_star` |
| `threats` | `mute: 5h`, `ban: 14d`, `ban` | `minecraft:tnt` |
| `spam` | `warn`, `mute: 10m`, `mute: 1h`, `ban: 3d`, `ban` | `minecraft:cactus` |
| `advertising` | `mute: 1d`, `ban: 3d`, `ban` | `minecraft:redstone_block` |
| `macroing` | `warn`, `kick`, `ban: 7d`, `ban: 31d`, `ban` | `minecraft:redstone_torch` |
| `misinformation` | `warn`, `mute: 20m`, `mute: 1h`, `ban: 3d`, `ban` | `minecraft:paper` |
| `inappropriate.content` | `warn`, `mute: 1h`, `mute: 7h`, `ban: 7d`, `ban` | `minecraft:book` |
| `exploiting` | `warn`, `warn`, `warn`, `ban: 2d`, `ban` | `minecraft:lever` |
| `discrimination` | `ban: 31d`, `ban` | `minecraft:iron_sword` |
| `impersonation` | `ban: 7d`, `ban` | `minecraft:player_head` |
| `hacking` | `ban: 31d`, `ban` | `minecraft:diamond_sword` |
| `fraud` | `ban: 31d`, `ban` | `minecraft:gold_ingot` |
| `evading.punishment` | `ban: 31d`, `ban` | `minecraft:ender_pearl` |
| `inappropriate.username` | `ban` | `minecraft:name_tag` |
| `inappropriate.skin` | `ban` | `minecraft:leather_chestplate` |
| `griefing` | `ban: 7d`, `ban` | `minecraft:stone_pickaxe` |
| `staff.disruption` | `warn`, `kick`, `ban: 7d` | `minecraft:bottle_o_enchanting` |
| `chat.violation` | `warn`, `mute: 1h`, `ban: 3d` | `minecraft:book_and_quill` |

## Invsee

Der Abschnitt `invsee` steuert die Inventareinsicht.

```yaml
invsee:
  enable-offline-player-support: true
  enable-unknown-player-support: true
  tabcomplete-offline-players: true
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `invsee.enable-offline-player-support` | `true` | Erlaubt das Einsehen des Inventars von Offline-Spielern. |
| `invsee.enable-unknown-player-support` | `true` | Erlaubt das Einsehen des Inventars von Spielern, die zuvor nicht gesehen wurden. |
| `invsee.tabcomplete-offline-players` | `true` | Bezieht Offline-Spieler in die Tab-Vervollständigung ein. |

## Vanish (Veritévoiler)

Der Abschnitt `vanish` konfiguriert das Vanish-System. Der Block `vanish.features` schaltet einzelne Verhaltensweisen um, jede standardmäßig `true`. Jeder Feature-Schlüssel ist mit `/verite config` als `vanish.features.<name>` bearbeitbar.

```yaml
vanish:
  enabled: true
  features:
    fake.message: true
    actionbar: true
    self.view: true
    fly: true
    invulnerability: true
    effects: true
    gamemode: true
    ride.entity: true
    silent.container: true
    inventory.inspect: true
    server.ping: true
    ghost: true
    prevent.chat: true
    prevent.pickup: true
    prevent.drop: true
    prevent.interact: true
    prevent.block.break: true
    prevent.block.place: true
    prevent.target: true
    prevent.damage: true
    prevent.food: true
    prevent.buckets: true
    prevent.advancement: true
    prevent.projectiles: true
    muffle.sounds: true
    muffle.particles: true
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `vanish.enabled` | `true` | Aktiviert das Vanish-Modul. Mit `/verite config` als `vanish.enabled` bearbeitbar, erfordert aber einen Neustart, um wirksam zu werden. |
| `vanish.features.fake.message` | `true` | Zeigt beim Verstecken oder Sichtbarwerden eine gefälschte Beitritts- oder Verlassensnachricht. |
| `vanish.features.actionbar` | `true` | Zeigt während des Versteckens eine dauerhafte Actionbar-Erinnerung. |
| `vanish.features.self.view` | `true` | Lässt den versteckten Spieler sich selbst weiterhin sehen. |
| `vanish.features.fly` | `true` | Gewährt Flug während des Versteckens. |
| `vanish.features.invulnerability` | `true` | Macht den versteckten Spieler unverwundbar. |
| `vanish.features.effects` | `true` | Wendet mit Vanish verbundene Trankeffekte an. |
| `vanish.features.gamemode` | `true` | Verwaltet den Spielmodus des Spielers während des Versteckens. |
| `vanish.features.ride.entity` | `true` | Erlaubt dem versteckten Spieler, Entities zu reiten. |
| `vanish.features.silent.container` | `true` | Öffnet Behälter während des Versteckens lautlos. |
| `vanish.features.inventory.inspect` | `true` | Erlaubt das Einsehen von Inventaren während des Versteckens. |
| `vanish.features.server.ping` | `true` | Passt den Beitrag des Spielers zur Serverliste während des Versteckens an. |
| `vanish.features.ghost` | `true` | Verbirgt den versteckten Spieler als Geist, sodass er unbemerkt bleibt. |
| `vanish.features.prevent.chat` | `true` | Verhindert, dass der versteckte Spieler chattet. |
| `vanish.features.prevent.pickup` | `true` | Verhindert, dass der versteckte Spieler Gegenstände aufhebt. |
| `vanish.features.prevent.drop` | `true` | Verhindert, dass der versteckte Spieler Gegenstände fallen lässt. |
| `vanish.features.prevent.interact` | `true` | Verhindert, dass der versteckte Spieler mit der Welt interagiert. |
| `vanish.features.prevent.block.break` | `true` | Verhindert, dass der versteckte Spieler Blöcke abbaut. |
| `vanish.features.prevent.block.place` | `true` | Verhindert, dass der versteckte Spieler Blöcke platziert. |
| `vanish.features.prevent.target` | `true` | Verhindert, dass Mobs den versteckten Spieler anvisieren. |
| `vanish.features.prevent.damage` | `true` | Verhindert, dass der versteckte Spieler Schaden verursacht oder erleidet. |
| `vanish.features.prevent.food` | `true` | Verhindert, dass sich der Nahrungswert des versteckten Spielers ändert. |
| `vanish.features.prevent.buckets` | `true` | Verhindert, dass der versteckte Spieler Eimer verwendet. |
| `vanish.features.prevent.advancement` | `true` | Verhindert, dass der versteckte Spieler Fortschritte erlangt. |
| `vanish.features.prevent.projectiles` | `true` | Verhindert, dass der versteckte Spieler Projektile abfeuert. |
| `vanish.features.muffle.sounds` | `true` | Dämpft Geräusche, die der versteckte Spieler andernfalls erzeugen würde. |
| `vanish.features.muffle.particles` | `true` | Dämpft Partikel, die der versteckte Spieler andernfalls erzeugen würde. |

## Gefälschter Beitritt und Verlassen

Der Abschnitt `fake.connect` konfiguriert die Befehle `/fakejoin` und `/fakeleave`, die eine gefälschte Verbindungsnachricht senden, ohne dass jemand tatsächlich beitritt oder verlässt.

```yaml
fake.connect:
  enabled: true
  join.message: "&#FFFF55%player% joined the game"
  leave.message: "&#FFFF55%player% left the game"
```

| Schlüssel | Standard | Steuert |
| --- | --- | --- |
| `fake.connect.enabled` | `true` | Schaltet die Befehle `/fakejoin` und `/fakeleave` ein oder aus. Wenn ausgeschaltet, lehnen beide Befehle höflich ab. |
| `fake.connect.join.message` | `&#FFFF55%player% joined the game` | Die von `/fakejoin` gesendete Nachricht. Unterstützt `&`-Codes und `&#RRGGBB`-Hex. `%player%` wird durch den gewählten Spielernamen ersetzt. |
| `fake.connect.leave.message` | `&#FFFF55%player% left the game` | Die von `/fakeleave` gesendete Nachricht. Unterstützt `&`-Codes und `&#RRGGBB`-Hex. `%player%` wird durch den gewählten Spielernamen ersetzt. |
