Почему плагины могут конфликтовать
Каждый плагин может менять команды, события, игровые параметры и данные игроков. Два расширения способны работать нормально отдельно, но конфликтовать при совместной установке.
Типичные причины:
- одинаковые команды;
- два менеджера карт;
- несколько приветственных окон;
- разные системы наказаний;
- конкурирующие изменения игровых переменных;
- несовместимые библиотеки;
- разные версии API;
- общие таблицы базы.
Проверяйте требования
Перед установкой изучите:
- версию CounterStrikeSharp;
- версию Metamod;
- дополнительные модули;
- базу данных;
- операционную систему;
- необходимые разрешения;
- список известных конфликтов.
Не устанавливайте архив только по красивому описанию.
Один плагин за раз
После каждого добавления выполняйте полный тест.
Если установить десять расширений одновременно, при ошибке придётся отключать их по очереди и искать источник.
Фиксируйте дату, версию и конфигурацию каждого установленного модуля.
Команды
Составьте список команд всех плагинов. Проверьте совпадения имён и алиасов.
Если два расширения регистрируют одну команду, результат может зависеть от порядка загрузки.
Игровые события
Особое внимание требуется плагинам, реагирующим на:
- подключение;
- отключение;
- начало раунда;
- конец раунда;
- смену карты;
- смерть игрока;
- чат;
- выдачу оружия.
Большое число тяжёлых обработчиков увеличивает нагрузку.
Конфигурации
Не используйте одинаковые имена файлов для разных расширений.
После обновления проверяйте, не создал ли плагин новую конфигурацию рядом со старой. Иногда владелец редактирует не тот файл.
База данных
Несколько плагинов могут использовать одну базу, но таблицы и пользователи должны быть организованы понятно.
Проверьте:
- названия таблиц;
- миграции;
- кодировку;
- индексы;
- соединения;
- общий идентификатор сервера;
- ошибки SQL.
Тестовая матрица
Проверяйте не только запуск:
- подключение нового игрока;
- администратора;
- бота;
- смену карты;
- полный сервер;
- пустой сервер;
- перезапуск;
- временную недоступность базы;
- повторную загрузку плагина.
Логи
Ищите исключения, предупреждения и дублирование регистрации команд.
Ошибка может не приводить к падению, но отключать часть функций или создавать задержки.
Нагрузочный тест
Некоторые плагины нормально работают при пяти игроках и создают проблемы при полном сервере.
Используйте тестовую группу или контролируемое число ботов. Следите за CPU, памятью и временем выполнения запросов.
План отката
Перед установкой сохраните:
- папку плагинов;
- конфигурации;
- дамп базы;
- список версий.
Если после обновления появилась проблема, верните последнюю рабочую комбинацию.
Итог
Совместимость проверяется последовательной установкой, анализом требований, команд, событий и базы данных.
Не оценивайте плагин только по успешной загрузке. Пройдите смену карты, рестарт и тест при реальном онлайне.