Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Autorestart


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 Nx

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:12
Offline

Napisano 22.11.2009 09:47

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
  • +
  • -
  • 0

#2 ravziom

    Zaawansowany

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:119
  • GG:
  • Lokalizacja:z domu
Offline

Napisano 22.11.2009 11:04

Polecam skrypt o nazwie ServerChecker

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 )
  • +
  • -
  • 0

#3 Nx

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:12
Offline

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
  • +
  • -
  • 0

#4 ravziom

    Zaawansowany

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:119
  • GG:
  • Lokalizacja:z domu
Offline

Napisano 22.11.2009 12:30

no ale uruchomiajacy musisz miec
  • +
  • -
  • 0

#5 Nx

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:12
Offline

Napisano 22.11.2009 12:36

Dobra, dzięki Ci.

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;'

  • +
  • -
  • 0

#6 hollylodz

    Nowy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:5
  • Lokalizacja:łódzkie
Offline

Napisano 22.11.2009 17:14

Masz zainstalowanego perla na serwerze?
  • +
  • -
  • 0

#7 Nx

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:12
Offline

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 ?
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych