README.md aktualisiert

This commit is contained in:
2026-05-23 18:06:21 +00:00
parent 71534e7e06
commit b7dd32493b

271
README.md
View File

@@ -2,41 +2,127 @@
TeleportSuite ist ein umfassendes Teleport-Plugin für Paper/Spigot mit Homes, Warps, Portalen, Spawn-System, Savepoints, Back/Deathback, Teleportanfragen und BungeeCord-Unterstützung. TeleportSuite ist ein umfassendes Teleport-Plugin für Paper/Spigot mit Homes, Warps, Portalen, Spawn-System, Savepoints, Back/Deathback, Teleportanfragen und BungeeCord-Unterstützung.
---
## Features ## Features
- Homes mit konfigurierbaren Limits - Homes mit konfigurierbaren Limits pro Rang
- Warps mit optionalen Berechtigungen - Warps mit optionalen Berechtigungen
- Portale für Server- oder Weltwechsel - Portale für Server- oder Weltwechsel
- Spawn, FirstSpawn und Deathback - Spawn, FirstSpawn und Deathback
- Teleportanfragen mit Accept/Deny - Teleportanfragen (TPA) mit Accept/Deny
- Back- und Cooldown-/Warmup-System - Back- und Cooldown-/Warmup-System
- Teleport zu Koordinaten, Welten und Spielern - Teleport zu Koordinaten, Welten und Spielern
- Entity-Transport - Entity-Transport
- SQLite- und MySQL-Unterstützung - SQLite- und MySQL-Unterstützung
- BungeeCord-Unterstützung für verteilte Servernetzwerke - BungeeCord-Unterstützung für verteilte Servernetzwerke
---
## Voraussetzungen ## Voraussetzungen
- Paper oder Spigot ab Minecraft 1.20 - Paper oder Spigot ab Minecraft 1.20
- Java 21 oder neuer - Java 21 oder neuer
- Optional: MySQL, falls du nicht SQLite verwenden möchtest - Optional: MySQL, falls mehrere Server auf dieselbe Datenbank zugreifen sollen
- Optional: BungeeCord-Proxy, falls du mehrere Server vernetzt hast
---
## Installation ## Installation
1. Die fertige JAR-Datei in den Ordner plugins deines Servers kopieren. ### Einzelner Server (kein BungeeCord)
2. Den Server einmal starten, damit die Konfigurationsdatei und die Datenbank angelegt werden.
3. Den Server stoppen und die Datei config.yml nach Bedarf anpassen.
4. Den Server neu starten.
## Konfiguration 1. Die JAR-Datei in den `plugins`-Ordner deines Servers kopieren.
2. Server starten → Plugin legt `config.yml` und Datenbank automatisch an.
3. Server stoppen und `config.yml` nach Bedarf anpassen.
4. Server neu starten.
Die Datei config.yml wird beim ersten Start im Plugin-Ordner angelegt. ---
### Datenbank ### BungeeCord-Netzwerk ⚠️
> Wenn du mehrere Server mit BungeeCord verbunden hast und Spieler **serverübergreifend** teleportieren sollen, musst du das Plugin auf **jedem Spigot-Server UND auf dem BungeeCord-Proxy** installieren.
**Schritt-für-Schritt:**
**1. JAR auf jeden Spigot-Server kopieren**
Kopiere die `TeleportSuite.jar` in den `plugins`-Ordner von **jedem einzelnen** Spigot-Server in deinem Netzwerk (z.B. Lobby, Survival, Creative, ...).
**2. JAR auf den BungeeCord-Proxy kopieren**
Kopiere dieselbe `TeleportSuite.jar` auch in den `plugins`-Ordner deines **BungeeCord-Proxys**. Das Plugin erkennt automatisch ob es auf Spigot oder BungeeCord läuft.
**3. Jeden Server einmal starten**
Starte jeden Server einmal kurz, damit die `config.yml` angelegt wird. Dann stoppe ihn wieder.
**4. config.yml auf jedem Spigot-Server anpassen**
Öffne die `plugins/TeleportSuite/config.yml` auf **jedem Spigot-Server** und passe folgende Einstellungen an:
```yaml
bungee:
enabled: true # ← MUSS auf true stehen, sonst kein Cross-Server-Teleport!
server-name: "survival" # ← Den Namen dieses Servers eintragen (siehe unten)
```
> **Woher bekomme ich den `server-name`?**
> Öffne die `config.yml` deines **BungeeCord-Proxys** (nicht des Spigot-Servers!).
> Dort findest du einen Abschnitt wie diesen:
> ```yaml
> servers:
> lobby:
> address: localhost:25566
> survival:
> address: localhost:25567
> creative:
> address: localhost:25568
> ```
> Der `server-name` in der TeleportSuite-Config muss **exakt** dem Namen aus dieser Liste entsprechen.
> Beispiel: Auf dem Survival-Server trägst du `server-name: "survival"` ein.
> Auf dem Lobby-Server trägst du `server-name: "lobby"` ein. Und so weiter.
**5. Datenbank einrichten (empfohlen: MySQL)**
Damit alle Server auf dieselben Homes, Warps usw. zugreifen, solltest du MySQL verwenden und auf jedem Spigot-Server dieselben Zugangsdaten eintragen:
```yaml ```yaml
database: database:
type: sqlite type: mysql
mysql:
host: localhost # Adresse deines MySQL-Servers
port: 3306
database: teleportsuite
username: root
password: deinPasswort
```
**6. Alle Server neu starten**
Starte jetzt alle Spigot-Server und den BungeeCord-Proxy neu. Wenn alles korrekt konfiguriert ist, siehst du beim Start des jeweiligen Spigot-Servers in der Konsole:
```
[TeleportSuite] BungeeCord-Unterstuetzung aktiviert. Server: survival
```
Falls du stattdessen diese Warnung siehst:
```
[TeleportSuite] BungeeCord deaktiviert (bungee.enabled=false).
```
→ Dann hast du in der `config.yml` dieses Servers `enabled: false` stehen gelassen. Auf `true` ändern und neu starten.
---
## Konfiguration
Die vollständige `config.yml` mit allen Optionen:
```yaml
database:
type: sqlite # sqlite oder mysql
mysql: mysql:
host: localhost host: localhost
port: 3306 port: 3306
@@ -46,140 +132,101 @@ database:
pool-size: 10 pool-size: 10
sqlite: sqlite:
file: teleportsuite.db file: teleportsuite.db
```
- `sqlite` ist die Standard-Einstellung und benötigt keine zusätzliche Serverdatenbank.
- `mysql` ist sinnvoll, wenn mehrere Server auf dieselben Teleport-Daten zugreifen sollen.
### BungeeCord
```yaml
bungee: bungee:
enabled: false enabled: true
server-name: "survival" server-name: "survival" # Name dieses Servers in der BungeeCord config.yml
```
- Aktiviere `enabled: true`, wenn das Plugin im BungeeCord-Setup genutzt werden soll.
- `server-name` muss dem Namen des Servers im Netzwerk entsprechen.
### Teleport
```yaml
teleport: teleport:
delay: 3 delay: 3 # Wartezeit in Sekunden vor dem Teleport (0 = sofort)
cooldown: 5 cooldown: 5 # Cooldown in Sekunden zwischen Teleports
warmup-cancel-on-move: true warmup-cancel-on-move: true # Teleport abbrechen wenn Spieler sich bewegt
request-timeout: 60 request-timeout: 60 # Sekunden bis eine TPA-Anfrage automatisch verfällt
```
- `delay` ist die Wartezeit vor einem Teleport.
- `cooldown` verhindert zu häufige Teleports.
- `warmup-cancel-on-move` bricht den Teleport ab, wenn sich der Spieler bewegt.
- `request-timeout` legt fest, wie lange eine TPA-Anfrage gültig bleibt.
### Homes
```yaml
homes: homes:
max-homes-default: 3 max-homes-default: 3
max-homes-vip: 10 max-homes-vip: 10
max-homes-premium: 25 max-homes-premium: 25
```
### Warps
```yaml
warps: warps:
allow-player-warps: false allow-player-warps: false
warp-permission-prefix: "teleportsuite.warp." warp-permission-prefix: "teleportsuite.warp."
```
### Portale
```yaml
portals: portals:
check-interval: 5 check-interval: 5
particle-effect: true particle-effect: true
```
### Spawn
```yaml
spawn: spawn:
first-join-teleport: true first-join-teleport: true
death-respawn-to-spawn: false death-respawn-to-spawn: false
``` ```
### Nachrichten ---
Alle Nachrichten unterstützen `&`-Farbcodes und Platzhalter wie `{player}`, `{name}`, `{seconds}` und `{max}`.
## Commands ## Commands
| Command | Beschreibung | Permission | | Command | Beschreibung | Permission |
| --- | --- | --- | |---|---|---|
| /tp <player> | Teleportiere zu einem Spieler | teleportsuite.tp | | `/tp <spieler>` | Teleportiere zu einem Spieler | `teleportsuite.tp` |
| /tphere <player> | Teleportiere einen Spieler zu dir | teleportsuite.tphere | | `/tphere <spieler>` | Teleportiere einen Spieler zu dir | `teleportsuite.tphere` |
| /tpa <player> | Sende eine Teleportanfrage | teleportsuite.tpa | | `/tpa <spieler>` | Sende eine Teleportanfrage | `teleportsuite.tpa` |
| /tpaccept | Akzeptiere eine Teleportanfrage | teleportsuite.tpaccept | | `/tpaccept` | Akzeptiere eine Teleportanfrage | `teleportsuite.tpaccept` |
| /tpdeny | Lehne eine Teleportanfrage ab | teleportsuite.tpdeny | | `/tpdeny` | Lehne eine Teleportanfrage ab | `teleportsuite.tpdeny` |
| /back | Teleportiere zur letzten Position | teleportsuite.back | | `/back` | Teleportiere zur letzten Position | `teleportsuite.back` |
| /deathback | Teleportiere zum letzten Todesort | teleportsuite.deathback | | `/deathback` | Teleportiere zum letzten Todesort | `teleportsuite.deathback` |
| /sethome [name] | Setze ein Home | teleportsuite.sethome | | `/sethome [name]` | Setze ein Home | `teleportsuite.sethome` |
| /home [name] | Teleportiere zu einem Home | teleportsuite.home | | `/home [name]` | Teleportiere zu einem Home | `teleportsuite.home` |
| /delhome <name> | Lösche ein Home | teleportsuite.delhome | | `/delhome <name>` | Lösche ein Home | `teleportsuite.delhome` |
| /homes | Liste alle Homes auf | teleportsuite.home | | `/homes` | Liste alle Homes auf | `teleportsuite.home` |
| /setwarp <name> | Setze einen Warp | teleportsuite.setwarp | | `/setwarp <name>` | Setze einen Warp | `teleportsuite.setwarp` |
| /warp <name> | Teleportiere zu einem Warp | teleportsuite.warp | | `/warp <name>` | Teleportiere zu einem Warp | `teleportsuite.warp` |
| /delwarp <name> | Lösche einen Warp | teleportsuite.delwarp | | `/delwarp <name>` | Lösche einen Warp | `teleportsuite.delwarp` |
| /warps | Liste alle Warps auf | teleportsuite.warp | | `/warps` | Liste alle Warps auf | `teleportsuite.warp` |
| /setportal <name> <target-server/world> | Erstelle ein Portal | teleportsuite.setportal | | `/setportal <name> <server/welt>` | Erstelle ein Portal | `teleportsuite.setportal` |
| /delportal <name> | Lösche ein Portal | teleportsuite.delportal | | `/delportal <name>` | Lösche ein Portal | `teleportsuite.delportal` |
| /portals | Liste alle Portale auf | teleportsuite.portals | | `/portals` | Liste alle Portale auf | `teleportsuite.portals` |
| /setsavepoint [name] | Setze einen Savepoint | teleportsuite.savepoint | | `/setsavepoint [name]` | Setze einen Savepoint | `teleportsuite.savepoint` |
| /savepoint [name] | Teleportiere zu einem Savepoint | teleportsuite.savepoint | | `/savepoint [name]` | Teleportiere zu einem Savepoint | `teleportsuite.savepoint` |
| /setspawn | Setze den Spawn | teleportsuite.setspawn | | `/setspawn` | Setze den Spawn | `teleportsuite.setspawn` |
| /spawn | Teleportiere zum Spawn | teleportsuite.spawn | | `/spawn` | Teleportiere zum Spawn | `teleportsuite.spawn` |
| /setfirstspawn | Setze den FirstSpawn | teleportsuite.setfirstspawn | | `/setfirstspawn` | Setze den FirstSpawn (für neue Spieler) | `teleportsuite.setfirstspawn` |
| /tppos <x> <y> <z> [world] | Teleportiere zu Koordinaten | teleportsuite.tppos | | `/tppos <x> <y> <z> [welt]` | Teleportiere zu Koordinaten | `teleportsuite.tppos` |
| /tpall | Teleportiere alle Spieler zu dir | teleportsuite.tpall | | `/tpall` | Teleportiere alle Spieler zu dir | `teleportsuite.tpall` |
| /tpworld <world> | Teleportiere in eine Welt | teleportsuite.tpworld | | `/tpworld <welt>` | Teleportiere in eine Welt | `teleportsuite.tpworld` |
| /entitytransport <entity-id> <player/world> | Transportiere ein Entity | teleportsuite.entitytransport | | `/entitytransport <id> <spieler/welt>` | Transportiere ein Entity | `teleportsuite.entitytransport` |
---
## Permissions ## Permissions
### Sammelrechte | Permission | Beschreibung |
|---|---|
| `teleportsuite.*` | Alle Rechte des Plugins |
| `teleportsuite.home.unlimited` | Unbegrenzte Homes (Standard: nur OPs) |
| `teleportsuite.nodelay` | Kein Teleport-Warmup |
| `teleportsuite.nocooldown` | Kein Teleport-Cooldown |
| `teleportsuite.admin` | Andere Spieler teleportieren (`/tp <von> <zu>`) |
- `teleportsuite.*` - Alle Rechte des Plugins Alle weiteren Einzelrechte entsprechen dem jeweiligen Command-Namen, z.B. `teleportsuite.tp`, `teleportsuite.home`, `teleportsuite.warp` usw.
- `teleportsuite.home.unlimited` - Unbegrenzte Homes, standardmäßig nur für OPs
### Wichtige Einzelrechte ---
- `teleportsuite.tp` ## Häufige Probleme
- `teleportsuite.tphere`
- `teleportsuite.tpa` **„Spieler XY nicht gefunden" beim serverübergreifenden `/tp`**
- `teleportsuite.tpaccept` `bungee.enabled` in der `config.yml` steht auf `false`. Auf `true` setzen und neu starten.
- `teleportsuite.tpdeny`
- `teleportsuite.back` **Spieler landet am Spawn statt beim Zielspieler**
- `teleportsuite.deathback` `server-name` in der `config.yml` stimmt nicht mit dem Namen in der BungeeCord `config.yml` überein.
- `teleportsuite.sethome`
- `teleportsuite.home` **TPA-Nachrichten kommen nicht an**
- `teleportsuite.delhome` → Das Plugin läuft nicht auf dem BungeeCord-Proxy. Die JAR muss auch in den `plugins`-Ordner des Proxys.
- `teleportsuite.setwarp`
- `teleportsuite.warp` **Homes/Warps sind auf anderen Servern nicht verfügbar**
- `teleportsuite.delwarp` → Alle Server müssen dieselbe MySQL-Datenbank verwenden. SQLite funktioniert nur lokal auf einem Server.
- `teleportsuite.setportal`
- `teleportsuite.delportal` ---
- `teleportsuite.portals`
- `teleportsuite.savepoint`
- `teleportsuite.setspawn`
- `teleportsuite.spawn`
- `teleportsuite.setfirstspawn`
- `teleportsuite.tppos`
- `teleportsuite.tpall`
- `teleportsuite.tpworld`
- `teleportsuite.entitytransport`
## Support ## Support
Wenn du Probleme, Wünsche oder Fehlerberichte hast, eröffne ein Issue auf GitHub und füge wenn möglich den vollständigen Server-Log sowie deine `config.yml` bei. Probleme, Wünsche oder Fehlerberichte bitte als Issue auf GitHub melden. Füge wenn möglich den vollständigen Server-Log sowie deine `config.yml` bei.