diff --git a/QA_SMOKE_TEST.md b/QA_SMOKE_TEST.md
new file mode 100644
index 0000000..10c326c
--- /dev/null
+++ b/QA_SMOKE_TEST.md
@@ -0,0 +1,98 @@
+# NexusLobby Smoke-Test Checkliste
+
+Datum: 2026-02-05
+
+## Build
+- [ ] `mvn -q -DskipTests package` ausfuehren und Build-Erfolg bestaetigen.
+
+## Start
+- [ ] Server starten und pruefen, dass das Plugin ohne Errors enabled.
+- [ ] Pruefen, dass die Standard-Configs vorhanden sind (config.yml, settings.yml, visuals.yml).
+
+## Join-Flow
+- [ ] Als normaler Spieler joinen; Join-Message ist sichtbar.
+- [ ] `/nexus silentjoin` ausfuehren (Toggle an).
+- [ ] Reconnect; Join-Message ist fuer diesen Spieler unterdrueckt.
+- [ ] `/nexus silentjoin` erneut ausfuehren (Toggle aus).
+- [ ] Reconnect; Join-Message ist wieder sichtbar.
+
+## Gamemode Default
+- [ ] In config.yml `lobby.default-gamemode` auf einen validen Wert setzen (z. B. Adventure).
+- [ ] Reconnect; Spieler ist im konfigurierten Gamemode.
+- [ ] Auf einen invaliden Wert setzen; Reconnect -> Spieler landet in Adventure.
+
+## Parkour Commands
+- [ ] `/setstart` an einer Position ausfuehren und Rueckmeldung pruefen.
+- [ ] `/setcheckpoint` ausfuehren und Rueckmeldung pruefen.
+- [ ] `/setfinish` ausfuehren und Rueckmeldung pruefen.
+
+## Server Switcher
+- [ ] `/serverswitcher` mit Permission ausfuehren; GUI oeffnet sich.
+- [ ] Permission `nexuslobby.serverswitcher` entfernen; Kommando zeigt No-Perm Message.
+
+## Maintenance Mode
+- [ ] `/maintenance on`; Non-OP ohne `nexuslobby.join.maintenance` wird beim Login gekickt.
+- [ ] `nexuslobby.join.maintenance` geben; Login waehrend Wartung erlaubt.
+- [ ] `/maintenance off`; normaler Login wieder erlaubt.
+
+## Portal Command (Basis)
+- [ ] `/portal list` ausfuehren und pruefen, dass das Kommando funktioniert.
+- [ ] `/portal create test server` ausfuehren und pruefen, dass es registriert wird.
+
+## Player Hider
+- [ ] In config.yml `hider.enabled: true` setzen.
+- [ ] Joinen und pruefen, dass das Item im Slot `hider.slot` liegt.
+- [ ] Rechtsklick auf das Item -> alle Spieler werden versteckt.
+- [ ] Erneuter Rechtsklick -> alle Spieler werden wieder angezeigt.
+
+## Worldborder (Square)
+- [ ] Mit Portalwand zwei Punkte markieren.
+- [ ] `/border square` ausfuehren und dann den Bereich verlassen -> Teleport zur Lobby.
+- [ ] Permission `nexuslobby.border.bypass` geben -> Bereich verlassen ohne Teleport.
+
+## PlaceholderAPI (optional)
+- [ ] Ohne PlaceholderAPI starten -> keine Errors in Konsole.
+- [ ] Mit PlaceholderAPI starten -> Scoreboard/PlayerInspect zeigen Prefixe korrekt an.
+
+## Wrap Up
+- [ ] Konsole auf Warnings/Errors pruefen.
+
+## Testdaten (Beispiele)
+
+### Beispiel-Config Snippets
+
+```yaml
+# config.yml
+lobby:
+ default-gamemode: Adventure
+ clear-inventory-on-join: true
+
+maintenance:
+ enabled: false
+ kick_message: "&cServer im Wartungsmodus! Du darfst nicht joinen."
+
+compass:
+ title: "&eServer Switcher"
+ size: 27
+ servers:
+ pvp:
+ name: "&cPvP Arena"
+ material: "DIAMOND_SWORD"
+ command: "server pvp"
+ slot: 11
+ survival:
+ name: "&aSurvival"
+ material: "GRASS_BLOCK"
+ command: "server survival"
+ slot: 13
+```
+
+### Permissions (Beispiele)
+- `nexuslobby.admin`
+- `nexuslobby.serverswitcher`
+- `nexuslobby.join.maintenance`
+- `nexuslobby.scoreboard.admin`
+
+### Test-Accounts
+- Admin-Account mit `nexuslobby.admin`
+- Normaler Spieler ohne Sonderrechte
diff --git a/pom.xml b/pom.xml
index 0278905..3f9e361 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.nexuslobby
NexusLobby
- 2.0
+ 2.1
jar
NexusLobby
diff --git a/readme.md b/readme.md
index 04fa1f5..a612495 100644
--- a/readme.md
+++ b/readme.md
@@ -1,400 +1,599 @@
-## 🌐 Mehrsprachigkeit & Texte
-
-Alle Nachrichten, Hilfetexte und Fehler werden zentral über die Datei `lang.yml` im Ordner `src/main/resources` verwaltet. Dort kannst du für jede Sprache (z.B. Deutsch und Englisch) die Texte pflegen und beliebig erweitern.
-
-**Beispiel für lang.yml:**
-
-```yaml
-welcome:
- de: "Willkommen auf dem Server!"
- en: "Welcome to the server!"
-no_permission:
- de: "§cKeine Berechtigung."
- en: "§cNo permission."
-```
-
-**Sprache umstellen:**
-Im Code kann die Sprache mit `LangManager.setLanguage("en")` gewechselt werden. Standard ist Deutsch (`de`).
-
-**Texte ingame nutzen:**
-Alle Texte werden im Plugin mit `LangManager.get("key")` abgerufen und sind direkt ingame sichtbar. Änderungen in der lang.yml wirken nach einem Reload sofort.
-
-**Chat-Prefix anpassen:**
-Der Prefix vor Plugin-Nachrichten wird in der Server-`config.yml` über `prefix` festgelegt. Farben können mit `&`-Codes angegeben werden:
-
-```yaml
-prefix: "&8[&6Nexus&8] "
-```
-
-Ändere den Text und die Farben nach Wunsch und lade das Plugin anschließend neu.
-
----
-# NexusLobby
-
-
-
-
-
-Ein umfassendes, modulares Lobby-Plugin für Minecraft Server (Paper/Spigot 1.21+) mit High-End NPC-System, umfangreichen Sicherheitsfunktionen, Soccer-Modul, Parkour-System und voller Konfigurierbarkeit.
-
-
-
-
-
-
----
-
-## 🎯 Lizenz und Nutzungsbedingungen
-
-**ALLE RECHTE VORBEHALTEN**
-
-Dieses Plugin ist urheberrechtlich geschützt. Es gelten folgende Bedingungen:
-
-# Scoreboard ausblenden (Opt-out)
-
-Spieler können das Scoreboard per Befehl ein-/ausblenden. Standardmäßig wird das Scoreboard beim Join angezeigt. Über die Option
-
-```yaml
-scoreboard-default-visible: true
-```
-
-in der `config.yml` kann festgelegt werden, ob das Scoreboard für neue Spieler standardmäßig sichtbar ist. Bei `false` ist es für alle Spieler nach dem Join ausgeblendet, bis sie es selbst aktivieren.
-
-- Die Weitergabe, Verbreitung oder Veröffentlichung des Plugins ist **strengstens untersagt**.
-- Jegliche Änderung, Modifikation oder Dekompilierung des Codes ist **verboten**.
-- Das Plugin darf nicht verkauft, vermietet oder anderweitig kommerziell genutzt werden.
-- Eine Weitergabe an Dritte ist ohne ausdrückliche schriftliche Genehmigung nicht gestattet.
-
-Bei Verstoß gegen diese Bedingungen behalten wir uns rechtliche Schritte vor.
-
----
-
-## ✨ Features
-
-### 🤖 High-End NPC & ArmorStand System
-- **Conversation Manager** - Komplexe Dialoge zwischen NPCs mit Sprechblasen und Sound-Effekten
-- **Dynamic KI** - NPCs reagieren auf Tageszeit (Fackel nachts) und ziehen bei Annäherung von Spielern das Schwert
-- **LookAt-Logik** - NPCs verfolgen flüssig die Kopfbewegungen von Spielern in der Nähe
-- **Command Binding** - Binde Spieler-, Konsolen- oder Bungee-Befehle an NPC-Slots (0-9)
-- **Status-Backup** - Automatisches Speichern von NPC-Namen via PersistentDataContainer & Tags
-
-### ⚽ Soccer/Fußball-System
-- **Interaktiver Soccer-Ball** - Physics-basierter Ball mit realistischer Physik
-- **Dribbling** - Ball folgt Spielern automatisch in der Nähe
-- **Kick-Mechanik** - Schieße den Ball durch Schlagen oder Angriff
-- **Wall-Bounce** - Realistische Wand-Abpraller mit Sound-Effekten
-- **Partikel-System** - Geschwindigkeits-abhängige Partikel (SONIC_BOOM, CRIT, SMOKE)
-- **Auto-Respawn** - Automatischer Respawn bei Inaktivität oder Void-Fall
-- **Anti-Duplikat-System** - Verhindert mehrfache Ball-Instanzen
-
-### 🏃 Parkour-System
-- **Unsichtbare Checkpoints** - Partikel-basierte Checkpoint-Markierungen
-- **Timer-System** - Präzise Zeitmessung mit ActionBar-Anzeige
-- **Bestenliste** - Persistente Top-10 Bestzeiten-Speicherung
-- **NPC-Trainer** - Interaktive NPCs zum Starten des Parkours
-- **Fail-Safe** - Teleport zum letzten Checkpoint bei Fehler
-
-### 🌍 Lobby-Management
-- **Spawn-System** - Automatischer Teleport zum Spawn bei Join/Respawn
-- **Portal-System** - BungeeCord-Portale für nahtlose Server-Wechsel mit Partikel-Effekten
-- **Build-Modus** - Schnelles Umschalten zwischen Bau- und Spielmodus
-- **Double-Jump** - Konfigurierbarer Doppelsprung mit Cooldown und Partikeln
-- **Worldborder** - Unsichtbare Lobby-Begrenzung (Circle/Square)
-- **Intro-Tour** - Cinematic Kamera-Tour für neue Spieler
-
-### 🛡️ Sicherheit & Protection
-- **VPN-Blocker** - Blockiert VPN/Proxy-Verbindungen via proxycheck.io API
-- **Country-Blocker** - Geo-IP Filter (Whitelist/Blacklist für Länder)
-- **Maintenance-Modus** - Vollständiger Wartungsmodus mit Whitelist-Funktion
-- **World-Protection** - Schutz vor Griefing, Hunger, Fallschaden und PvP
-- **Anti-Grief** - Verhindert Block-Break, Item-Drop und Explosionen
-- **Security-Module** - Umfassende Sicherheitsprüfungen beim Join
-
-### 📊 Visuelle Elemente
-- **Scoreboard** - Vollständig animiert mit PlaceholderAPI-Support
-- **Tablist** - Dynamische Header/Footer mit Permissions-Anzeige
-- **BossBar** - Rotierende Nachrichten mit Farb-Effekten
-- **ActionBar** - Typewriter-Effekt für permanente Status-Anzeigen
-- **Hologramme** - Text-Displays mit flexibler Positionierung
-- **MapArt** - Bild-Generator für Item-Frames aus URLs
-
-### 🎮 Item-System
-- **Compass** - Server-Switcher GUI
-- **Player-Hider** - Sichtbarkeits-Toggle für andere Spieler
-- **Gadgets** - Konfigurierbares Item-System mit Custom-Slots
-- **Player-Inspector** - Detaillierte Spieler-Informationen per Click
-
----
-
-## 📋 Befehle
-
-### Haupt-Commands
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/nexuslobby reload` | Lädt das Plugin neu | `nexuslobby.admin` |
-| `/nexuslobby setspawn` | Setzt den Lobby-Spawn | `nexuslobby.admin` |
-| `/nexuslobby silentjoin ` | Versteckter Join/Quit | `nexuslobby.admin` |
-| `/nexuslobby sb ` | Scoreboard-Kontrolle | `nexuslobby.admin` |
-| `/spawn` | Teleport zum Spawn | `nexuslobby.spawn` |
-
-### NPC & ArmorStand
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/nexustools` | NPC Editor GUI (Rotation, KI) | `nexuslobby.armorstand.use` |
-| `/nexuscmd add [cmd]` | Bindet Command an NPC | `nexuslobby.armorstand.cmd` |
-| `/nexuscmd remove ` | Entfernt Commands | `nexuslobby.armorstand.cmd` |
-| `/nexuscmd conv select1-4` | Wählt NPCs für Dialog | `nexuslobby.armorstand.cmd` |
-| `/nexuscmd conv link ` | Verknüpft Dialog | `nexuslobby.armorstand.cmd` |
-| `/nexuscmd say ` | NPC-Sprechblase | `nexuslobby.armorstand.cmd` |
-
-### Parkour
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/nexuslobby parkour setstart` | Markiert Start-NPC | `nexuslobby.admin` |
-| `/nexuslobby parkour setcheckpoint ` | Setzt Checkpoint | `nexuslobby.admin` |
-| `/nexuslobby parkour setfinish` | Setzt Ziel | `nexuslobby.admin` |
-| `/nexuslobby parkour reset` | Löscht eigene Zeit | `nexuslobby.admin` |
-| `/nexuslobby parkour clear` | Löscht alle Zeiten | `nexuslobby.admin` |
-| `/setstart` | Alias für setstart | `nexuslobby.admin` |
-| `/setcheckpoint` | Alias für setcheckpoint | `nexuslobby.admin` |
-| `/setfinish` | Alias für setfinish | `nexuslobby.admin` |
-
-### Soccer/Fußball
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/nexuslobby ball setspawn` | Setzt Ball-Spawn | `nexuslobby.admin` |
-| `/nexuslobby ball respawn` | Spawnt Ball neu | `nexuslobby.admin` |
-| `/nexuslobby ball remove` | Entfernt Ball | `nexuslobby.admin` |
-
-### Portal & Server
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/portal create ` | Erstellt Portal | `nexuslobby.portal` |
-| `/portal delete ` | Löscht Portal | `nexuslobby.portal` |
-| `/portal list` | Zeigt alle Portale | `nexuslobby.portal` |
-| `/giveportalwand` | Portal-Werkzeug | `nexuslobby.portal.give` |
-| `/serverswitcher` | Öffnet Server-GUI | `nexuslobby.serverswitcher` |
-
-### Sonstiges
-
-| Befehl | Beschreibung | Berechtigung |
-|--------|--------------|--------------|
-| `/build` | Build-Modus toggle | `nexuslobby.build` |
-| `/maintenance ` | Wartungsmodus | `nexuslobby.maintenance` |
-| `/settings` | Lobby-Einstellungen (Gamerules) | `nexuslobby.admin` |
-| `/holo create [text]` | Erstellt Hologramm | `nexuslobby.hologram` |
-| `/holo delete ` | Löscht Hologramm | `nexuslobby.hologram` |
-| `/mapart ` | Erstellt MapArt | `nexuslobby.mapart` |
-| `/intro ` | Intro-Tour-Verwaltung | `nexuslobby.admin` |
-| `/border ` | Worldborder-Setup | `nexuslobby.admin` |
-
----
-
-## ⚙️ Konfiguration
-
-### config.yml (Auszug)
-
-```yaml
-# Spawn-Einstellungen
-spawn:
- world: "world"
- x: 0.5
- y: 64.0
- z: 0.5
- yaw: 0.0
- pitch: 0.0
-
-# Lobby-Einstellungen
-lobby:
- allow-fly: false
- pvp-enabled: false
- build-enabled: false
- default-gamemode: Adventure
- clear-inventory-on-join: true
-
-# Server-Mapping (für Status-Check)
-servers:
- survival:
- ip: "127.0.0.1"
- port: 25566
- skyblock:
- ip: "127.0.0.1"
- port: 25567
-
-# Ball/Soccer-Einstellungen
-ball:
- respawn_delay: 60 # Sekunden bis Auto-Respawn
-
-# Worldborder
-worldborder:
- enabled: true
- type: "SQUARE" # SQUARE oder CIRCLE
- radius: 50.0
-```
-
-### conversations.yml
-
-```yaml
-conversations:
- willkommen:
- dialogue:
- - "&eWächter: &7Willkommen auf dem Server!"
- - "&aBürger: &7Schön, dass du da bist!"
- - "&eWächter: &7Viel Spaß beim Erkunden!"
-
- quest_dialog:
- dialogue:
- - "&6Quest-Geber: &7Hast du meine Quest erledigt?"
- - "&aHeld: &7Ja, ich habe alle Monster besiegt!"
-
-links:
- # UUID des ersten NPCs
- "550e8400-e29b-41d4-a716-446655440000":
- partner: "550e8400-e29b-41d4-a716-446655440001" # UUID des zweiten NPCs
- dialog: willkommen
- automated: true # Startet automatisch
-```
-
-### visuals.yml (Auszug)
-
-```yaml
-# ActionBar-Nachrichten
-actionbar:
- enabled: true
- speed: 3
- messages:
- - "&6&lWillkommen &8» &eauf unserem Server!"
- - "&b&lViel Spaß &8» &7in der Lobby!"
-
-# BossBar
-bossbar:
- enabled: true
- interval: 40
- messages:
- - text: "&6&lNexusLobby &8» &eVersion 1.1.0"
- color: "YELLOW"
-```
-
----
-
-## 🔐 Berechtigungen
-
-### Admin-Berechtigungen
-
-| Berechtigung | Beschreibung |
-|--------------|--------------|
-| `nexuslobby.admin` | Voller Zugriff auf alle System-Einstellungen |
-| `nexuslobby.armorstand.cmd` | NPCs konfigurieren und Dialoge verknüpfen |
-| `nexuslobby.armorstand.use` | Zugriff auf die ArmorStand-Editor GUI |
-| `nexuslobby.build` | Berechtigung für den Baumodus |
-| `nexuslobby.portal` | Portale erstellen und löschen |
-| `nexuslobby.portal.give` | Portal-Werkzeug erhalten |
-| `nexuslobby.hologram` | Hologramme verwalten |
-| `nexuslobby.mapart` | MapArt erstellen |
-| `nexuslobby.maintenance` | Wartungsmodus togglen |
-
-### Spieler-Berechtigungen
-
-| Berechtigung | Beschreibung |
-|--------------|--------------|
-| `nexuslobby.spawn` | Spawn-Command nutzen |
-| `nexuslobby.serverswitcher` | Server-Switcher GUI öffnen |
-| `nexuslobby.scoreboard.admin` | Admin-Scoreboard sehen |
-
-### Bypass-Berechtigungen
-
-| Berechtigung | Beschreibung |
-|--------------|--------------|
-| `nexuslobby.bypass.maintenance` | Server trotz Wartungsmodus betreten |
-| `nexuslobby.bypass.vpn` | VPN-Check überspringen |
-| `nexuslobby.bypass.country` | Country-Check überspringen |
-
----
-
-## 🔧 Technische Details
-
-### Systemanforderungen
-- **Minecraft**: Paper/Spigot 1.21+ (Spigot-kompatibel, Paper empfohlen)
-- **Java**: Java 21 oder höher
-- **Dependencies**: LuckPerms, PlaceholderAPI (optional)
-
-### Verwendete Technologien
-- **Build-Tool**: Maven 3.9+
-- **JSON-Library**: Gson 2.10.1 (gegenüber json-simple 1.1.1 aktualisiert)
-- **BungeeCord API**: Für Server-Wechsel und Messaging
-- **PlaceholderAPI**: Für dynamische Platzhalter
-
-### Code-Qualität
-- ✅ Moderne Java 21 Features (Switch-Expressions, Pattern Matching)
-- ✅ Proper Error-Handling (Logger statt printStackTrace)
-- ✅ Memory-Management (Tasks & Listeners werden sauber disposed)
-- ✅ Config-Validierung mit Default-Werten
-- ✅ Optimiertes JSON-Parsing mit Gson
-- ✅ Spigot-kompatible BungeeCord Chat API
-
-### Performance-Optimierungen
-- **Async-Processing** für API-Calls (Update-Check, VPN-Check)
-- **Caching** für Spieler-Daten und Config-Werte
-- **Optimierte Entity-Queries** (nur relevante Welten)
-- **Effiziente Scheduler-Nutzung** (Tasks werden gecancelt)
-
----
-
-## 📦 Installation
-
-1. **Download** der neuesten `NexusLobby-1.1.0.jar` aus den [Releases](../../releases)
-2. **Upload** der JAR-Datei in den `/plugins/` Ordner
-3. **Server-Neustart** durchführen
-4. **Konfiguration** anpassen (`config.yml`, `visuals.yml`, etc.)
-5. **Permissions** mit LuckPerms oder einem anderen Permissions-Plugin setzen
-6. **(Optional)** PlaceholderAPI installieren für erweiterte Platzhalter
-
----
-
-## 🐛 Bekannte Issues & Lösungen
-
-### Ball spawnt mehrfach
-- **Lösung**: Nutze `/nexuslobby ball remove` gefolgt von `/nexuslobby ball setspawn`
-- Das Anti-Duplikat-System sollte dies automatisch verhindern
-
-### NPCs schauen nicht zu Spielern
-- **Lösung**: Stelle sicher, dass der NPC mit `/nexustools` das LookAt-Feature aktiviert hat
-- Prüfe, ob `ArmorStandLookAtModule` in den Logs geladen wird
-
-### Server-Checker zeigt falsche Status
-- **Lösung**: Überprüfe die IP/Port-Einstellungen in `config.yml` unter `servers:`
-- Stelle sicher, dass die Server erreichbar sind (Firewall, Ports)
-
----
-
-## 📚 Support & Dokumentation
-
-- **Wiki**: Ausführliche Dokumentation im [Wiki](../../wiki)
-- **Bug-Reports**: Erstelle ein [Issue](../../issues) bei technischen Problemen
-- **Feature-Requests**: Vorschläge über [Issues](../../issues) mit Label "enhancement"
-
----
-
-## 📝 Changelog
-
-### Version 1.1.0 (Februar 2026)
-- ✨ Soccer/Fußball-System mit realistischer Physik
-- ✨ Parkour-System mit Bestenliste und Checkpoints
-- ✨ Player-Inspector Modul
-- ✨ Config-Validierung mit Auto-Defaults
-- 🔧 JSON-Library auf Gson 2.10.1 aktualisiert
-- 🔧 Alle printStackTrace() durch Logger ersetzt
-- 🔧 Memory-Management verbessert (Tasks & Listeners)
-- 🔧 UpdateChecker mit proper JSON-Parsing
-- 🐛 Diverse Bug-Fixes und Performance-Optimierungen
-
----
-
-**Copyright © 2026 - M_Viper - Alle Rechte vorbehalten**
-
-Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt.
\ No newline at end of file
+# 🌐 NexusLobby
+
+
+
+
+
+**NexusLobby** macht aus einer leeren Welt eine fertige Minecraft-Lobby. Du bekommst Spawn, Scoreboard, Portale zu anderen Servern, einen Parkour, Fußball, sprechende NPCs, Wartungsmodus, VPN-Sperre und vieles mehr. Alles in einem einzigen Plugin und ohne Programmierkenntnisse.
+
+
+
+
+
+
+---
+
+## 📖 Inhaltsverzeichnis
+
+1. [Was brauche ich?](#-was-brauche-ich)
+2. [Installation in 6 Schritten](#-installation-in-6-schritten)
+3. [Die ersten 5 Minuten](#-die-ersten-5-minuten)
+4. [Wo steht was? Die wichtigen Dateien](#-wo-steht-was-die-wichtigen-dateien)
+5. [Funktionen und wie du sie einrichtest](#-funktionen-und-wie-du-sie-einrichtest)
+6. [Alle Befehle](#-alle-befehle)
+7. [Rechte vergeben](#-rechte-vergeben)
+8. [Probleme und Lösungen](#-probleme-und-lösungen)
+9. [Änderungen in Version 2.1](#-änderungen-in-version-21)
+10. [Hilfe und Lizenz](#-hilfe-und-lizenz)
+
+---
+
+## ✅ Was brauche ich?
+
+| Was | Wofür | Pflicht? |
+|-----|-------|----------|
+| Ein **Paper-Server** ab Version **1.21** (Spigot geht auch, Paper ist besser) | Der Server, auf dem das Plugin läuft | **Ja** |
+| **Java 21** oder neuer | Damit der Server startet | **Ja** |
+| **LuckPerms** | Rechte vergeben und Prefixe im Scoreboard | Empfohlen |
+| **PlaceholderAPI** | Damit Platzhalter wie `%luckperms_prefix%` im Scoreboard Text statt Code zeigen | Empfohlen |
+| **BungeeCord** (oder ein kompatibler Proxy) | Nur, wenn du Spieler zwischen mehreren Servern schicken willst | Optional |
+
+---
+
+## 📦 Installation in 6 Schritten
+
+1. **Server stoppen.**
+2. Die Datei `NexusLobby-2.1.jar` in den Ordner `plugins` deines Servers legen.
+3. **Eine alte NexusLobby-Datei löschen**, falls dort schon eine liegt. Sonst werden zwei Versionen geladen.
+4. **Server starten.** Das Plugin legt jetzt seinen eigenen Ordner `plugins/NexusLobby/` mit allen Einstellungsdateien an.
+5. **Server noch einmal neu starten**, damit alles sauber geladen ist.
+6. Ingame (oder in der Konsole) `/nexus reload` eingeben, wenn du später etwas an den Dateien änderst.
+
+> 💡 **Wichtig:** Ein Plugin ersetzt du immer mit einem **Neustart**. `/nexus reload` lädt nur die Einstellungen neu, nicht die Jar-Datei.
+
+---
+
+## 🚀 Die ersten 5 Minuten
+
+Mach das als Erstes, in dieser Reihenfolge:
+
+1. **Spawn setzen.** Stell dich dorthin, wo Spieler ankommen sollen, und gib ein:
+ ```
+ /nexus setspawn
+ ```
+2. **Rechte vergeben.** Ohne Rechte darf niemand außer OPs etwas. Siehe [Rechte vergeben](#-rechte-vergeben).
+3. **Scoreboard prüfen.** Zeigt es Text wie `%luckperms_prefix%` an? Dann fehlt PlaceholderAPI. Siehe [Probleme und Lösungen](#-probleme-und-lösungen).
+4. **Lobby-Schutz prüfen.** Spieler können standardmäßig nicht bauen, nicht kämpfen und keine Items droppen. Das ist so gewollt.
+5. **Deine Grenze setzen** (optional): `/border circle 50` macht einen runden Bereich mit 50 Blöcken Radius um dich.
+
+---
+
+## 📁 Wo steht was? Die wichtigen Dateien
+
+Alle Dateien liegen auf dem Server in `plugins/NexusLobby/`.
+
+| Datei | Was steht dort? | Wann ändere ich sie? |
+|-------|-----------------|----------------------|
+| `config.yml` | Spawn, Sprache, Chat-Prefix, Tablist, Kompass-Menü, Doppelsprung, Void-Schutz, Fußball, Wartungsmodus | Für fast alle Grundeinstellungen |
+| `settings.yml` | Lobby-Regeln (PvP, Bauen, Items droppen …) und **VPN- und Länder-Sperre** | Wenn du Regeln oder die Sperre ändern willst |
+| `visuals.yml` | Scoreboard, BossBar, ActionBar | Wenn du Texte oben, unten oder rechts ändern willst |
+| `lang.yml` | Alle Nachrichten des Plugins auf Deutsch und Englisch | Wenn du eine Nachricht umformulieren willst |
+| `conversations.yml` | Die Gespräche der NPCs | Wenn du eigene Dialoge schreiben willst |
+| `parkour.yml` | Strecken, Checkpoints und Bestzeiten | **Nicht von Hand ändern.** Das machst du per Befehl |
+| `portals.yml` | Deine Portale | **Nicht von Hand ändern.** Das machst du per Befehl |
+| `armorstands.yml` | Gespeicherte NPC-Daten | **Nicht ändern** |
+
+### So bearbeitest du eine Datei
+
+1. Server-Dateien öffnen (FTP oder das Panel deines Hosters).
+2. Die Datei bearbeiten und **speichern**.
+3. Ingame `/nexus reload` eingeben.
+
+### Farben im Text
+
+Überall, wo Text steht, gehen Farbcodes mit dem `&`-Zeichen:
+
+| Code | Farbe | Code | Farbe |
+|------|-------|------|-------|
+| `&a` | Grün | `&c` | Rot |
+| `&e` | Gelb | `&6` | Gold |
+| `&b` | Türkis | `&9` | Blau |
+| `&7` | Grau | `&f` | Weiß |
+| `&l` | **Fett** | `&r` | Zurücksetzen |
+
+Beispiel: `&6&lWillkommen &7auf der Lobby` ergibt einen fetten goldenen Text, dann einen grauen.
+
+> ⚠️ **Achtung bei YAML-Dateien:** Die Einrückung (Leerzeichen am Zeilenanfang) ist wichtig. Lösche oder füge sie nicht aus Versehen hinzu. Nimm **keine Tabs**, nur Leerzeichen.
+
+---
+
+## 🧩 Funktionen und wie du sie einrichtest
+
+### 🏠 Spawn
+
+Spieler landen beim Joinen und nach dem Tod am Spawn.
+
+- Setzen: `/nexus setspawn`
+- Hinkommen: `/spawn` (auch `/l` und `/hub`)
+
+### 📊 Scoreboard (die Anzeige rechts)
+
+Die Texte stehen in `visuals.yml` unter `scoreboard:`. Dort gibt es einen Titel und Zeilen für normale Spieler (`default`) und für Admins (`owner`).
+
+- Ein- und ausschalten für dich: `/nexus sb on` und `/nexus sb off`
+- Admin-Version zeigen: `/nexus sb admin`
+- Spieler-Version zeigen: `/nexus sb spieler`
+- Soll es für neue Spieler **standardmäßig ausgeblendet** sein? In `config.yml`: `scoreboard-default-visible: false`
+- Wie oft es sich aktualisiert, steht in `visuals.yml` bei `update_ticks` (20 = jede Sekunde).
+
+> 💡 Damit Platzhalter wie `%luckperms_prefix%` oder `%bungee_total%` funktionieren, brauchst du **PlaceholderAPI**. Siehe [Probleme und Lösungen](#-probleme-und-lösungen).
+
+### 📋 Tablist (die Liste mit der TAB-Taste)
+
+In `config.yml` unter `tablist:`. Dort stellst du Kopfzeile (`header`), Fußzeile (`footer`) und das Aktualisierungsintervall ein.
+
+### 🚧 Lobby-Grenze (Border)
+
+Eine **unsichtbare** Grenze, die Spieler nicht überschreiten dürfen. Wer sie überschreitet, wird zum Spawn zurückgeschickt.
+
+**Rund (Kreis):**
+1. Stell dich in die **Mitte** der Lobby.
+2. Gib ein: `/border circle 50` (50 ist der Radius in Blöcken).
+
+**Eckig (Rechteck):**
+1. Hol dir das Werkzeug mit `/giveportalwand`.
+2. **Linksklick** auf eine Ecke und **Rechtsklick** auf die gegenüberliegende Ecke.
+3. Gib ein: `/border square`
+
+**Ausschalten:** `/border disable`
+
+> ⚠️ **Zum Testen:** Wer das Recht `nexuslobby.admin` oder `nexuslobby.border.bypass` hat, wird **nicht** zurückgeschickt. Teste mit einem normalen Account.
+
+### 🌀 Portale
+
+Portale schicken Spieler auf einen anderen Server oder an einen anderen Ort.
+
+**So erstellst du ein Portal (der Ablauf ist wichtig):**
+
+1. **Werkzeug holen:** `/giveportalwand` (du bekommst einen Blaze Rod).
+2. **Zwei Ecken markieren:** **Linksklick** auf einen Block = Position 1, **Rechtsklick** auf einen Block = Position 2. Du musst einen Block anklicken, nicht in die Luft.
+3. **Portal erstellen:**
+ ```
+ /portal create
+ ```
+ - `server` = auf einen anderen Server (über BungeeCord)
+ - `world` = an einen anderen Ort auf diesem Server
+4. **Ziel setzen (nicht vergessen!):**
+ ```
+ /portal setdest
+ ```
+
+**Beispiele für das Ziel:**
+
+| Portal-Typ | Befehl | Bedeutung |
+|------------|--------|-----------|
+| Server | `/portal setdest Survival survival` | Schickt zum BungeeCord-Server `survival` |
+| Welt, zum Spawn | `/portal setdest Hub SPAWN` | Schickt zum Lobby-Spawn |
+| Welt, Koordinaten | `/portal setdest Mini world_mini 0 64 0` | Schickt zu diesen Koordinaten |
+
+> ⚠️ **Ohne `setdest` steht beim Betreten „Verbinde zum Server: null“.** Dann hat das Portal kein Ziel. Der Servername muss genau so heißen wie in deiner BungeeCord-Config. Er ist derselbe wie bei `/server survival`.
+
+**Weitere Portal-Befehle:**
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/portal setparticle ` | Ändert den Partikel, z. B. `END_ROD`, `FLAME`, `HEART`, `HAPPY_VILLAGER` |
+| `/portal setspawn ` | Setzt, wo der Spieler vor dem Server-Wechsel steht. Stell dich davor, er wird 2 Blöcke hinter dich gesetzt |
+| `/portal list` | Zeigt alle Portale |
+| `/portal delete ` | Löscht ein Portal |
+
+> 💡 Schreibe den Portalnamen **genau so**, wie du ihn beim Erstellen geschrieben hast (Groß- und Kleinschreibung).
+
+### 🏃 Parkour
+
+Ein Parkour mit Zeitmessung, Checkpoints, Bestenliste und Trainer-NPC. Es gibt **zwei Strecken** (1 und 2). Beim Start wird zufällig eine gewählt.
+
+**Einrichten (Beispiel Strecke 1):**
+
+1. **Start:** Stell dich an den Start und gib `/nexus parkour setstart 1` ein. Schaust du dabei einen ArmorStand (den Trainer) an, wird er automatisch zum Start-NPC.
+2. **Checkpoints:** Geh zu jedem Checkpoint **in der richtigen Reihenfolge** und gib dort `/nexus parkour setcheckpoint 1` ein.
+3. **Ziel:** Stell dich ins Ziel und gib `/nexus parkour setfinish 1` ein.
+4. **Prüfen:** `/nexus parkour info`
+
+Für Strecke 2 machst du dasselbe mit der `2` am Ende.
+
+> 💡 **Beide Strecken sollten gleich viele Checkpoints haben.** Sonst steht eine Warnung in der Konsole, und die Strecken sind unterschiedlich lang.
+
+**Bestenliste als Hologramm:** Stell dich dorthin, wo sie stehen soll, und gib `/nexus parkour holo 1` ein. Das braucht PlaceholderAPI.
+
+**Weitere Parkour-Befehle:**
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/nexus parkour reset` | Bricht deinen eigenen Lauf ab (das darf jeder) |
+| `/nexus parkour clear` | Löscht alle Bestzeiten |
+| `/nexus parkour removeall` | Löscht die komplette Strecke |
+
+**Sturz-Höhe einstellen (wichtig):**
+
+Wer unter eine bestimmte Höhe fällt, kommt zum letzten Checkpoint zurück. Standard ist **Höhe Y = 50**. Liegt dein Parkour oder der Trainer **unter 50**, wirst du bei jedem Schritt zurückgesetzt, und der Chat läuft mit „Abgestürzt!“ voll.
+
+Die Lösung: In `plugins/NexusLobby/config.yml` (nicht in `parkour.yml`) fügst du ein:
+
+```yaml
+parkour:
+ fall_y: 40
+```
+
+Der Wert muss **unter dem tiefsten Punkt** liegen, an dem Spieler stehen. Deine Höhe siehst du mit **F3** bei `XYZ` (die mittlere Zahl).
+
+### ⚽ Fußball
+
+Ein Ball, den Spieler schießen und dribbeln können. Mit Toren und Teams.
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/nexus ball setspawn` | Setzt, wo der Ball erscheint |
+| `/nexus ball respawn` | Holt den Ball neu |
+| `/nexus ball remove` | Entfernt den Ball |
+
+**Tor einrichten:**
+1. Geh zur **inneren Ecke** des Tors und gib `/nexus ball goal pos1` ein.
+2. Geh zur **gegenüberliegenden Ecke** (auch 1 bis 2 Blöcke hinter das Tor) und gib `/nexus ball goal pos2` ein.
+3. Speichern: `/nexus ball goal save torBlau 1` (Team 1 = Blau, Team 2 = Rot).
+
+Die Box muss mindestens **3 Blöcke hoch** und **1,5 Blöcke tief** sein. Mit `/nexus ball goal show` machst du sie sichtbar. Mit `/nexus ball goal debug` siehst du die Ball-Position live.
+
+Wenn der Ball nichts tut, prüfe in `config.yml` unter `ball:`, ob `enabled: true` steht.
+
+### 🤖 NPCs und Gespräche
+
+Mit ArmorStands baust du NPCs. Die können Gespräche führen, dir mit dem Blick folgen und Befehle ausführen.
+
+**NPC bearbeiten:** Schau einen ArmorStand an und gib `/nexustools` ein (auch `/nt`). Es öffnet sich ein Menü.
+
+**Befehle:**
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/nexuscmd lookat` | Der NPC schaut Spielern nach (an und aus) |
+| `/nexuscmd name ` | Gibt dem NPC einen Namen. `none` entfernt ihn |
+| `/nexuscmd say ` | Der NPC sagt etwas in einer Sprechblase |
+
+Du musst dabei den NPC **anschauen**.
+
+**Gespräch zwischen NPCs einrichten:**
+
+1. Schau den ersten NPC an: `/nexuscmd conv select1`
+2. Schau den zweiten NPC an: `/nexuscmd conv select2`
+3. Optional: `select3` und `select4` für bis zu vier NPCs
+4. Verknüpfen: `/nexuscmd conv link `
+5. Testen: `/nexuscmd conv start `
+6. Wieder lösen: Schau den NPC an und gib `/nexuscmd conv unlink` ein.
+
+Du brauchst **mindestens zwei NPCs**, auch wenn im Text nur einer spricht.
+
+**Eigene Gespräche schreiben:** In `conversations.yml`. Jedes Gespräch hat drei Tageszeiten (`morgens`, `mittags`, `abends`) mit je einer Liste von Zeilen:
+
+```yaml
+conversations:
+ mein_gespraech:
+ morgens:
+ dialogue:
+ - '&eWächter: &7Guten Morgen!'
+ - '&aBürger: &7Dir auch!'
+ mittags:
+ dialogue:
+ - '&eWächter: &7Schöner Tag heute.'
+ abends:
+ dialogue:
+ - '&eWächter: &7Gute Nacht!'
+```
+
+Danach `/nexus reload`. Das Gespräch kannst du dann mit `mein_gespraech` verknüpfen.
+
+> 💡 Schon dabei sind unter anderem `parkour_begruessung`, `owner_besuch`, `fussball_match`, `baum_drama` und `familien_spaziergang`.
+
+### 🔤 Hologramme
+
+Schwebende Texte.
+
+- Erstellen: `/holo create `
+- Löschen: `/holo delete `
+
+### 🖼️ MapArt
+
+Ein Bild aus dem Internet als Wandbild aus Item-Frames.
+
+```
+/mapart x
+```
+
+Beispiel: `/mapart https://example.com/bild.png 3x2`
+
+### 🎬 Intro-Tour
+
+Eine Kamerafahrt für neue Spieler.
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/intro add` | Fügt einen Kamerapunkt an deiner Position hinzu |
+| `/intro clear` | Löscht alle Punkte |
+| `/intro start` | Startet die Tour zum Testen |
+
+### 🔨 Baumodus
+
+Normale Spieler dürfen in der Lobby nichts bauen. Mit `/build` schaltest du den **Baumodus** für dich ein und aus. Du brauchst dafür das Recht `nexuslobby.build`.
+
+### 🔧 Wartungsmodus
+
+Sperrt den Server für normale Spieler, während du daran arbeitest.
+
+- Einschalten: `/maintenance on`
+- Ausschalten: `/maintenance off`
+- Wer trotzdem joinen darf, braucht das Recht `nexuslobby.join.maintenance`.
+- Die Kick-Nachricht steht in `config.yml` unter `maintenance:`.
+
+### 🛡️ VPN- und Länder-Sperre
+
+Schließt Spieler mit VPN oder Proxy und Spieler aus bestimmten Ländern aus.
+
+**Die Einstellungen stehen in `settings.yml`:**
+
+```yaml
+security:
+ vpn-blocker:
+ enabled: false # true = VPN und Proxy sperren
+ kick-message: "&cVPN und Proxies sind auf diesem Server nicht erlaubt!"
+
+ country-blocker:
+ enabled: false # true = nur bestimmte Länder erlauben
+ allowed-countries:
+ - "DE"
+ - "AT"
+ - "CH"
+ kick-message: "&cZugriff aus deinem Land (%country%) ist leider nicht gestattet."
+```
+
+- `enabled: false` heißt: Die Sperre ist **aus**. Das ist der Standard, wenn nichts eingetragen ist.
+- Wer das Recht `nexuslobby.security.bypass` hat, wird nie gesperrt. Dafür muss **LuckPerms** installiert sein.
+- Die Prüfung nutzt den kostenlosen Dienst `ip-api.com`. Mobilfunk- und Hoster-IPs werden dort manchmal fälschlich als VPN erkannt. Wenn jemand zu Unrecht gekickt wird, gib ihm das Bypass-Recht.
+
+### 🦘 Doppelsprung, Void-Schutz und mehr
+
+Alle diese Funktionen schaltest du in `config.yml` mit `enabled: true` oder `false` ein und aus:
+
+| Funktion | Bereich in `config.yml` | Was sie macht |
+|----------|-------------------------|---------------|
+| **Doppelsprung** | `doublejump:` | In der Luft nochmal springen. Mit `velocity` stellst du die Höhe ein |
+| **Void-Schutz** | `void_protection:` | Wer in die Leere fällt, kommt zum Spawn |
+| **Spieler verstecken** | `hider:` | Ein Item, mit dem Spieler andere ausblenden |
+| **Kompass-Menü** | `compass:` und `items:` | Menü zum Server-Wechsel |
+| **Server-Status** | `servers:` | Zeigt an ArmorStands, ob ein Server online ist |
+| **Spieler-Info** | `player_inspect:` | Rechtsklick auf einen Spieler zeigt dessen Statistiken |
+
+**Lobby-Regeln** (PvP, Bauen, Items droppen, Explosionen, Fallschaden …) stehen in `settings.yml`. Ingame öffnest du sie mit `/settings`, ein Klick-Menü.
+
+---
+
+## 📋 Alle Befehle
+
+`<…>` bedeutet: Du musst etwas eintragen. `[…]` bedeutet: optional.
+
+### Allgemein
+
+| Befehl | Was er macht | Recht |
+|--------|--------------|-------|
+| `/spawn` (auch `/l`, `/hub`) | Zum Spawn | alle |
+| `/serverswitcher` | Server-Menü öffnen | `nexuslobby.serverswitcher` |
+| `/build` | Baumodus ein/aus | `nexuslobby.build` |
+| `/settings` | Lobby-Regeln ändern | `nexuslobby.admin` |
+| `/maintenance ` | Wartungsmodus | `nexuslobby.maintenance` |
+
+### Verwaltung (`/nexus`, auch `/nexuslobby` und `/lobby`)
+
+| Befehl | Was er macht | Recht |
+|--------|--------------|-------|
+| `/nexus reload` | Einstellungen neu laden | `nexuslobby.admin` |
+| `/nexus setspawn` | Spawn setzen | `nexuslobby.admin` |
+| `/nexus silentjoin ` | Join und Quit unsichtbar | `nexuslobby.admin` |
+| `/nexus sb ` | Scoreboard steuern | `nexuslobby.admin` |
+
+### Parkour
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/nexus parkour setstart <1\|2>` | Start setzen |
+| `/nexus parkour setcheckpoint <1\|2>` | Checkpoint setzen |
+| `/nexus parkour setfinish <1\|2>` | Ziel setzen |
+| `/nexus parkour holo <1\|2>` | Bestenlisten-Hologramm |
+| `/nexus parkour info` | Zeigt die Strecken |
+| `/nexus parkour reset` | Eigenen Lauf abbrechen |
+| `/nexus parkour clear` | Bestzeiten löschen |
+| `/nexus parkour removeall` | Strecke löschen |
+
+Recht: `nexuslobby.admin` (nur `reset` darf jeder).
+
+### Fußball
+
+| Befehl | Was er macht |
+|--------|--------------|
+| `/nexus ball setspawn` | Ball-Spawn setzen |
+| `/nexus ball respawn` | Ball neu holen |
+| `/nexus ball remove` | Ball entfernen |
+| `/nexus ball goal pos1`, `pos2`, `save `, `show`, `debug` | Tore einrichten |
+
+### Portale und Grenze
+
+| Befehl | Was er macht | Recht |
+|--------|--------------|-------|
+| `/giveportalwand` | Portal-Werkzeug | `nexuslobby.portal.give` |
+| `/portal create ` | Portal erstellen | `nexuslobby.portal` |
+| `/portal setdest ` | Ziel setzen | `nexuslobby.portal` |
+| `/portal setparticle ` | Partikel ändern | `nexuslobby.portal` |
+| `/portal setspawn ` | Ankunftspunkt setzen | `nexuslobby.portal` |
+| `/portal list` | Alle Portale | `nexuslobby.portal` |
+| `/portal delete ` | Portal löschen | `nexuslobby.portal` |
+| `/border circle ` | Runde Grenze | `nexuslobby.admin` |
+| `/border square` | Eckige Grenze | `nexuslobby.admin` |
+| `/border disable` | Grenze aus | `nexuslobby.admin` |
+
+### NPCs und Extras
+
+| Befehl | Was er macht | Recht |
+|--------|--------------|-------|
+| `/nexustools` (auch `/nt`) | NPC-Editor | `nexuslobby.armorstand.use` |
+| `/nexuscmd …` (auch `/ncmd`, `/conv`) | NPC-Befehle und Gespräche | `nexuslobby.armorstand.cmd` |
+| `/holo create ` | Hologramm erstellen | `nexuslobby.hologram` |
+| `/holo delete ` | Hologramm löschen | `nexuslobby.hologram` |
+| `/mapart ` | MapArt erstellen | `nexuslobby.mapart` |
+| `/intro ` | Intro-Tour | `nexuslobby.admin` |
+
+---
+
+## 🔐 Rechte vergeben
+
+Rechte steuerst du am einfachsten mit **LuckPerms**. Ein Recht gibst du so:
+
+```
+/lp user permission set true
+```
+
+Für eine ganze Gruppe (z. B. alle Admins):
+
+```
+/lp group admin permission set true
+```
+
+**Beispiel:** Dem Spieler `M_Viper` das Recht zum Bauen geben:
+
+```
+/lp user M_Viper permission set nexuslobby.build true
+```
+
+### Die wichtigsten Rechte
+
+| Recht | Was es erlaubt |
+|-------|----------------|
+| `nexuslobby.admin` | Fast alles: Reload, Spawn, Border, Parkour, Einstellungen |
+| `nexuslobby.build` | Baumodus nutzen |
+| `nexuslobby.portal` | Portale erstellen und löschen |
+| `nexuslobby.portal.give` | Portal-Werkzeug bekommen |
+| `nexuslobby.maintenance` | Wartungsmodus schalten |
+| `nexuslobby.armorstand.use` | NPC-Editor öffnen |
+| `nexuslobby.armorstand.cmd` | NPC-Befehle und Gespräche |
+| `nexuslobby.hologram` | Hologramme verwalten |
+| `nexuslobby.mapart` | MapArt erstellen |
+| `nexuslobby.serverswitcher` | Server-Menü öffnen (**alle Spieler haben es standardmäßig**) |
+| `nexuslobby.scoreboard.admin` | Admin-Scoreboard sehen |
+
+### Ausnahmen (Bypass)
+
+| Recht | Was es umgeht |
+|-------|---------------|
+| `nexuslobby.security.bypass` | VPN- und Länder-Sperre |
+| `nexuslobby.join.maintenance` | Wartungsmodus (darf trotzdem joinen) |
+| `nexuslobby.border.bypass` | Die Lobby-Grenze |
+
+> 💡 Alle diese Rechte haben **OPs** automatisch. Normale Spieler bekommen nur `nexuslobby.serverswitcher` von selbst.
+
+---
+
+## 🛠️ Probleme und Lösungen
+
+### Im Scoreboard steht `%luckperms_prefix%` oder `%bungee_total%`
+
+**Ursache:** PlaceholderAPI fehlt oder ihm fehlen die Erweiterungen.
+
+**Lösung:** PlaceholderAPI installieren. Dann in der Server-Konsole:
+
+```
+/papi ecloud download LuckPerms
+/papi ecloud download Bungee
+/papi reload
+```
+
+### Ich werde mit „Abgestürzt! Zurück zum Checkpoint.“ im Dauerfeuer zugespammt
+
+**Ursache:** Dein Trainer-NPC oder Parkour liegt tiefer als die Sturz-Höhe (Standard Y = 50).
+
+**Lösung:** In `config.yml` einen niedrigeren Wert setzen. Siehe [Parkour](#-parkour), Abschnitt „Sturz-Höhe“.
+
+### Beim Portal steht „Verbinde zum Server: null“
+
+**Ursache:** Dem Portal fehlt das Ziel.
+
+**Lösung:** `/portal setdest `. Siehe [Portale](#-portale).
+
+### „Bitte markiere erst zwei Punkte mit dem Portal-Werkzeug!“
+
+**Ursache:** Du hast `/portal create` benutzt, ohne vorher zwei Ecken zu markieren.
+
+**Lösung:** Erst `/giveportalwand`, dann Links- und Rechtsklick auf zwei Blöcke, dann `/portal create`.
+
+### Ich werde beim Joinen gekickt, obwohl der VPN-Blocker aus ist
+
+**Ursache:** Bis Version 2.0 las das Plugin die Sperre aus der falschen Datei.
+
+**Lösung:** Auf **Version 2.1** aktualisieren und in `settings.yml` prüfen, dass `enabled: false` steht. Danach Server neu starten. Wenn es weiter passiert, steht der Grund in der Server-Konsole. Es könnte auch der Wartungsmodus sein.
+
+### Das Scoreboard flackert
+
+**Ursache:** In Version 2.0 und älter wurde es jede Sekunde komplett neu aufgebaut.
+
+**Lösung:** Auf **Version 2.1** aktualisieren. Wenn es danach noch flackert, läuft ein zweites Scoreboard- oder Tab-Plugin (z. B. TAB). Schalte eines davon aus.
+
+### Ich werde an der Grenze nicht zurückgeschickt
+
+**Ursache:** Du bist OP oder hast `nexuslobby.border.bypass`.
+
+**Lösung:** Teste mit einem normalen Account.
+
+### Der Ball erscheint mehrfach
+
+**Lösung:** `/nexus ball remove`, danach `/nexus ball setspawn`.
+
+### NPCs schauen den Spielern nicht nach
+
+**Lösung:** Schau den NPC an und gib `/nexuscmd lookat` ein. Es schaltet um. Wenn es an war, ist es jetzt aus, gib den Befehl dann noch einmal ein.
+
+### Der Server-Status am NPC stimmt nicht
+
+**Lösung:** Prüfe in `config.yml` unter `servers:` die IP und den Port. Der Name muss genau dem BungeeCord-Servernamen entsprechen. Der Server muss erreichbar sein (Firewall, Ports).
+
+### Nach einer Änderung passiert nichts
+
+**Lösung:** Hast du die Datei gespeichert? Dann `/nexus reload`. Bei einer neuen Jar-Datei brauchst du einen **Neustart**.
+
+---
+
+## 🆕 Änderungen in Version 2.1
+
+- 🐛 **Scoreboard flackert nicht mehr.** Es wird nur noch aktualisiert, was sich wirklich ändert.
+- 🐛 **VPN- und Länder-Sperre** lesen jetzt die `settings.yml`. Vorher wurde dein Wert ignoriert, und Spieler wurden trotz `enabled: false` gekickt.
+- 🐛 **Die Kick-Nachricht ist nie mehr leer.** Es gibt einen Standardtext.
+- 🔧 Ist keine Sperre eingetragen, ist sie **aus** (vorher an).
+- 🔧 Die Sperre stürzt nicht mehr ab, wenn der Prüfdienst unvollständig antwortet.
+
+---
+
+## 💬 Hilfe und Lizenz
+
+- 🌐 Webseite: https://m-viper.de
+- 📚 Dokumentation: https://viper-network.de/wiki/NexusLobby/
+- 💬 Discord: https://discord.com/invite/FdRs4BRd8D
+
+**Wenn du Hilfe brauchst:** Schreib im Discord, welche **Version** du hast, was du **gemacht** hast und was **passiert ist**. Ein Screenshot oder die Fehlerzeile aus der Server-Konsole hilft sehr.
+
+### Lizenz und Nutzungsbedingungen
+
+**ALLE RECHTE VORBEHALTEN.** Dieses Plugin ist urheberrechtlich geschützt.
+
+- Die Weitergabe, Verbreitung oder Veröffentlichung ist **untersagt**.
+- Änderungen, Modifikation oder Dekompilierung des Codes sind **verboten**.
+- Das Plugin darf nicht verkauft, vermietet oder kommerziell genutzt werden.
+- Eine Weitergabe an Dritte ist ohne ausdrückliche schriftliche Genehmigung nicht gestattet.
+
+Bei Verstößen behalten wir uns rechtliche Schritte vor.
+
+**Copyright © 2026 – M_Viper – Alle Rechte vorbehalten**