Linux ded. Server beenden

[F4U] DraconiX
Soo denn... entschudligt erstmal mein unwissen aber ich bin Linux-Nap grosses Grinsen

Ich habe den Server nach eurer Anleitung gestartet - aber wie kann ich den Prozess wieder beenden? Ich nutze Debian Sarge.

Wäre um ein kleines How-To recht froh
Nighthawk
Kleines Howto:

Mit ps aux die Prozessliste anzeigen lassen.

Den Prozess mit ./cod_lndexd .... heraussuchen. Ganz vorne (als 2tes steht die Prozess ID.

Dann kill [Prozess ID] und der Server ist tot. Bei CoD2 gibt es noch die Möglichkeit mit killserver zu arbeiten, als Konsolenbefehl. In wiefern das aber den ganzen Server beendet, hab ich noch nicht ausprobiert.

Hoffe mal das hilft Dir weiter grosses Grinsen
[F4U] DraconiX
Jup, hat mir sehr weitergeholfen - nun noch ne Frage:

Hab den Server nun beendet, bin aber über top gegangen.

Nu will ich den Server neu starten und bekomme dies:

42125 files in iwd files
execing default_mp.cfg
couldn't exec language.cfg
execing config_mp_server.cfg
dedicated is read only.
Opening IP socket: localhost:28960
Hostname: localhost.localdomain
Alias: localhost
Alias: debian
IP: 127.0.0.1
--- Common Initialization Complete ---
dedicated is read only.
couldn't exec config.cfg


Eingestellt in der server_mp_config.cfg sowie config.cfg:

set net_ip "213.239.205.208"
set net_port "27000"

Woran liegt denn das?!
SoulJah
der port wird gebindet, bevor deine eigenen configs geladen werden. entweder du änderst den port per kommandozeile, oder direkt in der config_mp_server.cfg. die datei liegt entweder im server main verzeichnis oder in ~/.callofduty2/main, je nach fs_homepath einstellung. ich nehme mal an, daß du dich mit 'server_mp_config.cfg' in deinem posting nur vertippt hast.
es könnte aber auch daran liegen, daß du den server mit gewalt killst und er seine config daher nicht richtig speichert. das sollte nur eine notlösung sein, wenn der server sich nicht korrekt beenden lässt.
mit den konsolenbefehl 'killserver' wird laut dokumentation nur das game beendet. mit 'quit' fährt der server allerdings komplett runter.
hier findest du ein script, daß den server korrekt beenden und starten kann. die für dich wichtige zeile zum beenden:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
echo "ÿÿÿÿrcon <rconPassWord> quit" | netcat -u -w1 localhost <srvPort>

yoda

Zitat:

Original von Nighthawk
Kleines Howto:

Mit ps aux die Prozessliste anzeigen lassen.

Den Prozess mit ./cod_lndexd .... heraussuchen. Ganz vorne (als 2tes steht die Prozess ID.

Dann kill [Prozess ID] und der Server ist tot. Bei CoD2 gibt es noch die Möglichkeit mit killserver zu arbeiten, als Konsolenbefehl. In wiefern das aber den ganzen Server beendet, hab ich noch nicht ausprobiert.

Hoffe mal das hilft Dir weiter grosses Grinsen


Wenn Du per screen-Prozess den Server am Laufen hast, dann such nach ps aux den entsprechenden Prozess und kill den anstatt den ./cod_lndexd ... - sonst läuft der Screen-Prozess auch noch (nur, falls DDu den komplett killen willst).

killserver und quit schalten glaub ich nur den Server an sich aus, der Screen-Prozess müsste dann noch weiterlaufen...
SoulJah
die einfachste und sauberste methode:
-reattache die screen session per 'screen -r'
-beende den server mit 'quit'
-beende den screen prozess mit 'exit'
yoda
Hey, ich war stolz auch mal was zu Linux sagen zu können smile
Nighthawk
Aber da er ja vom Prozess sprach, spiel ich ja mal wieder die Axt im Walde grosses Grinsen

Kill all ... *heehee* grosses Grinsen
yoda
LOL das versteh sogar ich grosses Grinsen
SoulJah
'tschuldigung ;)
aber war ja nit falsch, was du geschrieben hast.
nur recht radikal 8)
[F4U] DraconiX
Soo momentan habe ich mir nun nen seperaten User für CoD2 angelegt und starte den Server nun so:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
screen -A -m -d -S cod ./cod2_lnxded



ich beende den Prozess nun einfach so:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
killall -9 screen



Ich kann CoD2 nun aber auch einfach via quit in der Konsole beenden und dabei wird ja nun auch der Screen Prozess gleich mitbeendet. Nun würde das gern via Script machen, aber ich weiß halt net wie ich das abspeicher und wieder aufrufe. wie gesagt: DraconiX = LinuxNewbie grosses Grinsen

Also fürn Anfang:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
screen -r cod
quit



Das würde ich gern via script laufen lassen, da lern ich auch gleich wie man welche anlegt und startet grosses Grinsen
SoulJah
screen ist eher für die benutzerinteraktion gedacht, nicht zum scripten.
das was du willst ist sicher möglich, allerdings weiß ich auf anhieb nicht wie. man müßte die benutzerausgaben in die screen-session umleiten.

wenn du deinen server per script kontrollieren willst, empfehle ich dir mein script mal näher anzuschauen. das kommt ohne screen aus.