diff --git a/afk.md b/afk.md new file mode 100644 index 0000000..f35f81b --- /dev/null +++ b/afk.md @@ -0,0 +1,208 @@ +# AFK-System + +Das AFK-System erkennt inaktive Spieler und kann sie optional kicken. + +--- + +## Was ist das AFK-System? + +AFK steht fur "Away From Keyboard" (Weg von der Tastatur). Das System erkennt automatisch, wenn ein Spieler langere Zeit nichts tut. + +**Funktionen:** +- Automatische AFK-Erkennung +- AFK-Status in der Tablist anzeigen +- Optionaler Auto-Kick nach langer Inaktivitat + +--- + +## Wie funktioniert es? + +### AFK werden + +Du wirst automatisch als AFK markiert, wenn du fur eine bestimmte Zeit: +- Dich nicht bewegst +- Nicht im Chat schreibst +- Nicht mit der Welt interagierst + +**Standard:** Nach 5 Minuten Inaktivitat + +### Nicht mehr AFK sein + +Du bist nicht mehr AFK, sobald du: +- Dich bewegst +- Etwas im Chat schreibst +- Mit einem Block interagierst +- Ein Item benutzt + +--- + +## AFK in der Tablist + +Wenn du AFK bist, wird das in der Spielerliste angezeigt: + +**Vorher:** +``` +Steve +Alex +Bob +``` + +**Nachher:** +``` +Steve [AFK] +Alex +Bob +``` + +So sehen andere Spieler sofort, wer AFK ist. + +--- + +## Auto-Kick + +Wenn aktiviert, werden Spieler nach langer AFK-Zeit automatisch gekickt. + +**Standard:** Nach 15 Minuten AFK + +**Kick-Nachricht:** +``` +Du wurdest gekickt: Zu lange AFK +``` + +--- + +## Konfiguration + +In der config.yml: + +```yaml +afk: + # AFK-System aktivieren/deaktivieren + enabled: true + + # Nach wie vielen Sekunden gilt ein Spieler als AFK? + # 300 = 5 Minuten + afk-after-seconds: 300 + + # Nach wie vielen Sekunden wird ein AFK-Spieler gekickt? + # 900 = 15 Minuten + # 0 = Niemals kicken + kick-after-seconds: 900 +``` + +### Auto-Kick deaktivieren + +```yaml +afk: + kick-after-seconds: 0 +``` + +Mit `0` werden Spieler nie automatisch gekickt. + +### AFK-Zeit andern + +Fur kurzere AFK-Erkennung (z.B. 2 Minuten): +```yaml +afk: + afk-after-seconds: 120 +``` + +Fur langere AFK-Erkennung (z.B. 10 Minuten): +```yaml +afk: + afk-after-seconds: 600 +``` + +--- + +## Permissions + +Es gibt keine speziellen Permissions fur das AFK-System. Alle Spieler werden gleich behandelt. + +Admins konnen das System nur uber die config.yml konfigurieren. + +--- + +## Haufige Fragen + +### Kann ich mich selbst als AFK setzen? + +Nein, es gibt keinen manuellen AFK-Befehl. Das System erkennt automatisch, wenn du inaktiv bist. + +### Kann ich den AFK-Kick umgehen? + +Nein, alle Spieler werden gleich behandelt. Wenn du nicht gekickt werden willst, bewege dich ab und zu. + +### Zahlt Tippen im Chat als Aktivitat? + +Ja! Wenn du etwas im Chat schreibst, bist du nicht mehr AFK. + +### Was ist mit AFK-Maschinen? + +Das System erkennt nur echte Bewegung. Einfaches Drehen reicht nicht aus, um AFK zu umgehen. + +### Wird meine Spielzeit gezahlt wenn ich AFK bin? + +Nein, AFK-Zeit zahlt nicht zur Spielzeit. + +--- + +## Tipps fur Spieler + +### Vermeide ungewollten Kick + +Wenn du kurz weg musst, aber nicht gekickt werden willst: +- Schreibe ab und zu etwas im Chat +- Bewege dich kurz bevor die Kick-Zeit erreicht ist + +### AFK absichtlich nutzen + +Wenn du merkst, dass andere Spieler dich anschreiben aber du gerade nicht antworten kannst, bleib einfach still. Dein AFK-Status zeigt ihnen, dass du nicht da bist. + +--- + +## Fur Admins + +### AFK-System deaktivieren + +```yaml +afk: + enabled: false +``` + +### Empfohlene Einstellungen + +**Fur aktive Server:** +```yaml +afk: + afk-after-seconds: 180 # 3 Minuten + kick-after-seconds: 600 # 10 Minuten +``` + +**Fur entspannte Server:** +```yaml +afk: + afk-after-seconds: 600 # 10 Minuten + kick-after-seconds: 0 # Nie kicken +``` + +**Fur volle Server:** +```yaml +afk: + afk-after-seconds: 120 # 2 Minuten + kick-after-seconds: 300 # 5 Minuten +``` + +--- + +## Technische Details + +Das AFK-System trackt die letzte Aktivitat jedes Spielers. Aktivitat wird erkannt durch: +- `PlayerMoveEvent` (Bewegung) +- `AsyncPlayerChatEvent` (Chat) +- `PlayerInteractEvent` (Block/Item Interaktion) +- `PlayerCommandPreprocessEvent` (Befehle) + +Ein Timer pruft regelmaig alle Spieler und aktualisiert deren AFK-Status. + +Der AFK-Status wird im RAM gehalten und nicht gespeichert - nach Server-Neustart sind alle Spieler nicht-AFK.