PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Css Server Starten Stoppen



kalais
23.03.05, 15:15
hi habe ein kleines prob

ich weis zwar wie ich einen css linux server starte weis aber icht mit welchen befehl ich i stoppe

ich benutze den startbefehl screen -A -m -d -S hlds ./srcds_run -game cstrike +map de_dust +maxplayers 12 -autoupdate -port 27100

jetzt würde ich gerne wissen wir ich den serve wieder gestoppt bekomme

DynaBlaster
23.03.05, 15:41
mit dem Kommando "screen -d -m -S hlds ./srcds ....." startest du den Server quasi in einer virtuellen Konsole mit dem namen hlds.

Wenn du eine Shell öffnest und das hier eingibst:

screen -list
sollte eine Liste mit allen screens (virtuellen Shells) erscheinen.


screen -r hlds
holt die Shell in den Vordergrund und du kannst den Server mit der Eingabe von "quit" beenden.

Um den Screen wieder in den Hintergrund zu schicken (detach) musst due CTRL+A+D gleichzeitig drücken.

kalais
23.03.05, 15:44
jo geht thx noch ma :)

kalais
23.03.05, 17:35
noch ma ich ^^

wenn ich quit eingebe stopt der server und kurz danach startet er wieder neu da stimmt doch was nicht

Fisch.666
23.03.05, 18:34
Nope, das stimmt schon so. Wenn Du den Server komplett beenden willst drück einfach die STRG + C Taste, dann sollte der Server beendet werden.

kalais
23.03.05, 21:17
also ich steuere den server mit putty da stimmt dann doch was nicht oder ?

DiWoWo
23.03.05, 23:11
Versuchs mit dem Startscript hier. Musst du nur an deinen Server anpassen


#! /bin/sh
#
# Start the Counter-Strike dedicated server as non-root.
#
# A modification of the CS Server startup script, to run the server
# as a non-root user.
#
# ORIGINAL AUTHORS :
#
# Julien Escario ( pandemik@asylog.net )
# &
# Cedric Rochat ( crochat@younics.org )
#
# ===========================================
#
# What you need:
#
# Linux :)
# awk
# screen
# the hlds_l & cstrike-files OR
# a STEAM-installation
#
# YES, this script works fine with STEAM and CS 1.6
#
# How to use:
#
# Edit the DIR-var to fit your system (just contains the path to the dir that contains hlds_run)
# Edit the PARAMS-var to fit your needs
# Edit the CS_USER-var to the name of the user that will run the server
#
# How to see the server-console:
#
# Just type in: screen -r hlds (or whatever you set $NAME to)
# More info about screen can be found by typing "man screen" or using this nice link
# http://server.counter-strike.net/server.php?cmd=howto&show=screen
#
# The easist way is to use this script simple as a start-script for your server
# If you want to use it as a script to start the server at boot-time:
#
# When this is done, copy the file to /etc/rc.d/init.d (or whereever your system stores the
# scripts for starting the services
# Now you can link the script to your runlevel-dir, here's an example for runlevel 3:
# (THIS IS FOR DEBIAN! If you use e.g. Redhat you must change these dirs!!!)
#
# ln -s /etc/init.d/hlds /etc/rc3.d/S90hlds
# ln -s /etc/init.d/hlds /etc/rc6.d/K50hlds
#
# Or use it manualy like:
# /etc/rc.d/init.d/hlds start
# /etc/rc.d/init.d/hlds stop
#
# If you don't want to start the server as root you have to change this:
# add the var CS_USER and uncomment it
# change the lines at the "start-block"
#
# You must be logged in as this user to re-attach the screen!
#
# DOC by jwm (jwm@counter-strike.de)

# The user that will run the server
CS_USER=username

# Leave this alone.
NAME=srcds

PATH=/bin:/usr/bin:/sbin:/usr/sbin

# DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/pfad/zur/hlds

# Leave this alone.
DAEMON=srcds_run

# Internet-server:
PARAMS="-game cstrike +maxplayers 20 +map cs_italy"

# Leave this alone.
DESC="Counter-Strike dedicated server"

case "$1" in
start)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo "HLDS is already running!"
else
echo "Starting $DESC: $NAME"
su $CS_USER -c "cd $DIR; screen -m -d -S srcds ./$DAEMON $PARAMS"
fi
;;

stop)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi
;;

restart)
if [[ `su $CS_USER -c "screen -ls |grep $NAME"` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi

echo -n "Starting $DESC: $NAME"
su $CS_USER -c "cd $DIR; screen -m -d -S srcds ./$DAEMON $PARAMS"
echo " ... done."
;;

status)
ps aux | grep -v grep | grep hlds_r > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "HLDS is UP" || echo "HLDS is DOWN"
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac

exit 0

kalais
24.03.05, 10:49
und kurz gesagt geht das nicht ?? kapier das irgendwie nicht ???

kann man mit einen befehl nich einfach die srcds_run datei oder so beenden so das der server off ist ??

DiWoWo
24.03.05, 12:19
Du nimmst dir dieses script, passt es ein wenig an deinen Server an, und speicherst es zum Beispiel als start_script

Dann kannst du deinen CS:S server über Putty folgendermassen starten

./start_script start

Dann läuft er. Zum stoppen gibst du dann ein

./start_script stop

Du kannst auch ganz einfach restarten mit

./start_script restart

oder wenn du dir nicht sicher bist ob dein Server läuft

./start_script status

kalais
24.03.05, 12:29
jo es funtzt nur er startet wieder von alleine neu ahh was ist denn das

DiWoWo
24.03.05, 14:30
killall srcds_run sollte auch gehn!

johndoe1978
30.03.05, 15:51
@kalais

klar kannst du den Prozess auch killen, aber das ist halt a, Unsauber und b, wie mit ner 105mm Ari auf nen Maulwurf zu schiessen.

Wenn Du das Start Script benutzt, kannst du per Verlinkung den Server automatisch beim Linuxstart laden lassen, per Cron einen Neustart machen und andere schöne Dinge.

Manchmal sind die Dinge nur auf den ersten Blick so kompliziert....

eviluser
30.03.05, 15:54
*käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse* *käse*

eviluser
30.03.05, 15:59
kann das daran liegen das du es als dämon gestartet hast? wenn du eh den screen befehl benutzt lass doch beim start von hlds dieses "-d" weg.
ansonsten hilft da das brutale "kill -9 prozessID"