Material Admin

[v1.1.5.4] Material Admin - рефорк SB++ 1.5.4.7

Alesher

Участник
Сообщения
121
Реакции
8
sb_debug_connection.php пробовали запускать? Игра какая?
C-подобный:
<?php
// *************************************************************************
//  This file is part of SourceBans++.
//
//  Copyright (C) 2014-2016 Sarabveer Singh <me@sarabveer.me>
//
//  SourceBans++ is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, per version 3 of the License.
//
//  SourceBans++ is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with SourceBans++. If not, see <http://www.gnu.org/licenses/>.
//
//  This file is based off work covered by the following copyright(s): 
//
//   SourceBans 1.4.11
//   Copyright (C) 2007-2015 SourceBans Team - Part of GameConnect
//   Licensed under GNU GPL version 3, or later.
//   Page: <http://www.sourcebans.net/> - <https://github.com/GameConnect/sourcebansv1>
//
// *************************************************************************
/**
 * SourceBans "Error Connecting()" Debug
 * Checks for the ports being forwarded correctly
 */

/**
 * Конфиг
 * Смените IP и порт, если хотите протестировать соединение.
 */
$serverip = "";
$serverport = 27015;
$serverrcon = ""; // Указывайте RCON-пароль, если хотите проверить так же возможность управления сервером из веб-панели SourceBans


/******* Ничего не изменяйте после этой линии *******/
header("Content-Type: text/plain");

if(empty($serverip) || empty($serverport))
    die('[-] Не указана информация о сервере. Откройте текстовым редактором этот файл, пропишите в нём IP и порт, сохраните и загрузите обратно на сервер.');

echo '[+] SourceBans "DebugConnection()" запущен для сервера ' . $serverip . ':' . $serverport . "\n\n";

// Попытаемся установить соединение
echo '[+] Открываю UDP-сокет...'.PHP_EOL;
$sock = @fsockopen("udp://" . $serverip, $serverport, $errno, $errstr, 2);

$isBanned = false;

if(!$sock)
    echo '[-] Ошибка соединения. #' . $errno . ': ' . $errstr . PHP_EOL;
else {
    echo '[+] UDP-соединение успешно установлено!'.PHP_EOL;

    stream_set_timeout($sock, 1);

    // Попытаемся получить информацию у сервера
    echo '[+] Записываю запрос в сокет..'.PHP_EOL;
    if(fwrite($sock, "\xFF\xFF\xFF\xFF\x54Source Engine Query\0") === false)
        echo '[-] Ошибка записи.'.PHP_EOL;
    else {
        echo '[+] Запрос успешно записан в сокет. (Это не означает, что с соединением всё в порядке.) Читаю ответ...'.PHP_EOL;
        $packet = fread($sock, 1480);

        if(empty($packet))
            echo '[-] Ошибка при получении информации о сервере. Не удаётся прочитать UDP-соединение. Порт заблокирован.'.PHP_EOL;
        else {
            if(substr($packet, 5, (strpos(substr($packet, 5), "\0")-1)) == "Banned by server") {
                printf('[-] Ответ получен, но веб-сервер заблокирован. Удалите блокировку с сервера (removeip %s), и повторите попытку.%s', $_SERVER['SERVER_ADDR'], PHP_EOL);
                $isBanned = true;
            } else {
                $packet = substr($packet, 6);
                $hostname = substr($packet, 0, strpos($packet, "\0"));
                echo '[+] Ответ получен! Сервер: ' . $hostname . PHP_EOL;
            }
        }
    }
    fclose($sock);
}

echo PHP_EOL;

// Проверим на доступность и записываемость TCP-соединения
echo '[+] Попытка установить TCP-соединение...'.PHP_EOL;
$sock = @fsockopen($serverip, $serverport, $errno, $errstr, 2);
if(!$sock)
    echo '[-] Ошибка соединения. #' . $errno . ': ' . $errstr . PHP_EOL;
else
{
    echo '[+] TCP-соединение успешно установлено!'.PHP_EOL;
    if(empty($serverrcon))
        echo '[o] Прерываю работу. RCON-пароль не установлен.';
    else if($isBanned)
        echo '[o] Прерываю работу. Сервер находится в блокировке.';
    else {
        stream_set_timeout($sock, 2);
        $data = pack("VV", 0, 03) . $serverrcon . chr(0) . '' . chr(0);
        $data = pack("V", strlen($data)) . $data;

        echo '[+] Пытаюсь записать в TCP-сокет и произвести авторизацию...'.PHP_EOL;

        if(fwrite($sock, $data, strlen($data)) === false)
            echo '[-] Ошибка записи.'.PHP_EOL;
        else {
            echo '[+] Запрос авторизации успешно записан. Читаю ответ...'.PHP_EOL;
            $size = fread($sock, 4);
            if(!$size)
                echo '[-] Ошибка чтения.'.PHP_EOL;
            else {
                echo '[+] Ответ получен!'.PHP_EOL;
                $size = unpack('V1Size', $size);
                $packet = fread($sock, $size["Size"]);
                $size = fread($sock, 4);
                $size = unpack('V1Size', $size);
                $packet = fread($sock, $size["Size"]);
                $ret = unpack("V1ID/V1Reponse/a*S1/a*S2", $packet);
                if(empty($ret) || (isset($ret['ID']) && $ret['ID'] == -1))
                    echo '[-] RCON-пароль задан неверный ;) Не пытайтесь и дальше производить попытки, иначе ваш веб-сервер "улетит" в бан.';
                else
                    echo '[+] Пароль задан правильно!';
            }
        }
    }
    fclose($sock);
}
?>

