-
-
Notifications
You must be signed in to change notification settings - Fork 21
Конфигурирование хранилища (базы данных)
Выбор производится посредством активирования нужного плагина в файле конфигурации.
Расположение файла конфигурации: amxmodx/configs/plugins-ChatAdditions.ini
(подробнее)
Хранилище SQLite
хранит базу данных (далее БД) локально, на диске.
Файл БД будет создан автоматически на сервере по пути:
amxmodx/data/sqlite3/ChatAdditions.sq3
Для использования этого типа хранилища нет необходимости в подключении к интернету, а так же нет необходимости в допонительном конфигурировании. Хранилище изначально полностью готово к работе.
Подойдёт для серверов, где нет потребности в внешнем управлении списком Gag'ов.
Управление списком Gag'ов производится из меню сервера или с помощью консольных команд, а так же, с помощью утилит, есть возможность редактировать на прямую файл sq3 (для опытных пользователей).
Хранилища CSBans и GameCMS работают с MySQL
, внешней БД.
Для использования данного хранилища потребуется настроить данные для соединения с внешней БД.
Расположение файла конфигурации для CSBans: amxmodx/configs/plugins/ChatAdditions/CA_Storage_CSBans.cfg
Расположение файла конфигурации для GameCMS: amxmodx/configs/plugins/ChatAdditions/CA_Storage_GameCMS.cfg
Стандартный CA_Storage_CSBans.cfg или CA_Storage_GameCMS.cfg (с описанием)
// MySQL адрес
// -
// Стандартное значение: "127.0.0.1"
ca_storage_host "127.0.0.1"
// MySQL имя пользователя
// -
// Стандартное значение: "root"
ca_storage_user "root"
// MySQL пароль
// -
// Стандартное значение: ""
ca_storage_pass ""
// MySQL имя таблицы (не рекомендуется изменять)
// -
// Стандартное значение: "players_gags"
ca_storage_dbname "players_gags"
В случае не верно указанных данных доступа к БД (адрес, логин и пароль) или невозможности подключения по какой-либо причине плагин оповестит в логах об ошибке подключения:
L 07/15/2021 - 23:09:04: [CA_Storage_CSBans.amxx] SQL: connection failed [2003] `Can't connect to MySQL server on '127.0.0.1' (10061)`
В скобках указан код ошибки MySQL. Ознакомиться с всем списком кодов и обозначений можно на сайте: https://dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html (TODO: найти лучший link с описанием)
Если все данные указаны верно, то система пошлёт запрос в БД на создание таблицы с названием из CVar'а ca_storage_dbname
(players_gags), создаст автоматически необходимую структуру таблицы, поля, а так же оповестит об этом в логах.
L 07/15/2021 - 22:36:56: Table 'comms' created! (queryTime: '0.018' sec)
Управление списком Gag'ов производится из меню сервера или с помощью консольных команд, а так же, с помощью внишних панелей (CSBans
, GameCMS
, phpMyAdmin
)
При проблемах с соенинением с БД (медленный или не стабильный коннект) возможны проблемы. Допустим, при смене карты, сервер имеет долгое соединение с БД и игроки уже вошли в игру. В таковом случае система, как только установит соединение с БД, проверит каждого игрока на наличие Gag'а и применит необходимые меры для дальнейшей корректной работы.
А так же оповестит в логе о загрузке Gag'ов из кешированной очереди:
L 07/15/2021 - 19:25:19: Loaded 12 queue gags from DB (slow DB connection issue)
То же самое произойдёт при попытке установить Gag до инициализации БД:
L 07/15/2021 - 19:25:19: Saved 2 queue gags to DB (slow DB connection issue)