Einige Plugins benötigen zusätzlich noch LogD (LogDaemon), das auf der
LogD-Seite bzw. die
64bit-Version auf Adminmod.de
zu bekommen ist. LogD ist ein Metamod-Plugin, das die Logeinträge von Half-Life in Realtime
parsed und damit die Möglichkeiten von Adminmod erweitert (z.B. Teamkillerkennung in
Counter-Strike). Es wurde zwar zwischenzeitlich an erweiterten Funktionen in Adminmod
selber gearbeitet, was aber nie über eine leicht verbuggte Betaversion hinaus geführt
hat.
Linux:
Erstelle Verzeichnis addons/logd/dlls
Kopiere logd_mm_i386.so -→ addons/logd/dlls
Windows:
Erstelle Verzeichnis addons\logd\dlls
Kopiere logd_mm.dll -→ addons\logd\dlls
Anschließend muss LogD noch in der addons/metamod/plugins.ini durch folgende Einträge
aktiviert werden.
linux addons/logd/dlls/logd_mm_i386.so
win32 addons/logd/dlls/logd_mm.dll
Nun muss nur der Gameserver neugestartet werden. Ob LogD funktioniert, kann man über die
Serverconsole oder per RCon prüfen. Dazu schreibt man “meta list”. Als Ergebnis sollte
Folgendes in etwa zu sehen sein:
[x]LogDaemon RUN - logd_mm.dll v1.00.6 ini ANY Pause
Wichtig ist dabei der Begriff “RUN”.
Eine weitergehende Konfiguration ist in der Regel nicht mehr notwendig. Ggf. muss die
Variable mp_logdetail editiert oder auch logd_block gesetzt werden. Die Einstellung für
mp_logdetail wird einem in der Regel in der Readme des jeweiligen Plugins mitgeteilt. Der
Befehl logd_block ist optional (s. Abschnitt 7.1.4). Die Plugins sind nichts anderes als Admin
Mod Plugins mit erweiterter Funktionalität und werden daher genauso wie alle anderen
installiert.
logd_debug <#>
Setzt man hier den Wert ungleich 0, werden einige Informationen zum Parsingvorgang in die
Logdateien geschrieben. LogD ist leider nicht mit allen Mods kompatibel, da sich einige
Programmierer nicht an die Vorgaben von Valve für die Log-Syntax halten. Mit der
Debugfunktion kann schnell erkannt werden, was LogD nicht erkennt. In der Regel setzt man
diese Variable aber nicht.
logd_version <#>
Diese Variable zeigt ausschließlich die LogD-Version an. Ursprünglich wollte Wraith, diese nie
in LogD einbauen, da es von außen unerheblich zu erkennen ist, in welcher Version LogD läuft.
Letzlich hat er sich aber überreden lassen, da die Admin Mod Scripter gerne in ihren Plugins
überprüfen wollten, ob LogD installiert ist. Die Variable wird automatisch von LogD
gesetzt.
logd_block <#>
Mit diesem Befehl kann man verhindern, dass bestimmte Ereignisse in die Logdateien
geschrieben werden. Damit kann man die Größe der Logdateien teilweise massiv reduzieren.
Dies kann insbesondere bei der Auswertung von Treffern sinnvoll sein (mp_logdetail > 0). In
Abschnitt 7.1.4 wird darauf näher eingegangen.
Beispiel:
logd_block 58
In diesem Beispiel wird verhindert, dass Treffer in die Logdateien geschrieben werden.
logd_reg <#> <Befehl>
Dieser Befehl registriert einen Server-Befehl, den LogD bei einem bestimmten Ereignis
(Nummer) ausführt und an den die zugehörigen Parameter weitergegeben werden. Diesen
Befehl setzt in der Regel ein Admin Mod Plugin ab. Man kann ihn auch per Hand setzen, was
aber in den meisten Fällen nicht sinnvoll ist.
Beispiele:
logd_reg 57 admin_command logd_kill
logd_reg 51 say Neuer Spieler!
logd_reg 62 admin_command admin_tsay Rundenstart oder Rundenende
Im ersten Beispiel wird der Admin Mod Befehl „logd_kill“ für das Ereignis 57 (Kill)
registriert. Der Befehl wird bei jedem Kill ausgeführt. Dies ist ein typischer Aufruf in einem
Plugin.
Das zweite Beispiel zeigt, wie man LogD auch ohne Admin Mod nutzen kann. Hierbei wird bei
Ereignis 51 (Spieler tritt dem Spiel bei) die Nachricht „Neuer Spieler!“ in den Chat
geschrieben. Allerdings wird der Userindex noch dahinter angezeigt.
Im letzten Beispiel wird beim Ereignis 62 (allgemeine Ereignisse) die Nachricht „Rundenstart
und Rundenende“ links auf dem Bildschirm gezeigt. Dazu wird aber auch „Round_End“ oder
„Round_Start“ angezeigt.
Wie man bei den letzten beiden Beispielen sehen kann, ist Admin Mod nicht wirklich für
LogD notwendig, aber man kann die Parameter nicht auswerten bzw. muss sie mit
anzeigen.
Außerdem ist wichtig zu bemerken, dass beim Mapstart alle Registrierungen zurückgesetzt
werden.
logd_reginfo
Dieser Befehl gibt aus, welche Befehle zu welchen Ereignissen registriert wurden.
Beispiel:
LogD callback registration information:
Event Name Event Code Function to call
Enter 51 admin_command im_connect
Disconnect 52 admin_command im_disconnect
Suicide 53 admin_command im_suicide
Team Selection 54 admin_command allowsound_team
Kill 57 admin_command logd_teamkill
Kill 57 admin_command im_kill
Kill 57 admin_command hp_kill
Injury 58 admin_command im_injure
Injury 58 admin_command hp_injure
Player Action 60 admin_command im_playeraction
Player Action 60 admin_command hp_paction
Team Action 61 admin_command im_teamaction
Team Action 61 admin_command hp_taction
World Action 62 admin_command im_world
World Action 62 admin_command hp_reset
So sieht eine typische Rückmeldung auf „logd_reginfo“ aus.
logd_status
Dieser Befehl gibt aus, welche Ereignisse registriert wurden und ob sie aus den Logdateien
gefiltert werden.
Beispiel:
LogD parser status:
Event Name Event Code Active? Blocking?
Cvar 1 No No
Log 2 No No
Map 3 No No
Rcon 4 No No
Server Name 5 No No
Server Chat 6 No No
Connect 50 No No
Enter 51 Yes No
Disconnect 52 Yes No
Suicide 53 Yes No
Team Selection 54 Yes No
Role Selection 55 No No
Name 56 No No
Kill 57 Yes No
Injury 58 Yes No
PvP Action 59 No No
Player Action 60 Yes No
Team Action 61 Yes No
World Action 62 Yes No
Player Chat 63 No No
Team Alliance. 64 No No
Team Score 65 No No
Private Chat 66 No No
So sieht eine typische Rückmeldung auf „logd_status“ aus.
Es kommt immer wieder das Gerücht auf, dass die Verwendung LogD zu Einbrüchen in der
Serverperformance führe.
Grundsätzlich gilt natürlich, dass mit jedem installiertem Metamod-Plugin der Server mehr
belastet wird. LogD jedoch für Performanceprobleme verantwortlich zu machen, ist in der
Regel eine Mär. Die LogD-Programmierer hatten den Fehler gemacht auf ihrer Seite
Performanceprobleme nicht auszuschließen. Auch Admin Mod oder andere Plugins können
Probleme bereiten, was meist auf eine Fehlkonfiguration oder ineffiziente Plugins
zurückzuführen ist.
Für viele Gameserveranbieter war es immer wieder ein guter Vorwand eigene Probleme auf
den Benutzer abzuwälzen.
Nutzt man TK-Plugins (TK = Teamkill) kann es aber durchaus bei sehr schwachen Servern zu
Performance-Problemen kommen, weil man mp_logdetail ungleich 0 laufen lassen muss, um
alle Arten von Treffern zu loggen. Die um das zehnfache vergrößerten Logdateien können
dabei zu Lags führen, aber diese Einträge lassen sich auch mit LogD herausfiltern. Das spart
Plattenplatz und reduziert die Schreibvorgänge, das Problem rührt aber nicht von Seiten
LogD her.
LogD hat zum Filtern den Befehl logd_block <event>. Der zugehörige Event für die Treffer
ist 58. Der Eintrag in der server.cfg muss also lauten:
logd_block 58
Dabei ist aber zu beachten, dass dann externe Statistikprogramme
(z.B. Psychostats)
diese Daten nicht mehr auswerten können.
Schaut man sich das Alter von LogD an, so ist nachvollziehbar dass LogD selber keine
Performanceprobleme verursacht. Heutzutage haben Server eine vielfach höhere Leistung als
damals. LogD fällt da nicht mehr auf.
Einige Admin Mod Plugins benötigen über Admin Mod selber hinaus auch
Statsme.
Statsme ist wie LogD ein Metamod Plugin, welches diverse Events zur Verfügung stellt, die
man mit Admin Mod abgreifen und auswerten kann. Dabei geht Statsme vielfach über das
hinaus, was LogD kann, da es nicht die Logs liest, sondern alle Events auslesen kann, die die
Half-Life Engine bietet.
Statsme wurde von Admin Mod Seite recht stiefmütterlich behandelt, da es gerne zur
„Verschönerung“ des Servers verwendet wurde. Es war laut und bunt. Man kann aber Statsme
auch recht geräuschlos nebenbei laufen lassen. Einige recht gute Customplugins sind dadurch
entstanden.
Die Dateien liegen bereits in ihrer Struktur fertig für die Installation vor.
Kopiere Verzeichnis addons
Anschließend muss Statsme noch in der addons/metamod/plugins.ini durch folgende Einträge
aktiviert werden.
linux addons/statsme/dlls/statsme_mm_i386.so
win32 addons/statsme/dlls/statsme_mm.dll
Nun ist nur der Gameserver neu zu starten. Ob Statsme funktioniert, kann man über die
Serverconsole oder per RCon prüfen. Dazu schreibt man “meta list”. Als Ergebnis sollte
Folgendes in etwa zu sehen sein:
[x]STATSME RUN - statsme_mm.dll v2.8.3 ini Chlvl Chlvl
Wichtig ist dabei der Begriff “RUN”. Weitere Einstellungen müssen nicht getätigt
werden.
Wie LogD braucht Statsme etwas Rechenleistung. Da im Hintergrund deutlich mehr
verarbeitet wird, dürfte Statsme auch etwas mehr Rechenleistung beanspruchen als LogD. Bei
einem sehr leistungsschwachen Server kann sich das bemerkbar machen, aber solche Rechner
setzt heute niemand mehr ein.
Durch die Zusatzeinträge in den Logdateien ist es erste Wahl z.B. für
Psychostats,
geht aber damit nicht weniger sparsam mit dem Plattenplatz um als LogD. Ggf. sollte man
darüber nachdenken, ob man das Logging nicht abschaltet, sofern man auf externe
Statistikprogramme verzichten will oder kann.
Bei HLStats
handelt es sich um ein Perl-Skript, das in Echtzeit die Logs auswertet. Die Ergebnisse
werden in eine MySQL-Datenbank geschrieben und sind damit über eine Webseite
abrufbar.
Ab der HLStats-Version 1.40 ist das sogenannte Skill-Pack schon inklusive. Dieses sorgt dafür,
dass man nach Chat-Eingabe von „/hls_skill“ bzw. „/hls_pskill“ seinen Rang und die
erreichten Skill-Punkte angezeigt bekommt. Letzteres zeigt nur dem aufrufenden Spieler selbst
diese Information. Eine Meldung direkt an einen einzelnen Spieler erfordert jedoch ein
Metamod-Plugin wie Admin Mod.
Um die Funktion „/hls_pskill“ zu aktivieren sind folgende Einträge in der hlstats.conf zu
machen:
Rcon 1
RconSay “admin_psay”
Außerdem sollte man im Webinterface nicht vergessen, das Rcon-Passwort unter „Game
Settings/<mod>/Servers“ einzugeben. Ansonsten könnte es passieren, dass der
HLStats-Server vom Gameserver ausgesperrt wird.
Neben LogD und StatsMe gibt es noch weitere Metamod-Plugins, die bestimmte
Server-Funktionen nachrüsten. Auch wenn diese keine definierte Schnittstelle zu Admin Mod
besitzen, können sie dennoch von Admin Mod ferngesteuert werden. Vielfach gibt es sogar
Admin Mod Plugins, die dafür entwickelt wurden, die Administration zu verbessern, bzw. das
Rechtelevelsystem für diese Metamod-Plugins nutzbar zu machen. Für die Metamod-Plugin
spezifischen Serverbefehle werden dabei Aliase in Form von Admin Mod-Befehlen
erstellt.
Eine, wenn auch nicht vollständige, Liste der Metamod-Plugins lässt sich auf der
Metamod-Webseite
einsehen. Einige Admin Mod Plugins zu ihrer Administration sind auf
Adminmod.de oder
Adminmod.org
im Downloadbereich zu finden.