Herr_Hackbarrt
hi leude ^^
so ich hab ein prob. restart script is ja kein thema ABER:
im letzter zeit isses häufiger passiert dass sich der cod serevr aufgehängt hat. der .\cod_lnxded prozess lief aber noch dH das script hat nix gemacht da des ja nur schaut ob der prozess noch läuft.
erwarte sehnsüchtig lösungsvorschläge
Nighthawk
... Scripttechnisch wird man da nicht viel machen können, da würd ich eher mal den Gameserver debuggen.
Sorry!
SoulJah
doch, kann man... wenn du den code in dein restart script reinbastelst:
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
timeout=10
output=`echo "ÿÿÿÿgetstatus" | netcat -u -w$timeout localhost <PORT>`
case `echo $output | grep mapname` in
"")
echo "Server hängt!"
<KILLEN & NEU STARTEN>
;;
*)
echo "Server läuft noch..."
;;
esac |
|
der timeout gibt an, wie lange das script auf antwort warten soll, falls der server grade eine map lädt oder ähnliches.
Nighthawk
cool, wusste gar nicht das netcat udp kann ...
RESPEKT!!!
Herr_Hackbarrt
dange und feddes lob aba da is immer noch ein problem
hab vom scripten sowas von null ahnung und wüsste gerne wie das in der praxis aussieht
kanns mir zwar ungefähr denken aba bevor ich da meinen root hochjage...
SoulJah
dann poste mal dein restart-script, ich bastel es dir dann rein
Herr_Hackbarrt
sehr aufmerksam
währ sonst gearscht lol
#!/bin/bash
cd /home/flesh/codserver
while true; do
./cod_lnxded +set net_port 28965 +set net_ip 213.202.216.159 +exec psyserver.cfg +map_rotate
done
Herr_Hackbarrt
ja danke schon mal aba da gibts ein problem: is wohl recht billig aba ich will da lieber ned dran rumpfuschen. der startet den server zwar aba halt so ca 10 server
möch aba lieber doch nur 1. so habs ichs im script stehen was is da falsch ?
#!/bin/bash
timeout=10
path="/home/flesh/Jumpserver"
port=9000
ip="213.202.216.159"
cfg="jumpserver.cfg"
cd $path
while true; do
case `echo "ÿÿÿÿgetstatus" | netcat -u -w$timeout localhost $port | grep mapname` in
"")
echo "Server hängt!"
killproc $path/cod_lnxded
./cod_lnxded +set net_port $port +set net_ip $ip +exec $cfg +map_rotate &
;;
*)
echo "Server läuft noch..."
;;
esac
done
Herr_Hackbarrt
und was is an meinem script falsch ? timeout vll zu niedrig ?
Herr_Hackbarrt
hilfe hilft mir doch mal wer
wo ist souljah
SoulJah
sorry... aber seit das rss-feed nicht mehr funzt, schau ich nicht mehr ganz so oft vorbei.
ich fürchte, der fehler liegt bei mir... ich hätte das script mal testen sollen. ;)
die schleife wird vielleicht ein wenig zu oft durchlaufen... da fehlt ein delay.
und der server bekommt etwas zeit zum starten, das ist wohl das hauptproblem.
wäre der timeout zu niedrig, würde er den server nur ständig wieder killen. der wert sollte etwas größer sein, als der server für einen map-rotate brauch.
nächster versuch:
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
|
#!/bin/bash
timeout=10
path="/home/flesh/Jumpserver"
port=9000
ip="213.202.216.159"
cfg="jumpserver.cfg"
startDelay=30 #delay nach serverstart in sekunden
loopDelay=10 #delay nach jedem check in sekunden
cd $path
while true; do
case `echo "ÿÿÿÿgetstatus" | netcat -u -w$timeout localhost $port | grep mapname` in
"")
echo "Server hängt!"
killproc $path/cod_lnxded
./cod_lnxded +set net_port $port +set net_ip $ip +exec $cfg +map_rotate &
sleep $startDelay
;;
*)
echo "Server läuft noch..."
;;
esac
sleep $loopDelay
done |
|
Herr_Hackbarrt
mhm ^^ des klappt schon besser merci beaucoup
yoda
Original von SoulJah
sorry... aber seit das rss-feed nicht mehr funzt, schau ich nicht mehr ganz so oft vorbei.
Werd Nighthawk deshalb mal antexten...