На сколько я знаю самый оптимальный запуск сервака на линуксе это - файл с расширением
.ch в моем случаем это
startl.ch (аналог в винды .bat) в котором естественно прописано, что откуда и с какими параметрами загружать.
Теперь вопрос: а как сделать автозагрузку/автозапуск именно этого
startl.ch файла, чтобы при загрузке сервера linux, стартовал сервер игровой сервак?
Предложенные варианты решения:
0) Скрипт ld4
СКРИПТ ЗАПУСКА
#!/bin/bash
#
# Init file for Public CS1.6 Classic server
#
# chkconfig: 35 90 12
# description: Left4Dead Cooperative
#
# source function library
. /etc/rc.d/init.d/functions
SCREEN_NAME=L4D_coop
GAME_PATH=/home/ugniy/l4d_coop/l4d
start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./srcds_run -game left4dead +sv_lan 0 +ip 169.254.82.20 +map l4d_farm01_hilltop -master -port 27502 -heapsize 128000 $* +rcon_password LAN
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Смени значение переменных SCREEN_NAME, GAME_PATH, IP и +rcon_password на свои и запускай
заработало!!!
1)
Пропиши /полный/путь/до/твоего/startl.сh в файл /etc/rc.local , но перед exit 0
не сработал
2)
Вот хорошая статья для таких же чайников как я
не сработал
3)
заходим в etc/init.d
копируем наш файл запуска startz.ch и прописываем в нем следуещее:
cd &&
cd opt/zps/orangebox &&
./srcds_run -console -game zps +ip 0.0.0.0 +hostport 27015 +exec server.cfg +map zps_silence +maxplayers 20 -secure &
После рассказываем системе что этот файл нужно исполнять при старте системы:
update-rc.d startz.ch defaults
не сработал но (ZPS - включился)
4)
Shell скрипты запуска серверов (в папке пользователя) (Пример для сервера Rune HoV _rune)
#!/bin/bash
#
# Init file for Rune HoV Server
#
# chkconfig: 35 90 12
# description: Rune: Halls of Valghallar
#
# source function library
SCREEN_NAME=Rune
GAME_PATH=/home/ugniy/.loki/rune/System
start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./ucc-bin server AR-Champions.run?game=Arena.ArenaGameInfo?mutator=
RFVotesPlus.RFVotesPlus?AdminName=Ragnarok?AdminPassword=1 LOG=server1.log
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
заработало
start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./ucc-bin server AR-Champions.run?game=Arena.ArenaGameInfo?mutator=
RFVotesPlus.RFVotesPlus?AdminName=Ragnarok?AdminPassword=1 LOG=server1.log
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
не понятно что вставлять для l4d или еще какой либо игры