kerbal.ruвики сборки «Оператор»
Оператор / Вики / Связь и сеть

Частоты и наземные станции

Как CommNet Constellation превращает связь в радиосеть с каналами: частота на каждой антенне, частоты у наземных станций, апгрейд станций за деньги и главная ловушка — станция без частоты.

Стоковый CommNet — это один общий эфир: все слышат всех, вопрос только в дальности. CommNet Constellation добавляет поверх него радиоканалы. Пока ты об этом не знаешь, мод выглядит как «цветные линии на карте». На деле он меняет базовое правило: теперь связь возможна, только если у обеих сторон совпала частота.

Механика дальности при этом не меняется — она разобрана в Связь: как работает CommNet, и всё оттуда остаётся в силе.

Что такое частота

Частота — это число от 0 до 99 999. Два объекта слышат друг друга, если:

  1. между ними есть прямая видимость и хватает дальности (обычный CommNet), и
  2. у них есть хотя бы одна общая частота.

Оба условия обязательны. Аппарат в километре от ЦУПа с частотой 7 не свяжется с ЦУПом на частоте 0 — эфир разный.

Созвездие — это просто именованная частота с цветом. Public Broadcasting = частота 0 — общий канал, существует всегда.

Три места, где живут частоты

Это главное, что нужно понять. Частота хранится не в одном месте, а в трёх, и все три должны сойтись.

Где Что это Как выглядит в сейве
Антенна у каждой антенны своя частота CNConstellationAntennaModule { Frequency = 0; InUse = True }
Аппарат список частот = объединение частот его антенн CNCCommNetVessel { FreqDictionaryKeys / FreqDictionaryValues }
Наземная станция свой независимый список частот GroundStation { Frequencies { Frequency = 0 } }

Список аппарата собирается сам (FreqListOperation = AutoBuild): мод суммирует мощность всех включённых антенн по каждой частоте. В логе это видно строкой:

[CommNet Constellation] CommNet Vessel 'LKO Relay A' has the single freq 0 of 9036576 power

Читается так: «аппарат вещает на одной частоте — 0, суммарная мощность 9,04 М». Если поставить две антенны на разные частоты, строк станет две, и мощность разделится между каналами.

Мощность не складывается через частоты. Две антенны по 5 М на одной частоте дают один сильный канал; они же на разных частотах — два слабых. Разносить частоты «для надёжности» — вредный рефлекс.

Наземные станции — тоже объекты сети

Стоковый Кербин несёт семь площадок: ЦУП и шесть дополнительных (Байкербанур, Кратер Рим, Массив Харвестера, Остров Най, Северная Станция Один, Меса Юг). В стоке они либо все включены, либо все выключены галочкой сложности enableGroundStations.

CNC делает из них полноценные объекты со своими свойствами:

  • свой список частот — как у аппарата;
  • свой уровень (TechLevel) и своя мощность;
  • апгрейд за деньги — прямо в панели мода.

Уровни и цены прописаны в GameData/CommNetConstellation/cnc_settings.cfg:

UpgradeableGroundStationCosts  = 100000; 200000; 500000
UpgradeableGroundStationPowers = 5E+08;  20E+09; 80E+09
KSCMissionControlPowers        = 2E+09;  50E+09; 250E+09

Отсюда важный вывод для игры за «Оператора»: дополнительные станции можно прокачивать отдельно от Центра слежения. Новая станция стартует с 500 М — это в четыре раза слабее ЦУПа первого уровня. За 100 000 она поднимается до 20 Г, что уже сравнимо с ЦУПом второго уровня. Дешёвый способ закрыть дыру в покрытии, пока нет денег на кеостационарную тройку.

Ловушка: станция без частоты

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

  • в панели мода станция видна и выглядит нормально;
  • на карте она отрисована;
  • галочка сложности enableGroundStations = True стоит;
  • аппарат исправен, антенны развёрнуты, мощности с избытком.

А связи нет. Никогда, ни на одном витке.

Это состояние может записаться в сохранение при первом запуске карьеры — если сейв сохранился раньше, чем мод успел раздать станциям частоты из своего конфига. Дальше сейв перекрывает конфиг, и дефолт из cnc_settings.cfg уже не применяется.

Как проверить по сейву. Открой saves/<игра>/persistent.sfs, найди SCENARIO { name = CNCCommNetScenario }. Здоровая станция выглядит так:

GroundStation
{
    ID = Kerbin: KSC
    TechLevel = 2
    Frequencies
    {
        Frequency = 0
    }
}

Если блока Frequencies нет — это и есть поломка.

Как проверить по логу. В KSP.log при загрузке мод пишет по строке на каждую добавленную станцию:

[CommNet Constellation] Stock CommNet Home 'Kerbin: KSC' added

а при раздаче частот — строки вида Added g-station freq: 0. Есть первые и нет вторых — сеть глухая.

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

Симптомы, которые даёт эта поломка, и как отличить её от других причин — в Диагностика связи.

Зачем вообще разносить частоты

Пока сеть маленькая, честный ответ — незачем. Частота 0 на всём работает, и это правильный старт. Разделение начинает окупаться, когда сетей становится несколько:

  • Изоляция. Научная цепочка у Дюны не участвует в маршрутизации кербинского трафика. Пути сигнала становятся предсказуемыми, а не «как игра посчитала».
  • Диагностика. На карте каждое созвездие своего цвета — видно, чей канал порвался.
  • Замкнутые группы. Ретранслятор можно заставить обслуживать строго свою группу и не тратить мощность на чужаков.

Разумный план частот для «Оператора»:

Частота Кто на ней Зачем
0 все наземные станции, все аппараты по умолчанию общий эфир, аварийный канал
0 + 10 кербинская тройка на кеостационаре своя навигационная сеть поверх общей
0 + 11 полярная пара отдельно видно, где рвётся покрытие шапок
0 + 2x каждая межпланетная цепочка своя Мун — 20, Дюна — 21, Джул — 22

Ключевой приём: частоту 0 не снимать ни с чего. Пусть аппарат вещает на двух частотах — своей и общей. Тогда даже если план частот запутается, аппарат останется досягаем.

Что мод не делает

  • Не меняет формулу дальности и не даёт бонусов к мощности.
  • Не переопределяет типы антенн: прямая остаётся прямой, ретранслятор — ретранслятором (Антенны: выбор и дальность).
  • Не заменяет геометрию: горизонт и затенение телом работают как в стоке.
  • Не влияет на скорость передачи науки — только на сам факт наличия канала.

Мод отвечает ровно на один вопрос: «кто кого имеет право слышать». Всё остальное решает стоковый CommNet.

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