[RELEASE]CORE Restarter (Auth, DB, Game - Shell)

06/29/2011 14:58 .Resistance#16
Sieht sehr gut aus.
Vll kannst du noch einbauen, dass er die Uhrzeit+Datum mit in die Logs schreibt.
Also mit
PHP Code:
echo "`date +%Y-%m-%d_%H-%m`:GAME1_1 CORE IST OKAY! PID: $PIDGAME1
06/29/2011 16:50 'aiiR7#17
Quote:
Originally Posted by Lexico View Post
I have a question and when the game file is the same to all Channels what we can do for ex:

the game is just 1 file and the channels have a link for that game i give you my log with 4 channels to make you understand litle bether


PHP Code:
AUTH SERVER IST OKAYPID4574
DB CORE IST OKAY
PID4571
CHANNEL1 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL1_99 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL2 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL2_99 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL3 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL3_99 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL4 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625
CHANNEL4_99 CORE IST OKAY
PID4574
4577
4580
4583
4586
4617
4618
4623
4625 
as you can see the game is just 1 the pid 4574 but that game link to that channel is:

ch1 4577
ch1_99 4580
ch2 4583
ch2_99 4586
ch3 4617
ch3_99 4618
ch4 4623
ch4_99 4625

so do you have a bether solution for my case? without rename the game and make 1 game for folther?
Of course, at the next days i will write a script for you!

Quote:
Originally Posted by .Xero View Post
nice aiir7 , finde ich gut solche sachen von dir da man es wirklich braucht!!
aber naja man es ist solche nice sachen von dir gewohnt :) weiter so ...
Thx!

Quote:
Originally Posted by Risan View Post
Deine Methode wie du sie hier vorstellst, habe ich damals bei den alten 2006er auth Server genauso gemacht..

Fand die damalige lösung mit neustarten usw.. Quatsch..

Best Regards,
Risan
Und das juckt jetzt wen? - ich kann auch noch andere Methoden publizieren :p

Quote:
Originally Posted by Solium View Post
Wenn der Dbcore abstürzt stürzen alle Cores ab weil sie von dem abhängig sind
Stimmt, vergessen.
Editiere ich nachher, wenn ich Zeit hab'.

Quote:
Originally Posted by .Resistance View Post
Sieht sehr gut aus.
Vll kannst du noch einbauen, dass er die Uhrzeit+Datum mit in die Logs schreibt.
Also mit
PHP Code:
echo "`date +%Y-%m-%d_%H-%m`:GAME1_1 CORE IST OKAY! PID: $PIDGAME1
Füge ich nachher hinzu!
06/29/2011 17:15 FuBaum :3#18
Quote:
Originally Posted by .яρу View Post
sehr nice gemacht und vor allem

1. mal sinnvoll
2. selber geschrieben

nicht solche Spezialisten die alles klauen von anderen Forumen

Phil klaut nicht, immer Selfmade by NewTattooMän.
06/29/2011 17:16 'aiiR7#19
Quote:
Originally Posted by FuBaum :3 View Post
Phil klaut nicht, immer Selfmade by NewTattooMän.
Wie will man so eine Shell auch klauen? ^^
Ist total simpel, wenn man es kann, wobei ich nicht die beste Methode genommen habe, da ich heute morgen wenig Zeit hatte und zur Arbeit musste.


2 UPDATES!:

- Datetime Format added#
- Wenn der DB Core down ist, ist autom. der Server auch aus, d.h wird dann direkt der komplette Server gestartet.