Игра ксго
Сообщения автоматически склеены:

Как написано в ошибке, порт заблокирован, но как он может быть заблокирован, если я спокойно отправлю информацию на другой сервер с таким же портом
 

kilroy

:clown:
Сообщения
1,065
Реакции
606
C-подобный:
<?php
// *************************************************************************
//  This file is part of SourceBans++.
//
//  Copyright (C) 2014-2016 Sarabveer Singh <me@sarabveer.me>
//
//  SourceBans++ is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, per version 3 of the License.
//
//  SourceBans++ is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with SourceBans++. If not, see <http://www.gnu.org/licenses/>.
//
//  This file is based off work covered by the following copyright(s):
//
//   SourceBans 1.4.11
//   Copyright (C) 2007-2015 SourceBans Team - Part of GameConnect
//   Licensed under GNU GPL version 3, or later.
//   Page: <http://www.sourcebans.net/> - <https://github.com/GameConnect/sourcebansv1>
//
// *************************************************************************
/**
* SourceBans "Error Connecting()" Debug
* Checks for the ports being forwarded correctly
*/

/**
* Конфиг
* Смените IP и порт, если хотите протестировать соединение.
*/
$serverip = "";
$serverport = 27015;
$serverrcon = ""; // Указывайте RCON-пароль, если хотите проверить так же возможность управления сервером из веб-панели SourceBans


/******* Ничего не изменяйте после этой линии *******/
header("Content-Type: text/plain");

if(empty($serverip) || empty($serverport))
    die('[-] Не указана информация о сервере. Откройте текстовым редактором этот файл, пропишите в нём IP и порт, сохраните и загрузите обратно на сервер.');

echo '[+] SourceBans "DebugConnection()" запущен для сервера ' . $serverip . ':' . $serverport . "\n\n";

// Попытаемся установить соединение
echo '[+] Открываю UDP-сокет...'.PHP_EOL;
$sock = @fsockopen("udp://" . $serverip, $serverport, $errno, $errstr, 2);

$isBanned = false;

if(!$sock)
    echo '[-] Ошибка соединения. #' . $errno . ': ' . $errstr . PHP_EOL;
else {
    echo '[+] UDP-соединение успешно установлено!'.PHP_EOL;

    stream_set_timeout($sock, 1);

    // Попытаемся получить информацию у сервера
    echo '[+] Записываю запрос в сокет..'.PHP_EOL;
    if(fwrite($sock, "\xFF\xFF\xFF\xFF\x54Source Engine Query\0") === false)
        echo '[-] Ошибка записи.'.PHP_EOL;
    else {
        echo '[+] Запрос успешно записан в сокет. (Это не означает, что с соединением всё в порядке.) Читаю ответ...'.PHP_EOL;
        $packet = fread($sock, 1480);

        if(empty($packet))
            echo '[-] Ошибка при получении информации о сервере. Не удаётся прочитать UDP-соединение. Порт заблокирован.'.PHP_EOL;
        else {
            if(substr($packet, 5, (strpos(substr($packet, 5), "\0")-1)) == "Banned by server") {
                printf('[-] Ответ получен, но веб-сервер заблокирован. Удалите блокировку с сервера (removeip %s), и повторите попытку.%s', $_SERVER['SERVER_ADDR'], PHP_EOL);
                $isBanned = true;
            } else {
                $packet = substr($packet, 6);
                $hostname = substr($packet, 0, strpos($packet, "\0"));
                echo '[+] Ответ получен! Сервер: ' . $hostname . PHP_EOL;
            }
        }
    }
    fclose($sock);
}

echo PHP_EOL;

// Проверим на доступность и записываемость TCP-соединения
echo '[+] Попытка установить TCP-соединение...'.PHP_EOL;
$sock = @fsockopen($serverip, $serverport, $errno, $errstr, 2);
if(!$sock)
    echo '[-] Ошибка соединения. #' . $errno . ': ' . $errstr . PHP_EOL;
