Сообщения без ответов | Активные темы Текущее время: 23 ноя 2024, 14:21



Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Сервер не стартует из панели и вообще никак не реагирует 
Автор Сообщение
Новичок

Зарегистрирован:
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
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
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
Профиль ICQ WWW
Специалист
Аватара пользователя

Зарегистрирован:
10 июн 2012, 07:14
Сообщения: 391
Поблагодарили: 5 раз.
Команду можно взять из логов сервера (site.ru/admin/server_control/main/1) или из логов GameAP (site.ru/log_view). Смотреть нужно там, где команда start, что я думаю и так понятно.


24 дек 2015, 07:18
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
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
Профиль
Новичок

Зарегистрирован:
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
Профиль
Новичок

Зарегистрирован:
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
Профиль
Новичок

Зарегистрирован:
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
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
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
Профиль ICQ WWW
Новичок

Зарегистрирован:
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
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
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
Профиль ICQ WWW
Новичок

Зарегистрирован:
18 дек 2015, 23:26
Сообщения: 14
Поблагодарили: 0 раз.
Откуда: Днепропетровск
GordonFreeman писал(а):
А версия случайно не с github?

нет, с сайта качал


25 дек 2015, 01:01
Профиль
Новичок

Зарегистрирован:
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
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
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
Профиль ICQ WWW
Новичок

Зарегистрирован:
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
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
25 янв 2012, 20:30
Сообщения: 487
Поблагодарили: 19 раз.
Откуда: Uzbekistan
punker писал(а):
А не подскажите, где взять чистую и незамутненную .. эмм.. сборку?

Скачать через SteamCMD? :)


25 дек 2015, 08:00
Профиль ICQ WWW
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 17 ]  На страницу 1, 2  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron


HLDM.ORG 2011-2013