Документация 9.6.24
Команды
Все команды, привязки клавиш и внутриигровые инструменты администратора Tosun AC: кто может их использовать, точный синтаксис, что они делают и где появляется результат. Большинство результатов выводится в серверную консоль, а не в игровой чат.
Перед началом#
Tosun AC добавляет одну основную команду /ts со множеством подкоманд. Кроме того, есть отдельные команды модерации, служебные команды только для консоли и несколько клиентских команд для меню администратора. У каждой группы своя проверка прав и своё место вывода результата, поэтому сначала прочитайте этот раздел.
- Большинство подкоманд /ts и все команды модерации ts_* пишут результат в серверную консоль. Администратор в игре ничего не видит в чате, кроме справочной карточки /ts и карточки об отсутствии прав.
- Инструменты для игроков (mute, sethp, giveweapon и остальные) и команды ac* отвечают в чат, если вы используете их в игре.
- Многие ответы жёстко заданы на турецком языке. Карточка об отсутствии прав всегда содержит текст 'Bu komutu kullanmak için yetkiniz yok!'.
- Отдельные команды, такие как /freeze или /mute, не являются подкомандами /ts. /ts freeze 5 лишь выводит 'Unknown command' в консоль.
- Короткие имена, такие как revive, warn, players, freeze, mute, broadcast, setweather, settime, giveweapon, capture и emergency, могут конфликтовать с командами других ресурсов. Если сомневаетесь, используйте форму ts_.
- Если меню администратора отключено (ts.AdminMenu.enable или ts.AdminMenu.enabled = false), клиентские команды tsmenu, unspectate, stopspectate, tsdelaimed и tsfreecam, привязка DELETE и клавиша F7 вообще не регистрируются.
Уровни доступа#
Каждая команда проверяет один из уровней ниже. Серверная консоль проходит все серверные проверки, кроме двух команд телепортации, работающих только в игре. Клиентские команды нельзя запустить из консоли. На этой странице эти названия уровней используются во всех таблицах.
- tosun.admin (STAFF и MENU) и tosunac.admin (служебные команды) — разные ACE. Полным администраторам выдавайте оба.
- ACE, выданные builtin.everyone, никогда не засчитываются как STAFF или MENU.
- group.admin и другие имена групп проверяются как ACE-объекты. Выдавайте явный ACE, например tosun.admin, а не полагайтесь только на членство в группе.
| Уровень | У кого есть | Где используется |
|---|---|---|
| STAFF | Игроки с одним из ACE: command.ts, command.ban, command.kick, tosun.admin, ts.admin, txadmin, tx.admin, txadmin.menu, txadmin.advanced, command.txadmin, записью из ts.AdminBypassAces или ACE-объектами group.admin, group.superadmin, group.moderator, group.god. Пока включён ts.txAdminAuth (по умолчанию), также учитываются command.resources и command.restart. | Все подкоманды /ts, кроме menu, все команды модерации, инструменты для игроков и команды ac*. |
| STAFF (другие источники) | Идентификатор в Admins, ts.AdminMenu.allowedIds или ts.AdminBypassIdentifiers; действующие права администратора из панели; экспорт addAdmin. | То же, что STAFF. Ответ базы данных «не администратор» кешируется на 30 с, поэтому новые права из панели могут вступить в силу с такой задержкой. |
| MENU | Меню администратора включено, и у игрока есть одно из: command.ts, command.ban, command.kick, tosun.admin или ts.admin; group.admin, superadmin, moderator или god; запись в Admins; запись в ts.AdminMenu.allowedIds; права из панели; экспорт addAdmin. | Открытие меню администратора и инструменты меню. ACE только для txAdmin и ts.AdminBypassIdentifiers дают STAFF, но не MENU. |
| Консоль | Серверная консоль. | Пропускает все проверки. Команды с пометкой «только консоль» ничего не делают при вводе в игре. |
| tosunac.admin | Игроки, которым выдан этот ACE. | Нужен в игре для tosunac_setup, tosunac_backdoorscan и tosunac_eventscan; также принимается для /banscreentest. Не даёт STAFF или MENU. |
| tosunac.banscreen.test | Игроки, которым выдан этот ACE. | Разрешает /banscreentest в игре. |
| command.<name> | Игроки, которым выдан ACE команды FiveM. | Для ограниченных команд FiveM проверяет его первым. Ограниченные команды, которые можно запускать в игре: ts_v9_help, ts_setlang, tosunac_setup, tosunac_backdoorscan и tosunac_eventscan. Проверка AC выполняется после неё. |
| Любой | Каждый игрок. | Только у /acping нет никакой проверки. /ts, /tsmenu, /tsdelaimed и /tsfreecam может ввести любой, но перед действием они проверяют права. /unspectate и /stopspectate ничего не делают, если вы не в режиме наблюдения. |
Выдача доступа в server.cfg#
Первый блок ниже — ACE-часть типового шаблона установки. Он даёт principal group.admin доступ уровня staff, к меню, к служебным командам и к тесту экрана бана, а затем добавляет в эту группу одного игрока. Замените <HEX> лицензией игрока. Двух необязательных строк в шаблоне нет; добавляйте их, только если персонал должен запускать ts_setlang или ts_v9_help в игре.
Доступ можно выдать и без ACE. Идентификатор в admins/anticheat_admins.lua (Admins) или в ts.AdminMenu.allowedIds даёт STAFF и MENU. Идентификатор в ts.AdminBypassIdentifiers даёт только STAFF. Права администратора в веб-панели дают STAFF и MENU.
Значения 'all' и 'staff' в ts.AdminMenu.allowedIds не являются идентификаторами и ничего не дают.
add_ace group.admin tosun.admin allow
add_ace group.admin tosunac.admin allow
add_ace group.admin command.tosunac_setup allow
add_ace group.admin command.tosunac_backdoorscan allow
add_ace group.admin command.tosunac_eventscan allow
add_ace group.admin tosunac.banscreen.test allow
add_principal identifier.license:<HEX> group.admin
# необязательно, нет в шаблоне: две ограниченные вспомогательные команды
add_ace group.admin command.ts_setlang allow
add_ace group.admin command.ts_v9_help allowГде появляется результат#
Если команда в игре как будто ничего не делает, проверьте серверную консоль.
| Группа команд | Что видит отправитель в игре | Что показывает серверная консоль |
|---|---|---|
| Подкоманды /ts | Ничего, кроме справочной карточки /ts и карточки об отсутствии прав. /ts и /ts menu открывают меню. | Строку результата каждой подкоманды. |
| Команды модерации ts_* и их короткие имена | Ничего. Цель может получить строку в чате или уведомление. | Строку результата, в основном на турецком. При отказе ts_<name> выводит '[ts_<name>] Yetersiz yetki.'; при отказе короткое имя ничего не выводит. |
| Инструменты для игроков (mute, unmute, sethp, setarmor, giveweapon, stripweapons, massfreeze, emergency, capture, clearinv, speedlimit) | Ответ в чат, в основном на турецком. Отказ происходит молча. | '[AC] ...' при запуске из консоли. |
| acwarn, acfreeze, acunfreeze, acstats, acping | Ответ в чат. | acwarn выводит строку лога; acstats и acping выводят '[AC] ...' при запуске из консоли; acfreeze и acunfreeze ничего не выводят. |
| Служебные команды (tosunac_*, ac_cleanup, ts_setlang, ts_v9_help) | Ничего. | Весь вывод, даже если команду запустил в игре игрок с доступом. |
| banscreentest | Предпросмотр экрана бана на экране цели. | Строку с подсказкой по использованию при неверном вводе. |
| Клиентские команды (tsmenu, tsdelaimed, tsfreecam, unspectate, stopspectate) | Меню, уведомление или свободную камеру. | Ничего. |
Команда /ts#
/ts — это одна серверная команда. Первое слово после неё выбирает подкоманду, регистр не важен. В серверной консоли вводите ту же строку без косой черты, например ts banlist.
- /ts или /ts menu в игре открывает или закрывает меню администратора и требует MENU. В консоли выводит список справки.
- Все остальные подкоманды в игре требуют STAFF. Без него вы получите карточку об отсутствии прав, и ничего не произойдёт.
- Неизвестная подкоманда выводит 'Unknown command. Type ts help. For extra commands: ts_v9_help' только в серверную консоль.
- Псевдонимы: evtlist = faketriggerlist = evtliste; evtwhitelist = faketriggeroff = evtoff; evttrap = faketriggeron = evton; evtscan = faketriggerscan = evtara; sigpatterns = sigexc_help; quarantine = karantina; release = serbest; quarantines = karantinalar; в sigexc и sigskip del = remove.
- Список справки в консоли (ts help) неполный. В нём нет quarantine, release, quarantines, псевдонимов и необязательных секунд для ts whitelist. Внутриигровая карточка /ts help перечисляет только /ts, ban, kick, unban и help. Полный список приведён на этой странице.
/ts ban 12 aimbot (in game)
ts banlist 2 (server console)/ts: меню, справка и статус#
Общие подкоманды. Вывод идёт в серверную консоль, если в таблице не указано иное.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts or /ts menu | MENU | Открывает меню администратора или закрывает его, если оно открыто. Без MENU вы получите карточку об отсутствии прав, и ничего не записывается в лог. | Меню в игре; список справки в консоли |
/ts help | STAFF | В игре: карточка в чате со списком /ts, ban, kick, unban и help. В консоли: неполный список команд. | Карточка в чате или консоль |
/ts status | STAFF | Показывает число игроков онлайн, а также состояние и причину lockdown. | [STATUS] Online: N | Lockdown: ON/OFF (reason) |
/ts find <name part> | STAFF | Перечисляет игроков онлайн, в имени которых есть этот текст. Регистр не важен. | Строки [FIND] #id name |
/ts reload | STAFF | Не используйте. Команда заменяет всю серверную таблицу ts сырым файлом конфигурации. Функции времени выполнения и настройки панели теряются до перезапуска; после неё /ts в игре вызывает ошибки, а меню не открывается. У клиентов остаётся старая конфигурация. Вместо этого перезапустите tosun-ac. | [RELOAD] Config yenilendi. |
/ts: баны и кики#
Ручные баны проходят тот же путь наказания, что и обнаружения. Вывод идёт в серверную консоль.
- ID банов выглядят как XXXX-XXXX или #NNNN при ts.banIDFormat = 2.
- ts.punishType управляет и ручными банами. Если задать LOG или KICK, /ts ban только запишет в лог или кикнет.
- Персонал (пока включён ts.AdminBypassDetections), игроки из белого списка и из белого списка панели молча пропускаются, если не включён ts.Debug. Строка [BAN] выводится в любом случае.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts ban <playerId> [reason] | STAFF | Банит игрока онлайн. Причина по умолчанию 'Admin Ban'. Использует ts.punishType (по умолчанию BAN) и BanDurations.default (по умолчанию 0 = навсегда). Настоящий бан записывает строку бана, отправляет вебхуки Detections и Bans и уведомляет веб-панель. В игре также отправляет вебхук Admin Ban в Webhooks.Commands. | [BAN] <name> (<id>) banned: <reason> |
/ts kick <playerId> [reason] | STAFF | Кикает игрока онлайн с сообщением о кике Tosun AC на языке цели. Отказывает, если цель — персонал. Если причину не указать, она пустая. В игре также отправляет вебхук Admin Kick. | [KICK] <name> (<id>) kicked: <reason> |
/ts unban <banID> | STAFF | Удаляет бан, отправляет вебхук Ban Removed в Webhooks.AdminMenuLogs и вызывает событие разбана. Строка об успехе выводится, даже если такого ID нет. | [UNBAN] <banID> unbanned. |
/ts baninfo <banID> | STAFF | Показывает ID, игрока, причину, Steam и лицензию одного бана. | Строка с данными бана или 'not found' |
/ts banlist [page] | STAFF | Выводит по 10 банов на страницу (ID, имя, причина). Порядок следует случайному ID бана, а не дате. Заголовок на турецком. | [BANLIST] Sayfa N: |
/ts bancount | STAFF | Подсчитывает все строки банов. | [BANCOUNT] N ban records total. |
/ts offlineban <oldServerId> [reason] | STAFF | Навсегда банит игрока, вышедшего после последнего запуска AC, по его прежнему серверному ID. Банит идентификаторы, сохранённые при отключении: license, Steam, Discord, FiveM, IP и HWID-токены. Без проверки на персонал, без события бана и без вебхука. Записи теряются при перезапуске ресурса. | [OFFLINEBAN] <name> banned offline: <reason> |
/ts: белый список, освобождение и карантин#
Используйте их, чтобы на время остановить наказания для игрока или изолировать подозреваемого вместо бана. Записи белого списка и освобождений хранятся в памяти, привязаны к серверному ID и заканчиваются при отключении игрока.
- Время карантина по умолчанию 300 с и ограничено диапазоном от 30 с до ts.quarantine.maxSeconds (по умолчанию 1800). Причина по умолчанию — 'admin karantinasi'.
- Карантин отказывает для игроков, освобождённых от наказаний: персонала, игроков из белого списка, из белого списка панели или с временным освобождением.
- При ts.quarantine.enabled = false модуль карантина не загружается, и команда выводит строку об ошибке.
- Для игрока, который уже в карантине, всё равно выводится строка об успехе.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts whitelist <playerId> [seconds] | STAFF | Пропускает наказания для игрока; обнаружения продолжают работать. Без секунд действует до отключения; 0 истекает сразу. ID не проверяется. | [WHITELIST] <name> (<id>) whitelist'e eklendi. |
/ts unwhitelist <playerId> | STAFF | Удаляет запись из белого списка. | [WHITELIST] <name> (<id>) removed from whitelist. |
/ts tempwhitelist <playerId> [seconds] | STAFF | То же, что whitelist, но с фиксированным временем: по умолчанию 300 с, минимум 1 с. | [WHITELIST] <name> (<id>) whitelisted for Ns. |
/ts exempt <playerId> [seconds] [reason] | STAFF | Приостанавливает клиентские обнаружения и наказания на 1–300 с (по умолчанию 60, причина admin_exempt). Перезаписывает любую запись белого списка, поэтому сокращает постоянный /ts whitelist до этого времени. | [EXEMPT] name (id) — N sn tespit muafiyeti. |
/ts quarantine <playerId> [seconds] [reason] | STAFF | Переносит игрока в отдельный routing bucket (по умолчанию 9001-9500) с заблокированными сущностями и отключённой популяцией. Записывает обнаружение QUARANTINE и сообщает игроку на турецком, если не задано ts.quarantine.notifyPlayer = false. Автоматически освобождает по истечении времени. | [KARANTINA] ... izole edildi или Basarisiz |
/ts release <playerId> | STAFF | Досрочно завершает карантин и возвращает исходный routing bucket. | [KARANTINA] <id> serbest birakildi. |
/ts quarantines | STAFF | Перечисляет игроков в карантине с ID, именем, причиной и оставшимися секундами. | Список с турецкими заголовками |
/ts: очистка сущностей#
Эти подкоманды удаляют сущности сразу на всём сервере. Шага подтверждения нет. Вывод идёт в серверную консоль.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts clearvehicles | STAFF | Удаляет все транспортные средства, включая занятые и принадлежащие игрокам. | [CLEAR] N vehicles deleted. |
/ts clearpeds | STAFF | Удаляет всех педов, не являющихся игроками (NPC). | [CLEAR] N NPCs deleted. |
/ts clearobjects | STAFF | Удаляет все объекты, включая сетевые пропы скриптов и пропы маппинга. | [CLEAR] N objects deleted. |
/ts clearall | STAFF | Удаляет транспорт, NPC и объекты за один вызов. | [CLEAR] V vehicles, P NPCs, O objects deleted. |
/ts: события-ловушки (honeypot)#
Ловушки — это поддельные события-триггеры, которые настоящие скрипты никогда не вызывают, поэтому игрока, вызвавшего такое событие, можно забанить. Активный список хранится в таблице ac_protected_events. Вывод идёт в серверную консоль.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts evtlist | STAFF | Перечисляет активные события-ловушки с их типом и общим числом. Псевдонимы: faketriggerlist, evtliste. | Список событий |
/ts evtwhitelist <eventName> | STAFF | Отключает ловушку (active = 0) и перезагружает список. Используйте, если настоящий скрипт использует это имя события и игроки получают ложные баны. Строка об успехе выводится, даже если ни одна строка не совпала. Псевдонимы: faketriggeroff, evtoff. | Подтверждение и подсказка выполнить ensure для ресурса AC (tosun-ac) ради уже зарегистрированных обработчиков |
/ts evttrap <eventName> client|server | STAFF | Добавляет ловушку указанного типа или снова включает её и перезагружает список. Псевдонимы: faketriggeron, evton. | Подтверждение и подсказка про ensure для ресурса AC или строка с подсказкой по использованию |
/ts evtscan | STAFF | Только чтение. Сканирует файлы .lua, перечисленные в манифесте каждого запущенного ресурса, на имена событий и сообщает о ловушках, которые используют настоящие скрипты, с готовой строкой ts evtwhitelist для каждой. Glob-записи (*) и файлы .js пропускаются. Псевдонимы: faketriggerscan, evtara. | Список конфликтов или 'no conflict' |
/ts: исключения сканера сигнатур#
Используйте их, когда сканер сигнатур помечает легитимный скрипт. Код сигнатуры показан в строке лога [Signature Scanner]. Исключения и пропуски хранятся в базе данных. Вывод идёт в серверную консоль.
/ts sigexc или /ts sigskip без допустимого второго слова выводит подсказку по использованию.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
/ts sigexc add <resource> <signature_code> [file/path.lua] | STAFF | Сохраняет исключение в ac_signature_exceptions. Без файла охватывает все файлы ресурса. | [SIGEXC] Kaydedildi: res / code или Kaydedilemedi |
/ts sigexc list | STAFF | Показывает 80 самых новых исключений: id, ресурс, файл (или все файлы) и сигнатуру. | Список исключений |
/ts sigexc del <id> | STAFF | Удаляет исключение с этим id из sigexc list. Псевдоним: remove. | Строка об удалении или об ошибке |
/ts sigexc reload | STAFF | Очищает кеш исключений. При следующем сканировании он снова читается из базы данных. | Строка о сбросе кеша |
/ts sigpatterns | STAFF | Выводит примеры встроенных кодов сигнатур, например lua_loadstring, debug_sethook и trigger_internal. Псевдоним: sigexc_help. | Список кодов |
/ts sigskip add <resource> | STAFF | Заставляет сканер сигнатур пропускать escrow- или зашифрованный ресурс (хранится в ac_signature_escrow_skip). | Строка о добавлении или об ошибке |
/ts sigskip list | STAFF | Показывает до 80 пропускаемых ресурсов с их id. | Список пропусков |
/ts sigskip del <id|resource> | STAFF | Удаляет пропуск по id строки или имени ресурса. Псевдоним: remove. | Строка об удалении или об ошибке |
ts sigexc add my-job lua_loadstring client/main.lua
ts sigskip add my-escrow-packКоманды модерации (форма ts_ и короткое имя)#
Эти 17 команд не являются подкомандами /ts. Каждая существует как ts_<name> и как короткое <name>, например /ts_freeze 7 или /freeze 7. Обе формы требуют STAFF в игре, а консоль может их запускать. Все результаты идут в серверную консоль.
- При отказе ts_<name> выводит в консоль '[ts_<name>] Yetersiz yetki.'. При отказе короткое имя ничего не делает.
- Короткое имя повторно запускает ts_<name> как серверную команду, предварительно удалив точки с запятой, двойные кавычки и переносы строк. Эта вложенная команда, скорее всего, выполняется от имени консоли. Поэтому /tphere и /tpto не работают, /adminsync требует ID, /kickall кикает и вас, а /warn записывает отправителем консоль. Для этих команд используйте форму ts_ и один раз проверьте в игре.
- ts_v9_help перечисляет эти команды как 'ts freeze <id>' и т. д. Такой синтаксис не работает; вводите ts_freeze или freeze.
| Синтаксис | Кто | Что делает | Вывод в консоль |
|---|---|---|---|
/ts_freeze <id> | /freeze <id> | Консоль или STAFF | Замораживает игрока и отправляет ему уведомление в чат. Собственная проверка AC против заморозки размораживает игроков без прав администратора примерно через 10 с, при этом цель может оставаться неуязвимой до 60 с. | [freeze] <name> donduruldu. |
/ts_unfreeze <id> | /unfreeze <id> | Консоль или STAFF | Размораживает игрока и снимает неуязвимость. | [unfreeze] <name> serbest. |
/ts_slay <id> | /slay <id> | Консоль или STAFF | Устанавливает здоровье игрока на 0. | [slay] <name> öldürüldü. |
/ts_revive <id> | /revive <id> | Консоль или STAFF | Вызывает первое подходящее событие воскрешения скрипта скорой помощи (wasabi, qb, esx, cd, ars и другие), воскрешает игрока, если он всё ещё мёртв, и восстанавливает здоровье и броню. /revive часто конфликтует со скриптами скорой помощи. | [revive] <name> canlandırıldı. |
/ts_healall | /healall | Консоль или STAFF | Лечит всех игроков (максимальное здоровье, броня 100) и объявляет об этом в чате на турецком. | [healall] N oyuncu iyileştirildi. |
/ts_warn <id> [reason] | /warn <id> [reason] | Консоль или STAFF | Отправляет предупреждение в чат игрока и сохраняет его в ac_player_warnings. Причина по умолчанию 'No reason specified'. | [warn] <name> → "reason" |
/ts_warnings <id> | /warnings <id> | Консоль или STAFF | Перечисляет последние 10 предупреждений игрока онлайн по license, включая предупреждения /acwarn. | Список предупреждений |
/ts_broadcast <message> | /broadcast <message> | Консоль или STAFF | Отправляет сообщение всем игрокам с заголовком '📢 SUNUCU DUYURUSU'. | [broadcast] Tüm oyunculara: msg |
/ts_players | /players | Консоль или STAFF | Перечисляет игроков онлайн с ID, именем, пингом и отметкой, если игрок заморожен этими командами. | Список игроков |
/ts_lockdown on|off [reason] | /lockdown ... | Консоль или STAFF | on, enable или 1 отклоняет каждое новое подключение с текстом '🔒 LOCKDOWN: <reason>', включая персонал (причина по умолчанию 'Bakım'). off, disable или 0 отключает режим. Без аргумента показывает состояние. Игроки, уже находящиеся онлайн, остаются. Сбрасывается при перезапуске. | [lockdown] AKTİF / KAPALI или состояние |
/ts_tphere <id> | STAFF, только в игре | Телепортирует игрока к вам и даёт ему освобождение от проверки телепортации на 15 с. Короткая /tphere не работает. | [tphere] <name> yanına çekildi. |
/ts_tpto <id> | STAFF, только в игре | Телепортирует вас к игроку, с освобождением от проверки телепортации на 15 с для вас. Короткая /tpto не работает. | [tpto] <name> konumuna gidildi. |
/ts_setweather [TYPE] | /setweather [TYPE] | Консоль или STAFF | Устанавливает погоду на всех клиентах (по умолчанию CLEAR, переход 5 с). Только на стороне клиента, поэтому скрипт синхронизации погоды может её переопределить. | [weather] TYPE |
/ts_settime [hour] [minute] | /settime ... | Консоль или STAFF | Устанавливает время на всех клиентах (по умолчанию 12:00). Только на стороне клиента. Используйте целые числа: дробное значение вызывает ошибку Lua. | [time] HH:MM |
/ts_kickall [reason] | /kickall [reason] | Консоль или STAFF | Кикает всех игроков, кроме отправителя, включая персонал. Причина по умолчанию 'Yetkili: kick all'. При использовании короткого имени вас, скорее всего, тоже кикнет. | [kickall] N oyuncu atıldı. |
/ts_modping | /modping | Консоль или STAFF | Обновляет метку времени, на которой основан индикатор статуса AC в веб-панели. Строка выводится, даже если запись в базу данных не удалась. | Строка подтверждения (на турецком) |
/ts_adminsync [id] | /adminsync <id> | Консоль или STAFF | Повторно отправляет статус персонала и освобождение персонала сотруднику, чей клиент не распознаёт его как персонал. ts_adminsync без ID применяется к вам. | [adminsync] <name> için admin bypass yenilendi. |
Инструменты для игроков (mute, sethp, giveweapon ...)#
Эти 11 команд существуют как ts_<name> и как <name>, и обе формы видят отправителем вас, поэтому короткие имена работают в игре. Они требуют STAFF; консоль может их запускать. Отказ происходит молча. Ответ приходит в ваш чат или в консоль как '[AC] ...'. Ответы в основном на турецком.
| Синтаксис | Кто | Что делает | Ответ |
|---|---|---|---|
/mute <id> [seconds] [reason] (also /ts_mute) | Консоль или STAFF | Блокирует чат игрока на указанное время (по умолчанию 300 с; 0 или меньше = навсегда). Блокируется только чат, проходящий через серверное событие chatMessage. Мут привязан к серверному ID, поэтому переподключение его снимает. Без секунд первое слово причины теряется. | <name> susturuldu (Ns). |
/unmute <id> (also /ts_unmute) | Консоль или STAFF | Снимает мут и уведомляет игрока. Сообщает об успехе для любого числового ID. | Susma kaldırıldı. |
/sethp <id> <0-200> (also /ts_sethp) | Консоль или STAFF | Устанавливает здоровье игрока. 0 убивает. | <name> HP N olarak ayarlandı. |
/setarmor <id> <0-100> (also /ts_setarmor) | Консоль или STAFF | Устанавливает броню игрока. | <name> zırh N olarak ayarlandı. |
/giveweapon <id> <WEAPON_NAME> [ammo] (also /ts_giveweapon) | Консоль или STAFF | Выдаёт оружие (по умолчанию 60 патронов) через ox_inventory, затем qb/qbox, затем ESX, иначе через нативную функцию. Засчитывается первый путь, не вызвавший ошибку, даже если он ничего не выдал. Ответ выводится в любом случае. | <name> -> WEAPON (xN) |
/stripweapons <id> (also /ts_stripweapons) | Консоль или STAFF | Забирает всё оружие у педа. Предметы инвентаря остаются. ID игрока не в сети вызывает ошибку Lua. | <name> silahları alındı. |
/massfreeze [on|off] (also /ts_massfreeze) | Консоль или STAFF | Замораживает (по умолчанию on) или размораживает всех игроков, включая персонал, и объявляет об этом. Игроков без прав администратора вскоре размораживает проверка против заморозки; персонал остаётся замороженным до off или 60 с. | N oyuncu işlendi. |
/emergency [reason] (also /ts_emergency) | Консоль или STAFF | Включает lockdown и кикает всех игроков, не входящих в персонал, с текстом 'EMERGENCY: <reason>'. Причина по умолчанию 'Acil bakım'. Отключите lockdown командой /ts_lockdown off. | Acil durum: N oyuncu kicklendi, lockdown aktif. |
/capture <id> (also /ts_capture) | Консоль или STAFF | Если запущен screenshot-basic, просит клиент игрока загрузить скриншот по URL из convar ts_screen_upload (по умолчанию http://localhost/api/screen_upload.php). AC не сохраняет результат; изображение существует только в месте загрузки. | Ekran görüntüsü istendi. |
/clearinv <id> (also /ts_clearinv) | Консоль или STAFF | Очищает инвентарь через ox_inventory. Без ox_inventory ничего не очищается, но игрок всё равно видит уведомление об очистке. ID игрока не в сети вызывает ошибку Lua. | <name> envanteri temizlendi. |
/speedlimit [kmh] (also /ts_speedlimit) | Консоль или STAFF | Ограничивает скорость транспорта для игроков, находящихся онлайн сейчас (0 = снять). Игроки, зашедшие позже, не ограничиваются, а снятие лимита не восстанавливает уже ограниченный транспорт. | Sunucu hız limiti: N km/h или Hız limiti kaldırıldı. |
Быстрые команды (acwarn, acfreeze, acstats ...)#
Пять коротких команд, отвечающих в чат. Все, кроме /acping, требуют STAFF или консоль, а отказ происходит молча.
| Синтаксис | Кто | Что делает | Ответ |
|---|---|---|---|
/acwarn <id> <reason> | Консоль или STAFF | Сохраняет предупреждение в ac_player_warnings, отправляет его в чат игрока и подтверждает вам. Причина обязательна. Ошибки использования показываются только в игре. | Чат вам; строка в консоли '[AC] admin -> name WARN: reason' |
/acfreeze <id> | Консоль или STAFF | Замораживает игрока. В ответе сказано 60 с, но проверка AC против заморозки может освободить игрока без прав администратора примерно через 10 с. | Чат вам, только в игре |
/acunfreeze <id> | Консоль или STAFF | Размораживает игрока. | Чат вам, только в игре |
/acstats | Консоль или STAFF | Показывает 'Detections: N | Online: N' и один флаг статуса защиты. Обнаружения считаются с момента запуска AC. | Чат или '[AC] ...' в консоли |
/acping | Любой | Отвечает версией AC и числом игроков онлайн. Может запустить любой игрок. | Чат или '[AC] AC up — v<version>' в консоли |
Служебные и диагностические команды#
Запускайте их из серверной консоли. Некоторые можно запускать и в игре при наличии указанных ACE. Вывод всегда идёт в серверную консоль, кроме banscreentest.
Отказы для tosunac_setup, tosunac_backdoorscan, tosunac_eventscan и banscreentest происходят молча. Повторный tosunac_setup во время уже идущего отклоняется.
Ограниченным командам нужны и ACE команды FiveM, и проверка AC. Например, игрок только с tosunac.admin не может запустить tosunac_setup.
| Синтаксис | Кто | Что делает | Вывод |
|---|---|---|---|
tosunac_setup | Консоль или в игре ACE command.tosunac_setup плюс tosunac.admin | Разовая базовая настройка при установке: определяет фреймворк, запускает сканирование на бэкдоры и полное сканирование сигнатур, утверждает в базовом списке Resource Guard только чистые и неизменённые ресурсы, а затем каталогизирует события, не доверяя им. Прерывается без утверждения, если сканирование недоступно или не завершено. | Строки [Kurulum] и сводка Framework / approved / skipped |
tosunac_doctor | Только консоль | Отчёт о рисках применённой конфигурации (после синхронизации с панелью) в режиме только чтения, например включённый Debug, рискованные настройки BAN и постоянные баны по умолчанию. Также запускается один раз через 90 с после старта и пишет одну строку лога в БД, если риски есть. Текст на турецком. | Список рисков или строка об отсутствии рискованных настроек |
tosunac_backdoorscan | Консоль или в игре ACE command.tosunac_backdoorscan плюс tosunac.admin | Глубокое сканирование всех ресурсов на шаблоны бэкдоров, RCE, повышения привилегий и утечки данных. Находки отправляются в панель. При ts.BackdoorGuard.autoQuarantine = true ресурсы с критической находкой останавливаются. Не регистрируется, если Backdoor Guard отключён. | Строка запуска, затем сводка Scan done |
tosunac_eventscan | Консоль или в игре ACE command.tosunac_eventscan плюс tosunac.admin | Статическое сканирование всех ресурсов на имена событий с отправкой в Trigger List панели. События защищаются, только если ts.EventScanner.autoProtect = true (по умолчанию false). Не регистрируется, если сканер событий отключён. Ничего не выводит, если сканирование уже идёт. | Строка запуска, затем Trigger scan done |
tosunac_db_status | Только консоль | Показывает состояние DB bridge: включён ли он, настроена ли лицензия, состояние oxmysql, фреймворк, состояние запросов и последнее состояние панели. | Строки [Tosun DB Bridge] |
tosunac_db_check | Только консоль | Выполняет SELECT 1 через oxmysql. Не проверяет лицензию, переключатель в панели и таблицы фреймворка. | Строка об успехе или ошибке |
ac_cleanup | Только консоль | Сразу запускает очистку базы данных: старые логи, обнаружения, записи аудита, очереди, репутацию IP, попытки входа и истёкшие сессии (срок хранения из ts.v12.keep*). Выводимое число вычисляется до завершения удалений и часто равно 0. Не регистрируется при ts.v12.enableAutoCleanup = false. | [v12 cleanup] Manual run tamam: ... |
tosunac_integration | Только консоль | Для разработчиков скриптов: показывает, применяется ли белый список экспортов, доверенные ресурсы и источник каждого из них, число перехваченных событий освобождения и последние отклонённые вызовы экспортов. | Текст в консоли |
ts_setlang <playerId> <lang> | Консоль или в игре ACE command.ts_setlang плюс STAFF | Задаёт язык AC для одного игрока (ar, de, en, es, fr, pt, ru, tr, zh) и синхронизирует его с клиентом. Проверяется только язык; ID игрока не в сети отображается как OK. | Player N language set to xx |
ts_v9_help | Консоль или в игре ACE command.ts_v9_help | Выводит список команд модерации с неверным синтаксисом 'ts freeze'. В нём нет инструментов для игроков, команд ac* и ts_setlang. | Блок в консоли |
banscreentest <playerId> | /banscreentest | Консоль с ID; в игре ACE tosunac.banscreen.test или tosunac.admin | Показывает предпросмотр настроенного экрана бана (ID бана TEST-0000, причина Preview) у цели или у вас самих в игре. Никого не кикает, не изолирует и не записывает. Не проверяет, включён ли экран бана. | Экран бана у цели; строка с подсказкой по использованию при неверном вводе |
Безопасный запуск tosunac_setup#
tosunac_setup доверяет тому, что установлено сейчас. Запускайте его только на сервере, в чистоте которого вы уверены.
- Запустите сервер только с ресурсами, которым вы доверяете.
- Убедитесь, что Backdoor Guard включён. Если он отключён, настройка прерывается, ничего не утвердив.
- Введите tosunac_setup в серверной консоли. Сканирование на бэкдоры может занять до 120 с.
- Прочитайте сводку. Каждый пропущенный ресурс записывается в лог по имени; проверьте каждый в веб-панели.
- Запустите tosunac_doctor, чтобы проверить применённые настройки на риски ложных банов и угрозы безопасности.
Тестирование и предпросмотр#
Эти команды позволяют проверить AC, никого не наказывая.
- Экран бана: /banscreentest в игре показывает его на вашем экране; banscreentest <id> в консоли показывает его указанному игроку. Настройки экрана бана берутся из веб-панели.
- Рискованные настройки: tosunac_doctor.
- База данных: tosunac_db_check для локального SQL-подключения, tosunac_db_status для DB bridge и состояния панели.
- Доверие к экспортам для ваших скриптов: tosunac_integration.
- Работает ли AC: /acping (любой) или /acstats (персонал). /ts status также показывает состояние lockdown.
Открытие меню администратора#
Откройте внутриигровое меню администратора через /ts, /ts menu, /tsmenu или F7. Та же команда или клавиша закрывает его. Сервер проверяет MENU при каждом открытии меню.
- /tsmenu может ввести любой; решает сервер. Запросы ограничены одним в 1,5 с на игрока.
- Отклонённый запрос /tsmenu или F7 кешируется на 10 с и записывается: строка лога в базе данных, запись о событии персонала и предупреждение в консоли.
- Игрок наказывается за отклонённый запрос, только если ts.NuiNeverBanUnauthorized = false (по умолчанию true). Тогда применяется ts.punishType.
- Отклонённый /ts показывает карточку об отсутствии прав и не записывается в лог.
- Персонал со STAFF, но без MENU (например, только с ACE txAdmin) может нажать F7, но каждый запрос отклоняется и записывается в лог.
- Переключатели ts.AdminMenu allowFreecam, allowDelete и allowEsp применяются только клиентом.
Внутриигровые инструменты администратора#
Свободная камера, удаление по прицелу, noclip и режим наблюдения работают только для персонала. Свободной камере и noclip также нужна сессия меню: с момента входа меню должно хотя бы раз успешно открыться.
Если ваш доступ к меню отозван, пока вы в свободной камере или в режиме наблюдения, выход из этого режима отправляет лог меню, который сервер считает неавторизованным. Это может привести к попытке наказания.
| Инструмент | Как запустить | Требования | Что делает |
|---|---|---|---|
| /tsdelaimed (клавиша DELETE) | Наведите прицел на транспорт, педа или объект и нажмите DELETE или введите /tsdelaimed. | Клиент со STAFF и ts.AdminMenu.allowDelete не равно false. Для сетевых сущностей на сервере также нужен MENU; для локальных — нет. | Удаляет сущность (не игрока), в которую попадает луч длиной 60 м от камеры. Уведомление 'Aimed entity deleted.' появляется и тогда, когда сервер отказывает. |
| /tsfreecam | Введите /tsfreecam. Чтобы выйти, введите её снова или нажмите Backspace. | Клиент со STAFF, ts.AdminMenu.allowFreecam не равно false и сессия меню. | Включает и выключает свободную камеру и закрывает меню. До первого открытия меню она лишь взводит скрытый переключатель, и камера запускается в момент открытия меню. Не выключает noclip. |
| Noclip | Только в меню администратора. Команды или клавиши для noclip нет. | Сессия меню (MENU). | Полёт без столкновений, с неуязвимостью, от первого лица. Другие вас не видят, если не задано ts.AdminMenu.noclipInvisible = false. |
| Наблюдение (spectate) | Меню администратора, например клавиша w в разделе Players. | Сессия меню (MENU). | Наблюдение за игроком с HUD 'SPECTATE MODU'. Выход: /unspectate, /stopspectate, Backspace или control 56. Обе команды ничего не делают, если вы не в режиме наблюдения. |
Привязки клавиш и клавиши по умолчанию#
Tosun AC регистрирует одну переназначаемую клавишу (DELETE). Клавиша меню — это фиксированный ID control, заданный в конфигурации. Остальные клавиши работают только внутри инструмента.
- F7 проверяется каждые 50 мс по состоянию клавиши, которое длится один кадр, поэтому нажатие может быть пропущено. Если меню не открылось, нажмите ещё раз.
- ID control для F7 считывается один раз при запуске клиентского скрипта. Изменение из панели вступает в силу только после переподключения игрока.
| Клавиша | Где | Действие | Как изменить |
|---|---|---|---|
| F7 (control 168) | В игре, опрашивается только на клиентах персонала | Открывает или закрывает меню администратора. | Задайте в ts.AdminMenu.openKeyControl другой ID control FiveM. Чтобы получить изменение, игроки должны переподключиться. Игроки не могут переназначить её в настройках GTA. |
| DELETE | В игре, регистрируется для всех игроков, пока меню включено; действует только для персонала | Запускает /tsdelaimed. | Каждый игрок: Настройки GTA V > Назначение клавиш > FiveM, пункт 'Tosun: Delete aimed entity'. |
| Backspace, Esc или правая кнопка мыши (control 177) | В режиме наблюдения или в свободной камере | Завершает наблюдение или свободную камеру. | Фиксирована. |
| Control 56 (INPUT_DROP_WEAPON, по умолчанию F9) | В режиме наблюдения или в свободной камере | Завершает наблюдение или свободную камеру. | Фиксирована. В комментариях кода она названа F8; проверьте в игре. |
| INSERT (control 121) | Каждый игрок, включая персонал | Отключена стандартным ts.BlacklistKeys. | Измените ts.BlacklistKeys или список в панели. |
ts.AdminMenu.openKeyControl = 166 -- F5Управление свободной камерой#
Пока свободная камера включена, все остальные элементы управления отключены. Сущность, на которую вы смотрите (до 120 м), выделяется и подписывается, а игра подгружает область вокруг камеры. Текст HUD на турецком и показывает расстояние за кадр, а не м/с.
| Клавиша | Действие |
|---|---|
| Мышь | Обзор |
| W, A, S, D (control 32-35) | Движение |
| Пробел (22) | Вверх |
| Левый Ctrl (36) | Вниз |
| Колесо мыши (241 / 242) | Базовая скорость больше или меньше на 3 (диапазон 2-120, начальная 25) |
| Левый Shift (21) | Скорость x4 |
| Левый Alt (19) | Скорость x0.25 |
| Левая кнопка мыши (24) | Удалить выделенную сущность, если ts.AdminMenu.allowDelete не равно false; записывается в лог как Freecam Delete |
| Backspace (177) или control 56 | Выйти из свободной камеры |
Управление noclip#
Включайте и выключайте noclip в меню администратора. Пока он включён, атака, прицеливание, выбор оружия, ближний бой и X (control 73) отключены. HUD показывает скорость как 'N m/sx speed' из-за несоответствия текстового шаблона.
| Клавиша | Действие |
|---|---|
| W, A, S, D (control 32-35) | Движение |
| Пробел (22) | Вверх |
| Левый Ctrl (36) | Вниз |
| Колесо мыши (241 / 242) | Базовая скорость больше или меньше на 2 м/с (диапазон 1-60, начальная 12) |
| Левый Shift (21) | Скорость x3.5 |
| Левый Alt (19) | Скорость x0.25 |
Горячие клавиши меню администратора#
Эти клавиши работают, пока открыто меню администратора. Они игнорируются, пока вы вводите текст в поле, пока открыт просмотрщик или пока зажат Ctrl, Alt или Meta (кроме Ctrl/Cmd+K).
| Клавиша | Действие |
|---|---|
| Esc | Закрыть верхний слой (просмотрщик, поиск, взведённую кнопку, форму), затем меню |
| Ctrl+K или Cmd+K | Перейти в поиск команд |
| / | Перейти в фильтр текущего раздела |
| 1–5 | Переключить раздел: 1 игроки, 2 обнаружения, 3 баны, 4 логи, 5 инструменты |
| Стрелка вверх / Стрелка вниз | Раздел игроков: перемещение выделения |
| s | Раздел игроков: скриншот |
| l | Раздел игроков: просмотр в реальном времени |
| w | Раздел игроков: наблюдение |
| t | Раздел игроков: телепортироваться к игроку |
| b | Раздел игроков: переместить игрока к себе |
| Стрелка влево / вправо, Home, End | Фокус на полосе вкладок: переход между вкладками (зеркально для языков с письмом справа налево) |
Заблокированные клавиши и запрещённые команды#
Два списка в конфигурации влияют на клавиши и клиентские команды игроков. Панель может заменить оба списка.
Команды tosun-ac, встроенные команды (без ресурса-владельца) и команды ресурсов, которые Resource Guard считает авторизованными, игнорируются. Ни одна команда не оценивается, пока не готов базовый список Resource Guard. Заголовок ts.BlacklistKeys в конфигурации называет его комбинацией клавиш меню, но каждый указанный control блокируется по отдельности.
| Параметр | По умолчанию | Эффект |
|---|---|---|
ts.BlacklistKeys | { 121 } (INSERT) | Каждый указанный control отключается примерно каждые 5 мс для всех игроков, включая персонал, поэтому привязанные к нему скрипты перестают работать. Задайте {}, чтобы снять блокировку. До 50 записей из панели. |
ts.BlacklistCommands | Названия чит-меню, а также общие имена, такие как tp, teleport, noclip, fly, exec и lua | На клиентах без прав администратора зарегистрированные клиентские команды сравниваются по имени (без учёта регистра) примерно каждые 10 с после задержки 35 с. О совпадении сообщается с наказанием command_spam (по умолчанию KICK). До 200 записей из панели. |
Частые ошибки#
Краткий список поведения, которое чаще всего удивляет владельцев серверов.
- /ts reload ломает работающий AC до перезапуска. Вместо этого перезапустите tosun-ac.
- Заморозка через /freeze, /acfreeze и /massfreeze для игроков без прав администратора длится недолго, потому что собственная проверка AC против заморозки размораживает их примерно через 10 с.
- Lockdown (через /ts_lockdown или /emergency) также не пускает на сервер персонал и сбрасывается при перезапуске. Один раз проверьте, что новые подключения на вашем сервере действительно отклоняются.
- Муты привязаны к серверному ID. Игрок с мутом после переподключения снова может писать в чат.
- /clearinv ничего не очищает без ox_inventory.
- Результаты /capture не хранятся в AC; проверьте место загрузки, заданное в ts_screen_upload.
- /ts exempt сокращает постоянный /ts whitelist до времени освобождения.
- /acping доступна каждому игроку и показывает версию AC.
- Короткие имена v9 (tphere, tpto, kickall, adminsync, warn) ведут себя иначе, чем форма ts_. Предпочитайте форму ts_.
Внутренние события и экспорты#
Tosun AC также регистрирует внутренние сетевые события и экспорты для меню администратора, моста веб-панели и собственной защиты. Это не команды. Они защищены проверками прав и токенов, и другие скрипты не должны их вызывать. Используйте вместо них публичные экспорты и события.