else
{
    echo '[+] TCP-соединение успешно установлено!'.PHP_EOL;
    if(empty($serverrcon))
        echo '[o] Прерываю работу. RCON-пароль не установлен.';
    else if($isBanned)
        echo '[o] Прерываю работу. Сервер находится в блокировке.';
    else {
        stream_set_timeout($sock, 2);
        $data = pack("VV", 0, 03) . $serverrcon . chr(0) . '' . chr(0);
        $data = pack("V", strlen($data)) . $data;

        echo '[+] Пытаюсь записать в TCP-сокет и произвести авторизацию...'.PHP_EOL;

        if(fwrite($sock, $data, strlen($data)) === false)
            echo '[-] Ошибка записи.'.PHP_EOL;
        else {
            echo '[+] Запрос авторизации успешно записан. Читаю ответ...'.PHP_EOL;
            $size = fread($sock, 4);
            if(!$size)
                echo '[-] Ошибка чтения.'.PHP_EOL;
            else {
                echo '[+] Ответ получен!'.PHP_EOL;
                $size = unpack('V1Size', $size);
                $packet = fread($sock, $size["Size"]);
                $size = fread($sock, 4);
                $size = unpack('V1Size', $size);
                $packet = fread($sock, $size["Size"]);
                $ret = unpack("V1ID/V1Reponse/a*S1/a*S2", $packet);
                if(empty($ret) || (isset($ret['ID']) && $ret['ID'] == -1))
                    echo '[-] RCON-пароль задан неверный ;) Не пытайтесь и дальше производить попытки, иначе ваш веб-сервер "улетит" в бан.';
                else
                    echo '[+] Пароль задан правильно!';
            }
        }
    }
    fclose($sock);
}
?>

Игра ксго
Сообщения автоматически склеены:

Как написано в ошибке, порт заблокирован, но как он может быть заблокирован, если я спокойно отправлю информацию на другой сервер с таким же портом
И зачем вы скинули сам скрипт? Поставьте свои данные в скрипт и запустите его, а результат кидайте сюда.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #4,624
Как написано в ошибке, порт заблокирован, но как он может быть заблокирован, если я спокойно отправлю информацию на другой сервер с таким же портом
Хостинг случайно не Арена/кв-серв?
 

dmc116

Участник
Сообщения
245
Реакции
13
При попытке обновить информацию об администраторе на одном сервере пишет ошибка соединения, а на другом сервере нормально, причем порты одинаковы и это никак не связано с ними
Проверь RCON пароль
 

rus0707

Участник
Сообщения
326
Реакции
43
привет всем если на админку установлен пароль на сервере как ему надо активировать админку через какую команду?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #4,630
если на админку установлен пароль на сервере как ему надо активировать админку через какую команду
Через стандартный SM'овский функционал.
Перед подключением, пароль вводится через setinfo.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #4,634
Уже не смешно даже, если честно. Особенно учитывая тот момент, что ранее в этой теме я уже демонстрировал, как.
setinfo VAR "Пароль", где VAR - значение PassInfoVar из /addons/sourcemod/configs/core.cfg.
 

rus0707

Участник
Сообщения
326
Реакции
43
Уже не смешно даже, если честно. Особенно учитывая тот момент, что ранее в этой теме я уже демонстрировал, как.
setinfo VAR "Пароль", где VAR - значение PassInfoVar из /addons/sourcemod/configs/core.cfg.


{
"auth" "steam"
"identity" "STEAM_1:0:87173572"
"flags" "abcdj"
"group" "moder_server"
"password" "1234"
"immunity" "10"
"expire" "1573653665"
"setingsadmin" "0"
"unbanmute" "0"
}

вот добавил через веб страничку



как ему активировать админку в игре?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #4,636
как ему активировать админку в игре?
setinfo VAR "1234"
где VAR - значение PassInfoVar из /addons/sourcemod/configs/core.cfg.
Эта настройка обязательно должна быть изменена. Со стандартным значением, SM игнорирует все полученные пароли, о чём сказано по ссылке, которую я привёл выше.
 

Dimmer

Юзерок
Сообщения
192
Реакции
25
Проблема с MA , часто стали жаловаться админы, что либо админ меню не работает, либо в меню нет пункта управления блокировками, стало возможно после добавления карт, раньше была 1 и не менялась, а теперь их 3 и они меняются, есть вариант, что после смены карты как то что то меняется, но это не точно 118 "Material Admin" (0.3.4 beta) by Material Admin Dev Team
 

rus0707

Участник
Сообщения
326
Реакции
43
setinfo VAR "1234"

Эта настройка обязательно должна быть изменена. Со стандартным значением, SM игнорирует все полученные пароли, о чём сказано по ссылке, которую я привёл выше.
прописал сюда core.cfg вот эти значение 1234
C-подобный:
    /**
     * Password setinfo key that clients must set.  You must change this in order for
     * passwords to work, for security reasons.
     */
    "PassInfoVar"            "1234"

до захода модер в кансоли в бил вот это setinfo VAR "1234"
модер заходит в игру а админки нету
 
Сверху Снизу