Komm in unsere Facebook Gruppe

Willkommen Gast
Du bist nicht angemeldet, um alle Funktionen des Forums zu nutzen musst du dich registrieren und anmelden. Die Registrierung ist natürlich völlig kostenlos und kann jeder Zeit wiederrufen werden.

Aktuelle Zeit: 17. Mai 2012 10:07

Listener installieren

Dokumentation zu dem Listener auf dem Gameserver



Damit ein Gameserver über Gameserveradmin gesteuert werden kann muss der Listener auf der Maschine auf der die Gameserver laufen installiert werden. Außerdem muss für jeden Gameserver ein Eintrag in die games.ini gemacht werden.

Benötigt wird:
  • Perl 5
  • Config/Abstract/Ini
  • GNU Screen

Installation vorbereiten


Das Perl Script muss auf der Maschine auf der die Gameserver laufen ausgeführt werden. Der Benutzer der das Script startet braucht die Rechte um Gameserver zu starten und zu stoppen, außerdem sollte er die Rechte haben Log und Config Datei zu schreiben.

Damit der Listener funktioniert muss Perl und Screen installiert sein, das sollte aber bei den meisten Distributionen so sein. Screen kann unter Debian ganz einfach als root mit
Code: Alles auswählen
apt-get install screen
nachinstalliert werden.

Auf manchen Distributionen fehlt das Perl Modul um ini Dateien zu lesen, in dem Fall muss die hier angehängte Datei installiert werden.
Fehlermeldung
Code: Alles auswählen
Can't locate Config/Abstract/Ini.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./gameserver_listener.pl line 7.
BEGIN failed--compilation aborted at ./gameserver_listener.pl line 7.

Um das Fehlende Perl Modul zu installieren muss das hier angehängte Paket einfach entpackt und auf den Server geladen und dann als root mit
Code: Alles auswählen
perl Makefile.PL
make
make test
make install
installiert werden.

Listener installieren


Als erstes muss der Listener konfiguriert werden, dazu öffnet man die Datei games.ini mit einem Texteditor und passt folgende Zeilen an.
Code: Alles auswählen
password = "geheim" ;Passwort
port = "8006 ;Port auf dem der Listener laufen soll
In diese Datei muss außerdem zu jedem Gameserver der später gesteuert werden soll ein Eintrag gemacht werden. Wie die Einträge für die Gameserver aussehen müssen wird hier beschrieben. Die Datei muss den Namen games.ini haben und im selben Verzeichnis wie der Listener liegen. Wenn Änderungen in der games.ini gemacht wurden muss der Listener neu gestartet werden damit die Änderungen übernommen werden.

Wenn die Konfiguration angepasst wurde kann der Listener mit folgendem Befehl gestartet werden:
Code: Alles auswählen
perl ./gameserver_listener.pl
Der Listener sollte nach einer kurzen Zeit ausgeben das er gestartet wurde.

Im Hintergrund starten


Wenn der Listener so gestartet werden soll das er nicht beendet wird wenn man die Konsole schließt muss Screen zum starten benutzt werden
Code: Alles auswählen
screen -d -m -S listener ./gameserver_listener.pl


Automatisch beim start des Servers starten


Unter Debian
Damit der Listener automatisch gestartet wird wenn man den Server einschaltet muss unter /etc/init.d/ folgendes Script mit dem Namen gsa_listener.sh angelegt und ausführbar gemacht werden
Code: Alles auswählen
#!/bin/sh
#
# start/stop listener daemon.

### BEGIN INIT INFO
# Provides:          listener
# Required-Start:    $network $all
# Required-Stop:    $network
# Default-Start:     2 3 4 5 S
# Default-Stop:      0 1 6
# Short-Description: Gameserver Listener
# Description:       Listener to start and stop Gameservers
#                    on this mashine. For additional informations see http://www.gameserveradmin.de
### END INIT INFO

case "$1" in
    start)
    start-stop-daemon --start --background --chuid gameserver --exec /home/gameserver/gameserver_listener.pl &
esac

exit 0
In dem Script muss der Pfad zum Listener /home/gameserver/gameserver_listener.pl und der Benutzer mit dem der Listener und die Gameserver gestartet werden sollen --chuid gameserver angepasst werden. Wichtig ist das das & am Ende des Pfads stehen bleibt da der Server sonst nicht mehr richtig startet. Der Listener sollte auf keinen Fall als Root gestartet werden da sonst alle Gameserver auch als Root gestartet werden.

Danach muss man folgenden Befehl ausführen
Code: Alles auswählen
update-rc.d gsa_listener.sh defaults


Dateianhänge
Config-Abstract-0.16.tar.gz
Config/Abstract/Ini
(9.17 KiB) 71-mal heruntergeladen


Veröffentlicht am: 27. Nov 2011 00:33
von: Tobi
Zugriffe: 333
Bewertung: 0/5 (0 Bewertungen)


Ähnliche Artikel


Zurück zu Gameserver Interface