Installation

3  Installation

3.1  Voraussetzungen

Es wird vorausgesetzt, dass bereits ein lauffähiger Half-Life Server1 zur Verfügung steht. Dabei sollte sicher gestellt werden, dass die neuste Version des Servers (HL1) sowie der eingesetzten Modifikation (z.B. Counter-Strike) installiert ist. Es kann damit ausgeschlossen werden, dass Admin Mod fälschlicherweise für etwaige bestehende Probleme verantwortlich gemacht wird. Das erspart Ärger und peinliche Fragen im Forum2.

Es sollte nun die aktuelle Admin Mod-Version (2.50.603) und am besten die Metamod-Version 1.194 heruntergeladen werden, da die bei Admin Mod beigelegte Metamod-Version veraltet ist und ggf. zum Serverabsturz führen kann.

Die gesamte Zip-Datei (Windows) oder TGZ-Datei (Linux) ist in ein beliebiges Verzeichnis zu entpacken. Im eigenen Interesse sollte aber nicht in die Serververzeichnisse entpackt werden. Es handelt sich um eine Distribution, die zunächst erst installiert werden muss. Das Entpacken in die Server-Verzeichnisse wird nur zur Konfusion führen.

Es gibt nun die Möglichkeit ein Skript die Installation übernehmen zu lassen. Unter Windows führt man die install_admin.vbs und unter Linux die install_admin aus und folgt den Anweisungen. Dies funktioniert ausschließlich, wenn ein Zugriff über SSH oder Remote Control zur Verfügung steht. Mit einem FTP-Zugang ist dies nicht möglich!

Als zweite Möglichkeit bietet sich die manuelle Installation Admin Mods an. Diese funktioniert auch mit einem FTP-Zugang. Es ist in jedem Fall zu empfehlen, eine manuelle Installation vorzunehmen, da es das Verständnis für Admin Mod verbessert. Im Weiteren wird aus diesem Grund nicht weiter auf die automatische Installation eingegangen.

3.2  Installation (Windows)

Wie bereits erwähnt ist die Distributionsstruktur nicht identisch mit der Installationsstruktur auf dem Server. Die Dateien müssen erst an die richtige Stelle kopiert werden. Diese Anleitung erklärt, welche Dateien aus welchen Verzeichnissen der Distribution in welche Verzeichnisse auf dem Server kommen. Sofern es nicht schon existiert, ist auf dem Server ein Verzeichnis „addons\adminmod“ im gewünschten Mod-Verzeichnis (z.B. cstrike5) zu erstellen. Es ist zu beachten, dass sich die Verzeichnisnamen zwischen der alten HL 4.1.1.x Version gegenüber Steam unterscheiden:

4.1.1.x: z.B. X:\Hlserver\cstrike
Steam: z.B. X:\Steam\SteamApps\me@email.com\dedicated server\cstrike

Bei einem Listenserver (man spielt selbst auf dem gleichen Rechner mit) muss natürlich das Spielverzeichnis gewählt werden

4.1.1.x: z.B. X:\Half-Life\cstrike
Steam: X:\Steam\SteamApps\me@email.com\counter-strike\cstrike

Im Mod-Verzeichnis werden 3 weitere Verzeichnisse benötigt (config, dlls und scripts).

Erstelle addons\adminmod\config
Erstelle addons\adminmod\dlls
Erstelle addons\adminmod\scripts

Aus der entpackten Admin Mod-Distribution können alle Dateien aus dem Verzeichnis „scripting\binaries“ in das „addons\adminmod\scripts“ Verzeichnis auf dem Server kopiert werden. Außerdem empfiehlt es sich, die plugin.ini und die adminmod.cfg aus dem „config“ Verzeichnis in das gleichnamige Verzeichnis auf dem Server zu kopieren. Die plugin.ini gibt an, wo Admin Mod die auf dem Server installierten Plugins findet, während die adminmod.cfg die grundlegende Konfiguration von Admin Mod beinhaltet. Ferner sollte auch eine leere users.ini hierhin geschoben werden. Also:

Kopiere scripting\binaries\*.amx -→ addons\adminmod\scripts
Kopiere config\plugin.ini -→ addons\adminmod\config
Kopiere config\adminmod.cfg -→ addons\adminmod\config
Erstelle addons\adminmod\config\users.ini

Nun muss noch Metamod6 installiert werden. Dazu wird wieder im Mod-Verzeichnis ein Unterverzeichnis „addons\metamod“ angelegt. Hier bedarf es eines „dlls“ Directories, in welches die metamod.dll kopiert wird. Es kann außerdem schonmal eine leere „plugins.ini“ (Unbedingt das „s“ am Ende beachten) in „addons\metamod“ kopiert werden (einfach eine leere Textdatei in plugins.ini umbenennen).

