Здесь только то, на что мы реально наступали при сборке и игре в «Оператор».
Зонд не управляется
Симптом. После отделения зонд не реагирует на управление, в правом верхнем углу «Нет сигнала» или «Нет сигнала (нет управления)».
Причина. Нет связи. Чаще всего у зондового ядра просто нет антенны: стоковые 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 к любому багрепорту: без него диагноз — гадание.