07. Punkbuster How-To: Kicken & Bannen

wgs./w@Lly
Punkbuster: Kicken & Bannen

Punkbuster bietet nicht nur einen recht erfolgreichen Cheaterschutz, man kann damit als Serveradmin auch aktiv während des Spielbetriebes jeden beliebigen Spieler kicken und unliebsame Gäste sowohl temporär als auch permanent vom Server bannen.

Weiter können Spieler, die durch unsaubere Punkbuster-Screenshots, ständige Kicks wegen unerwünschter config-Änderungen oder Geflame in den Log-Dateien des Servers auffallen, auch noch nachträglich dank Punkbuster gebannt und somit dauerhaft vom Server ferngehalten werden.

Es gibt verschiedene Möglichkeiten, mit denen man Spieler sowohl kurzfristig kicken als auch permanent bannen kann.

>>Kicken & Bannen im Spiel (ingame)

Ingame muss man darauf achten, sich gleich zu Beginn in der Konsole mit "/rcon login password" einzuloggen (anstatt password das entsprechende eigene RCon Passwort eingeben) und vor jeden nachfolgenden Befehl "/rcon" zu setzen.
Serverseitige Admin-Befehle werden immer eine Antwort in GELB vom Server erhalten.

Am besten testet man durch eine Anfrage an den Server, ob man korrekt eingeloggt ist. Eine Möglichkeit ist der Befehl "/rcon pb_sv_ver", der einem die aktuelle PB-Version des Servers meldet. Kommt eine gelbe Meldung, kann man loslegen.



Fällt ein Spieler negativ auf, sollte grundsätzlich als allererster Schritt ein sofortiger Screenshot der PB-GUIDS gemacht werden. Er wird benötigt, um den aktuellen Slot des zu kickenden Spielers zu erhalten.
Und falls etwas schief geht beim aktiven Ingame-Kicken/Bannen hat man so immer noch etwas in der Hand, um den betreffenden Spieler auch noch nachträglich zu Bannen.

Für die nachfolgenden Arbeiten öffnet man am besten die große Konsole mit [UMSCHALTTASTE] + [^] (Standardbelegung).

Es gibt zwei mögliche Listen, die mit den folgenden Befehlen angefordert werden:

  • 1. /pb_plist

Dieser Befehl kann auch von allen anderen Spielern ausgeführt werden und spuckt eine Liste der Spieler mit den letzten 8 Stellen ihrer PB-GUIDS aus.




  • 2. /rcon pb_sv_plist

Dieser Befehl kann nur vom Serveradmin ausgeführt werden und fordert ebenfalls eine Liste aller Spieler an. Der Unterschied zur pb_plist besteht darin, dass die gesamte 32stellige PB GUID der Spieler auf dem Server ausgegeben wird. Diese benötigt man, um nachträglich manuell bannen zu können, weshalb man als Serveradmin den zweiten Befehl wählen sollte.

Anschließend den Befehl "/screenshotjpeg" ausführen, um einen Screenshot der Guids zu erhalten.

Hat man nun den Slot des Betreffenden, kann man ihn wahlweise für eine festlegbare Zeit kicken oder permanent bannen. Außerdem kann eine Begründung für den Bann hinzugefügt werden.

-> SCREENSHOT SLOT-Markierung?

Temporärer Kick/Bann:

Zitat:

