FiveM Журнал событий & Debugger Tool

Генерируйте слушатели событий, проверяйте соответствие именования, проверяйте безопасность и используйте готовые шаблоны событий.

Для чего этот инструмент

События , это способ общения клиента и сервера в FiveM, и одновременно самый частый способ взлома сервера. Серверное событие, доверяющее данным от клиента, может быть вызвано кем угодно с инжектором. Этот генератор создаёт корректные обработчики для обеих сторон и проверяет имена событий по правилам именования и безопасности.

Как использовать

  1. Шаг 1:

    Введите имя события, желательно с префиксом имени вашего ресурса, чтобы избежать конфликтов с другими скриптами.

  2. Шаг 2:

    Выберите сторону. Для серверного события нужен RegisterNetEvent, для локального , нет.

  3. Шаг 3:

    Сгенерируйте код и прочитайте заметки по безопасности. Они указывают на значения, которые нужно проверять на сервере.

  4. Шаг 4:

    Скопируйте listener в ваш ресурс и замените тело-заполнитель своей логикой.

Часто задаваемые вопросы

В чем разница между RegisterNetEvent и AddEventHandler?

AddEventHandler регистрирует обработчик. RegisterNetEvent дополнительно позволяет событию вызываться с другой стороны сети. Без него удаленный вызов игнорируется, с ним любой в сети может вызвать событие, поэтому его следует использовать только для действительно необходимых событий.

Почему я никогда не должен доверять клиенту?

Все, что клиент отправляет, может быть подделано: количество, предмет, цена, id игрока. На сервере используйте source и самостоятельно проверяйте реальные значения в базе данных. Серверное событие, которое принимает количество от клиента, , это открытая касса.

Как мне называть свои события?

Всегда resource:action, например agency-phone:sendMessage. Без префикса два скрипта могут зарегистрировать одно и то же имя, и тогда сработает неправильный обработчик. Двоеточия , это конвенция, а не подчеркивания.

Как узнать, какие события вызывает мой сервер?

Обработчик на стороне wildcard плюс вывод в консоль показывает трафик. Для целевого просмотра добавьте лог в начале listener. В продакшене удаляйте их, так как каждая строка лога снижает производительность на загруженном сервере.