Стоковый CommNet — это один общий эфир: все слышат всех, вопрос только в дальности. CommNet Constellation добавляет поверх него радиоканалы. Пока ты об этом не знаешь, мод выглядит как «цветные линии на карте». На деле он меняет базовое правило: теперь связь возможна, только если у обеих сторон совпала частота.
Механика дальности при этом не меняется — она разобрана в Связь: как работает CommNet, и всё оттуда остаётся в силе.
Что такое частота
Частота — это число от 0 до 99 999. Два объекта слышат друг друга, если:
- между ними есть прямая видимость и хватает дальности (обычный CommNet), и
- у них есть хотя бы одна общая частота.
Оба условия обязательны. Аппарат в километре от ЦУПа с частотой 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.