Документация 9.6.24
Установка
Используйте пакет именно этого сервера. Перед обновлением сохраните ресурс, редактируемые настройки и базу данных.
1. Подготовьте сервер#
Используйте поддерживаемый artifact FiveM и проверьте OneSync. Сохраните рабочее подключение oxmysql. Распакуйте tosun-ac в resources без переименования. Сначала запустите фреймворк и зависимости. При первом запуске античиту нужны локальные права на создание своих таблиц. Мост не требует импорта SQL. При отсутствующих таблицах используйте приложенный SQL только после резервного копирования.
2. Настройки только на сервере#
Скопируйте лицензию в разделе серверов и замените YOUR_SERVER_LICENSE. Используйте set, не setr и не sets. Не публикуйте ключ и не помещайте его в общий или клиентский Lua. Канал данных панели (мост) включён по умолчанию, строка в server.cfg для него не нужна; старые строки tosun_db_bridge_enabled и tosun_db_bridge_money_write игнорируются, их можно удалить.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian3. Запустите и проверьте#
Во время обслуживания запустите oxmysql перед tosun-ac. Проверьте версию и ошибки консоли. Мост запускается включённым по умолчанию, дополнительные строки в server.cfg не нужны. Проверьте его состояние командой ниже в серверной консоли. Не отправляйте реальные ключи в поддержку.
tosunac_db_statusПодготовка с возможностью отката#
Запишите версию artifact и названия ресурсов фреймворка и инвентаря. Скачайте пакет именно для сервера, выбранного в Servers: чужая лицензия может подключить другую установку. Проверьте платную подписку и право управления. Не публикуйте ZIP в открытом доступе.
- Сохраните текущую папку tosun-ac, редактируемые настройки и игровую базу. До замены убедитесь, что резервная копия доступна.
- Распакуйте пакет отдельно. fxmanifest.lua должен находиться непосредственно в tosun-ac, без второй вложенной папки tosun-ac.
- Сравните свои настройки с новыми значениями. Перенесите осознанные изменения и интеграции, но не заменяйте новую конфигурацию целиком старой.
Зависимости и секретные параметры#
Сохраните работающую связь oxmysql с игровой базой. Мост к базе данных панели и изменение баланса онлайн-персонажей включены по умолчанию, поэтому в примере нет строк моста. Старые строки tosun_db_bridge_enabled и tosun_db_bridge_money_write игнорируются, их можно удалить. Вставьте реальные строки запуска фреймворка и инвентаря в порядке их зависимостей. Не запускайте несовместимые фреймворки ради примера. Для лицензии используйте set: setr передаёт значение клиентам, sets публикует сведения о сервере.
Ресурсу нужны права для собственных таблиц. Их первоначальная подготовка не связана с мостом. Чтобы выключить мост для одного сервера, в панели откройте Servers → сервер → Tosun Connect → Disable connection. Для ручного управления добавьте set tosun_db_bridge_manual "1"; тогда tosun_db_bridge_enabled и tosun_db_bridge_money_write читаются из server.cfg, и каждая настройка выключена, если не равна "1". Не импортируйте SQL без проверки в заполненную базу. Пароли и лицензия не должны попадать в shared/client Lua. Запланируйте обслуживание: ensure может перезапустить уже работающий ресурс.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Здесь запустите существующий фреймворк и инвентарь.
ensure tosun-acПроверка обычной игры#
Запущенный ресурс ещё не подтверждает корректность интеграций. Проверьте версию manifest, сообщения запуска и соединение, затем войдите тестовым аккаунтом. Команды выполняются в серверной консоли. Мост включён по умолчанию; disabled ожидаем только в ручном режиме без tosun_db_bridge_enabled "1" или при включённом старом зеркале панели. Диагностический доктор сообщает о рискованных настройках и не изменяет их.
Сохраните версию, время, проверяющего и проверенные сценарии. Ошибку конкретного скрипта воспроизведите тестовым игроком и запишите ресурс. Сначала проверьте интеграцию, не раздавайте широкие исключения и не усиливайте общие наказания.
- Выбор персонажа, появление, реанимация, вход в дом и выезд из гаража проходят без неожиданных наказаний.
- Обычное оружие, полицейское снаряжение и оружие арены работают с нужной проверкой или узким разрешением.
- Объекты эмоций, телефон и действия персонала работают; логи показывают ресурс, требующий интеграции.
- При сбое сохраните первую полезную ошибку и версию, при необходимости восстановите ресурс из копии и уберите секреты перед отправкой логов.
tosunac_integration
tosunac_doctor
tosunac_db_statusОбновляйте один ресурс, не смешивая пакеты#
Рассматривайте обновление как изменение с известным исходным и итоговым состоянием. Сохраните имя папки tosun-ac, чтобы exports и вспомогательные пути указывали на прежний ресурс. Сравните configs/anticheat_config.lua, configs/anticheat_webhooks.lua и редактируемые интеграции с новым пакетом; переносите только осознанные настройки. Сохраните серверные convar и проверенные записи доверия. Начиная с 9.6.14 строки tosun_db_bridge_enabled и tosun_db_bridge_money_write в server.cfg игнорируются, поэтому после обновления мост и изменение баланса онлайн для администраторов и владельцев панели включены. Чтобы мост остался выключенным, нажмите Disable connection на карточке Tosun Connect сервера или добавьте set tosun_db_bridge_manual "1"; тогда эти строки снова действуют, и каждая настройка выключена, если не равна "1". В старой конфигурации могут отсутствовать новые значения; копирование целого старого каталога оставляет устаревшие модули рядом с новыми. oxmysql и нужный core по-прежнему запускаются до tosun-ac, зависимые интеграции — после.
- На время обслуживания закройте новые подключения, запишите первый вывод запуска, установленную версию и изменения настроек.
- Оставьте одну активную папку tosun-ac; храните резервную копию вне дерева активных ресурсов во избежание случайного запуска.
- После перезапуска подключите обычного тестового игрока заново; прежняя клиентская сессия не является чистой проверкой.
Выбирайте диагностику по конкретному симптому#
Начинайте с первой конкретной ошибки, а не с одновременного изменения нескольких защит. Если ресурс не запускается, проверьте папки, манифест и отсутствующие зависимости. Если запускается без связи с панелью, сначала проверьте выбранный сервер, лицензию и состояние подключения. Отказ допуска launcher — отдельная проверка со своим статусом. Если сбой возникает только в скрипте дома, арены или одежды, запишите ресурс и действие, изучите отклонённые вызовы интеграции. Сотрудник может иметь исключение: его успешная проверка не доказывает правильную обработку обычного игрока.
- Один раз воспроизведите минимальное проблемное действие обычным тестовым персонажем и сохраните точный результат консоли или панели.
- Сравните с последней рабочей конфигурацией, исправьте соответствующую зависимость или интеграцию и повторите эту проверку.
- Удалите секретные ключи из отчёта; не отключайте доверие или все детекторы ради исчезновения одного симптома.
Верните известное состояние и перепроверьте его#
Подготовьте откат до обслуживания. Сохраните согласованные копии ресурса и конфигурации, прежний порядок запуска и изменения convar. Если версия мешает обычному входу или необходимому действию, восстановите известный пакет и проверьте его. Возврат Lua-файлов не отменяет денежную операцию, не удаляет задание панели и не восстанавливает базу. Не удаляйте таблицы AC, баны и историю обнаружений для исправления установки. Если менялась база, её администратор должен отдельно оценить восстановление с учётом данных, записанных после резервирования.
- Сначала восстановите только затронутые файлы и настройки; проверьте запуск, обычный вход и ранее неработавшее действие.
- Изменение баланса включено по умолчанию. До проверки восстановленной установки и операций с неопределённым результатом выключите соединение на карточке Tosun Connect сервера и проверьте баланс в игре, прежде чем отправлять изменение повторно. После проверки снова включите его кнопкой Enable connection на той же карточке. Восстановленный пакет старше 9.6.14 работает по-старому: без строк в server.cfg мост остаётся выключенным.
- Зафиксируйте содержание и причину отката, чтобы следующее обновление исправляло воспроизводимую причину.
Проверьте структуру распакованных файлов#
Распакуйте в отдельный рабочий каталог. Проверьте лишнюю вложенность tosun-ac/tosun-ac, fxmanifest.lua в корне и отдельный tosun-ac-guardian, если поставляется. Не группируйте файлы по расширению: манифест использует client, shared, configs, editable, server и html. Конфигурация вне ожидаемого пути может не применяться.
Ошибка @oxmysql/lib/MySQL.lua означает проверку зависимости, не смену лицензии. При отсутствии html/index.html проверьте NUI и пути. Восстановите файл из правильного пакета, не смешивая модуль другой версии. Рассмотрите необязательный INSTALL.sql с текущей схемой и резервной копией. ZIP, подготовленная папка и активный ресурс должны образовывать ясную цепочку. Начните с первой ошибки запуска.
Проверьте сторону загрузки секретных настроек#
Название файла не определяет, что получает игрок. configs/anticheat_config.lua находится в shared_scripts и загружается сервером и клиентом. Не добавляйте туда лицензию, закрытый API-ключ или пароль базы. Клиент и html/NUI не хранят секреты. Читаемая редактируемая конфигурация не делает все поля подходящими для учётных данных.
Проверьте изменённые файлы. Лицензия хранится в защищённом server.cfg через серверный set, не setr или sets. Для webhook используйте серверный configs/anticheat_webhooks.lua, скрывая адрес на снимках. Удаление ранее опубликованного секрета не отзывает старые копии; оцените замену. Запишите проверенный файл и сторону, но не значение секрета.
Запускайте систему по небольшим этапам приёмки#
Разделите обслуживание на четыре этапа: существующее соединение с БД и core, запуск AC, обычный сценарий игрока и мост панели, включённый по умолчанию. Не переходите дальше без наблюдаемого результата. Сначала проверьте штатные функции действующего framework и инвентаря: дополнительный core может скрыть причину. Затем сопоставьте вывод активного tosun-ac с установленным пакетом. Используйте персонажа без исключений для персонала. Изменение баланса онлайн для администраторов и владельцев панели тоже включено по умолчанию; для проверки моста достаточно чтения, менять баланс не нужно.
Для каждого этапа одной строкой запишите время, ожидаемый и фактический результат. Если выбор персонажа работает, а выезд из гаража нет, исследуйте первый сломанный сценарий вместо повторного скачивания всего. Нормальная работа игры и завершённое чтение через мост — разные результаты приёмки. Подавление сообщения не подтверждает предыдущий этап. Исправьте отсутствующую зависимость до продолжения, а после необходимых проверок возвращайтесь к обычной работе. Запись показывает, какие этапы завершены и какие ожидают решения.
Сопоставляйте сообщения консоли с результатом#
Цветные сообщения запуска имеют разный смысл. Ожидание поддерживаемого инвентаря проверкой оружия не является обнаружением чита у игрока: проверьте провайдер и core. Сообщение об отсутствии GetSelectedPedWeapon означает недоступность нужной native для этого модуля, а не отключение всех модулей. Integration с enforce и trusted описывает политику вызывающих ресурсов, но не подтверждает работоспособность игрового сценария. Начинайте с полного текста, а не только цвета.
Connected у моста подтверждает обмен состоянием; запрос персонажа должен завершиться отдельно. Waiting: oxmysql_unavailable указывает на зависимости, Panel unavailable or not authorized требует проверки связи или авторизации. Последнее само по себе не доказывает ошибку лицензии. Мост включён по умолчанию; enabled=false в команде состояния ожидаем только в ручном режиме без tosun_db_bridge_enabled "1" или при включённом старом зеркале панели. Если соединение выключено на карточке Tosun Connect, команда состояния по-прежнему показывает enabled=true, а панель отклоняет запросы сервера; в последнем состоянии панели может быть только Panel unavailable or not authorized. Увидев это сообщение, сначала проверьте, что на карточке Tosun Connect сервера соединение включено, затем проверьте лицензию и сеть. Сохраните первую предшествующую ошибку, ресурс, время и выполняемое действие вместе. Различение предупреждения запуска и санкции против игрока делает диагностику понятнее.
Скачивание для нужного сервера#
Войдите в панель и выберите один сервер в разделах серверов и загрузок. Нужны право скачивания по платному плану и разрешение управлять сервером. Билет связан с сеансом, пользователем и сервером, действует 90 секунд и используется один раз.
Если билет истёк или использован, получите новый в панели. Сначала сохраните ZIP: загрузка не обновляет работающий ресурс автоматически. Лицензия в URL, Bearer или X-License-Key не даёт права скачивания. Не сохраняйте билеты и cookies в установочных скриптах.
Хранение секретов только на сервере#
Используйте set в server.cfg или таблицу credentials в configs/anticheat_server.lua. Непустой серверный convar важнее файла; старое общее значение — лишь временная совместимость миграции на сервере. Не используйте setr или sets для секретов.
Оставьте ts.webPanelKey, ts.Central.token и ts.licenseLock.licenseKey пустыми в общем конфиге. panelKey, centralToken и licenseKey редактируются в серверном файле. Неиспользуемые подключения оставьте пустыми. Открытые ключи замените в соответствующей панели: удаление из файла не отзывает их.
set tosun_ac_license "YOUR_SERVER_LICENSE"
set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
# Optional: only configure a central connection you use.
set tosun_ac_central_token "YOUR_FIVEM_CENTRAL_TOKEN"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardianДиагностика запуска и остановок Guardian#
В серверной консоли txAdmin выполните tosunac_doctor, затем tosunac_guardian_status. ready означает запуск ресурса; waiting_dependency проблему зависимости; transition процесс запуска/остановки; held намеренную временную паузу. Это не подтверждает игровые тесты или проверку схемы SQL.
Запускайте oxmysql и tosun_render до tosun-ac, затем tosun-ac-guardian. Исправьте лицензию/версию до resume. pause доступна только из консоли максимум на 30 минут. Неудачные попытки ограничены и повторяются с задержкой.
# txAdmin server console:
tosunac_doctor
tosunac_guardian_status
# Pause only during planned maintenance; repair the reported cause first:
tosunac_guardian_pause 300
tosunac_guardian_resumeПроверьте обнаружение после зависимостей#
EventScanner запускается через 30 секунд и каждый час; вручную — tosunac_eventscan в серверной консоли. tosunac_setup — отдельное обслуживание: завершённые проверки backdoor и сигнатур, свежий совпадающий отпечаток, затем одобрение подходящих чистых запущенных ресурсов. Это не сертификат отсутствия backdoor. Используйте проверенную установку и резервную копию. Обнаружение не создаёт валидатор прав, не переписывает handler и не авторизует игрока.
# txAdmin server console: event discovery only
tosunac_eventscanЧто реально экономит кэш сканирования#
При неизменных файлах и политике повторно используется анализ, но отпечатки содержимого всё равно проверяются; дисковые чтения не исчезают. Изменение требует нового анализа. Backdoor: через 25 секунд, каждые 30 минут; ресурсы: 20 секунд, каждые 90 секунд; события: 30 секунд, каждый час. signatureScanFirstRun проверяет при старте даже со старым маркером первого запуска. Частичный, нечитаемый, неподдерживаемый glob или только escrow не означает полностью чистую проверку и не разрешает автоматическую baseline.
-- Edit the existing configs/anticheat_config.lua tables.
ts.EnforceExportCallerWhitelist = true
ts.EventScanner.autoProtect = false
-- 0 disables only the periodic event scan, not initial/manual discovery.
-- ts.EventScanner.scanIntervalMs = 0Приёмка обычным игроком#
Без staff/whitelist проверьте выбор персонажа, внешность, revive, разрешённый вход в дом, гараж и одну награду. Затем отмену, отключение, перезапуск AC и отказ без прав. Разделяйте результат export и квитанцию приложения. Законная льгота камеры/движения не отключает оружие и события. Чувствительным действиям нужны доверенные серверные exports; локальная льгота не останавливает каждый напрямую подписанный детектор. Запишите версию, ресурс, ожидаемое/фактическое без ключей и паролей.
Скопируйте лицензию Tosun нужного сервера#
Откройте раздел серверов TosunDev, выберите свой FiveM-сервер и скопируйте его лицензию Tosun AC. tac_live_ — не лицензия Cfx.re, не sv_licenseKey, не токен Discord и не API-ключ панели.
- Замените YOUR_SERVER_LICENSE внутри кавычек в server.cfg.
- Поместите tosun_ac_license перед ensure tosun-ac; используйте set, не setr и не sets.
- Другой вариант — credentials.licenseKey в configs/anticheat_server.lua. Непустой convar имеет приоритет.
- Не публикуйте лицензию в скриншотах, чате, shared config или клиентских файлах.
set tosun_ac_license "YOUR_SERVER_LICENSE"
# Alternative: configs/anticheat_server.lua
# credentials.licenseKey = "YOUR_SERVER_LICENSE"От ZIP до запуска в txAdmin#
Разместите tosun-ac, tosun-ac-guardian и tosun_render на одном уровне в resources; в корне каждого нужен fxmanifest.lua. discord-bot — приложение Node.js. Новый манифест Render указывает только gta5, без common.
- Сохраните рабочий mysql_connection_string; oxmysql и существующий framework/инвентарь запускаются первыми.
- Выполните refresh в txAdmin и соблюдайте порядок ниже. Псевдоним tosun-render поддерживается, папка называется tosun_render.
- tosun_render_status должен показать started и наличие файлов. Затем отдельно проверьте захват с игроком.
- Читайте первую ошибку и проверяйте зависимость, папку или лицензию выбранного сервера.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Start your existing framework/inventory here.
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian
# txAdmin console:
tosun_render_status
tosunac_doctor
tosunac_db_check
tosunac_db_statusНе повторять лишний анализ после перезапуска#
При каждом запуске проверяются SHA256-отпечатки содержимого ресурсов. Неизменённые файлы и правила используют аутентифицированные результаты KVP сервера вместо повторного дорогостоящего анализа сигнатур и событий. Изменение файлов, исключений или правил запускает новый анализ. Проверка отпечатков по-прежнему читает файлы; фиксированное значение resmon не гарантируется.
- При обычном обновлении сохраняйте KVP-кэш; повреждённые или непроверяемые записи анализируются заново.
- Начальный каталог собирает явно заданные имена событий Lua/JS. Динамические имена, нечитаемые или escrow-файлы и DLL не считаются полностью проверенными.
- Ручная автоматическая настройка ждёт завершения анализа. Неполные, подозрительные, изменённые ресурсы и тайм-ауты не получают автоматического разрешения.
- На тестовом сервере проверьте вход игроков, обычную игру и действия администратора; оценивайте resmon вместе с числом игроков и нагрузкой framework.