Список форумов http://forum.quake2.com.ru http://forum.quake2.com.ru
forum of russian quake2 portal
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Как автозапускаете q2proded в linux?
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов http://forum.quake2.com.ru -> q2pro
Предыдущая тема :: Следующая тема  
Автор Сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 3:50 am    Заголовок сообщения: Как автозапускаете q2proded в linux? Ответить с цитатой

Компилил так:
Код:

./configure --disable-client --enable-server --enable-png --enable-jpg --enable-curl --prefix=/home/amok --datadir=quake2 --libdir=quake2 --bindir=quake2 --mandir=quake2/q2pro/man --appdir=quake2/q2pro/applications --pixdir=quake2/q2pro/pixmaps

Build client       no
Build server       yes
Build baseq2       no
Data directory     /home/amok/quake2
Game libraries     /home/amok/quake2
Binaries           /home/amok/quake2
Man pages          /home/amok/quake2/q2pro/man
Desktop files      /home/amok/quake2/q2pro/applications
Pixmap files       /home/amok/quake2/q2pro/pixmaps
Home directory     ~/.q2pro
zlib support       yes
i386 assembly      yes


Пускаю так:
Код:

/home/amok/quake2/q2proded +set game openffa +set logfile 3 +exec openffa.cfg +exec q2server.cfg


Пускается нормально.

Пытаюсь автозапуск в своей ubuntu оформить, /etc/rc.local:
Код:

/home/amok/quake2/myq2pro


Скрипт myq2pro содержит тот же самый абсолютный путь:
Код:
/home/amok/quake2/q2proded +set game openffa +set logfile 3 +exec openffa.cfg +exec q2server.cfg


Естественно, было сделано
Код:
chmod u+x myq2pro
.

При перезагрузке ubuntu-сервера, q2proded не запускается. В общих логах: /var/log/daemon.log и /var/log/syslog вроде ничего по grep "q2" нет.
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
[SkulleR]
papa

   

Зарегистрирован: 21.11.2003
Сообщения: 467

СообщениеДобавлено: Пт Окт 15, 2010 5:47 am    Заголовок сообщения: Ответить с цитатой

Скрипты из rc.local запускаются с правами рута, а q2proded работать с рутовыми правами сознательно отказывается. Запускать надо как-то так:

Код:

su -c /home/amok/quake2/myq2pro - amok


Цитата:

В общих логах: /var/log/daemon.log и /var/log/syslog вроде ничего по grep "q2" нет

Там ничего и не будет, q2proded туда не пишет.
Вернуться к началу
[SkulleR] is offline Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
LitRium
СЕРЫЙ КАРДИНАЛ (ГОПНИК)

   

Зарегистрирован: 18.03.2008
Сообщения: 1005
Откуда: Western Siberia

СообщениеДобавлено: Пт Окт 15, 2010 10:34 am    Заголовок сообщения: Ответить с цитатой

сделай скрипт q2pro.sh
#!/bin/sh
killall q2proded
echo "Starting Quake2 Pro server"

sleep 1
screen -A -m -d -S quake-pro ./q2proded +set game "твой мод" +fs_restart set net_ip xxx.xxx.xxx.xxx +exec твой конфиг.cfg

для q2proded и скрипта права 777

в rc.local пропиши
sudo /home/amok/quake2/q2pro.sh

проверяем после рестарта, процесс запущен
ps -C q2proded
Вернуться к началу
LitRium is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 1:20 pm    Заголовок сообщения: Ответить с цитатой

[SkulleR] писал(а):
Скрипты из rc.local запускаются с правами рута, а q2proded работать с рутовыми правами сознательно отказывается.

Там ничего и не будет, q2proded туда не пишет.

Вот ведь: знание - сила! ) Помню как-то экспериментировал с запуском ещё родного quake2 в режиме сервера, так мне светлая мысль с запуском от юзера по su уже приходила! Попробую, спасибо.

А куда пишет q2proded если не стартанул? В лог консоли он, как я понимаю, писать ещё не может. Вот и искал я в системных логах информацию почему он не завёлся.
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 1:22 pm    Заголовок сообщения: Ответить с цитатой

LitRium писал(а):
screen

Спасибо, конечно, за помощь, но я как раз от screen'а ухожу )
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 5:18 pm    Заголовок сообщения: Ответить с цитатой

[SkulleR] писал(а):
q2proded туда не пишет.

Так, у меня назрел ещё вопрос, по логгированию.

Стандартная квака с лог файлом поступает так:
Цитата:

logfile
Type: Toggle
Default: 0
Description: Toggle the logging of console messages.
Values:
0 – Disable logging.
1 – Enable buffered logging where the log file is only updated when the text buffer fills up. The log file will be deleted and overridden when a new server starts up.
2 – Enable continuous logging where the log file is updated with every new line of text. The log file will be deleted and overridden when a new server starts up.
3 – Enable continous logging where the log file is updated with ever new line of text. The log file will be appended to and logging will continute to the same log file when a new server starts up.


