kerbal.ruвики сборки «Оператор»
Оператор / Вики / Начало

Частые проблемы

Симптом → причина → что делать: неуправляемый зонд, потеря связи и науки, дёрганая физика на Mac, зацикленный звук, ошибки ModuleManager, английский текст, память и сейвы после смены сборки.

Здесь только то, на что мы реально наступали при сборке и игре в «Оператор».

Зонд не управляется

Симптом. После отделения зонд не реагирует на управление, в правом верхнем углу «Нет сигнала» или «Нет сигнала (нет управления)».

Причина. Нет связи. Чаще всего у зондового ядра просто нет антенны: стоковые QBE, OKTO, HECS её не имеют. Второй вариант — аппарат ушёл за горизонт от ЦУПа, а сети покрытия ещё нет.

Что делать. Ставь Коммунотрон 16 на каждый беспилотный аппарат — всегда. Дальность проверяй до постройки, «Помощник антенн» считает её прямо в ангаре. Нужно управление на обратной стороне Муна — сначала сеть: Связь: как работает CommNet, Созвездия и покрытие. Смягчить правила можно в Настройки: сложность и моды.

Не идёт WASD, не ставится манёвр, не уходит наука — а SAS работает

Симптом. Аппарат разворачивается по кнопкам «за движением» / «против движения», то есть явно живой. Но тяга не меняется, WASD молчит, при попытке поставить манёвр — «управление заблокировано», кнопка «Передать» серая. Антенна на месте, электричество есть, солнце светит.

Причина. Это частичное управление — режим беспилотника без связи. Настройка requireSignalForControl = False оставляет ему SAS вместо полного паралича, и из-за этого потеря канала перестаёт быть заметной. Все четыре симптома — один и тот же корень.

Как проверить. В сейве у аппарата:

CommNetVessel { controlState = ProbePartial }

ProbePartial = связи нет. Строка canComm = True рядом означает лишь «передатчик исправен», а не «канал есть».

Что делать. Разбирайся по порядку: сначала геометрия (не за горизонтом ли), потом настройка сети. Пошагово — в Диагностика связи.

Связи нет вообще нигде, даже прямо над ЦУПом

Симптом. Аппарат висит над Центром управления, дальности с многократным запасом, антенны развёрнуты — и канала нет. Ни на этом витке, ни на следующем, ни у других аппаратов.

Причина. В CommNet Constellation наземные станции остались без частот. Станция с пустым списком частот не связывается ни с кем, при этом выглядит в панели мода совершенно нормально. Состояние записывается в сохранение при первом запуске карьеры и дальше перекрывает дефолт из конфига мода.

Как проверить.

grep "CommNet Constellation" KSP.log | grep -E "added|freq"

Строки Stock CommNet Home '...' added есть, а строк Added g-station freq: нет — диагноз подтверждён.

Что делать. Не выходя из игры: панель CommNet Constellation → наземные станции → каждой задать частоту 0. Применяется сразу. Полный разбор — в Частоты и наземные станции.

Аппарат дёргается и «разлетается», FPS в пол (Mac)

Симптом. На Apple Silicon физика рывками, детали визуально расходятся, кадры проседают до слайд-шоу.

Причина. Unity Burst не компилируется на ARM. Background Resource Processing дёргает компилятор каждый кадр и каждый раз получает исключение — у нас было больше 100 тысяч исключений за сессию.

Как проверить. В корне игры:

grep -c "Burst failed to compile" KSP.log

Ноль — всё в порядке. Сотни и тысячи — проблема твоя.

Что делать. Установщик на macOS чинит это сам. Если ставил вручную: удали GameData/000_KSPBurst/com.unity.burst@*.zip и PluginData/KSPBurst@*, а 000_KSPBurst/Plugins/ оставь — на них завязан BRP. Дополнительно выключи Enable Burst-Accelerated Methods в разделе Background Resource Processing.

Зацикленный звук: дрон или ровный «цикл» весь полёт

Симптом. Либо громкий «мини-ракетный» дрон с момента запуска, либо ровный повторяющийся цикл, у которого тон едет вверх-вниз. К маршевым двигателям отношения не имеет, на простых аппаратах не появляется.

Причина. Слабая деталь крутит закольцованный клип от настоящей ракеты (sound_rocket_mini). Дальше два варианта: либо таких деталей на ракете десяток и они сливаются в гул, либо высота тона привязана к тяге — автопилот на подъёме подруливает газом, и тон ходит туда-сюда. Пойманные детали:

Деталь Тяга Что было
RCS-блоки Knes (6 шт.) зацикленный sound_rocket_mini; на ракете их до одиннадцати — сливались в дрон
«Расширенный субспутник» US2 2 кН тот же клип, высота тона привязана к тяге, плюс битая ссылка на несуществующий sound_IonEngine
KEREB-D «Reactionary» 2 кН стабилизатор с микродвигателем — подрабатывает постоянно
CA-LV03 «Landver» 3,2 кН верньер, та же история

