Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Zitat
#! /bin/bash
#
# Start the Counter-Strike: Source dedicated server.
#
# AUTHORS :
#
# Julien Escario ( pandemik@azilog.net )
# &
# Cedric Rochat ( crochat@younics.org )
# &
# Cmdr._Firewalker ( cmdr._firewalker@web.de )
#
# ===========================================
#
# What you need:
#
# Linux
# awk
# screen
# the srcds_l & cstrike files (obtainable via steam)
#
# How to use:
#
# Edit the CS_USER-Var to the user running your cs-servers
# Edit the DIR-Var to fit your system (just contains the path to the dir that contains srcds_run)
# Edit the PARAMS-Var to fit your needs
# - standard is startup as internet server
# if you use multiple scripts on one system you should change the NAME-var (otherwise
# all will be stopped if you run the script with "stop", and status will be useless)
#
# When this is done, copy the file to /etc/rc.d/init.d (or whereever your system stores the
# scripts for starting the services) and set the execute permission.
# Now you can link the script to your runlevel-dir, here's an example for runlevel 3:
# ln -s /etc/rc.d/init.d/srcds1 /etc/rc.d/rc3.d/S21srcds1
# ln -s /etc/rc.d/init.d/srcds1 /etc/rc.d/rc3.d/K22srcds1
# or use update-rc.d if you got a system using that tool (like Debian, see manpage)
#
# Or use it manually like:
# ./srcds start
# ./srcds stop
#
# To see the server-console start the script with the parameter "watch".
#
# DOC by jwm (jwm@counter-strike.de)
# !!!!!!!!!!!!!! CHANGE THIS TO THE USER YOU USE FOR YOUR SERVER !!!!!!!!!!!!!!!
CS_USER=MEINUSER
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# # DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/css_server/game2/server_MEINUSER_id4
DAEMON=srcds_run
# LAN server:
# PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust"
# Internet server:
PARAMS="-game cstrike +maxplayers 12 +map de_dust2 -tickrate 100 -port 27015 -nopix"
NAME=csswar
DESC="CS War Server"
# No edits (should be) necessary beyond this line
if [ ! -x `which awk` ]; then echo "You need awk for this script"; exit 1; fi
if [ ! -x `which screen` ]; then echo "You need screen (the program, moron!) for this script"; exit 1; fi
if [ `whoami` = root ]
then
usagetype=root
else
usagetype=nonroot
fi
start() {
if [ ! -d $DIR ]; then echo " ... No such directory: $DIR!"; exit 1; fi
if [ ! -x $DIR/$DAEMON ]; then echo "$DIR/$DAEMON does not exist or is not executable!"; exit 1; fi
if status; then echo " ... $DESC: $NAME is already running!"; exit 1; fi
case "$usagetype" in
root)
su - $CS_USER -c "cd $DIR ; screen -AmdS $NAME ./$DAEMON $PARAMS"
;;
nonroot)
cd $DIR ; screen -AmdS $NAME ./$DAEMON $PARAMS
;;
esac
}
stop () {
if ! status; then echo " ... $DESC $NAME could not be found. Probably not running."; exit 1; fi
case "$usagetype" in
root)
tmp=$(su - $CS_USER -c "screen -ls" | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
su - $CS_USER -c "screen -r $tmp -X quit"
;;
nonroot)
screen -r $(screen -ls | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}') -X quit
;;
esac
}
status () {
case "$usagetype" in
root)
su - $CS_USER -c "screen -ls" | grep [.]$NAME[[:space:]] > /dev/null
;;
nonroot)
screen -ls | grep [.]$NAME[[:space:]] > /dev/null
;;
esac
}
watch () {
if ! status; then echo "$DESC $NAME could not be found. Probably not running."; exit 1; fi
case "$usagetype" in
root)
tmp=$(su - $CS_USER -c "screen -ls" | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
su - $CS_USER -c "screen -r $tmp"
;;
nonroot)
screen -r $(screen -ls | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
;;
esac
}
case "$1" in
start)
echo "Starting $DESC: $NAME"
start
echo " ... done."
;;
stop)
echo "Stopping $DESC: $NAME"
stop
echo " ... done."
;;
restart)
echo "Restarting $DESC: $NAME"
status && stop
start
echo " ... done."
;;
status)
if status
then echo "$DESC: $NAME is UP"
else echo "$DESC: $NAME is DOWN"
fi
;;
watch)
watch
;;
*)
echo "Usage: $0 {start|stop|status|restart|watch}\nWhile watching press ctrl-a, ctrl-d to stop watching without stopping the server."
exit 1
;;
esac
exit 0
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Zitat
# How to use:
#
# Edit the CS_USER-Var to the user running your cs-servers
# Edit the DIR-Var to fit your system (just contains the path to the dir that contains srcds_run)
# Edit the PARAMS-Var to fit your needs
# - standard is startup as internet server
# if you use multiple scripts on one system you should change the NAME-var (otherwise
# all will be stopped if you run the script with "stop", and status will be useless)
#
# When this is done, copy the file to /etc/rc.d/init.d (or whereever your system stores the
# scripts for starting the services) and set the execute permission.
# Now you can link the script to your runlevel-dir, here's an example for runlevel 3:
# ln -s /etc/rc.d/init.d/srcds1 /etc/rc.d/rc3.d/S21srcds1
# ln -s /etc/rc.d/init.d/srcds1 /etc/rc.d/rc3.d/K22srcds1
# or use update-rc.d if you got a system using that tool (like Debian, see manpage)
#
# Or use it manually like:
# ./srcds start
# ./srcds stop
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Zitat
Original von JackONeill
Wenn ich runlevel eingebe zeigt er mir N 3 an.
Was bedeutet in einer anderen Umgebung?
Zitat
In der boot.msg (ich hoffe mal das ist die richtige) steht nix über den server drin..