gameap-legacy icon indicating copy to clipboard operation
gameap-legacy copied to clipboard

Панель не видит установленный пакет php-ssh2, больше универсальности для панели!

Open Krysinski opened this issue 7 years ago • 5 comments

Панель не видит установленный пакет php-ssh2, также не меняет настройки пути к скрипту и выставляет всегда в режиме local /home/servers. Версия панели 1.1.0 с сайта февраль 2017. ОС Дебиан 8.

Krysinski avatar Jul 30 '17 17:07 Krysinski

Путь на локальном сервере указывается в application/config/gameap_config.php

serfreeman1337 avatar Aug 14 '17 20:08 serfreeman1337

Спс, уже нашел. Первый вопрос остался в силе, но не особо важен. Я дополнил server.sh, он перекидывает управление на отдельные скрипты для майнкрафта, так как нужен независимый от панели контроль по ssh. Плюс есть возможность перехватывать определенные команды в консоль сервера и выполнять их в отдельном скрипте, очень полезная штука. Нашел как отключить невозможность отправки команды в консоль если сервер "выключен": server_control.php * Отправка ркон команды на сервер public function send_command($server_id = false) { if (!$server_id) { show_404(); } if (false == $this->servers->get_server_data($server_id)) { show_404(); } // Получение прав на сервер $this->users->get_server_privileges($this->servers->server_data['id']); if (!$this->users->auth_data['is_admin'] && !$this->users->auth_servers_privileges['RCON_SEND']) { show_404(); } $this->form_validation->set_rules('command', 'rcon command', 'trim|required|max_length[64]|min_length[1]|xss_clean'); if($this->form_validation->run() == false){ show_404(); } $rcon_command = $this->input->post('command'); if(!$this->servers->server_status($this->servers->server_data['server_ip'], $this->servers->server_data['query_port'])) { $this->output->append_output('Server is down'); // Krysinski фикс невозможности отправки команды на "выключенный" сервер // return false; } Есть еще сервер контроля клиентов sashok724, работает в скрине, также запускается и управляется по спец скрипту. Но вот статус этого процесса в панели: выкл. Никак не нашел как изменить способ получения статуса "онлайн", хотя в server.sh эта функция присутствует, но видать не используется в самой панели. Вот был бы вариант настройки определения активности сервера, то панель превратилась бы в панель управления любыми процессами. Если есть желание допилить это чудо, то готов помочь с переводом server.sh с убогого скрина, который не может дампить в файл русcкие символы на tmux.

Krysinski avatar Aug 14 '17 20:08 Krysinski

Панель проверяет онлайн сервера через Query запросы, а как еще можно проверить что сервер работает и не завис ?

ssh, screen, rcon, ftp все вместе https://github.com/GameAP/GDaemon2

осталось только понять как собрать и подключить к панели хд

serfreeman1337 avatar Aug 14 '17 20:08 serfreeman1337

Можно проверить как и сделано в server.sh:

  1. наличием скрина по указанному имени
  2. наличием запущенного процесса по pid или имени Но этого не достаточно, согласен. У меня давно назрел вопрос, как написать проверку процесса на активность в bash. Единственное, что приходит в голову: отсылать команду процессу в скрине и ловить ответ где-нибудь в файле, исходя из ответа действовать дальше.

Krysinski avatar Aug 14 '17 20:08 Krysinski

)) там же скрипт "сборки" есть https://github.com/GameAP/GDaemon2/blob/master/build-deb.sh

Krysinski avatar Aug 14 '17 20:08 Krysinski