Wie gesagt, ihr müsst die Pfade etc. anpassen, wenn ihr es via Verknüpfungen etc. laufen lasst, müsst ihr am grep und awk was ändern, sonst spuckt er euch nicht alle richtigen Prozesse aus.
06/29/2011 20:04 .Rebel#20
Quote:
Originally Posted by 'aiiR7 View Post
Of course, at the next days i will write a script for you!
go aiiR7 go aiiR7 go :D
Tanks a Lot will be not just for me but for almost all 2010 servers :D
06/30/2011 01:35 'aiiR7#21
Quote:
Originally Posted by Lexico View Post
go aiiR7 go aiiR7 go :D
Tanks a Lot will be not just for me but for almost all 2010 servers :D
Yeah, so you have to wait for the weekend, cuz' i have to work in real life etc. so i dont have much time, i hope thats ok.
I will pm u when i am ready.
06/30/2011 14:58 Network-Players#22
Startet die Cores nicht, trotz abgeändertem Archiv.
Manchmal startet er einen core oder den auth.

Nutze 2010er Files. ?
06/30/2011 17:08 'aiiR7#23
Quote:
Originally Posted by Network-Players View Post
Startet die Cores nicht, trotz abgeändertem Archiv.
Manchmal startet er einen core oder den auth.

Nutze 2010er Files. ?
Du hast bestimmt Verknüpfungen o.a.
Ich hab' die Shell für meine Files geschrieben gehabt (is' schon älter), d.h müsstet ihr eigentlich fast den gleichen Aufbau haben wie ich, oder müsst die Shell editieren.

Ich werde am Wochenende noch 2 Methoden in den Thread reineditieren, einmal mit Verknpüfungen, und einmal mit dem gleichen Prozessnamen, dass nich alle PIDS von allen Cores auf eine Core geteilt wird.
06/30/2011 17:12 Network-Players#24
Quote:
Originally Posted by 'aiiR7 View Post
Du hast bestimmt Verknüpfungen o.a.
Ich hab' die Shell für meine Files geschrieben gehabt (is' schon älter), d.h müsstet ihr eigentlich fast den gleichen Aufbau haben wie ich, oder müsst die Shell editieren.

Ich werde am Wochenende noch 2 Methoden in den Thread reineditieren, einmal mit Verknpüfungen, und einmal mit dem gleichen Prozessnamen, dass nich alle PIDS von allen Cores auf eine Core geteilt wird.
Werde gespannt warten ;D
06/30/2011 17:15 'aiiR7#25
Quote:
Originally Posted by Network-Players View Post
Werde gespannt warten ;D
Ja, sorry.
Ich kann es heute abend auch schon versuchen, nur kA ob die Zeit reicht, am Wochenende werde ich definitiv dafür Zeit finden, nur hab' momentan viel im RL nachzuholen, dann noch Arbeit, Führerschein etc.


--


Ich bräuchte von manchen mal bitte die Verzeichnisse, z.B channel1/game oder channel1/first etc.
Dazu dann bitte noch die Channel Anzahl + wie die Verknüpfung/Core in jedem Gameordner heißt.
06/30/2011 17:17 Network-Players#26
Quote:
Originally Posted by 'aiiR7 View Post
Ja, sorry.
Ich kann es heute abend auch schon versuchen, nur kA ob die Zeit reicht, am Wochenende werde ich definitiv dafür Zeit finden, nur hab' momentan viel im RL nachzuholen, dann noch Arbeit, Führerschein etc.
Ist natürlich verständlich.

PHP Code:
!/bin/sh

GAMEDIR
="/usr/metin/core"
LOG="$GAMEDIR/corerestart.log"

PIDAUTH=`ps aux | grep auth | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDAUTH!= "x" ];
then
echo "AUTH SERVER IST OKAY! PID: $PIDAUTH>> $LOG
else
echo 
"Der Auth (Login-Server) ist abgestürzt" >> $LOG
echo "Starte Auth (Login-Server) ..." >> $LOG
cd $GAMEDIR
/auth && ./auth


PIDDB
=`ps aux | grep db | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDDB!= "x" ];
then
echo "DB CORE IST OKAY! PID: $PIDDB>> $LOG
else
echo 
"Der DB Core ist abgestürzt" >> $LOG
echo "Starte DB Core  ..." >> $LOG
cd $GAMEDIR
/db && ./db