q2proded поступает иначе (и что это за триггер logfile_flush, который по умолчанию "0" и переменная "logfile_prefix" - у меня этот самый префикс к logfile_name не добавляется)? ибо, например, запускаю я его с "+set logfile 2" а по факту ведёт он себя как "+set logfile 2+buffer", т. е. пишет сначала в буфер, а не сразу в файл и не затирает предыдущий лог.

короче, хочу чтобы 1) писал без буфера прямиком в файл 2) дописывал 3) была ротация логов (п.3 - шутка, ибо кому нужно будет, тот перенаправит лог q2proded syslogd'у)

чего нужно сделать?


Последний раз редактировалось: Amok[MEn] (Пт Окт 15, 2010 6:33 pm), всего редактировалось 3 раз(а)
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 5:41 pm    Заголовок сообщения: Ответить с цитатой

[SkulleR] писал(а):
Запускать надо как-то так:

Код:

su -c /home/amok/quake2/myq2pro - amok

Как показала серия экспериментов и Гугл, запускать нужно вот так:
Код:

echo "user_password_here" | sudo -H -u amok -S -- /home/amok/quake2/myq2pro

Причём именно sudo, а не su.
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 5:45 pm    Заголовок сообщения: Ответить с цитатой

LitRium писал(а):
сделай скрипт

А ни кто до меня не озадачивался написанием грамотно оформленного скрипта для папочки /etc/init.d? Ну чтоб как у людей - старт, стоп, рестарт. А то я пока не умею )

P. S. Естественно, без всякого screen'а, тут он не нужен.
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 7:29 pm    Заголовок сообщения: Ответить с цитатой

Ну и до кучи, спрошу здесь же (а при желании и ценности информации, модераторы всегда смогут позже выделить в отдельную тему):

quake2 в режиме dedicated и q2proded - это что? Движки? Т. е. они что делают - обсчитывают физику, отвечают за сетевой протокол, пишут логи и пр.? а что, например, делает тогда библиотека (библиотека, правильно называю?) gamei386.so лежащая в папке openffa?

эти вопросы предваряют, собственно, главный вопрос сообщения, практический - у "движка" и у "библиотеки" могут быть свои наборы команд и переменных? если да, то как мне, например, чётко найти и создать список отдельно команд и переменных q2proded и отдельно - openffa? Ибо, если я прав и наборы разные, то тогда вывод команды cvarlist перечисляет все переменные в одну кучу. А как получить список команд, кроме как из документации разработчика, я вообще не знаю ) А в документации, бывает, информация устаревает ) Либо вообще кончается документация (как в случае с оригнальным quake2).

P. S. Да, я не люблю когда в голове сумбур, люблю когда всё по полочкам )
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
LitRium
СЕРЫЙ КАРДИНАЛ (ГОПНИК)

   

Зарегистрирован: 18.03.2008
Сообщения: 1005
Откуда: Western Siberia

СообщениеДобавлено: Пт Окт 15, 2010 10:01 pm    Заголовок сообщения: Ответить с цитатой

насколько я помню еще с осп, cvarlist не показывал ключей мода (библиотеки), в разных модах ессно разные команды. Правда, лучше дождаться умного скуллера и получить профессиональный доклад : ).
q2proded это сам сервер, а в чем отличие от quake2 в режиме dedicated мне самому интересно.
Вернуться к началу
LitRium is offline Посмотреть профиль Отправить личное сообщение
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Пт Окт 15, 2010 11:10 pm    Заголовок сообщения: Ответить с цитатой

LitRium писал(а):
q2proded это сам сервер, а в чем отличие от quake2 в режиме dedicated мне самому интересно.

Нет, я там привёл их обоих не для сравнения между собой, отличия понятны и расписаны на странице автора, а как пример обоих-двух в качестве "движков".
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
[SkulleR]
papa

   

Зарегистрирован: 21.11.2003
Сообщения: 467

СообщениеДобавлено: Пт Окт 15, 2010 11:34 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
q2proded поступает иначе (и что это за триггер logfile_flush, который по умолчанию "0" и переменная "logfile_prefix" - у меня этот самый префикс к logfile_name не добавляется)? ибо, например, запускаю я его с "+set logfile 2" а по факту ведёт он себя как "+set logfile 2+buffer", т. е. пишет сначала в буфер, а не сразу в файл и не затирает предыдущий лог.

Сейчас в q2pro сделано так:
logfile_flush 1 — отключает буферизацию
logfile_prefix — добавляется не к имени лога, а к началу каждой строки, записываемой в лог
logfile 2 — дописывает в лог, а не затирает