Erstelle addons\metamod
Erstelle addons\metamod\dlls
Kopiere dlls\metamod.dll -→ addons\metamod\dlls
Erstelle addons\metamod\plugins.ini

Soll Admin Mod auf einem Dedicated Server installiert werden, so ist der Eintrag „exec addons/adminmod/config/adminmod.cfg“ am Ende der server.cfg einzufügen. Bei einem Listenserver muss dieser Eintrag natürlich stattdessen in die listenserver.cfg eingefügt werden. Somit werden beim Serverstart die grundlegenden Einstellungen von Admin Mod geladen.

Folgende Dateien sind zu kopieren:

Kopiere dlls\admin_MM.dll -→ addons\adminmod\dlls
Kopiere dlls\amx_admin.dll -→ addons\adminmod\dlls

Folgender Eintrag gehört außerdem in die addons\metamod\plugins.ini:

win32 addons/adminmod/dlls/admin_MM.dll

Nun noch die letzte Datei die liblist.gam (ist im „Mod“-Dir auf dem Server). Die Datei öffnet man in einem Texteditor und ändert die Zeile:

gamedll “dlls\mp.dll” zu:
gamedll “addons\metamod\dlls\metamod.dll”

Wahlweise ist es mit einem neueren Steamserver auch möglich Metamod direkt über einen Startparameter zu starten. Dies umgeht auch das ständige Überschreiben der liblist.gam beim Serverupdate.

-dll addons\metamod\dlls\metamod.dll

Damit ist die Installation abgeschlossen und ein Serverrestart notwendig. Ob alles funktioniert ist via Serverconsole oder einem Remotetool (z.B. HLSW7) zu erkennen. Durch Eingabe von „meta list“ kann überprüft werden, ob Metamod geladen wurde, bzw. ob es in der Lage war Admin Mod zu starten. Durch den Befehl „admin_cmd admin_version“ kann dann kontrolliert werden, ob Admin Mod ordnungsgemäß funktioniert. Bei Problemen sollte im Modverzeichnis eine autoexec.cfg erstellen, in der die Zeile „log on“ steht. Anschließend können die Logdateien im neuen „logs“ Verzeichnis Hinweise geben, warum etwas nicht geht.

Einen Überblick über die entstandene Verzeichnisstruktur ist dem Kapitel 3.5 zu entnehmen.

3.3  Installation (Linux/FreeBSD)

Wie bereits erwähnt ist die Distributionsstruktur nicht identisch mit der Installationsstruktur auf dem Server. Die Dateien müssen erst an die richtige Stelle kopiert werden. Diese Anleitung erklärt, welche Dateien aus welchen Verzeichnissen der Distribution in welche Verzeichnisse auf dem Server kommen. Sofern es nicht schon existiert, ist auf dem Server ein Verzeichnis „addons/adminmod“ im gewünschten Mod-Verzeichnis (z.B. cstrike8) zu erstellen. Hier werden drei weitere Verzeichnisse benötigt (config, dlls und scripts).

Erstelle addons/adminmod/config
Erstelle addons/adminmod/dlls
Erstelle addons/adminmod/scripts

Aus der entpackten Admin Mod-Distribution können alle Dateien aus dem Verzeichnis „scripting/binaries“ in das „addons/adminmod/scripts“ Verzeichnis auf dem Server kopiert werden. Außerdem empfiehlt es sich, die plugin.ini und die adminmod.cfg aus dem „config“ Verzeichnis in das gleichnamige Verzeichnis auf dem Server zu kopieren. Die plugin.ini gibt an, wo Admin Mod die auf dem Server installierten Plugins findet, während die adminmod.cfg die grundlegende Konfiguration von Admin Mod beinhaltet. Ferner sollte auch eine leere users.ini hierhin geschoben werden. Also:

