|
Сервер не стартует из панели и вообще никак не реагирует
Автор |
Сообщение |
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
Подождав для приличия сутки, вынес комментарий в отдельную тему, так как сам комментарий получился большой и ответа на него (почти) не последовало. Возможно, кто-то еще увидит его как тему и чего полезного скажет. Вдруг. Суть ниже. -------------- По прежнему нуждаюсь в помощи. Переставил всё заново - ОС и панель. Игровые сервера и ПУ на одной машине. Чего добился: выяснил, что в /etc/sudoers нужно кроме пользователя, от которого стартует web - сервер (в моем случае это, теоретически, apache, так как при ps aux | grep httpd один из процессов принадлежит root, и тут возникает коллизия - какой смысл root добавлять в /etc/sudoers, поэтому добавил apache), нужно добавить пользователя от которого, стартует игровой сервер. nb: при ps aux | grep apache все процессы принадлежат пользователю apache. Вот пример запуска при условии, что пользователя нет в /etc/sudoers :
bash-4.1$ cd /var/www/games && sudo ./server.sh -t start -d /var/www/games/cs16 -n cstrike_OJiujm_27015 -i 127.0.0.1 -p 27015 -c "./hlds_run -game cstrike +ip 127.0.0.1 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250" -s {net_limit} -f {cpu_limit} -m {ram_limit} -u mygame [sudo] password for mygame: mygame is not in the sudoers file. This incident will be reported.
Вот пример, когда пользователь внесен в /etc/sudoers :
bash-4.1$ cd /var/www/games && sudo ./server.sh -t start -d /var/www/games/cs16 -n cstrike_OJiujm_27015 -i 127.0.0.1 -p 27015 -c "./hlds_run -game cstrike +ip 127.0.0.1 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250" -s {net_limit} -f {cpu_limit} -m {ram_limit} -u mygame Server started
Остановка сервера:
bash-4.1$ cd /var/www/games && sudo ./server.sh -t stop -d /var/www/games/cs16 -n cstrike_OJiujm_27015 -i 127.0.0.1 -p 27015 -c "./hlds_run -game cstrike +ip 127.0.0.1 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250" -s {net_limit} -f {cpu_limit} -m {ram_limit} -u mygame No screen session found. Server stopped
В ПУ игровой сервер установился, однако он никаким образом не реагирует на попытки его запуска: При этом этой же строкой из под пользователя того же, что указан и в ПУ как пользователь, от которого должен запускаться сервер, из консоли сервер запускается (см. выше) Тут возникают вопросы: Первое. Вот здесь ( http://wiki.hldm.org/%D0%92%D1%8B%D0%B4 ... %8B_GameAP ) сказано, что "если ваши игровые серверы располагаются на том же компьютере, что и АдминПанель, то в этом случае добавлять новый выделенный сервер не обязательно, но АдминПанель может работать с локальным сервером как с выделенным (по SSH или Telnet)", однако, когда я добавил игровой сервер выделенный сервер создался сам. Т.е., он таки нужен, этот выделенный сервер? Влияют ли его настройки в этом случае на запуск игровых серверов и нужен ли тогда прописывать доступ по ssh (ведь, теоретически зачем ему доступ, если игровые сервера в соседней папке?). Ниже показываю все его настройки (тут я ничего не трогал, я вообще случайно туда заглянул, так как знал, что никаких выделенных серверов я не создавал): Второе. Такой момент: когда я из консоли стартую сервер, то в ПУ не отображается, что он запущен! Т.е., получается, из панели вообще не видно, что происходит с игровым сервером, иными словами, связи между ПУ и сервером нет? Но с другой стороны ПУ видит, что сервер установлен. Вот тут непонятно. Третье. Опишу как организована вообще работа ПУ с точки зрения web-сервера и пользователей. Пользователю mygame (от которого в настройках игрового сервера я пытаюсь этот сервер запускать) назначена домашней директорией папка /var/www. Начиная с www (и включая её) все вложенные папки и файлы принадлежат пользователю mygame (группа ftpus): Думаю, из скрина всё понятно: сама панель обретается в /var/www/panel.chaleira.in.ua/public_html, игровые сервера в /var/www/games (в этой папке лежит *server.sh, исполняемый), сам игровой сервер - в /var/www/games/cs16. Повторюсь, все это дело принадлежит пользователю mygame, от которого в ПУ пытаюсь запустить сервер. Может, что-то где-то не так с правами, с принадлежностью файлов и папок? Четвертое. Где-то на форуме писалось, что настройка ЛОКАЛЬНОГО сервера происходит в файле /application/config/gameap_config.php. Вот этот файл (но я там ничего не настраивал, как я понял, настройки туда "пришли" из ПУ):
gameap_config.php [----] 0 L:[ 1+31 32/ 34] *(1540/1596b) 0047 0x02F
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
$config['base_url'] = 'http://panel.chaleira.in.ua/'; $config['language'] = 'russian'; $config['template'] <--><------><------><------><------>= 'default';<--><------><------><------><------>// Используемый шаблон (директория в ./application/views) $config['style'] <-----><------><------><------><------><------>= 'default';<--><------><------><------><------>// Используемый стиль для шаблона $config['encryption_key'] = 'HpbNpkrIr7WB';
$config['local_os'] = 'Linux'; $config['local_script_path'] = '/var/www/games'; $config['local_steamcmd_path'] = '/var/www/games';
$config['email_sender_name']<--><------><------>= 'GameAP';<---><------><------><------><------><------>// Имя отправителя писем $config['system_email'] = 'user@gmail.com'; $config['email_change_confirm']><------><------>= true;><------><------><------><------><------><------>// Подверждение смены email
$config['register_users'] <----><------><------><------>= false;<------><------><------><------><------><------>// Разрешить регистрацию пользователей
$config['delete_server_on_reinstall']<->= true;><------><------><------><------><------><------>// Удалять серверы при перезагрузке $config['disable_sftp_search']<><------><------>= false;<------><------><------><------><------><------>// Отключить sftp поиск файлов
$config['captcha_driver']<-----><------><------><------>= 'codeigniter';<------><------><------><------>// Капча
// IP с которых можно авторизоваться под администратором //~ $config['admin_ip']><------><------><------><------>= array('127.0.1.1', '127.0.0.1', '127.0.0.0/12', '133.7.0.0');
// SteamCMD //$config['steamcmd_login']<---><------><------><------>= 'example'; //$config['steamcmd_password']<><------><------>= 'passexample123';
/* End of file gameap_config.php */ /* Location: ./application/config/gameap_config.php */
Пятое. Даю также настройки самого игрового сервера: Вобщем, я пока не могу осилить логику работы ПУ, потому буду рад любой помощи. Если нужно что-то еще показать, какие-то настройки, логи - скажите только, что
|
24 дек 2015, 02:42 |
|
|
GordonFreeman
Специалист
Зарегистрирован: 25 янв 2012, 20:30 Сообщения: 487 Поблагодарили: 19 раз. Откуда: Uzbekistan
|
Цитата: Второе. Такой момент: когда я из консоли стартую сервер, то в ПУ не отображается, что он запущен! Т.е., получается, из панели вообще не видно, что происходит с игровым сервером, иными словами, связи между ПУ и сервером нет? Но с другой стороны ПУ видит, что сервер установлен. Вот тут непонятно. Посмотри ip, порт сервера командой status. Попробуй задать ip 0.0.0.0. Код: <?php
error_reporting(E_ALL); ini_set("display_errors", 1);
$var = exec('whoami',$out);
var_dump($var); var_dump($out);
$var = exec('--- тут команда запуска из логов ---',$out);
var_dump($var); var_dump($out);
?>
|
24 дек 2015, 05:43 |
|
|
Dr.Cheater
Специалист
Зарегистрирован: 10 июн 2012, 07:14 Сообщения: 391 Поблагодарили: 5 раз.
|
Команду можно взять из логов сервера (site.ru/admin/server_control/main/1) или из логов GameAP (site.ru/log_view). Смотреть нужно там, где команда start, что я думаю и так понятно.
|
24 дек 2015, 07:18 |
|
|
Dr.Cheater
Специалист
Зарегистрирован: 10 июн 2012, 07:14 Сообщения: 391 Поблагодарили: 5 раз.
|
И так, вот что я понял. Файл server.sh запускается от рута веб-сервером. Далее, так как в параметрах стоит -u mygame, игровой сервер запустится от пользователя mygame. Поэтому, в sudoers должно быть примерно так: Код: apache ALL = NOPASSWD: /home/server/server.sh apache ALL = NOPASSWD: /home/server/steamcmd.sh Server.sh не должен запускаться от mygame. Также, я в настройках выделенного сервера в параметрах выделенного сервера убрал лимиты, т.к. они почему-то не задаются панелью.
|
24 дек 2015, 07:53 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
Dr.Cheater писал(а): Команду можно взять из логов сервера (site.ru/admin/server_control/main/1) или из логов GameAP (site.ru/log_view). Смотреть нужно там, где команда start, что я думаю и так понятно. эмм, я слабо понял, что вы имели ввиду под указанными путями, но я таки нашел папку server_control {корень ПУ}/application/views/default/server_control но там только default.html с логами GameAP (sute.ru/log_view) пока в процессе )) ищу. хотелось бы более точные координаты логов GameAP получить, если не сложно
|
24 дек 2015, 21:32 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
Dr.Cheater писал(а): И так, вот что я понял. Файл server.sh запускается от рута веб-сервером. Далее, так как в параметрах стоит -u mygame, игровой сервер запустится от пользователя mygame. Поэтому, в sudoers должно быть примерно так: Код: apache ALL = NOPASSWD: /home/server/server.sh apache ALL = NOPASSWD: /home/server/steamcmd.sh Server.sh не должен запускаться от mygame. Также, я в настройках выделенного сервера в параметрах выделенного сервера убрал лимиты, т.к. они почему-то не задаются панелью. в sudoers точно так. исходя из строки запуска server.sh как раз запускается от mygame через sudo, и сервер запускается и останавливается по этой строке запуска, но из консоли. как уже писал выше, ПУ никак не реаширует на эти действия. в самой ПУ указано запускать серверы от mygame, что логично, так как из консоли же оно пускается!
|
24 дек 2015, 21:37 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
GordonFreeman писал(а): Цитата: Второе. Такой момент: когда я из консоли стартую сервер, то в ПУ не отображается, что он запущен! Т.е., получается, из панели вообще не видно, что происходит с игровым сервером, иными словами, связи между ПУ и сервером нет? Но с другой стороны ПУ видит, что сервер установлен. Вот тут непонятно. Посмотри ip, порт сервера командой status. Попробуй задать ip 0.0.0.0. Код: <?php
error_reporting(E_ALL); ini_set("display_errors", 1);
$var = exec('whoami',$out);
var_dump($var); var_dump($out);
$var = exec('--- тут команда запуска из логов ---',$out);
var_dump($var); var_dump($out);
?> со status пока еще не понял, что мне ей нужно вскормить. IP менял на 0.0.0.0, из консоли пускается и останавливается, ПУ как и прежде не реагирует никак. по вашему коду - создал файл в корне ПУ, запустил, вывод ниже, что с этим делать пока не придумал ) string(6) "apache" array(1) { [0]=> string(6) "apache" } string(0) "" array(1) { [0]=> string(6) "apache" }
|
24 дек 2015, 21:39 |
|
|
GordonFreeman
Специалист
Зарегистрирован: 25 янв 2012, 20:30 Сообщения: 487 Поблагодарили: 19 раз. Откуда: Uzbekistan
|
Попробуй установить права 777 и выполнить chmod +x для файла server.sh. status нужно выполнить в консоли запущенного сервера. Включи режим отладки и посмотрите нету ли каких либо сообщений об ошибке при просмотре страницы с серверами. Так-же помню требовалось перезапустить веб-сервер, чтобы изменения sudoers вступили в силу. Вариант добавить выделенный сервер и указать рут ssh данные (хост 127.0.0.1 ну и т.д.) . Если взлетит - проблема с правами )) Цитата: IP менял на 0.0.0.0, из консоли пускается и останавливается, ПУ как и прежде не реагирует никак На сервер можно зайти ?) А ip где менял-то ? Надо в параметрах запуска сервера, команде запуска - {ip} -> 0.0.0.0 В основных параметрах его менять не нужно.
|
24 дек 2015, 23:02 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
GordonFreeman писал(а): Попробуй установить права 777 и выполнить chmod +x для файла server.sh. Права 777 для server.sh и заново установить бит выполнения (он то у меня сейчас и так исполняемый)? GordonFreeman писал(а): status нужно выполнить в консоли запущенного сервера. Давайте определимся в определениях. Я под консолью разумею командную строку самой ОС, т.е., вот я подключился посредством Putty по ssh к своему VDS - вот это вот и есть консоль как я понимаю. А в панели управления, там где Игровые серверы, там тоже есть консоль ) Вы это имеете ввиду? GordonFreeman писал(а): Так-же помню требовалось перезапустить веб-сервер, чтобы изменения sudoers вступили в силу. Ну, сам сервер уже тысячу раз перегружался, к тому же поведение sudoers было выяснено ранее - как только я внес пользователя, от которого запускается игровой сервер в sudoers, он начал запускаться из командной строки без запроса пароля. Кстати, укажите в инструкции, что sudoers нужно править с помощью visudo , иначе при непосредственной правке /etc/sudoers заявляет, что файл поврежден. Про это написано в самом файле вначале, но кто-ж читает комментарии ) GordonFreeman писал(а): Вариант добавить выделенный сервер и указать рут ssh данные (хост 127.0.0.1 ну и т.д.) Выделенный сервре добавился сам, когда я создал игровой сервер с "контрой". Я случайно это обнаружил, так как лично его сам не создавал. Так вот, там в разделе Параметры доступа к серверу -> Протокол управления сервером было указано локально. Я час назад уже начал просто экспериментировать, установил Протокол управления сервером и начал пробовать, сначала установив в разделе SSH данные подключение от пользователя, от которого запускается игровой сервер (в моем случае пользователь mygame), я из Putty подключаюсь по его данным. Сначала я указал 127.0.0.1, затем внешний IP, затем я указал root и 127.0.0.1, и только когда я указал root и внешний IP ПУ при старте игрового сервера сообщила, что сервер запущен (хоть какое-то изменение произошло;) ), при этом, правда, индикатор так и остался красным, выключенным. При попытке перегрузить сервер было сообщение, что Указанный сервер не найден. Еще вот что насыпало в консоль игрового сервера:
There are several suitable screens on: 1629.cstrike_W5cvM7_27015 (Detached) 1868.cstrike_W5cvM7_27015 (Detached) 1924.cstrike_W5cvM7_27015 (Detached) 1745.cstrike_W5cvM7_27015 (Detached) 1799.cstrike_W5cvM7_27015 (Detached) 1692.cstrike_W5cvM7_27015 (Detached) Use -S to specify a session.
На этом какие-то изменения в поведении ПУ закончились. Цитата: IP менял на 0.0.0.0, из консоли пускается и останавливается, ПУ как и прежде не реагирует никак Цитата: На сервер можно зайти ?) А ip где менял-то ? Надо в параметрах запуска сервера, команде запуска - {ip} -> 0.0.0.0 В основных параметрах его менять не нужно. Не, менял в командной строке ОС, попробую - отпишусь.
|
24 дек 2015, 23:39 |
|
|
GordonFreeman
Специалист
Зарегистрирован: 25 янв 2012, 20:30 Сообщения: 487 Поблагодарили: 19 раз. Откуда: Uzbekistan
|
Код: 1629.cstrike_W5cvM7_27015 (Detached) 1868.cstrike_W5cvM7_27015 (Detached) 1924.cstrike_W5cvM7_27015 (Detached) 1745.cstrike_W5cvM7_27015 (Detached) 1799.cstrike_W5cvM7_27015 (Detached) 1692.cstrike_W5cvM7_27015 (Detached) А версия случайно не с github?
|
25 дек 2015, 00:02 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
GordonFreeman писал(а): А версия случайно не с github? нет, с сайта качал
|
25 дек 2015, 01:01 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
Во, смотрите, что обнаружилось - это в Конфигруационных файлах, раннее такого не было (видимо, папка с игровым сервреом стала видна после коннекта по SSH, ваш КО ) файл debug.log CRASH: Thu Dec 24 23:00:29 EET 2015 Start Line: ./hlds_i686 -game cstrike +ip 185.118.164.14 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250
|
25 дек 2015, 01:14 |
|
|
GordonFreeman
Специалист
Зарегистрирован: 25 янв 2012, 20:30 Сообщения: 487 Поблагодарили: 19 раз. Откуда: Uzbekistan
|
Попробуй старую версию server.shЦитата: CRASH: Thu Dec 24 23:00:29 EET 2015 Start Line: ./hlds_i686 -game cstrike +ip 185.118.164.14 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250 А это нужно решать проблемы с твоей сборкой игрового сервера )
|
25 дек 2015, 01:40 |
|
|
punker
Новичок
Зарегистрирован: 18 дек 2015, 23:26 Сообщения: 14 Поблагодарили: 0 раз. Откуда: Днепропетровск
|
GordonFreeman писал(а): Попробуй старую версию server.shЦитата: CRASH: Thu Dec 24 23:00:29 EET 2015 Start Line: ./hlds_i686 -game cstrike +ip 185.118.164.14 +port 27015 +maxplayers 32 +map de_dust2 +sys_ticrate 250 А это нужно решать проблемы с твоей сборкой игрового сервера ) Хм. А не подскажите, где взять чистую и незамутненную .. эмм.. сборку? Дело в том, что собственно в этих играх я совсем не бум-бум, тут племянник просто мучается, а я как-бы за техническую часть )) Если мне еще в эти сборки окунаться, то я, так чувствую, с ними в обнимку и Новый год проведу.
|
25 дек 2015, 02:20 |
|
|
GordonFreeman
Специалист
Зарегистрирован: 25 янв 2012, 20:30 Сообщения: 487 Поблагодарили: 19 раз. Откуда: Uzbekistan
|
punker писал(а): А не подскажите, где взять чистую и незамутненную .. эмм.. сборку? Скачать через SteamCMD? :)
|
25 дек 2015, 08:00 |
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|
|