Перейти к содержимому

Решение проблем

Всегда первым делом: прочитай консоль сервера и консоль клиента F8. Большинство проблем что-то выводят.

Запущен ли ресурс через ensure? У каждой папки в [beyond] должна быть своя строка ensure в server.cfg. Введи в консоли ensure bs_vip (или что там у тебя) и посмотри, запустится ли он или выдаст ошибку. Однажды именно это было причиной “VIP-меню на F7 не реализовано”: код был нормальный, просто ресурс никогда не стартовал.

У тебя не запущен ни chat, ни bs_chat, либо запущены оба. Запускай ровно один. bs_chat заменяет стандартный чат и сохраняет те же события, так что остальным всё равно, какой именно.

Зомби невидимы, или “teleport to zombie” попадает в пустоту

Заголовок раздела «Зомби невидимы, или “teleport to zombie” попадает в пустоту»

Две обычные причины:

  1. Кастомная модель зомби, которая не стримится. Если fxserver.log пишет что-то вроде
    Asset bs_zombiepeds/u_m_y_zombie_01.ydd uses 64.0 MiB of virtual memory.
    Oversized assets can and WILL lead to streaming issues
    то модель слишком большая, игра её никогда не загружает, а сервер думает, что существуют ходячие, которых ни один клиент не отрисовал. Исправь ассет (сжатые текстуры с мипмапами, 1024 или 2048, заметно меньше 16 МБ на файл) или не запускай пак. Без него получишь модель зомби из базовой игры, она работает.
  2. Проблема сетевого режима. Выполни /znet и /zsync. Если у сервера есть ходячие рядом с тобой, а твой клиент ни одного не держит, попробуй Zombies.Mode = 'legacy' и перезапусти bs_zombies. Потом пришли мне вывод.

Ползуны встают: nutria_crawl_anims не запущен или запущен после bs_zombies.

bs_zombiesfx не запущен. Учти, что он заменяет звуки боли у всех педов, включая игроков. Это известно.

  • Включи crumbs (по умолчанию они включены: Config.Crumbs.enabled = true в bs_core). После вылета при следующем запуске в F8 выводится [crumbs] last session: с последними 40 событиями. /bs_crumbs выводит текущую сессию. Пришли мне это, это куда полезнее, чем “вылетело”.
  • Вылет при загрузке / ошибки “256 pool”: обычно стриминг карты. См. Производительность, размеры пулов и границы карты.
  • Убедись, что клиент на билде, который требует сервер (3095).

callback "x" timed out after 10000ms - ресурс, которому принадлежит этот колбэк, не запущен или упал с ошибкой. Колбэки рассылаются всем, отвечает только владелец, так что отсутствие владельца даёт таймаут, а не ошибку. Узнай, кто его регистрирует, в справочнике API.

callback "x" errored: ... - серверный обработчик выбросил ошибку. Остальная часть строки это настоящая ошибка Lua.

[BS SERVICES] ... - ресурс запросил сервис (BS.Use), у которого нет провайдера или провайдер не экспортирует обещанное. Проверь, что провайдер стартует раньше потребителя.

Спам MUMBLE_ADD_VOICE_CHANNEL_LISTEN: Tried to call native on a channel that didn't exist - pma-voice. Поэтому в cfg по умолчанию он выключен.

Could not find resource mapmanager / spawnmanager - у тебя есть ensure для ресурсов cfx-server-data, которых у тебя нет. Убери их, они нам не нужны.

ox_lib падает и тянет за собой ac_radio - у тебя zip с исходниками ox_lib с GitHub. Возьми релизный zip, в нём есть web/build/.

Их идентификатор не входит в группу с bs.admin. Проверь в консоли:

test_ace identifier.license:xxxx bs.admin

Персонал исключён через ACE. Скрипт, который телепортирует игроков, должен вызвать exports.bs_guard:Allow(src, 'teleport', ms). См. Античит.

Какая-то панель открыла фокус NUI и не закрыла его. Сначала введи /refreshui, он закрывает все панели и снимает фокус. Если не помогло, перезапусти ресурс, которому принадлежит панель. Если воспроизводится, скажи мне, какая панель, каждая панель должна при любом выходе парно отправлять bs:ui:opened и bs:ui:closed.

Вход в базу данных не работает после обновления

Заголовок раздела «Вход в базу данных не работает после обновления»

Если используешь db.cfg, проверь, что он всё ещё лежит рядом с server.cfg и что в server.cfg по-прежнему есть exec db.cfg. git pull никогда не трогает db.cfg, но копирование свежего server.cfg поверх твоего может убрать строку exec. См. Рецепт и деплой на VPS.

  • Vehicles.World.enabled равно false, либо миграция 029_vehicle_world.sql не запускалась (проверь bs_migrations).
  • Они пополняются только при перезапуске сервера и появляются только на дорожных точках вдали от игроков и вне безопасных зон. Покатайся, они появляются в 260-650 метрах.
  • Модель из Vehicles.World.pool, которой нет на твоём сервере, никогда не появится. Посмотри консоль F8.

Не получается поставить деталь, машина не заводится

Заголовок раздела «Не получается поставить деталь, машина не заводится»

Мировые машины стартуют без аккумулятора, свечи и топливного бака. Выдай себе предметы через F10 > ITEMS для проверки, затем используй колесо транспорта (G).

  • У resource ещё нет этого языкового файла, поэтому он откатывается на английский. Пока так и должно быть.
  • Написанный тобой resource не подключает @bs_core/shared/sh_locale.lua или не перечисляет locales/*.lua в files. См. Языки.

bs_tester не в ensure, либо у игрока нет доступа тестера. У админов он есть всегда, остальным нужен переключатель TESTER в F10 > PLAYERS.

Файла нет в жёстко заданном списке в bs_core/server/sv_migrations.lua. См. Миграции базы данных.