К руководству

Документация 9.6.24

Подключение панели

Сервер и арендованный сайт — разные ресурсы. Управляйте ими в разделах серверов и сайтов.

Выберите нужный сервер#

Перед загрузкой пакета или копированием лицензии выберите сервер. Мост включён по умолчанию; если запросы данных из панели для этого сервера не нужны, нажмите «Disable connection» на его карточке Tosun Connect. Разрешите исходящий HTTPS к панели. Не храните секреты управления в клиентском коде.

Ожидание подключения#

Проверьте сервер, лицензию, порядок запуска oxmysql, фреймворк и консоль. Сохранённая настройка не доказывает наличие связи. Сначала выполните небольшой запрос чтения.

Настройка арендованного сайта#

Укажите имя и адрес в разделе сайтов. Нужна активная платная подписка и свободное место в лимите. База и права создаются в фоне, без установки MySQL и ввода пароля базы. Обновляйте страницу во время настройки и откройте сайт после публикации. При ошибке обратитесь в поддержку перед созданием нового сайта. База сайта отделена от игровой базы FiveM.

Различайте аккаунт, сервер и сайт#

До скачивания и изменений проверяйте аккаунт и выбранный сервер. Раздел серверов подключает AC, раздел сайтов управляет арендованными страницами. Свой домен открывает основной активный сайт.

Недоступная настройка может означать отсутствие прав. Владелец должен проверить роль; чужая лицензия или общий пароль это не исправляют. При нескольких сайтах проверяйте карточку перед редактированием.

Проверяйте подключение по этапам#

Сохранённая лицензия не доказывает работающую связь. Сопоставьте запуск и свежий статус панели.

  1. Проверьте запись и серверную лицензию через set в server.cfg.
  2. Запустите oxmysql и зависимости framework; исправьте первую ошибку.
  3. Проверьте исходящий HTTPS к настроенной панели. Для моста не нужно открывать MySQL в интернет.
  4. Мост включён по умолчанию в панели и на сервере; дополнительная строка в 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.

  1. Введите одинаковый новый пароль дважды и проверьте сохранение; не включайте его в сообщения поддержки и снимки.
  2. Проверьте активные сеансы и последнюю активность; удалите незнакомые или неиспользуемые.
  3. Ваш список не управляет другим сотрудником. Отдельно проверьте состояние его пользователя и права.
  4. Проверьте обычный вход с известного устройства, сохранив доступ к 2FA и резервным кодам. Смена пароля и отключение 2FA — разные операции.

Проверяйте права без реальных операций#

Просмотр счетов, запуск оплаты и изменение сайта требуют разных прав. По умолчанию billing.view начинается с admin, billing.manage — с owner; индивидуальные разрешения могут изменить результат. Названия роли недостаточно. Сначала изучите доступ к страницам и видимые действия. Не отменяйте реальные счета, не оплачивайте, не меняйте баланс и не наказывайте игроков ради проверки. Проверяйте границы доступа без рабочих последствий.

  1. Сопоставьте tenant, активность пользователя, роль и индивидуальные права со списком задач; используйте личные аккаунты.
  2. Откройте страницу заново в сеансе пользователя. Отдельно запишите просмотр счетов и управление оплатой.
  3. При отсутствии действия отдельно проверьте условия подписки, состояние ресурса и право; не выдавайте owner лишь ради кнопки.
  4. Сузьте неожиданный доступ и проверьте снова. Видимость меню не доказывает все серверные проверки.

Настройте и проверьте экран бана#

Экран бана показывает забаненному игроку полноэкранную страницу на несколько секунд перед отключением: ваше изображение или видео YouTube, заголовок, сообщение, причину бана (по желанию), ID бана и крупный обратный отсчёт. По умолчанию он выключен и требует tosun-ac 9.6.15 или новее; более старые версии игнорируют эти настройки и отключают игрока сразу. Экран работает для банов от античита, внутриигрового меню администратора, консоли, exports и панели.

