Ich suche dringend eine Möglichkeit den Teamspeakserver via Portanfrage starten zu können. Quasi TS on demand...
Er startet dann erst wenn ich im TS2 auf Connect klicke.
Eventuell als Service... irgendwie mit inetd müsste das doch gehen, weiß nur net wie...?
MfG Ares07
Das kommt zwar 5 Monate zu spät aber vielleicht kann es ja noch einer brauchen:
Ich habe mich mal hingesetzt und versucht das mit Perl zu lösen. Funktioniert sogar, hat jedoch 2 Haken:
1. Man muss zweimal Connecten das man sich verbinden kann (Die Startzeit des Servers ist ein kleines bisschen größer als die Timoutzeit des Clients).
2. Der Server bleibt gestartet auch wenn sich keiner auf dem Server befindet.
Hier das Script:
Die Datei "server":
#!/usr/bin/perl
$port = 8767;
# Das Socket-Library benutzen
use Socket;
print "Lade Socket libraray.... done\n";
# Struktur definieren
$sockaddr_format = 'S n a4 x8';
print "Definiere Struktur.... done\n";
# Socket erstellen
($name,$aliases,$proto) = getprotobyname("udp");
socket(S,PF_INET,SOCK_DGRAM,$proto) ||
die "Error: Konnte Socket nicht erstellen:$!";
print "Erstelle Socket.... done\n";
# An einen Port binden
$myaddr = pack($sockaddr_format, AF_INET, $port, "\0\0\0\0");
bind(S,$myaddr) ||
die "Error: Port binden fehlgeschlagen:$!";
print "Binde Socket an Port $port.... done\n";
print "Warte auf Signal ueber Port $port....\n";
for (;;)
{
# Warte auf Anfrage
$fromaddr = recv(S,$msg,255,0);
exec './start';
}
Und die Datei "start":
#!/usr/bin/perl
exec '/home/tss2_rc2/server_linux';
Bevor man das Script ausführt:
1. Verzeichnisse anpassen
2. chmod a+x server
3. chmod a+x start
Dann die Datei "server" mit "./server" starten. Will man, das das Script im Hintergrund läuft solle man das Script mit "./server &" starten.
Hier die zwei Dateien zum Download:
MfG,
Michael
vBulletin® v3.7.3, Copyright ©2000-2009, Jelsoft Enterprises Ltd.