Guten Abend,
da ich gelesen habe das es Leue gibt die den Core-Restarter nicht eingebaut kriegen mache ich hier ein kleinen HowTo.
Es ist Mijago's Core-Restarter. Der dank gilt ihm. Ich zeige euch bloß wie ihr ihn richtig einbaut.
[Only registered and activated users can see links. Click Here To Register...]
Was ihr benötigt:
-Der Core Restarter
-start.sh
-close.sh
Als ersten legen wir die Datei auto3 und autostarter_config.lua in das Verzeichnis wo auch die start.sh liegt. (777 Rechte geben)
Als zweites Konfigurieren wir die autostarter_config.lua
Wie ihr seht, habe ich die Channel 2-4 auskommentiert. Wenn ihr z.B. mehrere Core's habt, dann schreibt ihr es wie folgt:
Wenn ihr weniger Core's habt einfach die Zeile rauslöschen.
Als drittes bauen wir den Core-Restarter in die start.sh ein.
So sieht meine Start.sh für einen Channel aus.(Ja ich weiß keine Core-Verteilung brauche ich aber auchnicht.)
Also müsst ihr folgende Zeile einfügen:
Damit der Core-Restarter nach dem herunterfahren eures Server's nicht wieder alles hochfährt, machen wir nun noch einen Eintrag in die close.sh.
Meine close.sh:
Also müsst ihr folgende Zeile einfügen:
So nun startet ihr und ihr dürftet folgende Meldung bekommen:
[Only registered and activated users can see links. Click Here To Register...]
So das war's dann auch.
Liebe Grüße und schönen Abend noch. :)
da ich gelesen habe das es Leue gibt die den Core-Restarter nicht eingebaut kriegen mache ich hier ein kleinen HowTo.
Es ist Mijago's Core-Restarter. Der dank gilt ihm. Ich zeige euch bloß wie ihr ihn richtig einbaut.
[Only registered and activated users can see links. Click Here To Register...]
Was ihr benötigt:
-Der Core Restarter
-start.sh
-close.sh
Als ersten legen wir die Datei auto3 und autostarter_config.lua in das Verzeichnis wo auch die start.sh liegt. (777 Rechte geben)
Als zweites Konfigurieren wir die autostarter_config.lua
PHP Code:
--[[
Dieser Core nutzt Lua5.1!
start_daemon() Keine Parameter Startet den Core als Daemon.
Damit ist kein Shellscript nötig, um diesen Core am Leben zu halten.
pause(int) integer (Zahl) Lässt den Prozess für X Sekunden anhalten
is_process_running(int) integer (Zahl) Prüft, ob ein Prozess läuft. int ist die PID.
--]]
start_daemon()
data = {
{"/usr/home/game/db/","db"},
{"/usr/home/game/auth/","auth"},
{"/usr/home/game/channel1/","game"},
--{"/usr/home/game/channel2/","game"},
--{"/usr/home/game/channel3/","game"},
--{"/usr/home/game/channel4/","game"},
{"/usr/home/game/game99/","game"},
}
while true do
for a, b in pairs(data) do
local f = io.open(b[1].."pid")
if not f or not is_process_running(f:read"*all") then
os.execute("cd "..b[1].." && nohup ./"..b[2].." >> startlog & cd . ")
-- print ("Core restarted. ("..b[2]..")")
end
if f then
f:close()
end
end
pause(5)
end
PHP Code:
--[[
Dieser Core nutzt Lua5.1!
start_daemon() Keine Parameter Startet den Core als Daemon.
Damit ist kein Shellscript nötig, um diesen Core am Leben zu halten.
pause(int) integer (Zahl) Lässt den Prozess für X Sekunden anhalten
is_process_running(int) integer (Zahl) Prüft, ob ein Prozess läuft. int ist die PID.
--]]
start_daemon()
data = {
{"/usr/home/game/db/","db"},
{"/usr/home/game/auth/","auth"},
{"/usr/home/game/channel1/core1/","game"},
{"/usr/home/game/channel1/core2/","game"},
{"/usr/home/game/channel1/core3/","game"},
{"/usr/home/game/channel1/core4/","game"},
{"/usr/home/game/channel1/core5/","game"},
--{"/usr/home/game/channel2/","game"},
--{"/usr/home/game/channel3/","game"},
--{"/usr/home/game/channel4/","game"},
{"/usr/home/game/game99/","game"},
}
while true do
for a, b in pairs(data) do
local f = io.open(b[1].."pid")
if not f or not is_process_running(f:read"*all") then
os.execute("cd "..b[1].." && nohup ./"..b[2].." >> startlog & cd . ")
-- print ("Core restarted. ("..b[2]..")")
end
if f then
f:close()
end
end
pause(5)
end
Als drittes bauen wir den Core-Restarter in die start.sh ein.
So sieht meine Start.sh für einen Channel aus.(Ja ich weiß keine Core-Verteilung brauche ich aber auchnicht.)
PHP Code:
#!/bin/sh
echo -e "\033[1;32m Server wird gleich gestartet....\033[0m";
echo -e "\033[1;31m 3 Sekunden Ruhephase\033[0m";
sleep 3
echo -e "\033[1;34m Wechsel in Datenbankverzeichnis ... Starting ...\033[0m";
cd db && ./db &
sleep 5
echo -e "\033[1;34m Started!\033[0m";
echo ' ';
echo -e "\033[1;34m Wechsel in Channel_1_Verzeichnis ...\033[0m";
sleep 2
echo -e "\033[1;34m ... Starting First-Core ...\033[0m";
cd ./channel1 && ./game &
sleep 5
echo -e "\033[1;34m Started!\033[0m";
echo ' ';
echo -e "\033[1;34m Wechsel in Channel_99_Verzeichnis ...\033[0m";
sleep 2
echo -e "\033[1;34m ... Starting First-Core ...\033[0m";
cd ./game99 && ./game &
sleep 5
echo -e "\033[1;34m Started!\033[0m";
echo ' ';
echo -e "\033[1;34m Starting Authentifizierung...\033[0m";
cd ./auth && ./auth &
sleep 5
echo -e "\033[1;34m Authentifizierung Started!\033[0m";
echo ' ';
cd /usr/home/game
echo -e "\033[1;34m Aktiviere Corerestarter ... Starting ...\033[0m";
./auto3 &
sleep 2
echo -e "\033[1;34m Corerestarter Started!\033[0m"
echo ' ';
sleep 2
echo -e "\033[1;34m Server wurde erfolgreich gebootet.\033[0m";
cd .
PHP Code:
./auto3 &
Meine close.sh:
PHP Code:
#!/bin/sh
echo -e "\033[1;34m Der Server wird herrunter gefahren ... \033[0m"
killall -9 auto3 &
echo -e "\033[1;33m Corerestarter wurde deaktiviert \033[0m"
sleep 5
cd channel1 &&
./shut.sh
echo -e "\033[1;33m Channel 1 wurde herruntergefahren \033[0m"
sleep 3
cd /usr/home/game/game99 &&
./shut.sh
echo -e "\033[1;33m Channel 99 wurde herruntergefahren \033[0m"
sleep 3
cd /usr/home/game/auth &&
./shut.sh
echo -e "\033[1;31m Loginserver wurde deaktiviert \033[0m"
cd /usr/home/game/db &&
./shut.sh
echo -e "\033[1;31m Datenbankserver wurde deaktiviert \033[0m"
cd /usr/home/game/
echo ' ';
echo -e "\033[1;34m Alle Prozesse beendet \033[0m"
echo -e "\033[1;34m Momentanes Verzeichnis -Filesystem- \033[0m"
echo ' ';
PHP Code:
killall -9 auto3 &
[Only registered and activated users can see links. Click Here To Register...]
So das war's dann auch.
Liebe Grüße und schönen Abend noch. :)