Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37512825
en ru br
Репозитории ALT
S:0.2-alt1
5.1: 0.2-alt1
4.1: 0.2-alt1
4.0: 0.2-alt1
www.altlinux.org/Changes

Группа :: Сети/Прочее
Пакет: hlds-counterstrike-init

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

#!/bin/sh

# Init file for hlds server daemon
#
# chkconfig: - 50 50
# description: hlds server daemon
#
# processname: hlds
# config: no such
# pidfile: /var/run/hlds.pid
#
# 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:
#
# 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=_netgames

# Leave this alone.
NAME=hlds

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

# DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/var/lib/games/cs/

# Leave this alone.
DAEMON=hlds_run

# IP of running server. To be used when status called only.
IPADRR="127.0.0.1"

# Internet-server:
PARAMS="-game cstrike +sv_lan 1 +map de_cbble -nomaster -insecure +maxplayers 18 -debug -timeout 1 -port 27015 -pidfile hlds.pid"

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

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

stop)
if [[ `su - -c "screen -ls |grep $NAME" $CS_USER` ]]
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 - -c "screen -ls |grep $NAME" $CS_USER` ]]
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 - -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS" $CS_USER
echo " ... done."
;;

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

exit 0
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin