From 24ccb37caf794b5e970594e5d5354d5aa1ac5d83 Mon Sep 17 00:00:00 2001 From: Sergei Solovev Date: Thu, 7 Dec 2023 22:08:55 +0300 Subject: [PATCH] Update rcon library The xPaw library has been updated and added via composer --- system/library/games/cs/action.php | 11 +++++++++++ system/library/games/cs/rcon.php | 8 ++------ system/library/games/cs/scan.php | 7 ++----- system/library/games/cs/service.php | 4 ++-- system/library/games/cs2/rcon.php | 7 ++----- system/library/games/cs2/scan.php | 7 ++----- system/library/games/cs2/service.php | 4 ++-- system/library/games/csgo/rcon.php | 8 ++------ system/library/games/csgo/scan.php | 7 ++----- system/library/games/csgo/service.php | 4 ++-- system/library/games/css/rcon.php | 8 ++------ system/library/games/css/scan.php | 7 ++----- system/library/games/css/service.php | 4 ++-- system/library/games/cssold/rcon.php | 8 ++------ system/library/games/cssold/scan.php | 7 ++----- system/library/games/cssold/service.php | 4 ++-- system/library/system.php | 3 ++- 17 files changed, 43 insertions(+), 65 deletions(-) diff --git a/system/library/games/cs/action.php b/system/library/games/cs/action.php index 8199dff..c2e9441 100644 --- a/system/library/games/cs/action.php +++ b/system/library/games/cs/action.php @@ -40,6 +40,17 @@ class action extends actions $proc_stat[0] = $ssh->get('cat /proc/stat'); } + // Проверка наличия steamclient.so + $checkLinkCommand = 'ls ' . $tarif['install'] . $server['uid'] . '/.steam/sdk32/steamclient.so'; + $checkLinkOutput = $ssh->get($checkLinkCommand); + + if (strpos($checkLinkOutput, 'steamclient.so') === false) { + // Символическая ссылка отсутствует, создаем ее + $createLinkCommand ='mkdir -p ' . $tarif['install'] . $server['uid'] . '/.steam/sdk32/' . ';' + . 'ln -s /path/cmd/linux32/steamclient.so ' . $tarif['install'] . $server['uid'] . '/.steam/sdk32/'; + $ssh->get($createLinkCommand); + } + // Проверка наличия стартовой карты $ssh->set('cd ' . $tarif['install'] . $server['uid'] . '/cstrike/maps/ && ls | grep .bsp | grep -v .bsp.'); diff --git a/system/library/games/cs/rcon.php b/system/library/games/cs/rcon.php index 62deb70..c48480a 100644 --- a/system/library/games/cs/rcon.php +++ b/system/library/games/cs/rcon.php @@ -2,16 +2,12 @@ if (!DEFINED('EGP')) exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404')); +use xPaw\SourceQuery\SourceQuery; + class rcon { public static function cmd($server, $cmd = 'status') { - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/GoldSourceRcon.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); list($ip, $port) = explode(':', $server['address']); diff --git a/system/library/games/cs/scan.php b/system/library/games/cs/scan.php index 6100d18..7d97c66 100644 --- a/system/library/games/cs/scan.php +++ b/system/library/games/cs/scan.php @@ -4,17 +4,14 @@ if (!DEFINED('EGP')) include(LIB . 'games/scans.php'); +use xPaw\SourceQuery\SourceQuery; + class scan extends scans { public static function mon($id, $players_get = false) { global $cfg, $sql, $html, $mcache; - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); if ($players_get) diff --git a/system/library/games/cs/service.php b/system/library/games/cs/service.php index 90ad244..89ef5ca 100644 --- a/system/library/games/cs/service.php +++ b/system/library/games/cs/service.php @@ -207,14 +207,14 @@ class service } } - $ram = $tarif['param_fix'] ? $aData['ram'] : $cfg['ram']['cs'] * $aSDATA['slots']; + $ram = isset($tarif['param_fix']) ? $aData['ram'] : $cfg['ram']['cs'] * $aData['slots']; // Массив данных $aSDATA = array( 'unit' => $aData['unit'], // идентификатор локации 'tarif' => $aData['tarif'], // идентификатор тарифа 'ram' => $ram, // значение ram - 'param_fix' => $tarif['param_fix'], // фиксированные параметры + 'param_fix' => isset($tarif['param_fix']), // фиксированные параметры 'fps' => $aData['fps'], // значение fps 'pack' => $aData['pack'], // Выбранная сборка для установки 'time' => $aData['time'], // Время аренды diff --git a/system/library/games/cs2/rcon.php b/system/library/games/cs2/rcon.php index cdb53db..8dfda6c 100644 --- a/system/library/games/cs2/rcon.php +++ b/system/library/games/cs2/rcon.php @@ -2,15 +2,12 @@ if (!DEFINED('EGP')) exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404')); +use xPaw\SourceQuery\SourceQuery; + class rcon { public static function cmd($server, $cmd = 'status') { - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceRcon.php'); - include(LIB . 'games/query/SourceQuery.php'); $sq = new SourceQuery(); diff --git a/system/library/games/cs2/scan.php b/system/library/games/cs2/scan.php index 7b05130..253c736 100644 --- a/system/library/games/cs2/scan.php +++ b/system/library/games/cs2/scan.php @@ -4,17 +4,14 @@ if (!DEFINED('EGP')) include(LIB . 'games/scans.php'); +use xPaw\SourceQuery\SourceQuery; + class scan extends scans { public static function mon($id, $players_get = false) { global $cfg, $sql, $html, $mcache; - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); if ($players_get) diff --git a/system/library/games/cs2/service.php b/system/library/games/cs2/service.php index 090f736..1a06370 100644 --- a/system/library/games/cs2/service.php +++ b/system/library/games/cs2/service.php @@ -208,14 +208,14 @@ class service } } - $ram = $tarif['param_fix'] ? $aData['ram'] : $cfg['ram']['cs2'] * $aSDATA['slots']; + $ram = isset($tarif['param_fix']) ? $aData['ram'] : $cfg['ram']['cs2'] * $aData['slots']; // Массив данных $aSDATA = array( 'unit' => $aData['unit'], // идентификатор локации 'tarif' => $aData['tarif'], // идентификатор тарифа 'ram' => $ram, // значение ram - 'param_fix' => $tarif['param_fix'], // фиксированные параметры + 'param_fix' => isset($tarif['param_fix']), // фиксированные параметры 'tickrate' => $aData['tickrate'], // значение tickrate 'pack' => $aData['pack'], // Выбранная сборка для установки 'time' => $aData['time'], // Время аренды diff --git a/system/library/games/csgo/rcon.php b/system/library/games/csgo/rcon.php index 17a7510..e9fa4a4 100644 --- a/system/library/games/csgo/rcon.php +++ b/system/library/games/csgo/rcon.php @@ -2,16 +2,12 @@ if (!DEFINED('EGP')) exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404')); +use xPaw\SourceQuery\SourceQuery; + class rcon { public static function cmd($server, $cmd = 'status') { - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceRcon.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); list($ip, $port) = explode(':', $server['address']); diff --git a/system/library/games/csgo/scan.php b/system/library/games/csgo/scan.php index e74c779..bea8f9e 100644 --- a/system/library/games/csgo/scan.php +++ b/system/library/games/csgo/scan.php @@ -4,17 +4,14 @@ if (!DEFINED('EGP')) include(LIB . 'games/scans.php'); +use xPaw\SourceQuery\SourceQuery; + class scan extends scans { public static function mon($id, $players_get = false) { global $cfg, $sql, $html, $mcache; - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); if ($players_get) diff --git a/system/library/games/csgo/service.php b/system/library/games/csgo/service.php index 61d026c..59a40dc 100644 --- a/system/library/games/csgo/service.php +++ b/system/library/games/csgo/service.php @@ -208,14 +208,14 @@ class service } } - $ram = $tarif['param_fix'] ? $aData['ram'] : $cfg['ram']['csgo'] * $aSDATA['slots']; + $ram = isset($tarif['param_fix']) ? $aData['ram'] : $cfg['ram']['csgo'] * $aData['slots']; // Массив данных $aSDATA = array( 'unit' => $aData['unit'], // идентификатор локации 'tarif' => $aData['tarif'], // идентификатор тарифа 'ram' => $ram, // значение ram - 'param_fix' => $tarif['param_fix'], // фиксированные параметры + 'param_fix' => isset($tarif['param_fix']), // фиксированные параметры 'tickrate' => $aData['tickrate'], // значение tickrate 'pack' => $aData['pack'], // Выбранная сборка для установки 'time' => $aData['time'], // Время аренды diff --git a/system/library/games/css/rcon.php b/system/library/games/css/rcon.php index e5e4f18..b4e7cbb 100644 --- a/system/library/games/css/rcon.php +++ b/system/library/games/css/rcon.php @@ -2,16 +2,12 @@ if (!DEFINED('EGP')) exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404')); +use xPaw\SourceQuery\SourceQuery; + class rcon { public static function cmd($server, $cmd = 'status') { - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceRcon.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); list($ip, $port) = explode(':', $server['address']); diff --git a/system/library/games/css/scan.php b/system/library/games/css/scan.php index 9bf2fef..60b3cb2 100644 --- a/system/library/games/css/scan.php +++ b/system/library/games/css/scan.php @@ -4,17 +4,14 @@ if (!DEFINED('EGP')) include(LIB . 'games/scans.php'); +use xPaw\SourceQuery\SourceQuery; + class scan extends scans { public static function mon($id, $players_get = false) { global $cfg, $sql, $html, $mcache; - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); if ($players_get) diff --git a/system/library/games/css/service.php b/system/library/games/css/service.php index 618b12f..5d1c994 100644 --- a/system/library/games/css/service.php +++ b/system/library/games/css/service.php @@ -208,14 +208,14 @@ class service } } - $ram = $tarif['param_fix'] ? $aData['ram'] : $cfg['ram']['css'] * $aSDATA['slots']; + $ram = isset($tarif['param_fix']) ? $aData['ram'] : $cfg['ram']['css'] * $aData['slots']; // Массив данных $aSDATA = array( 'unit' => $aData['unit'], // идентификатор локации 'tarif' => $aData['tarif'], // идентификатор тарифа 'ram' => $ram, // значение ram - 'param_fix' => $tarif['param_fix'], // фиксированные параметры + 'param_fix' => isset($tarif['param_fix']), // фиксированные параметры 'tickrate' => $aData['tickrate'], // значение tickrate 'pack' => $aData['pack'], // Выбранная сборка для установки 'time' => $aData['time'], // Время аренды diff --git a/system/library/games/cssold/rcon.php b/system/library/games/cssold/rcon.php index 27cc5bd..b43686b 100644 --- a/system/library/games/cssold/rcon.php +++ b/system/library/games/cssold/rcon.php @@ -2,16 +2,12 @@ if (!DEFINED('EGP')) exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404')); +use xPaw\SourceQuery\SourceQuery; + class rcon { public static function cmd($server, $cmd = 'status') { - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceRcon.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); list($ip, $port) = explode(':', $server['address']); diff --git a/system/library/games/cssold/scan.php b/system/library/games/cssold/scan.php index 9bf2fef..60b3cb2 100644 --- a/system/library/games/cssold/scan.php +++ b/system/library/games/cssold/scan.php @@ -4,17 +4,14 @@ if (!DEFINED('EGP')) include(LIB . 'games/scans.php'); +use xPaw\SourceQuery\SourceQuery; + class scan extends scans { public static function mon($id, $players_get = false) { global $cfg, $sql, $html, $mcache; - include(LIB . 'games/query/Buffer.php'); - include(LIB . 'games/query/BaseSocket.php'); - include(LIB . 'games/query/Socket.php'); - include(LIB . 'games/query/SourceQuery.php'); - $sq = new SourceQuery(); if ($players_get) diff --git a/system/library/games/cssold/service.php b/system/library/games/cssold/service.php index 6b663a7..58cbd75 100644 --- a/system/library/games/cssold/service.php +++ b/system/library/games/cssold/service.php @@ -215,14 +215,14 @@ class service } } - $ram = $tarif['param_fix'] ? $aData['ram'] : $cfg['ram']['cssold'] * $aSDATA['slots']; + $ram = isset($tarif['param_fix']) ? $aData['ram'] : $cfg['ram']['cssold'] * $aData['slots']; // Массив данных $aSDATA = array( 'unit' => $aData['unit'], // идентификатор локации 'tarif' => $aData['tarif'], // идентификатор тарифа 'ram' => $ram, // значение ram - 'param_fix' => $tarif['param_fix'], // фиксированные параметры + 'param_fix' => isset($tarif['param_fix']), // фиксированные параметры 'tickrate' => $aData['tickrate'], // значение tickrate 'fps' => $aData['fps'], // значение fps 'pack' => $aData['pack'], // Выбранная сборка для установки diff --git a/system/library/system.php b/system/library/system.php index 463ce9f..fd9f33b 100644 --- a/system/library/system.php +++ b/system/library/system.php @@ -1151,8 +1151,9 @@ class sys $cache = $ctrl ? sys::buttons($id, $data['status'], $data['game'], $ctrl) : sys::buttons($id, $data['status'], $data['game']); - if (isset($data['players'])) + if (isset($data['players']) && is_array($data['players'])) { $cache['players'] = $data['players']; + } $mcache->set($nmch, $cache, false, 5);