PIDGAME
=`ps aux | grep game | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDGAME!= "x" ];
then
echo "GAME CORE IST OKAY! PID: $PIDGAME>> $LOG
else
echo 
"Der GAME Core ist abgestürzt" >> $LOG
echo "Starte GAME Core ..." >> $LOG
cd $GAMEDIR
/game && ./game


PIDGAME99
=`ps aux | grep game99 | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDGAME99!= "x" ];
then
echo "GAME99 CORE IST OKAY! PID: $PIDGAME99>> $LOG
else
echo 
"Der Game99 Core ist abgestürzt" >> $LOG
echo "Starte Game99 Core ..." >> $LOG
cd $GAMEDIR
/game99 && ./game99
fi
fi
fi
fi 
mit "fi" am Ende funktioniert es teilweise. Ich muss es 4x ausführen (über screen) und der Server ist an. Leider ist es keine Bandschleife ...
Vielleicht weis ja jem. anderes schon eine Lösung.

mfg
06/30/2011 17:17 .Koopa#27
Gutes Release !

Thx ;>
06/30/2011 17:47 'aiiR7#28
Quote:
Originally Posted by Network-Players View Post
Ist natürlich verständlich.

PHP Code:
!/bin/sh

GAMEDIR
="/usr/metin/core"
LOG="$GAMEDIR/corerestart.log"

PIDAUTH=`ps aux | grep auth | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDAUTH!= "x" ];
then
echo "AUTH SERVER IST OKAY! PID: $PIDAUTH>> $LOG
else
echo 
"Der Auth (Login-Server) ist abgestürzt" >> $LOG
echo "Starte Auth (Login-Server) ..." >> $LOG
cd $GAMEDIR
/auth && ./auth


PIDDB
=`ps aux | grep db | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDDB!= "x" ];
then
echo "DB CORE IST OKAY! PID: $PIDDB>> $LOG
else
echo 
"Der DB Core ist abgestürzt" >> $LOG
echo "Starte DB Core  ..." >> $LOG
cd $GAMEDIR
/db && ./db



PIDGAME
=`ps aux | grep game | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDGAME!= "x" ];
then
echo "GAME CORE IST OKAY! PID: $PIDGAME>> $LOG
else
echo 
"Der GAME Core ist abgestürzt" >> $LOG
echo "Starte GAME Core ..." >> $LOG
cd $GAMEDIR
/game && ./game


PIDGAME99
=`ps aux | grep game99 | grep -v grep | awk '{print $2;}'`
if [ 
"x$PIDGAME99!= "x" ];
then
echo "GAME99 CORE IST OKAY! PID: $PIDGAME99>> $LOG
else
echo 
"Der Game99 Core ist abgestürzt" >> $LOG
echo "Starte Game99 Core ..." >> $LOG
cd $GAMEDIR
/game99 && ./game99
fi
fi
fi
fi 
mit "fi" am Ende funktioniert es teilweise. Ich muss es 4x ausführen (über screen) und der Server ist an. Leider ist es keine Bandschleife ...
Vielleicht weis ja jem. anderes schon eine Lösung.

mfg
Ich weiß, war ja nur der Grundaufbau, der rest kommt am Wochenende, dann gibts was schönes.
Es wird aber alles direkt geprüft, nicht nur das erste if, man muss es auch nicht mehrfach ausführen, ich hatte es ja vorher bei mir getestet.
Ich mache es trotzdem am WE evntl. mit 'ner while und for schleife.
06/30/2011 17:49 Network-Players#29
Das wär sehr nett, denn dann kann ich auch in Ruhe mal weggehen, ohne im Hinterkopf zu haben, das der Server down sein könnte
06/30/2011 17:51 'aiiR7#30
Quote:
Originally Posted by Network-Players View Post
Das wär sehr nett, denn dann kann ich auch in Ruhe mal weggehen, ohne im Hinterkopf zu haben, das der Server down sein könnte
Die Sorge nehme ich dir mit dem nächsten Script, was ich dann hier reineditiere.