Kopiere scripting/binaries/*.amx -→ addons/adminmod/scripts
Kopiere config/plugin.ini -→ addons/adminmod/config
Kopiere config/adminmod.cfg -→ addons/adminmod/config
Erstelle addons/adminmod/config/users.ini

Nun muss noch Metamod9 installiert werden. Dazu wird wieder im Mod-Verzeichnis ein Unterverzeichnis „addons/metamod“ angelegt. Hier bedarf es eines „dlls“ Directories, in welches die metamod.dll kopiert wird. Es kann außerdem schonmal eine leere „plugins.ini“ (Unbedingt das „s“ am Ende beachten) in „addons/metamod“ kopiert werden (einfach eine leere Textdatei in plugins.ini umbenennen).

Erstelle addons/metamod
Erstelle addons/metamod/dlls
Kopiere dlls/metamod_i386.so -→ addons/metamod/dlls
Erstelle addons/metamod/plugins.ini

Bei der 64 bit Version lautet die Datei metamod_amd64.so.

Im Mod-Verzeichnis ist der Eintrag „exec addons/adminmod/config/adminmod.cfg“ am Ende der server.cfg einzufügen. Somit werden beim Serverstart die grundlegenden Einstellungen von Admin Mod geladen.

Folgende Dateien sind zu kopieren:

Kopiere dlls/admin_MM_i386.so -→ addons/adminmod/dlls
Kopiere dlls/amx_admin.so -→ addons/adminmod/dlls

Für die 64 bit Version müssen folgende Dateien kopiert werden:

Kopiere dlls/admin_MM_amd64.so -→ addons/adminmod/dlls
Kopiere dlls/amx_admin_amd64.so -→ addons/adminmod/dlls

Folgender Eintrag gehört außerdem in die addons/metamod/plugins.ini:

linux addons/adminmod/dlls/admin_MM_i386.so

Für die 64 bit-Linuxversion, lautet die Zeile folgendermaßen:

lin64 addons/adminmod/dlls/admin_MM_amd64.so

Nun noch die letzte Datei die liblist.gam (ist im „Mod“-Dir auf dem Server). Die Datei öffnet man in einem Texteditor und ändert die Zeile:

gamedll_linux “dlls/cstrike_i386.so” in:
gamedll_linux “addons/metamod/dlls/metamod_i386.so” oder
gamedll_linux “addons/metamod/dlls/metamod_amd64.so” für 64 bit

Wahlweise ist es mit einem neueren Steamserver auch möglich Metamod direkt über einen Startparameter zu starten. Dies umgeht auch das ständige Überschreiben der liblist.gam beim Serverupdate.

-dll addons/metamod/dlls/metamod_i386.so bzw.
-dll addons/metamod/dlls/metamod_amd64.so

Damit ist die Installation abgeschlossen und ein Serverrestart notwendig. Ob alles funktioniert ist via Serverconsole oder einem Remotetool (z.B. HLSW10) zu erkennen. Durch Eingabe von „meta list“ kann überprüft werden, ob Metamod geladen wurde, bzw. ob es in der Lage war Admin Mod zu starten. Durch den Befehl „admin_cmd admin_version“ kann dann kontrolliert werden, ob Admin Mod ordnungsgemäß funktioniert. Bei Problemen sollte im Modverzeichnis eine autoexec.cfg erstellen, in der die Zeile „log on“ steht. Anschließend können die Logdateien im neuen „logs“ Verzeichnis Hinweise geben, warum etwas nicht geht.

Es ist unbedingt zu beachten, dass Linux und FreeBSD Groß- und Kleinschreibung unterscheiden. Die Datei- und Verzeichniseinträge sind ungültig, wenn die Schreibweise des Eintrags von der eigentlichen Datei bzw. des Verzeichnisses abweicht!

Einen Überblick über die entstandene Verzeichnisstruktur ist dem Kapitel 3.5 am Beispiel der Windows-Installation zu entnehmen. Abgesehen von der DLL-Bezeichnung ist sie aber identisch mit der Linux-Installation.

3.4  MySQL/PostgreSQL Installation

Um große Usergruppen sinnvoll verwalten zu können, bietet Admin Mod eine MySQL-11 und eine PostgreSQL-Unterstützung12 an. Es ist ebenso möglich Admin Mod in bestehende Content Management Systeme (CMS) oder Foren einzubauen. Steht der Gameserver und der SQL-Server bereits, ist es recht einfach Admin Mod-SQL aufzusetzen. Ob der Aufwand den Zweck allerdings rechtfertigt, muss jeder für sich entscheiden. Insbesondere wenn es nur um einen Clanserver mit vielleicht 20 Usern geht, sollte man sich mit den Dateien begnügen. Der Aufwand steht hier in keinem Bezug zum Nutzen.

Für die Umsetzung sollte auf dem Gameserver zunächst Admin Mod ohne SQL-Unterstützung (Windows, Linux) laufen. Dies ermöglicht zum einen Probleme schneller aufzufinden und zum anderen ein Fallbacksystem für den Fall des Verbindungsverlustes zum SQL-Server zu haben.

Man sollte sich außerdem Gedanken darüber machen, ob man den SQL-Server auf dem Gameserver oder einem externen Rechner laufen lässt. Dies hat beides Vor- und Nachteile. Während der SQL-Server auf dem Gameserver keine Verbindungsverluste hat, produziert er aber zusätzliche Prozessorlast. Dies wird nochmals ungemein verstärkt, wenn zur Datenadministration ein Webserver herhalten soll. Ein SQL-Server außerhalb des eigentlichen Gameservers kann erheblich zur Lastverteilung beitragen, hat jedoch eine höhere Latenzzeit bei Queries (evtl. Lags) und läuft Gefahr die Verbindung komplett zu verlieren. Der SQL-Server sollte also netzwerktechnisch in direkter Umgebung des eigentlichen Servers stehen. Außerdem muss man einen Port für SQL nach außen öffnen, was sicherheitstechnisch auch nicht besonders zu empfehlen ist.

Die größte Hürde für die meisten Anwender besteht jedoch darin, dass es (meines Wissens) kein wirklich gutes Frontend für die Administration gibt. Man wird also z.B. seine eigenen PHP-Kenntnisse bemühen und sich ein eigenes System basteln müssen. Zur Not tut es aber auch PHPMyAdmin13 oder phpPGAdmin14.

Läuft der Gameserver mit Admin Mod einwandfrei, kann man sich die SQL-Version besorgen und einspielen15. Die SQL-Version beinhaltet nur die .dll oder .so Datei. Die restlichen Dateien sind der normalen Distribution zu entnehmen (Noch ein Grund mehr, zunächst die normale Admin Mod-Version zu installieren!).

Windows:
Kopiere AdminSQL\admin_MM_mysql.dll addons\adminmod\dlls (MySQL)
Kopiere AdminSQL\admin_MM_pgsql.dll addons\adminmod\dlls (PGSQL)

Linux:
Kopiere AdminSQL/admin_MM_i386_mysql.so addons/adminmod/dlls (MySQL)
Kopiere AdminSQL/admin_MM_i386_pgsql.so addons/adminmod/dlls (PGSQL)

Linux 64-bit:
Kopiere AdminSQL/admin_MM_amd64_mysql.so addons/adminmod/dlls (MySQL)
Kopiere AdminSQL/admin_MM_amd64_pgsql.so addons/adminmod/dlls (PGSQL)

In der Linuxversion liegen noch zwei zusätzliche Bibliotheken bei, die in das Verzeichnis mit hlds_run („Gameserver-Root“) kopiert werden sollten, wenn etwas wider erwarten nicht funktioniert.

Kopiere AdminSQL/libmysqlclient.so.10 -→ hlds_l (MySQL)
Kopiere AdminSQL/libpg.so.3 -→ hlds_l (PostgreSQL)

Anschließend muss noch die plugins.ini von Metamod geändert werden. Nach dem Neustart sollte der Gameserver genau so laufen wie vorher. Es wird nur noch nicht auf den SQL-Server zugegriffen, sondern es läuft die Fallback-Konfiguration. Wie die Tabellen zu erstellen sind bzw. welche Einstellungen zu beachten sind, geht aus der Konfigurationsanweisung für MySQL und PostgreSQL hervor.

3.5  Verzeichnisstruktur

Anhand der Windows-Installation von Counter-Strike ist in Abbildung 3.1 beispielhaft die Verzeichnisstruktur dargestellt. Die fett gedruckten Dateien und Verzeichnisse stellen sozusagen die Minimalinstallation von Admin Mod dar. Dabei heißt minimal jedoch nicht, dass man nicht noch mit weniger auskommt. Einige Dinge wie plugin_antiflood sind jedoch für den sicheren Serverbetrieb sehr zu empfehlen und sollten nicht entfernt werden.


PIC

Abbildung 3.1.: Verzeichnisstruktur einer Windows-Installation

3.6  Admin Mod mit Bots

Einige Bots sind nicht als Metamodplugin erhältlich, so dass sich eine parallele Installation mit Admin Mod nicht als so einfach erweist. In diesem Fall muss man Metamod mitteilen, dass es die Daten nicht an die Gameengine sondern an den Bot durchschleift. Dies geschieht über den Startparameter „localinfo mm_gamedll“.

Windows:
C:\HLServer\hlds.exe -game cstrike +localinfo mm_gamedll
addons/meinbot/meinbot.dll +map de_dust

Linux:
./hlds_run -game cstrike +localinfo mm_gamedll addons/meinbot/meinbot.so
+map de_dust

Alternativ dazu kann man auch im Verzeichnis addons/metamod eine Konfigurationsdatei namens config.ini erstellen. Der Inhalt müsste dann folgendermaßen aussehen:

Windows:
gamedll addons/meinbot/meinbot.dll

Linux:
gamedll addons/meinbot/meinbot.so

Auf die Verwendung von „localinfo mm_gamedll“ als Startparameter kann dann verzichtet werden.

Je nach Bot muss man ausprobieren, ob man admin_bot_protection in der Konfigurationsdatei adminmod.cfg auf 1 gesetzt haben muss, um einen Serverabsturz zu vermeiden.

Eine Abhandlung über die Interaktion zwischen Metamod, Bot und HL ist im Anhang von daRope dargelegt.




cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"