Иконка ресурса

Не поддерживается SteamID Protect with SourceBans 1.0

Обратите внимание: этот ресурс не поддерживается разработчиком.
Поддерживаемые игры
  1. CS: Source (OrangeBox)
  2. CS: Source (v34)
Защищает Ваш админский стим ид от подмены, путем логина и пароля из таблицы системы SourceBans.

Перед тем как зайти нужно написать в консоли, либо сразу закинуть в autoexec.cfg:
setinfo <1> <2>, где 1 - это Ваш логин в системе, 2 - пароль.
Хочу заметить, что пароль не от учетной записи, а тот, который Вы введете в детальных настройках админа после установки.

Установка:
Ну, во-первых, файлы плагина нужно раскидать по папкам. Думаю, что ни у кого трудностей с этим не выйдет.
В databases.cfg нужно добавить:
PHP:
"Protect"
{
    "driver"            "mysql"
    "database"            "Ваша база SB"
    "user"                "Ваш логин от базы"
    "pass"                "Ваш пароль от базы"
}
Во-вторых, веб часть. Договоримся, что картинки, на которые я буду ссылаться, находятся в архиве в папке image.
Предисловие. Почему нельзя просто использовать пароль от учетной записи системы? Все очень просто: Одинаковые пароли уже не есть хорошо; в серверной части недоступен механизм шифрования, который используется разрабами для шифрования пароля (sha1), но зато доступен другой. Мы будем использовать md5 + соль.
Для начала, отредактируем таблицу "sb_admins", добавив новое поле "protect", в котором и будет хранится наш пароль. Тип - varchar, размер - 128. В Navicat`е это выглядит как на картинке 1.
Далее, нужно изменить файлы системы, чтобы можно было устанавливать пароль. Как это сделать есть в архиве в текстовом файле Task.txt, но я продублирую и тут.

Открываем файл шаблона с названием page_admin_edit_admins_details.tpl.
Через поиск (Ктрл+ф3) находим {/if} и вставляем ПЕРЕД ним код:
C-подобный:
<tr>
    <tr>
    <td valign="top"><div class="rowdesc">{help_icon title="Protect Steamid" message="Type your password again to confirm."}SteamId Protect</div></td>
    <td>
    <div align="left">
        <input type="password" class="submit-fields" id="protect" name="protect" />
    </div>
</tr>
Открываем includes/СUserManager.php.
После функции encrypt_password, на всякий случай ее код:
C-подобный:
function encrypt_password($password, $salt=SB_SALT)
{
    return sha1(sha1($salt . $password));
}
Вставляем похожую функцию:
C-подобный:
function encrypt_password2($password, $salt, $salt1)
{
    return md5($password . $salt . $salt1);
}
Самые большие изменения потерпит файл admin.edit.admindetails.php, что находится в папке pages.

ПЕРЕД:
C-подобный:
    }
   
    // Only proceed, if there are no errors in the form
    if($error == 0)
    {
Вставляем
C-подобный:
if(!empty($_POST['protect']))
{
    $protect_changed = true;
    if(strlen($_POST['protect']) < 3)
    {
        $error++;
        $errorScript .= "$('protect.msg').innerHTML = 'Your password must be at-least 3 characters long.';";
        $errorScript .= "$('protect.msg').setStyle('display', 'block');";
    }
}
ПЕРЕД
C-подобный:
 // set the basic fields
$edit = $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_admins SET
                            `user` = ?, `authid` = ?, `email` = ?
                            WHERE `aid` = ?", array($a_name, $a_steam, $a_email, $_GET['id']));
Дописываем:
C-подобный:
if($protect_changed)
{
    $name = $_POST['adminname'];
    $edit = $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_admins SET
                            `protect` = ?
                            WHERE `aid` = ?", array($userbank->encrypt_password2($_POST['protect'], $name[0], $name[2]), $_GET['id']));
}
И последний простенький шаг: ПОСЛЕ
C-подобный:
$serverpw_changed = false;
рисуем
C-подобный:
$protect_changed = false;

Хочу подчеркнуть, что "готовые файлы" в архиве сделаны из свежескаченной сборки с сайта разработчиков, но тем не менее, возможно, Вам помогут разобраться.


Ничего сложного нет, если включить голову. В итоге у нас появится штука, изображенная на рисунке 2. Это и есть наш пароль, который нужно писать в клиенте

P.S.И еще кое что. Я протестировал плагин только на OB версии CSS и он 100% работает. Владельцам серверов более старой версии просьба проверить у себя, т.к. в основном он будет полезен именно для Вас. Предложения, замечания и критика приветствуются в разумной мере.
Требования
Требования:

Поддерживаются игры:
  • Только CS: Source
Переменные
ps_ban - При "1" будет банить тех, кто попытался зайти с подменой. Бан по IP.
ps_ban_time - Длительность бана в минутах. Не имеет смысла ставить 0, так как далеко не у всех статичный IP. Это лишь усложнит жизнь "мего-хацкеру".
ps_logs_dir - директория логов относительно cstrike. Каждый день там будет появлятся файл и будут совершаться записи о успешном или не очень заходе админов на сервер.
ps_serverid - сервер ID для этого сервера. Находится в cfg системы. Я не совсем понял структуру, но вроде бы если -1, то все админы, что зареганы в SB имеют там админ права. Если иное число, то только те админы, у которых стоит "галочка" напротив этого сервера в SB. Поправьте, если не прав.
Автор
Impulse72
Скачивания
61
Просмотры
492
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Impulse72

Сверху Снизу