Правило, по которому отбирали. Прогнали всю сборку по собранному конфигу: зацикленный ракетный клип есть у 103 деталей, и для маршевых двигателей это нормально. Лечим только те, у которых тяга ≤ 5 кН и назначение — стабилизация: они работают постоянно, поэтому гул висит весь полёт. Настоящие двигатели малых аппаратов («Olaf» 4 кН, «Dominique» 5 кН) не трогаем — там звук по делу.

Как проверить, что это оно. В KSP.log поищи строку Cannot assign AudioClip — она укажет на деталь с битым звуком. И сопоставь по времени: цикл начинается ровно тогда, когда активируется ступень с подозреваемой деталью, а не с началом полёта вообще.

Что делать. В сборке уже есть фиксы (knes-rcs-sound-fix.cfg, us2-wedge-sound-fix.cfg, vernier-sound-fix.cfg): закольцованный звук у этих деталей убран, визуальный выхлоп и одноразовый щелчок запуска оставлены. Слышишь цикл — обнови сборку (install.sh --update, см. Установка и обновление) и перезапусти игру: ModuleManager читает конфиги только на старте.

Нашёл ещё одну такую деталь — пришли название и кусок лога в issue, добавим в фикс.

Антенны и панели сорвало на подъёме

Симптом. После выхода на орбиту нет части антенн или солнечных панелей. В полёте они «оторвались» сами.

Причина. Складная антенна в KSP раскрывается автоматически, когда через неё передают науку. Если скрипт или игрок передаёт данные на подъёме, антенна раскрывается прямо в набегающий поток и ломается от напора. С панелями то же самое при ручном раскрытии.

Что делать. В атмосфере науку только собирать — данные лежат в приборах сколько угодно. Передавать после выхода за границу атмосферы (70 км над Кербином), раскрыв всё штатно. Для скрипта это одна проверка:

IF SHIP:ALTITUDE > SHIP:BODY:ATM:HEIGHT { PANELS ON. ... }

Подробный разбор — в Скрипт вывода на орбиту: разбор ошибок.

Первая загрузка длится вечность

Симптом. Загрузочный экран висит несколько минут.

Причина. Module Manager собирает конфиги: в «Операторе» это около 7,5 тысяч патчей поверх восьми десятков модов.

Что делать. Ничего, так и должно быть: первый старт занимает порядка шести минут. Дальше MM работает из кэша. Кэш сбрасывается при любом изменении GameData — после каждого обновления первая загрузка снова долгая.

Ошибки ModuleManager при загрузке

Симптом. После загрузки всплывает окно «ModuleManager: N ошибок».

Причина. Патч ссылается на несуществующий узел или ошибся в селекторе. Часть шума безобидна: ReStock не находит текстуру, чей-то патч ждёт мод, которого мы не ставим.

Что делать. Открой Logs/ModuleManager/ModuleManager.log и найди строки с ошибками — в них указан файл-виновник. Путь ведёт в zzz-kerbalru-translations или kerbalru-operator — это наше, заводи issue. Чужой мод — почти всегда косметика, игра запустится.

Кое-где английский текст

Симптом. Часть надписей осталась на английском.

Причина. Часть строк лежит внутри DLL мода. Такие ловит отдельный словарный движок, и покрывает он не всё: заголовки настроек сложности Snacks и Background Resource Processing остаются английскими, а терминал kOS не переводится принципиально — это язык программирования.

Что делать. Сначала install.sh --ru-only: возможно, у тебя старая версия словарей. Если строка осталась — пришли скриншот в issues, каждая находка становится строчкой в словаре.

Лаги и нехватка памяти

Симптом. Просадки при загрузке сцен, вылеты в редакторе на больших сборках.

Причина. GameData весит около 6 ГБ, и всё это разворачивается в память при старте.

Что делать. Считай 16 ГБ ОЗУ рабочим минимумом, на 8 ГБ сборка будет свопиться. Помогает снести Burst-компилятор на Маке и не строить аппараты на 500+ деталей.

Сейв не грузится после смены сборки

Симптом. После установки другой сборки старое сохранение не открывается или открывается с пустыми аппаратами.

Причина. Смена сборки чистит GameData до стока, а детали, которых больше нет, из сейва не восстановить.

Что делать. Верни ту сборку, в которой сейв делался (install.sh --build operator): совпадёт состав модов — откроется. На будущее копируй saves/ перед сменой.

Где лежат логи

В корне игры: KSP.log — общий лог сессии, и папка Logs/ с подпапками по модам, включая Logs/ModuleManager/ModuleManager.log. Искать в них стоит [ERR (ошибки) и [EXC (исключения — это уже сломанный код). Прикладывай KSP.log к любому багрепорту: без него диагноз — гадание.

Связанные статьи