Отсчёт длится заданное число секунд (от 3 до 15, по умолчанию 8). Когда он доходит до нуля, игрок отключается с обычным сообщением о бане. Бан уже записан к моменту появления экрана, поэтому если игрок закроет игру раньше, бан останется в силе.

Во время отсчёта игрок переносится в отдельный изолированный мир и замораживается, у него забирается оружие, а его сообщения в чате блокируются. Время считает сервер, а не игра игрока. Если игра не подтвердит показ экрана в течение 3 секунд, игрок отключается немедленно. Кики от самого tosun-ac не сокращают отсчёт, а новые срабатывания обычно только записываются в журнал; в редких случаях для того же игрока может появиться вторая запись о бане. Кик из txAdmin или другого ресурса отключает игрока сразу; бан при этом остаётся в силе.

Некоторые видео YouTube нельзя встроить: владелец отключил встраивание. Тогда видео не воспроизводится, а на фоне появляется сообщение об ошибке от самого YouTube; текст и отсчёт показываются как обычно. В таком случае используйте изображение. Ссылка на изображение должна начинаться с https:// и вести на публичное доменное имя. Ссылки http, IP-адреса и ссылки длиннее 400 символов не используются, и экран показывает только текст.

  1. Откройте Panel → AntiCheat settings и найдите карточку «Экран бана». Включите её и задайте длительность от 3 до 15 секунд.
  2. Выберите медиа: загрузите изображение, укажите ссылку на изображение https или вставьте ссылку на видео YouTube. Видео YouTube воспроизводится на весь экран фоном за текстом (оно обрезается по размеру экрана и затемняется снизу, чтобы текст читался, а информационная карточка находится внизу), а изображение показывается рядом с текстом внутри этой карточки. Для видео решите, начинать ли его без звука. Можно обойтись и без медиа.
  3. Напишите заголовок (до 80 символов) и сообщение (до 300 символов). Ограничения одинаковы для любого языка и алфавита: кириллическая буква тоже считается одним символом. Счётчик и предпросмотр в панели считают так же, как игра. Если поле оставить пустым, показывается стандартный текст на языке игрока.
  4. Решите, показывать ли причину бана. ID бана показывается всегда, чтобы игрок мог указать его в апелляции.
  5. Сохраните. Если панель может связаться с вашим сервером, изменение применяется за несколько секунд. Иначе сервер загрузит его при следующей синхронизации настроек; со стандартной конфигурацией (ts.ServerPerf.configSyncIntervalSec = 120) это может занять до 2 минут. Подождите это время перед проверкой.
  6. Проверьте экран командой предпросмотра. По умолчанию античит не банит персонал, поэтому проверить экран, вызвав срабатывание на себе, не получится. В консоли укажите 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 используйте адрес и пароль, действовавшие при создании сайта; поздние изменения пароля не обязательно синхронизируются.

  1. Сверьте адрес сайта с выбранной арендой.
  2. В приватном окне проверьте вход и возврат в управление нужным сайтом.
  3. Привяжите свой FiveM-сервер; пароль сайта, лицензия Tosun и пароль MySQL различаются.
  4. Используйте восстановление аккаунта и проверку владения; общего пароля администратора нет.

Проверка прав и их отзыва#

ACE, идентификаторы администраторов и разрешения панели проверяются сервером. all — не идентификатор и не разрешение. В allowedIds нужны полные license:..., discord:... или fivem:... из серверного списка идентификаторов игрока.

  1. Выдайте тестовому администратору только нужные права.
  2. Отзовите разрешение панели и повторите проверку тем же игроком; новый интервал опроса по умолчанию около пяти секунд.
  3. Проверьте также независимые ACE/admins.lua. Телеметрия игроков онлайн не даёт прав.
  4. Обычный тестовый игрок должен остаться без доступа; чувствительные действия проверяйте на тестовых данных.
ts.AdminMenu.allowedIds = {
    "license:YOUR_EXACT_PLAYER_IDENTIFIER",
    "discord:YOUR_DISCORD_USER_ID"
}
# Examples are placeholders, not grants.