Files
TicketSystem/src/main/resources/config.yml
2026-02-25 19:01:41 +01:00

289 lines
10 KiB
YAML

# ============================================================
# _____ _ _ _ ____ _
# |_ _(_) ___| | _____| |_/ ___| _ _ ___| |_ ___ _ __ ___
# | | | |/ __| |/ / _ \ __\___ \| | | / __| __/ _ \ '_ ` _ \
# | | | | (__| < __/ |_ ___) | |_| \__ \ || __/ | | | | |
# |_| |_|\___|_|\_\___|\__|____/ \__, |___/\__\___|_| |_| |_|
# |___/
#
# TicketSystem - Ein einfaches und effizientes Ticketsystem für Minecraft-Server
# Entwickelt von M_Viper
#
# HINWEIS: Alle Texte und Nachrichten befinden sich in lang_de.yml / lang_en.yml!
# ============================================================
# --- GRUNDLEGEND ---
# Version der Konfigurationsdatei. Nicht ändern!
version: "2.2"
# ----------------------------------------------------
# SPRACHE / LANGUAGE
# ----------------------------------------------------
# Steuert sowohl die Texte als auch die Befehlsnamen.
#
# de → deutsche Texte + /ticket erstellen, /ticket schließen ...
# en → englische Texte + /ticket create, /ticket close ...
# both → deutsche Texte + /ticket create (erstellen) ...
#
# Die passende Datei (lang_de.yml / lang_en.yml) wird automatisch
# im Plugin-Ordner erstellt und kann frei bearbeitet werden.
# ----------------------------------------------------
language: de
# Debug-Modus (true = zusätzliche Logs in der Konsole)
debug: false
# ----------------------------------------------------
# BUNGEECORD (Cross-Server-Unterstützung)
# ----------------------------------------------------
# VORAUSSETZUNGEN:
# 1. In spigot.yml auf JEDEM Server: bungeecord: true
# 2. MySQL muss aktiviert sein (use-mysql: true)
# 3. Plugin auf JEDEM Spigot-Server installieren
# 4. Alle Server müssen dieselbe MySQL-Datenbank verwenden
#
# false = Normaler Single-Server-Modus (Standard)
# true = Cross-Server Benachrichtigungen aktiv
# ----------------------------------------------------
bungeecord: false
bungee-teleport-enabled: true
# Name dieses Servers im BungeeCord-Netzwerk.
# Wird in Tickets, GUI und Discord-Embeds angezeigt.
# Auf jedem Server ANDERS einstellen! (z.B. "survival", "creative", "skyblock")
server-name: "survival"
# ----------------------------------------------------
# SPEICHERPFAD & ARCHIV
# ----------------------------------------------------
data-file: "data.yml" # Datei für Tickets (YAML/JSON)
archive-file: "archive.yml" # Datei für Archiv (YAML/JSON)
# ----------------------------------------------------
# SPEICHER-MODUS
# ----------------------------------------------------
use-mysql: false # true = MySQL, false = Datei
use-json: false # true = JSON, false = YAML (nur bei Datei)
# ----------------------------------------------------
# MYSQL-DATENBANK (Optional)
# ----------------------------------------------------
mysql:
enabled: false
host: "localhost"
port: 3306
database: "ticketsystem"
username: "root"
password: "password"
pool-size: 10 # HikariCP Poolgröße
connection-timeout: 30000 # Timeout in ms
# ----------------------------------------------------
# LIMITS & OPTIONEN
# ----------------------------------------------------
ticket-cooldown: 60 # Cooldown in Sekunden zwischen Ticket-Erstellungen
max-description-length: 100 # Maximale Ticket-Beschreibungslänge
max-open-tickets-per-player: 2 # Maximale offene Tickets pro Spieler (0 = unbegrenzt)
# ----------------------------------------------------
# AUTOMATISCHE ARCHIVIERUNG
# ----------------------------------------------------
auto-archive-interval-hours: 24 # Intervall in Stunden (0 = aus)
# ----------------------------------------------------
# PERFORMANCE
# ----------------------------------------------------
cache-ttl-seconds: 60 # Wie lange Tickets im In-Memory-Cache gehalten werden
# ----------------------------------------------------
# OPTIONALE FEATURES
# ----------------------------------------------------
# Kategorie-System (true = aktiviert)
# Spieler können beim Erstellen eine Kategorie wählen: /ticket create [kategorie] [priorität] <text>
categories-enabled: true
# Prioritäten-System (true = aktiviert)
# Spieler können beim Erstellen eine Priorität wählen: /ticket create [kategorie] [priorität] <text>
# Admins/Supporter können die Priorität nachträglich ändern: /ticket setpriority <id> <low|normal|high|urgent>
priorities-enabled: true
# Bewertungs-System (true = aktiviert)
# Spieler können nach dem Schließen den Support bewerten: /ticket rate <id> good|bad
# Ergebnisse sind in /ticket stats sichtbar
rating-enabled: true
# ----------------------------------------------------
# KATEGORIEN (nur aktiv wenn categories-enabled: true)
# ----------------------------------------------------
# Jede Kategorie hat:
# name: Anzeigename im Chat und in der GUI
# color: Farbcode mit & (Minecraft Farbcodes)
# material: Minecraft-Material für das GUI-Item (Großbuchstaben, z.B. PAPER, REDSTONE, BOOK)
# aliases: Alternative Eingaben beim /ticket create Befehl (Kleinbuchstaben!)
#
# Das erste eingetragene Item ist die Standard-Kategorie für Tickets ohne Angabe.
# Du kannst beliebig viele Kategorien hinzufügen oder entfernen.
# ----------------------------------------------------
categories:
general:
name: "Allgemein"
color: "&7"
material: "PAPER"
aliases:
- "allgemein"
- "general"
- "default"
bug:
name: "Bug"
color: "&c"
material: "REDSTONE"
aliases:
- "bug"
- "fehler"
- "error"
question:
name: "Frage"
color: "&e"
material: "BOOK"
aliases:
- "frage"
- "question"
- "help"
- "hilfe"
complaint:
name: "Beschwerde"
color: "&6"
material: "WRITABLE_BOOK"
aliases:
- "beschwerde"
- "complaint"
- "report"
- "melden"
other:
name: "Sonstiges"
color: "&8"
material: "FEATHER"
aliases:
- "sonstiges"
- "other"
- "misc"
# ----------------------------------------------------
# DISCORD WEBHOOK (Optional)
# ----------------------------------------------------
discord:
# Auf true setzen um Discord-Benachrichtigungen zu aktivieren
enabled: false
# Webhook-URL aus Discord (Kanaleinstellungen → Integrationen → Webhook erstellen)
webhook-url: ""
# Rollen-Ping: Discord-Rollen-ID (Rechtsklick auf Rolle → ID kopieren)
# Leer lassen ("") = kein Ping
role-ping-id: ""
messages:
# ── Neues Ticket ────────────────────────────────────────────────────────
new-ticket:
title: "🎫 Neues Ticket erstellt"
color: "3066993" # Grün
footer: "TicketSystem"
show-position: true # Welt & Koordinaten im Embed anzeigen
show-category: true # Kategorie im Embed anzeigen
show-priority: true # Priorität im Embed anzeigen
show-server: true # BungeeCord: Server-Name im Embed anzeigen
role-ping: false # Rollen-Ping bei neuem Ticket senden
# ── Ticket geschlossen ──────────────────────────────────────────────────
ticket-closed:
enabled: false # Webhook-Nachricht beim Schließen senden
title: "🔒 Ticket geschlossen"
color: "15158332" # Rot
footer: "TicketSystem"
show-category: true
show-priority: true
show-server: true
role-ping: false
# ── Ticket weitergeleitet ───────────────────────────────────────────────
ticket-forwarded:
enabled: false # Webhook-Nachricht beim Weiterleiten senden
title: "🔀 Ticket weitergeleitet"
color: "15105570" # Orange
footer: "TicketSystem"
show-category: true
show-priority: true
show-server: true
role-ping: false
# ============================================================
# GUI KONFIGURATION (Layouts, Slots, Items)
# ============================================================
# Hier kannst du das Aussehen und die Anordnung der GUIs anpassen.
# WICHTIG: gui-settings muss ganz links stehen (keine Raute davor!).
gui-settings:
# --- FAQ SYSTEM SETTINGS ---
faq:
# Größe des Inventars (4-6 Reihen, Minimum 4)
rows: 6
# Content-Slots für FAQ-Items.
# Wenn leer: Automatisches Schachbrett-Muster (Items und leere Slots wechselnd,
# letzte Reihe = Navigation/Footer).
# Wenn gefüllt: Nur diese Slots werden für FAQs genutzt (Liste von Zahlen).
# Beispiel: content-slots: [1, 3, 5, 7, 10, 12, 14, 16] -> Nur ungerade Slots
content-slots: []
# Kopfeinstellungen
head-item:
# Material des FAQ-Items (z.B. PLAYER_HEAD, BOOK, PAPER)
material: PLAYER_HEAD
# Optional: Texture-URL für den Kopf (wenn Material PLAYER_HEAD)
texture: "http://textures.minecraft.net/texture/da2fde34d34c8588e58bfd790ce18025f7843399dee2ab4cedc2c0b463fd1e"
# Navigations-Slots (Prev, Next, Add, Page)
nav:
prev: 45
next: 53
add: 50
page: 49
# --- TICKET GUI SETTINGS ---
ticket:
# Spieler GUI
player:
rows: 6
nav:
prev: 45
next: 53
page: 49
# Admin / Team GUI
admin:
nav:
prev: 45
next: 53
page: 48
archive: 49
filter: 47
# Archiv GUI
archive:
nav:
prev: 45
next: 53
back: 49
# --- GUI ITEM MATERIALS (Optional) ---
# Hier kannst du das Material der Navigations-Buttons ändern.
# Wenn nicht gesetzt, werden Standard-Werte genutzt.
items:
nav-prev: ARROW
nav-next: ARROW
nav-page: PAPER
nav-archive: CHEST
nav-back: ARROW
nav-filter: HOPPER
nav-add: LIME_WOOL