Image Manager für Tekbase
Ich möchte auf diesem Weg mein neues Programm, den Image Manager für Tekbase von teklab.de vorstellen. Dieser hat nichts mehr mit dem bereits angebotenen Bashscript gemeinsam, außer, dass er das erstellen von Images automatisiert.
Wer Interesse an dem Programm hat, der kann sich mit mir über das Kontaktformular, oder die hinterlegten Kontaktdaten mir mir in Verbindung setzen.
Das neue Programm kann über das bloß Erstellen von Images hinaus, alle Installationen von Kunden/Usern automatisiert verwalten und up to date halten.
Es unterstützt dabei sowohl Spiele, die über Steam bezogen werden können, als auch welche, deren Verbreitung anders erfolgt.
Darüber hinaus kann es Images zu Mappackages und Servertools/Plugins/Addons erstellen und verwalten.
Der Anwender hat mit dem Programm die Wahl:
Er kann Images mit echten Dateien erstellen und per Cronjob automatisiert aktuell halten, wenn er jedem Kunden eine vollständige Installation zur Verfügung stellen möchte. Dies verbraucht natürlich viel Festplattenplatz, Zeit durch Wartungsaufwand und Traffik.
Wenn man diese drei Punkte erheblich reduzieren möchte, besteht die Alternative Images aus Symlinks zu erstellen. Die Vorteile der Symlinkvariante will ich im Folgenden erleutern.
Das beste daran ist, dass durch den Einsatz von Symlinks pro Rootserver und Spiel nur eine echte Datei vorliegen muss. Zusammen mit den Updatefunktionen des Image Managers reduziert sich der Administrative Aufwand in aller Regel auf das einmalige Installieren.
Das Handbuch, dass eine komplette Programmbeschreibung enthält, kann man hier downloaden.
Die Ziele, Umsetzung und den Funktionsumfang will ich im Folgenden erleutern:
1. Ziele:
Das erste Ziel ist es, den administrativen Aufwand für die Imageerstellung und Wartung der Gameserver zu minimieren.
Das zweite Ziel ist es, den anfallenden Traffik zu reduzieren. Dies wird durch den Einsatz von Symlinks erreicht.
2. Umsetzung:
2.1. Administrativer Aufwand:
Der Image Manager kann Images für Steam und andere Spiele, Mappackages und Servertools wie Mani Admin und Sourcemod samt der dazugehörigen md5 und .lst Dateien erstellen.
Alle Vorgänge sind dabei automatisiert und werden über einen Startparameter aufgerufen, so dass sich Updates für einzelne Serverarten samt Images, oder alle auf einmal, mittels Cron automatisieren lassen.
2.2. Struktur und Funktionsweise:
Die Images enthalten grundsätzlich nur Ordner, Symlinks und Dateien. Dementsprechend sind sie nur wenige MB groß. Die echten Dateien müssen durch den Einsatz von Symlinks pro Root und Spiel nur noch einmal bei dem selben Masteruser vorhanden sein.
Durch die geringe Größe der Images ist die Installation eines Gameservers, Mappackages, oder Servertools sehr schnell abgeschlossen und es wird bei deren Installation so gut wie kein Traffik verbraucht. Bei Updates muss nur die Masterinstallation geupdated werden, und alle Gameserver laufen mit der aktuellsten Version.
Bei dem Masteruser wird bei der Installation eines Spiels für die Serverdateien, Maps und Servertools jeweils ein spielname-master und spielname-image angelegt. Bei Gameserverroots entfällt das Erstellen der spielname-image Ordner, weil sie nicht benötigt werden.
In dem Verzeichnis master befinden sich alle Dateien, die bei der Installation dieses Images bei allen Usern gleich sein sollen. Dies können z.B. standart Serverdateien von Counter-Strike Source sein.
Aus dem image Verzeichnis wird das Image erstellt. Alle Dateien, die der User später anpassen muss, oder darf, müssen in dieses Verzeichnis. Dieses sind insbesonder Configs, oder Plugins von Servertools.
Damit man die Addon- und Mapdateien nicht auf jeden Root einzeln hochladen werden müssen, gibt es eine Funktion, die erkennt, welche Spiele bei dem Masteruser installiert sind. Im Folgenden werden dann die master Verzeichnisse dieser Spiele mit dem Programm lftp abgeglichen und bei Bedarf Dateien nachgeladen. Ein manueller Upload ist somit nur bei dem Root erforderlich, von dem die Images gestellt werden.
Ein direkter SSH2 Zugriff auf den Masteruser wird durch den Einsatz von lftp nicht benötigt.
2.3. md5 und .lst Dateien
Bei Gameserverimages wird die .md5 Datei automatisch erstellt. Bei Addons und Mappackages werden alle Dateien von selber in die .lst Datei geschrieben.
Darüber hinaus wird bei Mappackages automatisch eine Mapliste im .txt Format im Image hinterlegt, so dass der User die Maps per Copy und Paste zu seinem Mapcycle hinzufügen kann.
3. Reduzierte Ladezeiten und Ramverbrauch:
Läuft bereits ein Gameserver sind die Dateien des Masterverzeichnisses bereits in den Ram geladen worden.
Wird nun ein zweiter Gameserver gestartet, sind die Masterdateien schon im Ram vorhanden, so dass ein erneutes Laden nicht mehr erforderlich ist.
Das Starten der Gameserver und der Mapwechsel verläuft deshalb merklich schneller. Dazu sinkt der Verbrauch an Ram.
4. Traffikersparnis:
An dem Imageserver und den Rootservern fällt nur noch der Traffik für eine Installation und deren Updates an. Am Beispiel von Counter-Strike Source mit ca. 3GB bedeutet dies:
Bei 8 Installationen auf einem Rootserver fallen danach bei echten Dateien insgesamt ca. 48GB Traffik, aufgeteilt auf 24GB pro Server, an. Nicht eingerechnet die 3GB an Traffik, die man aufwenden muss, um das Image erstellen zu können.
Nutzt man den Image Manager und mit ihm Symlinks, fallen pro Root und Spiel nur 2GB für das Anlegen der Masterinstalltion an. Der Traffik für Images mit einer Größe im einstelligen MB Bereich ist zu vernachlässigen.
Das Gleiche gilt auch für Mappackages. Man kann jetzt dem Kunden XX GB große Mappackes anbieten, ohne Sorgen haben zu müssen, dass der anfallende Traffik explodiert, da das vom Kunden installierte Image in aller Regel kleiner als 1MB groß ist.
5. Zeitersparniss durch den Imagemanager:
Wie bereits beschrieben, muss pro Spiel und Rootserver nur noch eine Installation gepflegt werden. Die Installationspflege kann mit Cron kann sehr einfach automatisiert werden.
Der Zeitaufwand, bei einem Fehlschlagen von “-autoupdate”, der beim manuellen Updaten anfallen würde, entfällt somit.
Durch die geringe Anzahl an echten Installationen hat man im Falle eines “required” Updates die Server wesentlich schneller wieder am laufen, was die Nachfragen der User, warum der Server nicht aktuell ist, reduzieren und somit Zeit sparen sollte.
Des Weiteren läuft die Installation der Images wegen der minimalen Größe wesentlich schneller ab. Oft ist der Gameserver wenige Sekunden, nachdem man den Installitionsvorgang gestartet hat, verfügbar.
Bei manchem Filesystemen und oder Kerneln kommt es zu einem merkbaren Performanceverlust, wenn man ein großes Archiv entpackt.
Ein wesentlich kürzerer Entpackvorgang bedeutet auch, dass andere User davon nicht mehr in dem Ausmaß betroffen sein können, wie beim Entpacken eines 3GB großen .tar Archives und deshalb nicht nachfragen, warum es auf ihrem Server geruckelt hat.
Funktionieren Servertools nach dem Update nicht mehr, bzw. bringen den Server zum Absturz, kann man durch den Einsatz des Image Manager Systems mit einem einzigen Update beim Master die Probleme aller Kunden auf einmal beheben. Ist kein Update verfügbar, deaktiviert man das Servertool in der Masterinstallation, was z.B. bei HL2 Servern durch eine Anpassung der der .vdf Datei erledigt werden kann. Dazu kann man die User informieren, was man für sie getan hat.
Auch dies sollte zu weniger Nachfragen der User, warum ihr Server nicht funktioniert führen und somit Zeit einsparen.
6. Umstellung bestehender Installationen:
Wenn schon Serverinstallationen mit echten Dateien bestehen, spielt dies keine Rolle. Sie können parallel zu neuen Servern mit dem Image Manager System auf ein und dem selben Root nach dem alten Muster weiterbetrieben werden.
Wenn man diese auf das Image Manager System umstellen will, ist dies problemlos möglich. In diesem Falle werden vom Imagemanager automatisch Installationen erkannt, und sofern eine Masterinstall zu dem Spiel vorhanden ist, die Dateien bei der alten Installation gelöscht, die auch beim Master vorliegen.
Bei der Verwendung dieser Funktion sollten folglich die mapcycle und motd.txt sowie andere Dateien, die bei der Standartinstalltion von Valve vorliegen und von User bearbeiten werden aus der Masterinstallation entfernt werden.

Hallo.
Wollt mal fragen, ob es diese schöne Tool noch zu haben ist, und wenn ja, ob es auch kostenlos gibt.?!
Mfg.
Es war und wird kostenpflichtig bleiben.
Hallo.
Und war kostest der ganze Spaß?!
Mfg.
Das Tool ist jeden cent wert, wir haben es seit 4 monaten im einsatz, rennt ohne probleme, die gameserver sind ratzfatz installiert und du hast weniger trafficaufkommen…
einfach bombe das teil..
Hallo, bin gerade auf der suche nach einem solchen Tool auf ihre Seite gestoßen- Ich würde das gerne mal Testen. Besteht dazu die möglichkeit?
Gruß
Paul Vennemann
Ich kann den Image_manager nur empfehlen. Nach eineigen Startschwirigkeiten meinerseits und super Hilfe von Seiten des Entwicklers läuft das Script ohne Probleme. ist ne echte Arbeitserleichterung.
Kann ich nur JEDEM empfehlen