README.md aktualisiert
This commit is contained in:
269
README.md
269
README.md
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- Homes mit konfigurierbaren Limits
|
||||
- Homes mit konfigurierbaren Limits pro Rang
|
||||
- Warps mit optionalen Berechtigungen
|
||||
- Portale für Server- oder Weltwechsel
|
||||
- Spawn, FirstSpawn und Deathback
|
||||
- Teleportanfragen mit Accept/Deny
|
||||
- Teleportanfragen (TPA) mit Accept/Deny
|
||||
- Back- und Cooldown-/Warmup-System
|
||||
- Teleport zu Koordinaten, Welten und Spielern
|
||||
- Entity-Transport
|
||||
- SQLite- und MySQL-Unterstützung
|
||||
- BungeeCord-Unterstützung für verteilte Servernetzwerke
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Paper oder Spigot ab Minecraft 1.20
|
||||
- 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
|
||||
|
||||
1. Die fertige JAR-Datei in den Ordner plugins deines Servers kopieren.
|
||||
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.
|
||||
### Einzelner Server (kein BungeeCord)
|
||||
|
||||
## 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
|
||||
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:
|
||||
host: localhost
|
||||
port: 3306
|
||||
@@ -46,140 +132,101 @@ database:
|
||||
pool-size: 10
|
||||
sqlite:
|
||||
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:
|
||||
enabled: false
|
||||
server-name: "survival"
|
||||
```
|
||||
enabled: true
|
||||
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:
|
||||
delay: 3
|
||||
cooldown: 5
|
||||
warmup-cancel-on-move: true
|
||||
request-timeout: 60
|
||||
```
|
||||
delay: 3 # Wartezeit in Sekunden vor dem Teleport (0 = sofort)
|
||||
cooldown: 5 # Cooldown in Sekunden zwischen Teleports
|
||||
warmup-cancel-on-move: true # Teleport abbrechen wenn Spieler sich bewegt
|
||||
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:
|
||||
max-homes-default: 3
|
||||
max-homes-vip: 10
|
||||
max-homes-premium: 25
|
||||
```
|
||||
|
||||
### Warps
|
||||
|
||||
```yaml
|
||||
warps:
|
||||
allow-player-warps: false
|
||||
warp-permission-prefix: "teleportsuite.warp."
|
||||
```
|
||||
|
||||
### Portale
|
||||
|
||||
```yaml
|
||||
portals:
|
||||
check-interval: 5
|
||||
particle-effect: true
|
||||
```
|
||||
|
||||
### Spawn
|
||||
|
||||
```yaml
|
||||
spawn:
|
||||
first-join-teleport: true
|
||||
death-respawn-to-spawn: false
|
||||
```
|
||||
|
||||
### Nachrichten
|
||||
|
||||
Alle Nachrichten unterstützen `&`-Farbcodes und Platzhalter wie `{player}`, `{name}`, `{seconds}` und `{max}`.
|
||||
---
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Beschreibung | Permission |
|
||||
|---|---|---|
|
||||
| /tp <player> | Teleportiere zu einem Spieler | teleportsuite.tp |
|
||||
| /tphere <player> | Teleportiere einen Spieler zu dir | teleportsuite.tphere |
|
||||
| /tpa <player> | Sende eine Teleportanfrage | teleportsuite.tpa |
|
||||
| /tpaccept | Akzeptiere eine Teleportanfrage | teleportsuite.tpaccept |
|
||||
| /tpdeny | Lehne eine Teleportanfrage ab | teleportsuite.tpdeny |
|
||||
| /back | Teleportiere zur letzten Position | teleportsuite.back |
|
||||
| /deathback | Teleportiere zum letzten Todesort | teleportsuite.deathback |
|
||||
| /sethome [name] | Setze ein Home | teleportsuite.sethome |
|
||||
| /home [name] | Teleportiere zu einem Home | teleportsuite.home |
|
||||
| /delhome <name> | Lösche ein Home | teleportsuite.delhome |
|
||||
| /homes | Liste alle Homes auf | teleportsuite.home |
|
||||
| /setwarp <name> | Setze einen Warp | teleportsuite.setwarp |
|
||||
| /warp <name> | Teleportiere zu einem Warp | teleportsuite.warp |
|
||||
| /delwarp <name> | Lösche einen Warp | teleportsuite.delwarp |
|
||||
| /warps | Liste alle Warps auf | teleportsuite.warp |
|
||||
| /setportal <name> <target-server/world> | Erstelle ein Portal | teleportsuite.setportal |
|
||||
| /delportal <name> | Lösche ein Portal | teleportsuite.delportal |
|
||||
| /portals | Liste alle Portale auf | teleportsuite.portals |
|
||||
| /setsavepoint [name] | Setze einen Savepoint | teleportsuite.savepoint |
|
||||
| /savepoint [name] | Teleportiere zu einem Savepoint | teleportsuite.savepoint |
|
||||
| /setspawn | Setze den Spawn | teleportsuite.setspawn |
|
||||
| /spawn | Teleportiere zum Spawn | teleportsuite.spawn |
|
||||
| /setfirstspawn | Setze den FirstSpawn | teleportsuite.setfirstspawn |
|
||||
| /tppos <x> <y> <z> [world] | Teleportiere zu Koordinaten | teleportsuite.tppos |
|
||||
| /tpall | Teleportiere alle Spieler zu dir | teleportsuite.tpall |
|
||||
| /tpworld <world> | Teleportiere in eine Welt | teleportsuite.tpworld |
|
||||
| /entitytransport <entity-id> <player/world> | Transportiere ein Entity | teleportsuite.entitytransport |
|
||||
| `/tp <spieler>` | Teleportiere zu einem Spieler | `teleportsuite.tp` |
|
||||
| `/tphere <spieler>` | Teleportiere einen Spieler zu dir | `teleportsuite.tphere` |
|
||||
| `/tpa <spieler>` | Sende eine Teleportanfrage | `teleportsuite.tpa` |
|
||||
| `/tpaccept` | Akzeptiere eine Teleportanfrage | `teleportsuite.tpaccept` |
|
||||
| `/tpdeny` | Lehne eine Teleportanfrage ab | `teleportsuite.tpdeny` |
|
||||
| `/back` | Teleportiere zur letzten Position | `teleportsuite.back` |
|
||||
| `/deathback` | Teleportiere zum letzten Todesort | `teleportsuite.deathback` |
|
||||
| `/sethome [name]` | Setze ein Home | `teleportsuite.sethome` |
|
||||
| `/home [name]` | Teleportiere zu einem Home | `teleportsuite.home` |
|
||||
| `/delhome <name>` | Lösche ein Home | `teleportsuite.delhome` |
|
||||
| `/homes` | Liste alle Homes auf | `teleportsuite.home` |
|
||||
| `/setwarp <name>` | Setze einen Warp | `teleportsuite.setwarp` |
|
||||
| `/warp <name>` | Teleportiere zu einem Warp | `teleportsuite.warp` |
|
||||
| `/delwarp <name>` | Lösche einen Warp | `teleportsuite.delwarp` |
|
||||
| `/warps` | Liste alle Warps auf | `teleportsuite.warp` |
|
||||
| `/setportal <name> <server/welt>` | Erstelle ein Portal | `teleportsuite.setportal` |
|
||||
| `/delportal <name>` | Lösche ein Portal | `teleportsuite.delportal` |
|
||||
| `/portals` | Liste alle Portale auf | `teleportsuite.portals` |
|
||||
| `/setsavepoint [name]` | Setze einen Savepoint | `teleportsuite.savepoint` |
|
||||
| `/savepoint [name]` | Teleportiere zu einem Savepoint | `teleportsuite.savepoint` |
|
||||
| `/setspawn` | Setze den Spawn | `teleportsuite.setspawn` |
|
||||
| `/spawn` | Teleportiere zum Spawn | `teleportsuite.spawn` |
|
||||
| `/setfirstspawn` | Setze den FirstSpawn (für neue Spieler) | `teleportsuite.setfirstspawn` |
|
||||
| `/tppos <x> <y> <z> [welt]` | Teleportiere zu Koordinaten | `teleportsuite.tppos` |
|
||||
| `/tpall` | Teleportiere alle Spieler zu dir | `teleportsuite.tpall` |
|
||||
| `/tpworld <welt>` | Teleportiere in eine Welt | `teleportsuite.tpworld` |
|
||||
| `/entitytransport <id> <spieler/welt>` | Transportiere ein Entity | `teleportsuite.entitytransport` |
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
- `teleportsuite.home.unlimited` - Unbegrenzte Homes, standardmäßig nur für OPs
|
||||
Alle weiteren Einzelrechte entsprechen dem jeweiligen Command-Namen, z.B. `teleportsuite.tp`, `teleportsuite.home`, `teleportsuite.warp` usw.
|
||||
|
||||
### Wichtige Einzelrechte
|
||||
---
|
||||
|
||||
- `teleportsuite.tp`
|
||||
- `teleportsuite.tphere`
|
||||
- `teleportsuite.tpa`
|
||||
- `teleportsuite.tpaccept`
|
||||
- `teleportsuite.tpdeny`
|
||||
- `teleportsuite.back`
|
||||
- `teleportsuite.deathback`
|
||||
- `teleportsuite.sethome`
|
||||
- `teleportsuite.home`
|
||||
- `teleportsuite.delhome`
|
||||
- `teleportsuite.setwarp`
|
||||
- `teleportsuite.warp`
|
||||
- `teleportsuite.delwarp`
|
||||
- `teleportsuite.setportal`
|
||||
- `teleportsuite.delportal`
|
||||
- `teleportsuite.portals`
|
||||
- `teleportsuite.savepoint`
|
||||
- `teleportsuite.setspawn`
|
||||
- `teleportsuite.spawn`
|
||||
- `teleportsuite.setfirstspawn`
|
||||
- `teleportsuite.tppos`
|
||||
- `teleportsuite.tpall`
|
||||
- `teleportsuite.tpworld`
|
||||
- `teleportsuite.entitytransport`
|
||||
## Häufige Probleme
|
||||
|
||||
**„Spieler XY nicht gefunden" beim serverübergreifenden `/tp`**
|
||||
→ `bungee.enabled` in der `config.yml` steht auf `false`. Auf `true` setzen und neu starten.
|
||||
|
||||
**Spieler landet am Spawn statt beim Zielspieler**
|
||||
→ `server-name` in der `config.yml` stimmt nicht mit dem Namen in der BungeeCord `config.yml` überein.
|
||||
|
||||
**TPA-Nachrichten kommen nicht an**
|
||||
→ Das Plugin läuft nicht auf dem BungeeCord-Proxy. Die JAR muss auch in den `plugins`-Ordner des Proxys.
|
||||
|
||||
**Homes/Warps sind auf anderen Servern nicht verfügbar**
|
||||
→ Alle Server müssen dieselbe MySQL-Datenbank verwenden. SQLite funktioniert nur lokal auf einem Server.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user