По прежнему нуждаюсь в помощи.
Переставил всё заново - ОС и панель. Игровые сервера и ПУ на одной машине. screen установлен.
Чего добился: выяснил, что в
/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 */
Пятое. Даю также настройки самого игрового сервера:
Вобщем, я пока не могу осилить логику работы ПУ, потому буду рад любой помощи. Если нужно что-то еще показать, какие-то настройки, логи - скажите только, что
С Уважением, punker