Здраствуйте, уважаемые форумчане!
Не так давно поднял сервер кваки 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?
sudo -u user /etc/rc.d/rc.q3ded start
Попробовал пока без скрипта, т.е. руками запускать sudo -u user /etc/rc.d/rc.q3ded stop и
sudo -u user /etc/rc.d/rc.q3ded start. В результате сервер кваки останавливается когда говоришь стоп, но почему-то не стартует, когда командуешь старт.До этого утилиты судо на сервере небыло, поставил. Может че где подкрутить надо?
Может он не может работать от непривелигированного пользователя?
Или он пытается работать с каталогами на которые у него нет прав?
>[оверквотинг удален]
>#exit 1
>esac
>#exit 0
>
>Ручками он запускается и работает как надо, по идее в /etc/rc.d/rc.local правильно
>было бы добавить:
>su ftp /etc/rc.d/rc.q3ded start
>Так и сделал-один хрен не работает, хотя когда в системе нахожусь и
>rc.local внаглую ручками запускаю-все ок. Ребята подскажите как мне его в
>автозагрузку запихать таким образом чтоб стартовал от простого юзера user?А ткните, плиз, носом в документацию по игровому серверу, где описан автозапуск(лень искать), и привидите логи, на что, собственно, сервер ругается при запуске: так будет проще Вам помочь.
Он более того, обязан работать от непривелигированного пользователя, это во всех статьях по настройке сервера описывают, руками запускается, как писал уже в первом сообщении. Права такие: 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}'`
У меня пишет: > т.е. ожидает ввода чего-либо. Какой способ на ваш взгляд реально использовать, чтобы работал? Я уже задолбался
Мужики, вопрос решил еще 31-го, в нг праздники писать не получилось, вот щас пропился и пишу как что делал.В домашний каталог /home/user положил шелл-скрипт q3tocr2 следующего содержания:
#!/bin/shquake3dir="/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В итоге сервер каждую минуту проверяет запущен ли демон, так при старте он его запускает. Всем счастья, да прибудет с Вами сила, друзья!