Документация 9.6.24
Подключение панели
Сервер и арендованный сайт — разные ресурсы. Управляйте ими в разделах серверов и сайтов.
Выберите нужный сервер#
Перед загрузкой пакета или копированием лицензии выберите сервер. Мост включён по умолчанию; если запросы данных из панели для этого сервера не нужны, нажмите «Disable connection» на его карточке Tosun Connect. Разрешите исходящий HTTPS к панели. Не храните секреты управления в клиентском коде.
Ожидание подключения#
Проверьте сервер, лицензию, порядок запуска oxmysql, фреймворк и консоль. Сохранённая настройка не доказывает наличие связи. Сначала выполните небольшой запрос чтения.
Настройка арендованного сайта#
Укажите имя и адрес в разделе сайтов. Нужна активная платная подписка и свободное место в лимите. База и права создаются в фоне, без установки MySQL и ввода пароля базы. Обновляйте страницу во время настройки и откройте сайт после публикации. При ошибке обратитесь в поддержку перед созданием нового сайта. База сайта отделена от игровой базы FiveM.
Различайте аккаунт, сервер и сайт#
До скачивания и изменений проверяйте аккаунт и выбранный сервер. Раздел серверов подключает AC, раздел сайтов управляет арендованными страницами. Свой домен открывает основной активный сайт.
Недоступная настройка может означать отсутствие прав. Владелец должен проверить роль; чужая лицензия или общий пароль это не исправляют. При нескольких сайтах проверяйте карточку перед редактированием.
Проверяйте подключение по этапам#
Сохранённая лицензия не доказывает работающую связь. Сопоставьте запуск и свежий статус панели.
- Проверьте запись и серверную лицензию через set в server.cfg.
- Запустите oxmysql и зависимости framework; исправьте первую ошибку.
- Проверьте исходящий HTTPS к настроенной панели. Для моста не нужно открывать MySQL в интернет.
- Мост включён по умолчанию в панели и на сервере; дополнительная строка в server.cfg не нужна. Выполните небольшое поддерживаемое чтение. Чтобы отключить его для этого сервера, нажмите «Disable connection» в карточке Tosun Connect. Неподдерживаемая схема не означает пустую базу.
Завершите настройку 2FA#
Начните 2FA в разделе безопасности. QR создаётся локально; отсканируйте его или введите ключ вручную. Для активации подтвердите текущий код приложения.
Настройка действует десять минут. После истечения начните заново с новым ключом; не смешивайте старый QR и новую сессию. Если код отклонён, проверьте часы телефона и выбранный аккаунт приложения.
Храните резервные коды безопасно. Не отправляйте QR, ключи и коды поддержке. При ожидании подключения сообщите версию, время последней связи, ID сервера и очищенную ошибку консоли.
Проверяйте просмотр и редактирование отдельно#
Возможность открыть страницу не означает право сохранять все её настройки. Панель отдельно проверяет просмотр, управление настройками и управление интеграциями. Для оплаты также различаются просмотр и управление. До вывода о сбое сервиса проверьте роль пользователя и его индивидуальные изменения прав.
Сотруднику, которому нужно только читать записи, оставьте необходимые для этого права. Если владелец выполняет действие, отклонённое у сотрудника, сравните разрешения на одном выбранном объекте. Не выдавайте посторонние права оплаты или экономики только ради работающей кнопки.
Для изменений экономики через мост реализация требует роль администратора и разрешения управления серверами и экономикой. Успешное чтение игрока не подтверждает разрешение записи. Изменение таких прав должно быть явным административным решением с проверкой фактического объёма доступа.
Используйте историю настроек для объяснения изменений#
Перед сохранением запишите аккаунт, вкладку, прежнее значение, новое значение и время. Успешные изменения создают записи аудита для соответствующей вкладки. Уполномоченный администратор или поддержка могут сопоставить их с симптомом; эти записи не заменяют резервную копию конфигурации.
Если после изменения интеграции исчезли уведомления, сравните время изменения с последним ожидаемым сообщением. При смене оформления не того сайта сначала проверьте выбранный сайт. Описывайте поле его названием, удаляя секретное значение из заметки и снимков экрана.
Меняйте только исследуемую настройку и проверяйте ожидаемый эффект. При неподходящем результате верните известное прежнее значение и повторите проверку. Сохранение вкладки не подтверждает внешние учётные данные, статус оплаты или полное исправное состояние игрового сервера.
Проверьте доступ после передачи обязанностей#
При изменении обязанностей проверяйте аккаунты и права вместе с управляемыми ресурсами. Используйте личные аккаунты, чтобы определить автора действия. Если уходящий администратор знает пароль, секрет интеграции или скачанную лицензию, может потребоваться отдельное решение о замене этих данных.
Новый администратор должен войти в свой аккаунт и проверить только нужные страницы. Подтвердите выбранные сервер и сайт. Убедитесь, что оплатой и безопасностью продолжает заниматься уполномоченный сотрудник; не проверяйте передачу обязанностей списанием с карты или изменением баланса игрока.
Назначьте контакт для восстановления и безопасно храните собственные резервные коды 2FA аккаунта. Удалите QR-коды, ключи настройки и токены сессии из материалов поддержки. Передача завершена, когда обязанности, реальный доступ и эксплуатационная запись согласованы, а не когда переслан общий пароль.
Определяйте доступ по задачам сотрудника#
Сначала перечислите задачи, затем нужные права просмотра и управления. Роли идут user, support, mod, admin и owner; индивидуальные исключения влияют на результат. Название роли не гарантирует одинаковую область везде. Профиль, игроки, серверные настройки, оплата и безопасность — разные обязанности.
Создайте простую матрицу: задача, ресурс, чтение, изменение и принимающий решение. Читающему ошибки не всегда нужна оплата, а управляющему подпиской — действия с игроками. Сейчас billing.view по умолчанию связан с уровнем admin, billing.manage с owner, с учётом исключений. Не расширяйте посторонний доступ ради удобства теста.
Пользователь входит в свой аккаунт и контролируемо проверяет нужный ресурс и доступ. Не испытывайте отказ настоящей оплатой или балансом игрока. Матрица — ваш рабочий документ, не новый автоматический шаблон панели.
Отличайте резервный код 2FA от обычного#
Временный код приложения и резервный код после активации имеют разные задачи. Резервные коды принадлежат аккаунту и расходуются при успехе. Не используйте их как общую многоразовую парольную запись в чате. До смены телефона проверьте материалы восстановления: удаление старого устройства не подключает новое к панели.
Если приложение недоступно, примените неиспользованный свой код через резервную опцию входа. Верный пароль не завершает второй шаг. Один код не должен работать дважды. При отказе проверьте прежнее применение и нужный аккаунт вместо бесконечных догадок.
Безопасность может показывать остаток кодов, но не восстанавливает потерянные значения. Без доступа и материалов обсудите ситуацию с поддержкой, не ожидая немедленного автоматического сброса. Не отправляйте пароль, ключ настройки, QR или резервный код.
Меняйте пароль и закрывайте сеансы отдельно#
Смена пароля проверяет текущий пароль и совпадение двух новых полей. Она обновляет запись пароля; не предполагает удаления всех открытых сеансов. Сеансы в Security — отдельные записи, а удаление действует только на выбранный сеанс вашего аккаунта. Если вы ушли со старого рабочего компьютера, проверьте его доступ дополнительно к новому паролю. Это другие настройки, чем пароль базы сайта или ключ лицензии AC.
- Введите одинаковый новый пароль дважды и проверьте сохранение; не включайте его в сообщения поддержки и снимки.
- Проверьте активные сеансы и последнюю активность; удалите незнакомые или неиспользуемые.
- Ваш список не управляет другим сотрудником. Отдельно проверьте состояние его пользователя и права.
- Проверьте обычный вход с известного устройства, сохранив доступ к 2FA и резервным кодам. Смена пароля и отключение 2FA — разные операции.
Проверяйте права без реальных операций#
Просмотр счетов, запуск оплаты и изменение сайта требуют разных прав. По умолчанию billing.view начинается с admin, billing.manage — с owner; индивидуальные разрешения могут изменить результат. Названия роли недостаточно. Сначала изучите доступ к страницам и видимые действия. Не отменяйте реальные счета, не оплачивайте, не меняйте баланс и не наказывайте игроков ради проверки. Проверяйте границы доступа без рабочих последствий.
- Сопоставьте tenant, активность пользователя, роль и индивидуальные права со списком задач; используйте личные аккаунты.
- Откройте страницу заново в сеансе пользователя. Отдельно запишите просмотр счетов и управление оплатой.
- При отсутствии действия отдельно проверьте условия подписки, состояние ресурса и право; не выдавайте owner лишь ради кнопки.
- Сузьте неожиданный доступ и проверьте снова. Видимость меню не доказывает все серверные проверки.
Настройте и проверьте экран бана#
Экран бана показывает забаненному игроку полноэкранную страницу на несколько секунд перед отключением: ваше изображение или видео YouTube, заголовок, сообщение, причину бана (по желанию), ID бана и крупный обратный отсчёт. По умолчанию он выключен и требует tosun-ac 9.6.15 или новее; более старые версии игнорируют эти настройки и отключают игрока сразу. Экран работает для банов от античита, внутриигрового меню администратора, консоли, exports и панели.
Отсчёт длится заданное число секунд (от 3 до 15, по умолчанию 8). Когда он доходит до нуля, игрок отключается с обычным сообщением о бане. Бан уже записан к моменту появления экрана, поэтому если игрок закроет игру раньше, бан останется в силе.
Во время отсчёта игрок переносится в отдельный изолированный мир и замораживается, у него забирается оружие, а его сообщения в чате блокируются. Время считает сервер, а не игра игрока. Если игра не подтвердит показ экрана в течение 3 секунд, игрок отключается немедленно. Кики от самого tosun-ac не сокращают отсчёт, а новые срабатывания обычно только записываются в журнал; в редких случаях для того же игрока может появиться вторая запись о бане. Кик из txAdmin или другого ресурса отключает игрока сразу; бан при этом остаётся в силе.
Некоторые видео YouTube нельзя встроить: владелец отключил встраивание. Тогда видео не воспроизводится, а на фоне появляется сообщение об ошибке от самого YouTube; текст и отсчёт показываются как обычно. В таком случае используйте изображение. Ссылка на изображение должна начинаться с https:// и вести на публичное доменное имя. Ссылки http, IP-адреса и ссылки длиннее 400 символов не используются, и экран показывает только текст.
- Откройте Panel → AntiCheat settings и найдите карточку «Экран бана». Включите её и задайте длительность от 3 до 15 секунд.
- Выберите медиа: загрузите изображение, укажите ссылку на изображение https или вставьте ссылку на видео YouTube. Видео YouTube воспроизводится на весь экран фоном за текстом (оно обрезается по размеру экрана и затемняется снизу, чтобы текст читался, а информационная карточка находится внизу), а изображение показывается рядом с текстом внутри этой карточки. Для видео решите, начинать ли его без звука. Можно обойтись и без медиа.
- Напишите заголовок (до 80 символов) и сообщение (до 300 символов). Ограничения одинаковы для любого языка и алфавита: кириллическая буква тоже считается одним символом. Счётчик и предпросмотр в панели считают так же, как игра. Если поле оставить пустым, показывается стандартный текст на языке игрока.
- Решите, показывать ли причину бана. ID бана показывается всегда, чтобы игрок мог указать его в апелляции.
- Сохраните. Если панель может связаться с вашим сервером, изменение применяется за несколько секунд. Иначе сервер загрузит его при следующей синхронизации настроек; со стандартной конфигурацией (ts.ServerPerf.configSyncIntervalSec = 120) это может занять до 2 минут. Подождите это время перед проверкой.
- Проверьте экран командой предпросмотра. По умолчанию античит не банит персонал, поэтому проверить экран, вызвав срабатывание на себе, не получится. В консоли укажите ID игрока; в игре команда показывает экран вам. Предпросмотр использует тестовый ID и никого не банит, не перемещает и не отключает. Он работает и до включения экрана.
# Серверная консоль (12 = ID игрока):
banscreentest 12
# В игре, с ACE tosunac.banscreen.test или tosunac.admin:
/banscreentest
# server.cfg, пример: разрешить предпросмотр группе admin
add_ace group.admin tosunac.banscreen.test allowПервый вход владельца арендованного сайта#
Выберите свой сайт в TosunDev и откройте управление. Без сессии сначала откроется вход, после него — управление сайтом. При регистрации по e-mail используйте адрес и пароль, действовавшие при создании сайта; поздние изменения пароля не обязательно синхронизируются.
- Сверьте адрес сайта с выбранной арендой.
- В приватном окне проверьте вход и возврат в управление нужным сайтом.
- Привяжите свой FiveM-сервер; пароль сайта, лицензия Tosun и пароль MySQL различаются.
- Используйте восстановление аккаунта и проверку владения; общего пароля администратора нет.
Проверка прав и их отзыва#
ACE, идентификаторы администраторов и разрешения панели проверяются сервером. all — не идентификатор и не разрешение. В allowedIds нужны полные license:..., discord:... или fivem:... из серверного списка идентификаторов игрока.
- Выдайте тестовому администратору только нужные права.
- Отзовите разрешение панели и повторите проверку тем же игроком; новый интервал опроса по умолчанию около пяти секунд.
- Проверьте также независимые ACE/admins.lua. Телеметрия игроков онлайн не даёт прав.
- Обычный тестовый игрок должен остаться без доступа; чувствительные действия проверяйте на тестовых данных.
ts.AdminMenu.allowedIds = {
"license:YOUR_EXACT_PLAYER_IDENTIFIER",
"discord:YOUR_DISCORD_USER_ID"
}
# Examples are placeholders, not grants.