Не работает плагин
Не работает плагин?
Нет логов?
Сложно разобраться в логах?
Падает сервер?
Сервер виснет?
Плагин глючит?
В этой статье подробно расписано, что нужно делать.
Не работает плагин
Шаг 1) Для примера возьмем плагин StatsX RBS. C начала нужно посмотреть, запустился ли плагин. Для этого в консоль сервера(в панеле хостинга) нужно ввести команду: amxx plugins
Сервер выдаст примерно следующее:
Как видим, статус плагина "stopped", это значит что он не запущен. Вместо "stopped" может быть написано: "paused", "unknown" или "bad load", это так же означает, что плагин не работает.
Работающий плагин имеет статус: "running" или "debug"
Шаг 2) Почему же плагин не запустился? В логах 99% будет ответ! Заходим в папку amxmodx/logs/
Там может быть много файлов и старых логов, которые в данный момент нам не нужны. Удалите все старое(или сохраните себе на комп, если вдруг они вам нужны), сделайте рестарт сервера(достаточно смены карты). После этого появятся новые логи, они то нам и нужны.
Не забудьте в фтп клиенте обновить папку. Нажать на клавишу F5.
Скорее всего Вы увидите два файла: L20180101.log и error_20180107.log(цифры могут отличаться)
Сразу откроем error_ лог. Видим:
Вот и проблема. Забыли загрузить файл стилей от плагина на сервер, или загрузили не туда. Скачиваем архив с плагином из личного кабинета и загружаем необходимые файлы
Шаг 3) Удаляем опять логи, делаем рестарт и смотрим новые логи. Видим снова error_ лог... Открываем:
Тут тоже все ясно, плагин говорит что отключил аналогичный плагин статистики. Заходим в plugins.ini и отключаем то что просит плагин.
Опять удалим логи и сделаем рестарт. Новых error_ логов нет, пишет amxx plugins
Все, видим "running", значит плагин работает. Можно зайти на сервер и проверить.
Нет логов! Плагин не работает!
Нету логов, а плагин все равно пишет статус "unknown" или другие описанные выше?
1 Вариант Повторюсь, в 99% логи будут! Если нет файла error_20180107.log, то откроем лог L20180101.log, в нем тоже могут писаться ошибки!
Вот она и ошибка. Многие в этот файл не заглядывают, а зря. Ошибка говорит о том, что плагин юзает функции модуля, которого нет на сервере.
В данном случае был удален модуль csx_amxx_i386.so. Тут могут быть и другие ошибки, смотрите их в Основной документации по плагинам
2 Вариант Логов нету? Точно? Уверены? Не верим! Проверьте лучше!
Вы точно нажимали в FileZilla(фтп клиент) клавишу F5, чтобы обновить папку логов?
Вы загружаете новый файл логов? Смотрите скрин:
Делали рестарт? Сделайте на всякий случай жесткий рестарт(выключить и включить сервер)
3 Вариант Ну нету логов!!! Вы попали в этот 1%, логов действительно нет!
Проверьте файл amxmodx/configs/core.ini
Стоит значение "0", это значит AMXX не ведет логи! Срочно нужно исправить. Поставьте: amxx_logging 1
Сделайте рестарт, и теперь увидите логи.
4 Вариант Единственный последний вариант, почему плагин не работает и не пишет логов, и его статус не "running":
Открываем файл amxmodx/configs/pausecfg.ini
Кто то поставил плагин на паузу и снял с нее. Если это были не Вы, то могли сделать другие админы. Не нужно им давать доступ к меню плагина pausecfg.amxx(стандартный плагин amxx)
Поставить на паузу этот плагин мог какой ни будь другой плагин, нужно проверять. В общем чтобы снять плагин с паузы, достаточно удалить эту строку из файла.
К стати если плагин стоит на паузе, то в amxx plugins его статус будет "paused", но не всегда виной тому может быть pausecfg.amxx, нужно сначала смотреть логи
Логи есть, но слишком много и ничего не понятно
Перестали работать сразу несколько плагинов. В логах много ошибок на непонятном английском языке. Что же делать?
Вывод amxx plugins:
Ошибка в файле error_20180107.log:
Мы видим много ошибок от разных плагинов, но всему виной плагин CsStats MySQL, который судя по ошибке, не смог подключиться к базе данных.
В переводе с английского, ошибка говорит, что у юзера amxmodx@123.123.123.123 нет доступа к базе данных. Нет доступа может по причинам:
1) Не верный пароль, чаще всего так и происходит.
2) Не верные данные. Айпи, имя базы, или имя юзера. Все эти данные брать нужно у хостинга.
3) Нет удаленного доступа к базе данных. Если у Вас ISP Manager, то должна стоять галочка:
4) Нет доступа...Об этом может знать только хостер, но скорее всего проблема в причинах выше.
Почему же другие плагины перестали работать спросите Вы?
Так как много наших плагинов синхронизируются, и юзают у друг друга функции, они зависят друг от друга.
Если их включать по отдельности, то они будут работать нормально, но давайте рассмотрим данный случай:
• Отключился плагин CsStats MySQL так как потерял связь с базой
• Плагин Army Ranks Ultimate юзает функцию плагина CsStats MySQL для получения статистики игрока, вот эту: "csstats_get_user_stats". Но плагин ксстатс отключился и арми ранкс не может использовать его функцию, поэтому выдает ошибку и тоже вырубается
• Дальше плагин AR Pogony использует "ar_get_user_level", который говорит плагину звание игрока и он в свою очередь ставит нужные погоны. Так как арми ранкс упал, и этот плагин тоже остановился и выдал ошибку
Бывают и другие логи, но решать проблему нужно по тому же принципу. Исправить сначала одну ошибку, а потом смотреть другие и тоже исправлять, пока не будут чистые логи.
Падает сервер!
Как узнать причину падения сервера? Вопрос достаточно сложный, ведь сервер не указывает нам конкретно причину, но обычно падения происходят из-за плагинов или модулей
Вариант 1) Консоль сервера. При падении сервер в любом случае напишет в консоль какую ни будь причину. В большинстве случаев от нее мало пользы, но не проверить нельзя.
Как видим, сервер упал, потому что нет необходимой модели. В наших плагинах на этот случай есть проверки, и сервер не упадет, а просто остановится плагин. Но тут можно увидеть и другую важную информацию для диагностики.
Вариант 2) Если информации в консоли нет, или от нее мало пользы, то придется отключать плагины.
• Отключим абсолютно все amxx плагины, сделаем рестарт и проверим работу сервера. Если сервер так же падает, то проблема в модулях metamod'а, отключать нужно их и так же смотреть работу.
• Если все работает хорошо, то включим 1-ую половину любых плагинов, и посмотрим работу. Если после рестарта сервер не падает, значит проблема кроется во 2-ой половине плагинов.
• Включаем половину 2-ой половины плагинов и смотрим работу. Думаю принцип ясен, так делаем до тех пор, пока не найдем плагин, из-за которого падает сервер. Так же делать и с модулями, если падает из-за них.
Вариант 3) Если падает сервер из-за нашего плагина(Вы убедились в этом проверив 2-ым Вариантом), то не всегда проблема может быть в нем.
В интернете куча плагинов, которые могут друг с другом конфликтовать. Возможно какой то другой плагин тому виной. Отключите ВСЕ плагины кроме нашего, из-за которого проблема.
Скорее всего сервер будет работать без проблем. Чтобы вычислить из-за чего конфликт, включайте плагины по 2-му Варианту и найдете виновника.
Если у Вас не включается сервер из-за наших плагинов, прочтите 3-ий Вариант следующий главы
Вариант 4)
ВОПРОС: Вижу в логах amxmodx/logs/ ошибки от плагина, наверное поэтому и падает сервер.
ОТВЕТ: Вряд ли. Если сервер падает, то скорее всего amxx не успеет написать лог.
Вы можете это легко проверить, сравните время падения в файле debug.log(находится в корне сервера, или можно найти в панеле хостинга) и время ошибки в amxx логах
Как видим время разное, значит ошибка делу не поможет
Вариант 5) Может сервер виснет? Прочтите следующую главу.
Не запускается сервер!
Вариант 1) Скорее всего сервер не виснет, а падает. Про падение сервера прочтите заголовок выше.
Вариант 2) Не запускаться сервер может, если долго пытается соединиться с MySQL. Возьмем для примера плагин AMXBans RBS.
Откройте консоль сервера и посмотрите что там пишет. Подождите минимум 60 секунд после старта, если сервер одуплится, то в консоли побегут новые строчки и скорее всего Вы получите ошибку в логах, что нет соединения с БД
Вариант 3) Может быть виновата проверка лицензии. Такое бывает, если хостинг блокирует наши зеркала в связи с ддосом или еще по каким то причинам.
-
Для начала откройте файл amxmodx/data/fg_settings.ini, убедитесь, что он выглядит примерно так:
Обратите внимание на указанные параметры, если их нет в Вашем fg_settings.ini, то необходимо сделать следующее:
- Обновите все плагины до последней версии
- Удалите fg_settings.ini
- Сделайте рестарт сервера или смену карты(только не отключайте наши плагины)
- Новый fg_settings.ini должен создаться сам. Если он не появился, нажмите F5 в FileZilla, чтобы обновить список файлов в директории
- Откройте файл, убедитесь, что он выглядит примерно так как на скрине. Если это не так, то скорее всего присутствует на сервере плагин старой версии, обновите его, и по новой удалите fg_settings.ini
- Установите async "2" и включите debug "1". async 2 это альтернативный метод проверки лицензии, имеет смысл его изменить, только если испытываете проблемы с сокетами
- Зайдите в консоль сервера, и посмотрите при его старте, на каком месте идет зависание
-
Если после последней строчки ничего не идет, то скорей всего виновата привязка. Отключите все наши плагины чтобы в этом окончательно убедиться. И если подтвердилось, то напишите хостеру, скорее всего идет ддос, и система антиддоса заблокировала все наши зеркала. Так же напишите нам в ТП, маловероятно что проблемы у нас, но вместе мы ее решим. - Мы имеем 6 серверов для проверки лицензии, которые находятся в разных странах мира: Россия, Украина, Беларусь, Казахстан, Германия, США. У каждого сервера разный хостер, разный провайдер, айпи и т.д. Если плагин не может соединиться с одним, он пытается соединиться с другим. То есть недоступность сервера проверки лицензий сведен к минимуму. Нет необходимости менять зеркало вручную в fg_settings.ini, плагин сам пропишет в него доступное зеркало
Вариант 4) Нужно узнать какой из плагинов виноват в этом, для этого нужно воспользоваться методом отключения плагинов, как описано в предыдущей главе в Варианте 2.
Глюки плагина
Если плагин глючит, криво что то отображает, выдает бонус не тому игроку и прочее.
Вариант 1) Убедитесь что у Вас стоят последние версии наших плагинов. Введите в консоль сервера(что в панеле хостинга) команду: amxx plugins
Версии наших плагинов расшифровываются так: ГОД.МЕСЯЦ.ДЕНЬ. Удобно, всегда можно определить, когда вышло обновление.
Узнать номер последней версии плагинов можно в личном кабинете.
Всегда используйте свежие версии плагинов, так как в них исправляется много ошибок.
Вариант 2) Не верная настройка. Убедитесь в том, что Вы правильно настроили плагин. В конфигах наших плагинов есть подробнейшее описание к каждой настройке.
Достаточно часто люди просто не читают, а проблема решается изменением какого ни будь квара.
Вариант 3) Конфликт с каким то другим плагином. Как вычислить этот конфликтующий плагин, смотрите в 3-ем варианте главы Падение сервера.
Вариант 4) Возможно в плагине баг. Ничто не идеально, но мы стремимся к этому. Опишите его подробно на страничке Баги и предложения.