|
|
03. Punkbuster How-To: Die CVAR-Liste |
|
03. Punkbuster How-To: Die CVAR-Liste |
|
Punkbuster How-To: Die CVAR-Liste
Eine weitere schlagkräftige Waffe gegen Cheater ist das CVAR-Modul.
Um zu cheaten, muss man nicht unbedingt irgendwelche Programme im Hintergrund laufen lassen. Man kann auch vieles über die *.cfg von CoD’2 machen. So lassen sich über die Config z.B. Glowmodels aktivieren, oder der Recoil (Rückschlag) der Waffen justieren. Um dem vorzubeugen und gleiche Voraussetzungen für alle Spieler zu schaffen, hat Evenbalance die CVAR-Abfrage eingeführt.
In der CVAR-Liste schreibt man jene Werte vor, die bestimmte Variablen des Clients – also des Spielers - annehmen dürfen.
Dazu sollte man vielleicht wissen, dass man alles, was man über die Optionen im Hauptmenü des Spiels anwählen kann, auch direkt über die im main-Ordner des Spiels befindliche config_mp.cfg einstellen lässt.
Man findet sie für Call of Duty 2 unter dem Pfad C:\Programme\Activision\Call of Duty 2\main\player\NamedesSpielers\config_mp.cfg
Diese *.cfg wird vom Spiel selbst erstellt sobald man den Multiplayer anwirft und sollte eigentlich vom Spieler selbst nicht aktiv/manuell verändert werden. Denn die erste Zeile in dieser Datei besagt:
Generated by Call of Duty – do not modify
Allerdings hält sich ein richtiger Cheater natürlich nicht daran und wird fleissig in den Eingeweiden des Spiels rumschrauben um herauszufinden, was man alles wie einstellen kann um sich möglichst viele Vorteile zu verschaffen.
Nehmen wir als Beispiel die Helligkeit, welche über die *.cfg-Zeile "r_gamma" definiert wird:
Will man gleiche Voraussetzungen für alle Spieler ernöglichen, so muss man es so einrichten, dass die Variable "r_gamma" bei allen Clients in einem gewissen Bereich liegt.
Dies erreicht man indem man serverseitig dem Punkbuster vorgibt, dass "r_gamma" als Beispiel zwischen 1 und 2 liegen soll.
Eingestellt wird die Abfrage dieses Bereiches mit dem Befehl "pb_sv_cvar r_gamma IN 1 2".
Es erscheint auf den ersten Blick ein wenig kompliziert, jedoch steckt ein System dahinter:
"pb_sv_cvar" ist ein Befehl der verschieden Argumente erwartet. Zum einen den Namen der Variable oder Befehls, der überprüft werden soll (in diesem Fall r_gamma). Dann folgt eine Anweisung die sagt, wie es überprüft werden soll.
Mögliche Anweisungen sind
In unserem Beispiel steht in der Befehlszeile IN, was bedeutet dass "r_gamma" in einem bestimmten Bereich von-bis liegen soll. Danach wird der Bereich angegeben.
Der erste Wert (hier 1) ist erforderlich, der zweite ist optional und definiert das ganze dann als Bereich.
"pb_sv_cvar r_gamma IN 1" würde z.B. bedeuten, dass nur r_gamma 1 zulässig ist.
"pb_sv_cvar r_gamma IN 1 2" hingegen erlaubt "r_gamma" einen Wert zwischen 1 und 2 (beide mit eingeschlossen) anzunehmen.
Analog dazu funktionert es mit "OUT", jedoch werden hier bestimmte Werte ausgeschlossen.
Bei "INCLUDE" und "EXCLUDE" muss man allerdings ein wenig mehr aufpassen. Nicht jede Variable nimmt einen Zahlenwert an. So nehmen bestimmte Variablen bzw. Befehle, auch Strings (Text) an. D.h. dass nicht eine Zahl als Rückmeldung von der cfg des Spielers erwartet wird, sondern ein enthaltener Text.
Als Beispiel "r_drawbuffer". Wenn man definieren will, dass die Zeile r_drawbuffer den Text "gl_back" enthalten muss, erreicht man dies durch die CVAR-Abfrage "pb_sv_cvar r_drawbuffer INCLUDE gl_back".
Dabei spielt es keine Rolle, ob in der abgefragten Liste des Spielers vor oder nach "gl_back" noch etwas steht, wichtig ist, dass "gl_back" überhaupt enthalten ist.
Analog dazu gibt es die Anweisung "EXCLUDE", welche wie "OUT" bestimmte Texte/Werte ausschließt.
Nun könnte man CoD’2 starten, alle seine eigenen Werte abfragen und 1 zu 1 als Standard für die serverseitigen CVAR-Abfragen definieren. Doch ganz so einfach ist das nicht.
Man muss nämlich beachten, dass nicht jeder die gleiche Hardware bzw. Vorliebe für bestimmte Einstellungen hat. Die Optionen sind ja schon auch dazu da, um sie ändern und anpassen zu können. Man sollte mit CVARS wirklich nur jene Einstellungen beschränken, die sich unfair auf ein Spiel auswirken können
********
Bestimmte CVAR-Abfragen werden von Ligen wie der ClanBase (CB) oder der Electronic Sports League (ESL) vorgeschrieben. Dazu zählen Einstellungen in den maxpackets, den maxfps und noch vielen andere Dinge mehr, die man teilweise nur durch einen Direkt-Eingriff in die cfg erfüllen kann und in den Regeln der jeweiligen Liga nachzulesen sind.
Außerdem werden diese Settings im Laufe der Zeit immer wieder verändert und an den Spielbetrieb angepasst, weshalb man als aktiver Liga-Teilnehmer bzw. Admin eines War-Servers die dortigen Änderungen mitverfolgen sollte.
Normalerweise sollte man die aktuell vorgeschriebenen CVAR-Einstellungen bei der jeweiligen Liga im Download-Bereich finden.
Doch auch für den Public-Bereich sollte man die CVAR-Abfragen so gestalten, dass man als Spieler komfortabel und vor cfg-Schraubern relativ geschützt spielen kann.
Da dies nicht gerade einfach ist, gibt es zum Glück einige Leute, die sich die Mühe gemacht haben, solche Listen zusammenzutragen. Diese CVAR-Listen sind oft ellenlang und können nur über Copy&Paste auf dem Server eingerichtet werden.
Eine CVAR-Liste findet sich bei der Electronic Sports League, Regelwerk für CoD’2 5on5 SD, unter Punkt 5.2 Serversettings.
Die Einstellungen für Punkbuster und die CVAR-Listen sind Ladder-übergreifend gültig.
Diese vorgegebenen Einstellungen können natürlich auch nach Bedarf angepasst werden, jedoch sollte man dann schon wissen was man da eigentlich tut, da man sonst ungewollt bestimmte harmlose Benutzergruppen ausschließt.
********
Ein Wort zu Punkbuster und wettbewerbsorientiertes Spielen:
Punkbuster kann alles genau so prüfen, wie man es ihm vorgibt. Sämtliche Abfragen der Variablen sind in einem gewissen Rahmen vom Server-Admin frei festlegbar.
Genau das nutzen die Ligen des eSports, denn diese sind darum bemüht, eine Balance herzustellen zwischen Besitzern von High-End-Rechnern und solchen mit weniger leistungsstarken PCs. Dadurch wollen sie die Vergleichsmöglichkeit und auch die Wettbewerbsfähigkeit von Call of Duty 2 verbessern, da es mittlerweile zu einem der beliebtesten Games der eSport-Szene avanciert ist.
Dies bedeutet jedoch vorgegebene Eingriffe direkt in das Spiel. Hierzu seien Beispiele genannt wie das Ausschalten von Nebel zur besseren Sicht, die Reduzierung der Ambiente-Sounds auf ein Minimum und starkes Verändern/Reduzieren der angezeigten Texturen.
All das um eine Verbesserung der Performance und damit mehr FPS auch für schwächere Rechner zu ermöglichen.
Diese von den Ligen vorgeschriebenen Eingriffe sind jedoch (besonders für Punkbuster) vergleichbar mit jenen, die Cheater vornehmen um sich Vorteile zu verschaffen. Sicher, bunt eingefärbte Models und durch Wände sichtbare Gegner unterstützen die Ligen nicht, jedoch das Ausschalten von Nebel für bessere Sicht und das Minimieren der angezeigten Texturen sind Dinge die Punkbuster von Haus aus ebenfalls gar nicht mag. Diese verschaffen dem Spieler Vorteile, die so vom Spiel nicht vorgesehen waren und für die er normalerweise mit den von Evenbalance empfohlenen Settings von jedem geschützten Server fliegen würde.
Deshalb muss Punkbuster derart eingestellt werden, dass er den Spielern erlaubt mit diesen cfg-Anpassungen trotzdem spielen zu können. Die aktuellen Einstellungen können in den jeweiligen Ligen eingesehen werden, diese müssen dann manuell in der pbsv.cfg des Servers angepasst werden; anschließend Punkbuster mit pb_sv_restart neu starten und schon ist man reif für die Liga... servertechnisch.
Als derzeit deutlichstes Beispiel seien die beiden Variablen "Polygonoffsetbias" und "Polygonoffsetscale" genannt, mit denen die dargestellten Texturen beeinflusst werden.
Die Ligen haben mittlerweile Werte zugelassen, mit denen zwar einiges mehr an FPS rausgeholt werden kann, es jedoch auch zum Fehlen des "Finishs" auf den Maps kommt.
Wie sich diese Befehle allein schon auf das Spiel auswirken können, haben wir damals, als die Settings neu vorgegeben wurden, mittels gegenüberstellender Screenshots verdeutlicht. Der Artikel von Februar 2007 findet sich hier: ESL – Zurück ins Mittelalter.
Durch das Zulassen dieser Settings gibt es nicht nur mehr Frames, sondern auch noch bessere Sicht, was sowohl Vorteile wie auch Nachteile bringt... jedoch auf jeden Fall die gesamte Atmosphäre des Spiels negativ beeinflusst. Aber dies ist ein weites Feld welches hier nicht diskutiert werden kann und soll.
Es sei an dieser Stelle nur darauf hingewiesen, dass es in der Natur der eSport-Szene zu liegen scheint, die für Ligen übliche Server-Einstellungen immer auch auf den FunWar- und sogar Public-Bereich auszudehnen.
Deshalb sind viele Spieler, die von einem Punkbuster-Server ohne diese Liga-Settings fliegen, nicht gleich Cheater, sondern nutzen die von den Ligen empfohlenen Werte. Ein dauerhafter Bann ist bei bestimmten Kick-Meldungen also nicht unbedingt angebracht. Der Hinweis, dass die Liga-Settings auf diesem Public-Server nicht erwünscht sind sollte ausreichen, so dass der Spieler diese manuell anpassen kann.
Aus diesen Gründen kommt man als Server-Admin eines aktiven Clans nicht drumherum sich mit diesem Bereich intensiver beschäftigen zu müssen, auch wenn man in keiner Liga angemeldet ist.
********
Leider passiert es hin und wieder dass Server-Admins (meistens wegen Unwissenheit, manchmal aber auch mit dem Hintergedanken, den eigenen Leuten das Cheaten und cfg-Schrauben zu ermöglichen) diese CVAR Listen absichtlich nicht einfügen bzw. nicht aktuell halten und somit dem Fair Play den Boden nehmen.
Um das überprüfen zu können, hat man auch als Gast auf dem jeweiligen Server die Möglichkeit, diese Listen auf ihre Einstellungen hin zu überprüfen und ggf. vom Spielen auf diesem Server abzusehen.
Eine verkürzte Liste der aktuellen Cvars des Servers wird automatisch beim Verbinden in die Konsole des Servers ausgegeben und kann dort eingesehen werden:
Will man nun die gesamte Liste der CVARs abfragen, gibt man den Befehl „pb_cvarlist“ ein.
Dieser wird, weil er ja vom Clienten ausgeführt wird, ohne „/rcon“ eingegeben und spuckt eine lange Reihe Zeilen aus, die hier nur auf Anfang und Ende reduziert werden, da die gesamte Darstellung den Rahmen sprengen würde:
...
scrollen, scrollen, scrollen
...
Wichtig ist hierbei die letzte Zeile, die anzeigt, ob man selber gegen irgendwelche Vorgaben verstößt. In diesem Fall also nicht, da "r_gamma" 1 ist und zwischen 1 und 2 liegen muss.
Sollte man gegen eine Regel verstoßen wird man freundlich von Punkbuster darauf hingewiesen:
Außerdem erscheint kurz nach dem Betreten des Servers eine Warn-Meldung unten links am Bildschirmrand, die nur für denjenigen sichtbar ist, der eine "inakzeptable" CVAR-Einstellung in seiner cfg hat. Je nach Punkbuster-Servereinstellungen hat man 1-2 Minuten Zeit diese "Violations" (Verstöße) via entsprechender Änderungseingabe in die Konsole zu fixen (korrigieren) solange man noch auf dem Server ist.
Ansonsten wird man mit der Fehlermeldung, dass eine bestimmte CVAR nicht gestimmt hat, vom Server gekickt. Je nach Einstellung bekommt man einen temporären Bann von 0 bis hin zu 2 Minuten.
Alternativ kann man diese Variable auch manuell und direkt in der config_mp.cfg so abändern dass der Punkbuster des Servers es akzeptabel findet und einfach neu auf den betreffenden Server connecten.
Auch alle anderen Kollisionen des Punkbusters zwischen Server und Clienten werden unten links eingeblendet mit einem *WARNING*
Beispiel:
Der Server wurde hier noch nicht auf die neueste Version des Clienten aktualisiert. Auch diese muss bei jedem Verbinden nach Übereinstimmung abgefragt werden.
********
Vor einem War, und ganz besonders vor einem Liga-War, sollte der Leader jedes Teams den "gastgebenden" War-Server auf solch eine CVAR Liste hin überprüfen und den Gegner bzw. dieser dann seinen Administrator darüber informieren, wenn der Server die jeweils vorgeschriebenen Regeln nicht erfüllt. Was dann weiter geschehen soll, muss man dem Regelwerk der betreffenden Liga entnehmen.
********
(c) 2007 - w@Lly’ (http://www.opferlamm-clan.de)
Mit freundlicher Genehmigung von Karol Babioch ~ Achtung: kein Kopieren/Weiterverwenden ohne Rücksprache!
Email an wally[at]opferlamm-clan.de oder via xfire: scheuselchen
__________________ "Mögest du in interessanten Zeiten leben"
Rincewind, Zaubberer
|
|
|
|
|
|
|
|
Impressum ||Datenschutzerklärung
|