http://www.counter-strike.de/hlinside/server/hlds
negitaku.orgサーバーはここのスクリプトを使っている。
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DIR=/home/bot/games/hlds_l
DAEMON=$DIR/hlds_run
# LAN-server:
#PARAMS=”-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust2 +logsdir logs1 -pingboost 1″
# Internet-server:
PARAMS=”-game cstrike -pingboost 1 -port 27016 +exec negitaku.cfg”
NAME=cstrike2
DESC=”CounterStrike dedicated server”case “$1” in
start)
echo “Starting $DESC: $NAME”
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
;;stop)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n “Stopping $DESC: $NAME”
kill `screen -ls |grep $NAME |awk -F . ‘{print $1}’|awk ‘{print $1}’`
echo ” … done.”
else
echo “Coulnd’t find a running $DESC”
fi
;;restart)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n “Stopping $DESC: $NAME”
kill `screen -ls |grep $NAME |awk -F . ‘{print $1}’|awk ‘{print $1}’`
echo ” … done.”
else
echo “Coulnd’t find a running $DESC”
fiecho -n “Starting $DESC: $NAME”
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
echo ” … done.”
;;*)
echo “Usage: $0 {start|stop|restart}”
exit 1
;;
esacexit 0
servercfgfilenegi.cfg
motdfile negi.txt
mapcyclefile ncycle.txt
logsdirlogs2
mapde_dust2
maxplayers 21
まずスクリプトを適当な名前で保存。 そして下の3行の部分を、自分の環境に合わせて書き換える。
screenコマンドが必要なので、無ければインストールする。
DIRはhldsをインストールした場所、PARAMSはhldsへのオプション、 -portは他のHLDSと被ってはいけない。
NAMEはscreenで使う名前。2個以上のhldsを使う場合はNAMEも別のものにしないといけない。
+で始まるコマンド(map、maxplayers)は別のconfigに書いたほうが綺麗に書ける。
ただし、起動時にしか設定できないものを設定するので、
+execでそのcfgを起動時に 読み込んでやらないといけない。
ここではnegitaku.cfgがそれにあたる。
servercfgfileなどはデフォルト以外のファイルを使う場合の設定で、
2個以上のHLDSを動かす場合に必要。指定しないと同じ設定(server.cfg)になってしまうし、
同じログディレクトリ(logs)になってしまっていろいろと面倒だ。
設定が済んだら、スクリプトをcs2というファイルで保存したとすると同じディレクトリにいて
chmod 755 cs2
として、実行できるようにする必要がある。
Windowsで作ってファイルを転送する場合は、改行コードをLFで保存するか、
FTP時にASCIIモードで転送しなければならない。
スクリプトをcs2というファイルで保存したとして、パスを通してあれば
cs2 start
cs2 stop
cs2 restart
これで起動、終了、リスタートができる。 NAMEで設定した名前がcstrike2だとすると
screen -r cstrike2
でHLDSのコンソールをアタッチすることができる。 コンソールからのデタッチは
CTRL-a d