/rcon PB_SV_Kick [slot#] [minutes] [displayed_reason] | [optional_private_reason]
Entfernt einen Spieler aus dem Spiel und lässt ihn erst nach Verstreichen der unter [minutes] angegebenen Zeit wieder in das Spiel einsteigen oder wenn der Server neu gestartet wurde - Rauswürfe werden nicht in der Datei pbbans.dat notiert, doch sie werden protokolliert und erscheinen in der Liste, wenn man den Befehl pb_sv_banlist ausführt.


Beispiel:
Hat der zu entfernende Spieler den Slot 3 und soll für 5 Minuten wegen Flamens temporär gebannt werden, sieht der Befehl folgendermaßen aus:

  • /rcon pb_sv_kick 3 5 stop flaming!!


Das Ergebnis für den Spieler sieht dann so aus:



---

Permanenter Bann:

Zitat:

/rcon PB_SV_Ban [slot#] [displayed_reason] | [optional_private_reason]
Kickt einen Spieler vom Server und verbannt ihn permanent von server-basierten Spielen, indem sein CD-Key abgefragt wird. Der Ausschluss wird in die Datei pbbans.dat im Verzeichnis pb gespeichert.


Die Durchführung entspricht der vom Kick, nur dass keine Bann-Zeit mehr eingetragen wird - der Spieler wird auf diesem Server permanent gebannt.

Nachteil der Ingame-Methode: Man muss sehr schnell agieren, da der Slot des betreffenden Spielers sich durch Mapwechsel, Reconnect u.ä. schnell ändern kann. Man läuft also Gefahr, einen unschuldigen Spieler zu kicken/bannen, weil sich die Slots zum Zeitpunkt des Banns geändert haben.

Nachträglicher Bann:

Verpasst man es den Spieler zu kicken/bannen, bevor er den Server verlässt, kann man ihn auch nachträglich bannen. Dazu benötigt man die 32stellige PB-GUID, die man entweder auf dem angeforderten pb_sv_plist-Screenshot (im eigenen Screenshot-Ordner zu finden), auf einem der automatisch generierten PB-Screenshots oder in der Log-Datei (unter Server-Ordner /.callofduty2/pb/svlogs/ unter Linux und /pb/screenshots unter Windows) findet.

Hat man diese, bannt man den unerwünschten Spieler mittels dem Befehl:

Zitat:

/rcon PB_SV_BanGuid [guid] [player_name] [IP_Adresse] [Grund]
Fügt eine GUID zur permanenten Bannliste hinzu. Wenn der Spielername oder die IP Adresse nicht bekannt sind, schlagen wir "???" vor.


Als Beispiel wird der folgende nette Zeitgenosse anhand eines Punkbuster-Screenshots nachträglich gebannt:



Der Befehl für die Konsole lautet:

  • /rcon pb_sv_banguid 68b516390119cf85ea49f4dc5fae2619 SAS-easyRit ??? Screenshot

Dabei müssen IP und Grund nicht zwingend angegeben werden, wichtig ist die 32stellige KORREKT erfasste PB-Guid.


ACHTUNG, wichtig!

Damit die hier aufgeführten, manuell vorgenommenen Bans auch tatsächlich in die pbbans.dat wandern, ist die folgende Einstellung in der pbsv.cfg wichtig:

Zitat:

pb_sv_AutoUpdBan 1 (default=0)
0 = Alle Bans sind nur im Speicher und nach dem nächsten Reboot vergessen
1 = Alle Bans aus dem Speicher werden auch automatisch in der pbbans.dat abgelegt und sind so reboot sicher.


Alternativ sollte man nach jedem Ban noch den folgenden Befehl via Konsole vornehmen:
  • \rcon pb_sv_UpdBanfile
Damit befiehlt man dem Server, seinen Speicherinhalt in die pbbans.dat zu übertragen.


********

(c) 2007 - w@Lly’ (http://www.opferlamm-clan.de) ~ Achtung: kein Kopieren/Weiterverwenden ohne Rücksprache!
Email an wally[at]opferlamm-clan.de oder via xfire: scheuselchen
wgs./w@Lly
BadName-List: Punkbuster is watching you!

Will man unerwünschte Spielernamen auf dem Server ohne großen Aufwand fernhalten, muss man nur Punkbuster mit den entsprechenden Namen füttern und er übernimmt den Job des Verwarnens und Kickens. Reagiert der Spieler nicht mit einem Namenswechsel, wird er vom Server gekickt.

Punkbuster-Befehl:

Zitat:

PB_SV_BadName [grace_seconds] [text_filter]
Nimmt einen Namen in die Liste der gesperrten Namen auf, die der Server nicht als Spielernamen akzeptiert.


Mit Grace-Seconds legt man die Sekunden fest, die ein Spieler nach der Warnmeldung von Punkbuster Zeit hat, um seinen Namen zu ändern - tut er es nicht, wird er wegen BadName gekickt.

Vorgehensweise (Name rein beispielhaft):

- große Konsole öffnen [UMSCHALT] + [^]
- via Rcon einloggen: /rcon login <password>
- den Befehl folgendermaßen eingeben:

  • /rcon pb_sv_badname 30 Yoda

Der Name wird anschließend der BadName-Liste hinzugefügt. Die Sekunden sind eine Muss-Angabe, sonst nimmt er den Befehl nicht an. 30 sollten ausreichen.

Jeder weitere Name wird mit dem obigen Befehl der Liste hinzugefügt.
Meldung des Servers:
^3PunkBuster Server: Added Bad Name: "YODA" Grace=30

Zum Abfragen der Liste eingeben:

  • /rcon pb_sv_badnamelist



Will nun zB Yoda auf dem Server connecten, erhält er je nach eingestellte Zeit eine bis mehrere Warnungen, dass er seinen Namen ändern soll. Tut er dies nicht, erhält er das folgende Ergebnis:



Nach dem nachfolgenden Anschiss von Yoda möchte man den Namen nun wieder erlauben.

Herauslöschen eines Namens aus der Liste:

  • /rcon pb_sv_BadNameDel Slot #

Bei Slot # Muss der Slot des entsprechenden Namens eingegeben werden. Dieser ergibt sich aus der oben abgefragten Liste. (siehe obigen Screen).

Erfolgreiches Ergebnis:


Und Yoda darf wieder auf den Server!

Wahlweise kann man auch diesen Eintrag direkt in die pbsv.cfg vornehmen:

//BadName-List
pb_sv_BadName 30 Hitler
pb_sv_BadName 30 Goebbels
pb_sv_BadName 30 Adolf Hitler
pb_sv_BadName 30 niko1888

... etc. Nach Wunsch erweiterbar.

---

Direkt verlinken:
https://www.opferlamm-clan.de/wbb2/thread.php?postid=90010#post90010