Цитата:
короче, хочу чтобы [...] была ротация логов

Процессу q2proded можно послать сигнал SIGHUP, что бы тот закрыл лог и открыл его снова. Для ротации текущего лога достаточно переименовать console.log и послать SIGHUP. Автоматически это умеет делать утилита logrotate.

Цитата:
echo "user_password_here" | sudo -H -u amok -S -- /home/amok/quake2/myq2pro

Зачем такие извращения? Обычный su из-под рута в убунте не работает что-ли?

Цитата:
А ни кто до меня не озадачивался написанием грамотно оформленного скрипта для папочки /etc/init.d?

Пока по всей видимости нет... В идеале при установке q2proded из deb-пакета нужно автоматически создавать нового пользователя с домашей директорией где-нибудь в /var/lib, устанавливать init-скрипт и конфиги. Т.е. работы по дебианизации еще много :)

Цитата:
quake2 в режиме dedicated и q2proded - это что? Движки? Т. е. они что делают - обсчитывают физику, отвечают за сетевой протокол, пишут логи и пр.? а что, например, делает тогда библиотека (библиотека, правильно называю?) gamei386.so лежащая в папке openffa

Насчет движков все так. Библиотека «game*.so» — это более высокоуровневый код мода, ответственный за логику игрового процесса.

Цитата:
у "движка" и у "библиотеки" могут быть свои наборы команд и переменных?

Набор переменных у движка и библиотеки общий, набор команд — разный. Да, cvarlist выводит все переменные в одну кучу. Понять, что переменная имеет отношение к моду можно по ее названию — обычно такие переменные начинаются с префикса «g_*», но это не всегда так и зависит от личных предпочтений автора конкретного мода. По историческим причинам некоторые переменные могут не иметь префикса.

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

Есть команда «cmdlist», аналогичная «cvarlist», которая выводит спискок команд движка. Стандартного способа просмотреть список команд мода, которые вызываются командой «sv <команда>», нет.
Вернуться к началу
[SkulleR] is offline Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Amok[MEn]
lpw

   

Зарегистрирован: 14.08.2009
Сообщения: 62

СообщениеДобавлено: Сб Окт 16, 2010 12:02 am    Заголовок сообщения: Ответить с цитатой

Огромное спасибо за развёрнутый и полный ответ! Буду осознавать и изучать.

[SkulleR] писал(а):
Зачем такие извращения? Обычный su из-под рута в убунте не работает что-ли?

Стандартного способа просмотреть список команд мода, которые вызываются командой «sv <команда>», нет.

Набор переменных у движка и библиотеки общий

su требует пароль, причём пароль переданный для него через stdin не авторитет (в отличие от sudo) ) Есть там какие-то махинации по записи учёток в спецобученном файле, чтобы su не просил пароля, мне лень было заморачиваться - искать и пробовать. sudo работает, и ладно. Также, говорят, можно настроить sudoers, чтоб sudo пароль не спрашивала, но пока это не принципиально.

А в сырцах это можно посмотреть? Где?

Дык, а как же отделить мух от котлет. Ну то есть вот дали мне абстрактный движок (с исходниками) и абстрактный мод (с исходниками) - как точно определить все используемые движком и модом переменные? Тоже где-то в сырцах искать?
Вернуться к началу
Amok[MEn] is offline Посмотреть профиль Отправить личное сообщение
[SkulleR]
papa

   

Зарегистрирован: 21.11.2003
Сообщения: 467

СообщениеДобавлено: Сб Окт 16, 2010 12:56 am    Заголовок сообщения: Ответить с цитатой

Цитата:
А в сырцах это можно посмотреть? Где?

g_svcmds.c

Цитата:
как точно определить все используемые движком и модом переменные?

Можно например выполнить «cvarlist» сначала сразу после запуска «голого» сервера, затем после запуска карты (момента загрузки мода) и сравнить результат. Но таким образом не будут учтены общие переменные сервера и мода (например «maxclients»). Точнее будет только чтением исходников или правкой кода сервера, что бы он все используемые модом переменные помечал определенным флагом, и затем распечатывать этот флаг в «cvarlist».
Вернуться к началу
[SkulleR] is offline Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
LitRium
СЕРЫЙ КАРДИНАЛ (ГОПНИК)

   

Зарегистрирован: 18.03.2008
Сообщения: 1005
Откуда: Western Siberia

СообщениеДобавлено: Пн Окт 18, 2010 8:11 am    Заголовок сообщения: Ответить с цитатой

зря я сюда зашел Wink
Вернуться к началу
LitRium is offline Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов http://forum.quake2.com.ru -> q2pro Часовой пояс: GMT + 7
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2005 phpBB Group

File Attachment © by Meik Sievertsen

Anti Bot Question MOD - phpBB MOD against Spam Bots
Заблокировано регистраций / сообщений: 15535 / 0