Почему нельзя просто заменить файлы
Новая версия может изменить:
- конфигурацию;
- зависимости;
- структуру базы;
- команды;
- права;
- API;
- формат данных.
Если заменить архив без чтения описания, сервер может потерять функцию или перестать запускаться.
Зафиксируйте текущую версию
Перед обновлением запишите:
- версию плагина;
- версию CounterStrikeSharp;
- источник;
- дату установки;
- зависимости;
- путь конфигурации;
- таблицы базы;
- известные изменения.
Без этой информации откат становится сложнее.
Изучите описание релиза
Проверьте:
- совместимость с текущей версией CS2;
- минимальную версию платформы;
- новые зависимости;
- удалённые параметры;
- изменения команд;
- миграции базы;
- известные ошибки.
Не устанавливайте экспериментальный релиз на основной сервер без теста.
Создайте копию
Сохраните:
- файлы плагина;
- конфигурацию;
- зависимости;
- дамп базы;
- права доступа;
- журналы предыдущего запуска.
Архив назовите по версии и дате.
Тестовый сервер
Лучший вариант — отдельная копия. Запустите на ней новый плагин с аналогичной конфигурацией.
Проверьте:
- загрузку;
- команды;
- права;
- события;
- смену карты;
- перезапуск;
- работу базы;
- нагрузку.
Конфигурация
Не заменяйте старый конфигурационный файл примером из нового архива без сравнения.
Разработчик мог добавить обязательные параметры. Сравните файлы и перенесите свои значения в новую структуру.
Не копируйте старую конфигурацию вслепую, если формат сильно изменился.
Миграция базы
Некоторые плагины автоматически изменяют таблицы при первом запуске. Создайте дамп до этого момента.
Не прерывайте процесс во время миграции. После запуска проверьте структуру и новые индексы.
Обновление на основном сервере
Порядок:
1. Предупредить игроков. 2. Остановить сервер. 3. Сделать финальную копию. 4. Заменить файлы. 5. Проверить владельца и права. 6. Обновить конфигурацию. 7. Запустить закрытый тест. 8. Проверить журналы. 9. Выполнить смену карты. 10. Открыть сервер.
Признаки проблемы
После обновления обращайте внимание на:
- исключения;
- дублирование команд;
- рост CPU;
- рост памяти;
- ошибки базы;
- повторное создание конфигурации;
- отсутствие прав;
- задержки при событиях.
Откат
Если новая версия нестабильна:
- остановите сервер;
- верните старые файлы;
- восстановите конфигурацию;
- при необходимости импортируйте дамп базы;
- проверьте права;
- запустите тест.
Учтите, что после миграции базы старый плагин может не понимать новую структуру. Именно поэтому нужен дамп.
Автоматическое обновление
Полностью автоматическое обновление всех плагинов рискованно. Разные расширения выпускают несовместимые изменения и требуют ручной настройки.
Безопаснее автоматизировать проверку новых версий, но решение об установке принимать после изучения изменений.
Проверка доступности
После обновления проверьте сервер через cs2-monitor.com и зайдите как обычный игрок.
Мониторинг подтвердит внешний ответ, но функции плагина необходимо тестировать внутри игры.
Итог
Безопасное обновление — это проверка версии, backup, тестирование, сравнение конфигураций и готовый откат.
Не заменяйте десятки плагинов одновременно. Обновляйте по одному и фиксируйте результат.