URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87728
[ Назад ]

Исходное сообщение
"Linux: QUAKE III Arena server автозапуск"

Отправлено restyler , 27-Дек-09 21:49 
Здраствуйте, уважаемые форумчане!
Не так давно поднял сервер кваки 3 под mops linux 2.0. Все отлично запускается, а вопрос заключается в том, что его необходимо добавить а автозагрузку причем не от рута, а от простого пользователя user. Создал скрипт загрузки:

#!/bin/bash
cd /usr/local/games/quake3/
case "$1" in
'start')
./q3ded +exec q3conf.cfg >&/dev/null &
#exit
;;
'stop')
killall q3ded
;;
'restart')
killall q3ded
./q3ded +exec q3conf.cfg >&/dev/null &
#exit
;;
*)
echo "Usage:{start|stop|restart} "
#exit 1
esac
#exit 0

Ручками он запускается и работает как надо, по идее в /etc/rc.d/rc.local правильно было бы добавить:
su ftp /etc/rc.d/rc.q3ded start
Так и сделал-один хрен не работает, хотя когда в системе нахожусь и rc.local внаглую ручками запускаю-все ок. Ребята подскажите как мне его в автозагрузку запихать таким образом чтоб стартовал от простого юзера user?


Содержание

Сообщения в этом обсуждении
"Linux: QUAKE III Arena server автозапуск"
Отправлено djaarf , 28-Дек-09 07:54 
sudo -u user /etc/rc.d/rc.q3ded start

"Linux: QUAKE III Arena server автозапуск"
Отправлено restyler , 29-Дек-09 09:43 
Попробовал пока без скрипта, т.е. руками запускать sudo -u user /etc/rc.d/rc.q3ded stop и
sudo -u user /etc/rc.d/rc.q3ded start. В результате сервер кваки останавливается когда говоришь стоп, но почему-то не стартует, когда командуешь старт.До этого утилиты судо на сервере небыло, поставил. Может че где подкрутить надо?



"Linux: QUAKE III Arena server автозапуск"
Отправлено djaarf , 29-Дек-09 14:50 
Может он не может работать от непривелигированного пользователя?

"Linux: QUAKE III Arena server автозапуск"
Отправлено djaarf , 29-Дек-09 14:53 
Или он пытается работать с каталогами на которые у него нет прав?



"Linux: QUAKE III Arena server автозапуск"
Отправлено sHaggY_caT , 29-Дек-09 15:06 
>[оверквотинг удален]
>#exit 1
>esac
>#exit 0
>
>Ручками он запускается и работает как надо, по идее в /etc/rc.d/rc.local правильно
>было бы добавить:
>su ftp /etc/rc.d/rc.q3ded start
>Так и сделал-один хрен не работает, хотя когда в системе нахожусь и
>rc.local внаглую ручками запускаю-все ок. Ребята подскажите как мне его в
>автозагрузку запихать таким образом чтоб стартовал от простого юзера user?

А ткните, плиз, носом в документацию по игровому серверу, где описан автозапуск(лень искать), и привидите логи, на что, собственно, сервер ругается при запуске:  так будет проще Вам помочь.


"Linux: QUAKE III Arena server автозапуск"
Отправлено restyler , 30-Дек-09 09:20 
Он более того, обязан работать от непривелигированного пользователя, это во всех статьях по настройке сервера описывают, руками запускается, как писал уже в первом сообщении. Права такие: 755 /etc/rc.d и в частности на /etc/rc.d/rc.q3ded тоже 755. По идее прав хватает.
Читал несколько статей, но опираясь на свой опыт что-то делал по своему относительно конфига в частности и скрипта запуска, в основном делал по этой статье http://www.permlug.org/node/4913/ а также еще читал:
http://www.cyberfight.ru/offline/articles/29248/

На sudo -u ftp /home/ftp/rc.q3ded start ругается на нехватку прав:
Sys_Error: Unable to create directory "/root/.q3a", error is Permission denied(13)
Давать права к этому каталогу я не собираюсь, куда лучше запускать так:
su ftp /etc/rc.d/rc.q3ded start
Тем более руками так пускается. Но с автозагрузкой почему-то не катит.

Немного покопавшись нашел вариант запуска-из крона, статья на этом же сайте: http://www.opennet.me/docs/HOWTO/Game-Server-HOWTO/basics.html
То ли я не могу, то ли еще чего, скрипт этот не выполняет возложенных на него обязательств, протестировал построчно, утыкается на:
process=`ps auxwww | grep q3ded | grep -v grep | awk '{print $12}'`
У меня пишет: > т.е. ожидает ввода чего-либо. Какой способ на ваш взгляд реально использовать, чтобы работал? Я уже задолбался


"Linux: QUAKE III Arena server автозапуск"
Отправлено restyler , 11-Янв-10 23:13 
Мужики, вопрос решил еще 31-го, в нг праздники писать не получилось, вот щас пропился и пишу как что делал.

В домашний каталог /home/user положил шелл-скрипт q3tocr2 следующего содержания:
#!/bin/sh

quake3dir="/usr/local/games/quake3"
process=`ps auxw | grep q3ded | grep -v grep | awk '{print $11}'`

if [ -z "$process" ]; then

  echo "Couldn't find Quake3 running, restarting it."
  cd "$quake3dir"
  ./q3ded +exec q3conf.cfg >&/dev/null &
  echo "Server Quake III Arena started.Enjoy!"

fi

Теперь чтобы все это работало я добавил в крон пользователя user следующую строку:
0-59 * * * * /home/user/q3tocr2

В итоге сервер каждую минуту проверяет запущен ли демон, так при старте он его запускает. Всем счастья, да прибудет с Вами сила, друзья!