Witam.
Mam pytanie, czy jest taki skrypt co by mi autorestartował hlds po crashu ?
Chodzi mi oto, że jak jest crash serwa to, żeby mi automatycznie uruchomił ? Mam vps
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Autorestart
Temat rozp. Nx, 22.11.2009 09:47
6 odpowiedzi w tym temacie
#1
Napisano 22.11.2009 09:47
#2
Napisano 22.11.2009 11:04
Polecam skrypt o nazwie ServerChecker
Opis działania :
( skrypt nie mojego autorstwa )
Opis działania :
Dzięki temu, gdy serwer przestanie odpowiadać (zawiesi się) to skrypt wykona inny odpowiedni skrypt, bądź inną komendę odpowiedzialną za restart serwera gry, bez interwencji administratora.
#!/usr/bin/perl -X use Socket; #----------------------------------------------------------- # Konfiguracja (Do ustawienia według opisu) #----------------------------------------------------------- my $host = "x.x.x.x"; # Adres IP serwera do sprawdzania (To jest ten zbindowany). my $port = "27015"; # Port serwera, na którym chodzi. use constant CHECKEVERY => 90; # Jak często sprawdzać serwer ? (Tutaj ustawiono co 90 sekund). use constant TIMEOUT => 20; # Jak długo czekać na jego odpowiedź zanim go zrestartujemy. # Poniżej podaj ścieżkę do skryptu uruchamiającego/restartującego serwer. # Oczywiście może to być także zwykła komenda zawierające odpowiednie opcje. my $cmd = "/home/hlds_l/scripts/hlds restart"; #----------------------------------------------------------- # Nie edytuj tego poniżej, chyba, że wiesz co robisz <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' /> #----------------------------------------------------------- my $MAXLEN = 128; my $msg="xFFxFFxFFxFFx54x53x6Fx75x72x63x65x20x45x6Ex67x69x6Ex65x20x51x75x65x72x79x00"; my $RET = "NONE!"; $SIG{ALRM} = sub { &TimeOut }; &Start; sub CheckServer { my $ipaddr = inet_aton($host); my $portaddr = sockaddr_in($port, $ipaddr); $RET = "NONE!"; socket(SOCKET, PF_INET, SOCK_DGRAM, getprotobyname("udp")) or die "socket: $!"; send(SOCKET, $msg, 0, $portaddr) == length($msg) or die "Error Sending Query.n"; alarm(TIMEOUT); recv(SOCKET, $RET, $MAXLEN, 0); close SOCKET; sleep(CHECKEVERY); } sub Start { while (1) { &CheckServer; } } sub TimeOut { if ($RET eq "NONE!") { print "SERVER DOWN, RESTARTING!n"; $STARTSERV = `/usr/bin/perl -w $cmd`; print $STARTSERV . "n"; } sleep(CHECKEVERY); close SOCKET; }
( skrypt nie mojego autorstwa )
#3
Napisano 22.11.2009 12:27
# Poniżej podaj ścieżkę do skryptu uruchamiającego/restartującego serwer. # Oczywiście może to być także zwykła komenda zawierające odpowiednie opcje. my $cmd = "/home/hlds_l/scripts/hlds restart";
No tak ale ja nie mam tego skryptu ;/
Juz mam
#4
Napisano 22.11.2009 12:30
no ale uruchomiajacy musisz miec
#5
Napisano 22.11.2009 12:36
Dobra, dzięki Ci.
Pomógł leci
-------------------
No niestety blada:
Pomógł leci
-------------------
No niestety blada:
./start.sh: line 2: use: command not found ./start.sh: line 8: my: command not found ./start.sh: line 9: my: command not found ./start.sh: line 10: use: command not found ./start.sh: line 11: use: command not found ./start.sh: line 16: my: command not found ./start.sh: line 22: my: command not found ./start.sh: line 23: my: command not found ./start.sh: line 24: my: command not found ./start.sh: line 25: {ALRM}: command not found ./start.sh: line 25: TimeOut: command not found ./start.sh: line 26: syntax error near unexpected token `&' ./start.sh: line 26: ` &Start;'
#6
Napisano 22.11.2009 17:14
Masz zainstalowanego perla na serwerze?
#7
Napisano 22.11.2009 18:51
Tak mam ale dalej jest ten błąd ;/
[ Dodano: 25-11-2009, 19:19 ]
Przepraszam za double posta.
Może ktoś pomóc ?
[ Dodano: 25-11-2009, 19:19 ]
Przepraszam za double posta.
Może ktoś pomóc ?
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych