Unified Admin System

smx core Unified Admin System 1.0.0.8

Нет прав для скачивания
Установка
  1. Скачать дистрибутив UAS.
  2. Распаковать в любую удобную папку.
  3. Установить соединение с СУБД MySQL, импортировать файл database/setup.sql
  4. Заполнить СУБД необходимыми записями.
  5. В addons/sourcemod/configs/databases.cfg на необходимом сервере добавить конфигурацию подключения:
    Код:
    "uas"
    {
    // Драйвер СУБД
    "driver" "mysql"
    
    // Адрес сервера
    "host" "192.168.233.1"
    "port" "3306"
    
    // Креденшиалы
    "user" "uas"
    "pass" "2nuGxEJt8iY5G$9od92zFJgT*B5#p~YSAMKv"
    "database" "g44_uas"
    }
  6. В addons/sourcemod/configs/uas.cfg придумать и установить серверу server.id, при желании (рекомендуется) так же заполнить адрес, порт и хостнейм. Если возможны конфликты с любыми иными загрузчиками админов на время установки и настройки - настроить group_prefix.
  7. Скомпилировать плагин.
  8. Загрузить плагин на удалённый сервер вместе с файлом конфигурации.
  9. Выполнить загрузку плагина любыми удобными способами.
Для компиляции и запуска плагина, можно использовать инструкции из данной темы.
Настройки
Все настройки располагаются в addons/sourcemod/configs/uas.cfg, и имеют небольшие пояснения в виде комментариев.
Код:
//
// This file is a part of "Unified Admin System".
// Licensed by GNU GPL v3
//
// All rights reserved.
// (c) 2019 CrazyHackGUT aka Kruzya
//

"uas"
{
    // Имя соединения с БД. Указанная здесь строка будет использоваться для поиска конфигурации в databases.cfg
    "connection_name"   "uas"

    // Настройки сервера.
    "server"
    {
        // Уникальный идентификатор для сервера.
        // Вы должны вручную заполнить это значение. Обратите внимание, что один и тот же идентификатор НЕ ДОЛЖЕН использоваться на нескольких серверах одновременно.
        // Не допускается делать идентификатор отрицательным (меньше нуля).
        "id"            "-1"

        // Адрес сервера.
        // 0.0.0.0 - использовать автоопределение.
        "address"       "0.0.0.0"

        // Порт сервера.
        // 0 - использовать автоопределение.
        "port"          "0"

        // Имя сервера.
        // Оставьте пустым, если имя сервера должно быть взято из консольной переменной "hostname".
        "hostname"      ""
    }

    // Уникальный префикс для записей групп в админкеше.
    // Мы рекомендуем использовать эту настройку, если Вы используете несколько админ-систем с похожими именами админ-групп.
    "group_prefix"      ""
}
API
C++:
/**
* This file is a part of "Unified Admin System".
* Licensed by GNU GPL v3
*
* All rights reserved.
* (c) 2019 CrazyHackGUT aka Kruzya
*/

#if defined _uas_included
  #endinput
#endif // defined _uas_included
#define _uas_included

/**
* Returns the database handle.
*
* NOTE: you receive a database clone.
* You should close this.
*
* @return  Database connection handle, or null if connection is not established.
*/
native Database UAS_GetDatabase();

/**
* Returns the configuration handle.
*
* NOTE: you receive a configuration clone.
* You should close this.
*
* @return  Configuration handle, or null if configuration isn't ready yet.
*/
native KeyValues UAS_GetConfiguration();

public SharedPlugin __pl_uas = {
    name = "uas",
    file = "UAS/Core.smx",
#if defined REQUIRE_PLUGIN
    required = 1,
#else // defined REQUIRE_PLUGIN
    required = 0,
#endif // defined REQUIRE_PLUGIN
};

#if !defined REQUIRE_PLUGIN
public void __pl_uas_SetNTVOptional()
{
    // v0.0.0.1
    MarkNativeAsOptional("UAS_GetDatabase");
    MarkNativeAsOptional("UAS_GetConfiguration");
}
#endif // defined REQUIRE_PLUGIN
Сверху Снизу