Читать книгу: «Пепельный периметр»
ПЕПЕЛЬНЫЙ ПЕРИМЕТР
Книга 1: «День ноль»
Глава 1. Пепел в лёгких
Первое, что я почувствовал, – вкус пепла. Он не был “как пепел”, он был пеплом: сухим, мелким, с металлической горчинкой, будто кто-то протёр батарейный контакт и насыпал стружку прямо на язык. Я попытался вдохнуть – и тут же закашлялся так, что ребра свело, а лёгкие, кажется, решили вывернуться наружу вместе с воздухом.
Шлем. Где шлем?
Пальцы нащупали ворот, жёсткий кант гермоподкладки и фиксатор на шее. Я дёрнул его, и визор ожил тусклым, дрожащим светом – как лампа, которую только что ударили.
АВАРИЙНЫЙ ПРОТОКОЛ: АКТИВАЦИЯ
ОТКЛИК: 12%
СОСТОЯНИЕ: СРЕДНЕЕ
РЕКОМЕНДАЦИЯ: НЕ СНИМАТЬ ГЕРМОКОНТУР
– Принял, – хрипло сказал я, хотя вокруг было пусто.
Подо мной был камень. Не настил, не пол модуля, не металл коридора – камень, холодный и злой, с крошкой, которая скрипела под тканью. Надо мной тянулось небо цвета грязной меди, разрезанное полосами чёрных облаков; где-то далеко, за пеленой пепла, вспыхивало зарево – то ли пожар, то ли разряд.

Я приподнялся, проверяя, не хрустнет ли что-нибудь в позвоночнике. Не хрустнуло. Хорошо. Тело ныло, но жило.
Память держалась обрывками: смена, внешние дроны, плановый обход, рутина… потом удар, такой, что металл застонал, и в динамиках прорезался сигнал тревоги, который не должен был звучать вообще.
– Поле просело! – всплыло в голове чужим голосом.
Потом – провал. Темнота. Как будто выключили питание не только секции, но и времени.
Я провёл ладонью по груди. Идентификатор: KOVALEV A. Эмблема колонии стёрта. Поясной набор на месте. Комбинезон – внешний, техников: полужёсткий экзослой, керамические вставки, гофры на сгибах, капиллярная термосеть под тканью; на левом предплечье сервисный модуль, на поясе аварийный кислород – десять минут жизни, если всё вокруг станет окончательно враждебным.
Рядом валялся разодранный кейс. Чужой. Кабель торчал из щели, будто язык.
Я потянулся – и визор тут же моргнул предупреждением.
ПРЕДУПРЕЖДЕНИЕ: ВЫСОКАЯ ЭЛЕКТРОСТАТИКА
РИСК: РАЗРЯД ПРИ КОНТАКТЕ С МЕТАЛЛОМ
РЕКОМЕНДАЦИЯ: ЗАЗЕМЛЕНИЕ / ИЗОЛЯЦИЯ
– Отлично, – пробормотал я. – Планета решила начать знакомство с током.
Я огляделся внимательнее. Ландшафт напоминал выжженный карьер: чёрные камни, острые выступы, туман пепла. Вдали – силуэты конструкций, слишком прямые, чтобы быть природой. Периметр? Мачты? Обломки внешних модулей?
Где купола? Где люди?
Плохие вопросы. Хорошие вопросы: воздух, вода, укрытие.
Я проверил аварийный набор: мультитул, термопакеты, жгуты, сухпай, фильтр-патрон. Питание – почти ноль. “Отклик 12%” означал, что визор умрёт быстро, и тогда останется только камень и мои ошибки.
Ветер усилился, и вместе с ним пришёл звук: тонкий, высокий, будто электричество скребёт по стеклу. Визор мигнул.
ВНЕШНИЕ УСЛОВИЯ: ПЕПЕЛЬНЫЙ ШТОРМ
ДО ПИКОВОЙ ФАЗЫ: 00:14:27
ОПАСНОСТЬ: АБРАЗИВ / ПЕРЕГРЕВ ФИЛЬТРОВ / РАЗРЯДЫ
РЕКОМЕНДАЦИЯ: УКРЫТИЕ
Четырнадцать минут. Это таймер.
Я заметил низкую бетонную коробку, частично врезанную в грунт: сервис-бокс внешнего периметра. Такие ставят через несколько сотен метров – фильтр, микробатарея, минимум связи. Если он жив – это база. Если мёртв – это гроб, но хотя бы с дверью.
Я пошёл к нему короткими шагами, выбирая камни как точки, и каждые пару секунд ловил себя на желании сорваться в бег. Бег – это паника. Паника в пепле – это забитый фильтр и падение.
Под подошвой хрустнуло. Я наклонился: пластина с предупреждением “ЗОНА ПОЛЯ”. Значит, периметр реально просел, и часть поверхности может быть ловушкой.
На горизонте вспыхнула белая дуга. Гром пришёл через секунду – низкий, в грудь. Шторм ускорялся.
Я подхватил чужой кейс – через ткань рукава, за пластик – и ускорил шаг. Визор показывал цифры, которые я ненавидел за прямоту.
00:09:41…
У бокса я увидел след. Свежий отпечаток ботинка в пепле. Не мой. Меньше размером. Кто-то уже бежал сюда.
Не успел я разложить эту мысль, как справа щёлкнуло – тихо, но отчётливо. Не ветер. Не камень. Что-то живое.
Я обернулся – и тень ударила в бок. Я рухнул на камни, воздух выбило. Визор на мгновение погас, затем вспыхнул белыми помехами. Сверху навалился вес, и я увидел только блеск чего-то острого.
Выживание устроено просто: либо ты двигаешься, либо тебя списывают.
Я врезал локтем вверх. Попал. Тень хрипнула. Я вывернулся, раскрыл лезвие мультитула и ударил наугад туда, где чувствовал сопротивление.
Крик был человеческий.
– Стой! – захрипел голос. – Не надо! Я… я думал ты…
Я замер, прижав нападавшего к камню. Молодой парень. Губы в крови. Комбинезон колонии без знаков. Глаза расширены не злостью, а чистым страхом.
– Встанешь – и без глупостей, – сказал я. – Бокс рядом. Внутри поговорим. Дёрнешься – и ты сам всё решишь.
Он быстро кивнул.
Мы добежали до стены бокса под усиливающимся ветром, и я приложил рукав к панели. Сервисный модуль мигнул.
СЕРВИСНЫЙ ДОСТУП: ПОДТВЕРДИТЬ ЛИЧНОСТЬ
ИДЕНТИФИКАТОР: KOVALEV A.
ДОПУСК: УРОВЕНЬ 2
Замки щёлкнули с задержкой, дверь приоткрылась, выпуская тусклый свет аварийных ламп. Уровень 2 не делал меня хозяином системы: он открывал только старые сервисные боксы внешнего контура, которые после аварии ещё слушались штатных техников. Мы нырнули внутрь, и люк захлопнулся так, будто бокс выдохнул.
Фильтры завыли, и в воздухе пахнуло пластиком, пылью и озоном.
Парень облизнул губы и прошептал:
– Я… я Саша. Из “Беты”. Там… там люди стреляют. И… и кто-то говорит, что протокол – ложь.
Я посмотрел на него, потом на индикатор фильтра, который уже мигал жёлтым, и понял: “День ноль” только начался.
Глава 2. Сервис-бокс В-19
В боксе было тесно и плохо пахло – не смертью, а тем, что её отменили на время: горячий пластик, пыль, озон. Фильтр гудел неровно, то проседая, то снова набирая обороты, будто у него дрожала “рука”. Свет аварийной лампы под потолком мигал с задержкой, и от этого казалось, что помещение дышит отдельно от нас.
Саша стоял у стеллажа и не решался сесть. Он смотрел на дверь так, словно она могла внезапно открыть рот и сказать: “всё, игра окончена”.
– Сядь, – сказал я.
– Не могу, – выдавил он. – Если сяду… я…
– Если не сядешь – упадёшь, – отрезал я. – И тогда будет хуже.
Он сел на ящик, но сел так, что колени остались напряжёнными, готовыми вскочить. Ладони прижал к коленям, будто боялся, что они начнут жить своей жизнью. Пальцы дрожали.
Я вызвал меню питания. Визор откликнулся ленивым мерцанием, как фонарь на последней батарейке.
АВАРИЙНЫЙ ПРОТОКОЛ: ЭКО-РЕЖИМ
ВИЗОР: 9%
ПРИОРИТЕТ: ВОЗДУХ / ТЕПЛО / СВЯЗЬ
Подсветку интерфейса – вниз. Биометрию – в минимум. Карту – в кэш. Цифры потускнели, зато перестали прожирать оставшиеся проценты так, будто я им задолжал.
– У тебя… так всегда? – Саша кивнул на окна. – Эти штуки…
– Это аварийный софт, – сказал я. – Он помогает, пока он не врет.
Саша сглотнул так шумно, что я услышал.
– А если… врет?
– Тогда он помогает умереть по инструкции, – ответил я. – Пунктами.
Я снял крышку блока фильтрации. Решётка была забита серой крошкой, как будто кто-то пытался заткнуть ей горло. Когда я вытряхнул это в контейнер, пыль скрипнула – керамика, абразив. Он съедает двигатели не за сутки, а за десятки минут.
Фильтр в этот момент сделал звук “рр-рр-р”, дернулся и опять вернулся в ровный гул.
ФИЛЬТРАЦИЯ: ПЕРЕГРУЗКА
КАРТРИДЖИ: 2
ПРОГНОЗ: 00:31:00 (ЗАПЫЛ.)
– Тридцать одна минута, – сказал я Саше. – Хочешь прожить дольше – держи зажим. Не трогай контакты. И не дыши на него, как на свечку.
Он подполз ближе.
– Так?
– Ниже. Ещё. Вот… держи.
Саша схватился, и у него соскользнула перчатка – ткань по металлу, шорох, и он вздрогнул, будто его ударило током.
– Тихо, – сказал я. – Пока не ударило.
Я заменил уплотнение на входном клапане. Герметик лип к пальцам даже через перчатку, как жвачка. Проклеил микротрещину лентой. Потянул питание на резерв – и в этот момент зажим у Саши чуть просел.
– Держи! – рявкнул я, и он дёрнулся, вернул.
Фильтр загудел ровнее. Индикатор, поболтавшись, сменил жёлтый на зелёный. Воздух стал чуть “пустее” – так чувствуешь, когда исчезает пыль, которую даже не замечал, пока она не ушла.
Саша выдохнул, будто ему отпустили горло.
– Спасибо.
– Рано, – сказал я. – Вода.
Бак аварийной воды показывал треть. Я сорвал пломбу, открутил клапан, поднёс тест-полоску. Она ушла в жёлтое, но не в красное. Нормально. “Нормально” в таких условиях значит “не убьёт сразу”.
– Пить можно, – сказал я. – Через фильтр и по глотку. Это не бар и не реабилитация.
Мы выпили. Вода была тёплая, с привкусом металла, и этот привкус почему-то успокаивал: металл – это хоть что-то понятное.
– Расскажи, – сказал я. – Быстро. Что было в “Бете”.
Саша потер лицо ладонью. На щеке осталась тёмная полоса – пепел, пот, грязь.
– Поле мигнуло… потом сирены… на экранах белое, цифры… люди кричали, что “это не наше”. Потом… – он запнулся, будто слово застряло в горле, – кто-то в масках. Серые плащи. Они орали, что протокол ложный. И стреляли.
– Охрана?
– Нет. Они… как будто знали, куда идти.
Я открыл карту сектора. Она была полумёртвая, но читалась: В-19 – наш бокс. Линия датчиков. И узел В-12.
КАРТА: ЧАСТИЧНО ДОСТУПНА
ОБЪЕКТЫ: В-19 / ЛИНИЯ ДАТЧИКОВ / УЗЕЛ В-12
ПРЕДУПРЕЖДЕНИЕ: ЗОНЫ ПОЛЯ НЕСТАБ.
– В-12, – сказал я. – Там логи поля. Там ответ.
Саша качнул головой слишком резко, будто этим можно было отменить реальность.
– Не надо… Там же… снаружи…
– Снаружи везде, – отрезал я. – Разница только в том, насколько быстро ты умираешь и насколько красиво потом соврут в отчёте.
Панель связи пискнула. Один короткий импульс – экономный, как шёпот.
ВХОДЯЩИЙ ИМПУЛЬС: ПОВТОР
MSG: «НЕ ДОВЕРЯЙ ПРОТОКОЛУ.»
ADD: «ИЩИ В-12. ОТВЕТ.»
Саша побледнел.
– Это… кто?
– Тот, у кого ещё есть связь, – сказал я. – И кто умеет не светиться.
Я попытался запросить источник. В ответ – пусто. “Неопределён.” И маленькая “ошибка” в углу, будто сеть сама запнулась: rx_err 03.
Снаружи тихо ткнули дверь. Потом ещё раз. Слишком аккуратно для ветра.
Я включил тихий режим. Погасил внешнюю индикацию. Внутреннюю блокировку – на максимум.
Голос за дверью был усталый, но живой:
– Эй! Если живые – скажите… Мы не тронем. Нужна вода. Двое ранены.
Саша посмотрел на меня так, будто я держу в руках не отвертку, а его жизнь.
– Сколько вас? – спросил я.
– Трое. Было пятеро. Один не дошёл.
– Сектор?
– Е-07. Выдавило, когда поле упало.
– Пароль техников?
Пауза. Длинная. Я уже успел решить, что сейчас будет ложь, но голос произнёс:
– Не трогай контур без заземления.
Слишком похоже на правду, чтобы верить ей без проверки.
– Я дам воду и вкладыш, – сказал я. – Кладу у двери. Отходите на десять шагов. Любое движение к двери – я закрываюсь и больше не говорю.
– Понял. Спасибо.
Я быстро наполнил флягу, завернул её вместе с вкладышем в пакет, проклеил лентой – не для красоты, а чтобы пепел не убил подарок по дороге. Приоткрыл дверь на толщину ладони, выкинул пакет и захлопнул люк. Замок щёлкнул, как выстрел.
Снаружи шаги. Кто-то резко вдохнул – то ли от облегчения, то ли от жадности. Потом тишина.
– Ты им поверил? – спросил Саша, уже не шёпотом, а голосом человека, которому страшно.
– Я купил время, – сказал я. – Если они люди – запомнят. Если нет – тоже запомнят. И в обоих случаях это значит, что мы не можем сидеть тут вечно.
Я разложил “выходной комплект” на столе: вода, вкладыши, гермолента, нож, ломик, термопакеты, жгут. Саше сунул запасные перчатки.
– Ты идёшь со мной, – сказал я. – Не потому, что я добрый. Потому что один человек умирает быстрее, чем двое.
– Я не… – он начал, но проглотил продолжение.
– Не герой, – закончил я за него. – И не надо. Будешь глазами и руками. Главное – слушай.
Я взял маркер и набросал на стене схему бокса: вода, фильтры, инструмент, мед.
– Зачем? – спросил Саша.
– Потому что возвращаться сюда мы можем в темноте и в крови, – ответил я. – И тогда мозг будет плохим проводником. Стена – лучше.
Мы вышли.
Пепел стал туманом. Ветер свистел, но уже не рвал. На камне проступали бледные прожилки – зона поля, и она выглядела слишком красивой, чтобы быть безопасной.
– Сюда не наступай, – сказал я Саше. – И если падаешь – падай на ткань, не хватайся за металл.
Он кивнул. И на первом же шаге нога у него чуть поехала. Я схватил его за локоть. Он дёрнулся, но удержался.
– Вот так, – сказал я. – Без героизма.
По линии датчиков мы прошли несколько мачт. На одной я заметил свежие царапины у лючка питания. Кто-то уже снимал ресурс. Значит, мы не первые и не последние.
Голоса мы услышали раньше, чем увидели людей. Трое. Один повыше – с чем-то длинным. Не охрана. Движения спокойные, как у тех, кто считает секунды.
Я потянул Сашу назад.
– Тихо. Не беги.
Поздно. Один из них повернул голову, будто прислушался. Потом – резкий свист. Сигнал.
– Эй! – крикнули. – Выходи!
Мы свернули в каменный лабиринт и нырнули в сервисный ход под табличкой “СЕРВИС”. Внутри было темнее и чище, но шаги сверху стали ближе.
В боковой нише я нашёл аварийный шкафчик. Замок заело. Пришлось ударить по нему рукоятью мультитула. Пластик треснул.
Внутри – старый блок питания и два вкладыша.
– Клад? – прошептал Саша.
– Пара часов жизни, – ответил я. – Не радуйся громко.
Тоннель вывел нас к решётке: В-12. ДОПУСК 3.
Я приложил сервисный модуль. Замок щёлкнул. Решётка открылась с рывком, будто не хотела пускать.
Мы вошли.
И я понял: если тут действительно ответ, то он будет стоить дороже, чем воздух.
Глава 3. Узел В-12
Узел В-12 пах озоном и перегретой изоляцией. Запах был не “после грозы”, а “после разряда”: когда электричество прошло не по проводу, а по нервам системы и оставило подпись на всём, до чего дотянулось.
Саша шёл за мной, стараясь наступать тише. Получалось плохо: пепел на бетонном полу был тонкий, как мука, и каждый шаг звучал шёпотом, который всё равно выдаёт тебя сильнее, чем дыхание.
– Не шаркай, – сказал я.
– Я не… – он запнулся и замолчал. Хорошо. Лишние слова здесь тоже шум.
В центре помещения стоял круглый блок управления полем. Панели были оплавлены, как кожа после ожога. Кабель-трассы уходили под потолок, и на нескольких линиях изоляция была сорвана – медь темнела, будто её прожарили. В углу валялась обломанная стяжка, а под ней – кусок пластика со следами копоти. Чьей-то руки. Недавней.

На стене горел монитор. Тускло, упрямо. По экрану бежали строки журнала.
Время “гуляло”: то назад, то вперёд, то снова назад. Резонанс мог ломать синхронизацию. Вмешательство – тоже.
– Здесь… как в больнице, – прошептал Саша. – Только без людей.
– В больнице хотя бы знают, кого лечат, – ответил я.
Сервисный модуль мигнул. Система узнала меня – и мне это не понравилось.
СЕРВИСНЫЙ ДОСТУП: УЗЕЛ В-12
ID: KOVALEV A.
ДОПУСК: 2 (ОГРАН.)
WARN: FIELD/CRIT ERR
Я открыл журнал по полю. И сразу увидел то, что не бывает “само”:
REMOTE INJECTION.
SAFE MODE OVERRIDDEN.
PROTOCOL DROP FAILED.
Саша подошёл ближе, но держался на расстоянии – ровно настолько, чтобы видеть, но не касаться.
– Это… значит…
– Значит, кто-то дал системе команду, – сказал я. – И она приняла её как свою.
Я полез в детали инъекции. Половина данных была затёрта. Не “случайно повреждена”, а затёрта, как затёрта лестница на проходном месте: привычно и быстро.
ИНЪЕКЦИЯ: FIELD PARAM
SRC: N/A (MASK)
SIGN: PARTIAL
PATH: EXT → NODE
– Маскировка… – выдохнул Саша.
– Да. И кто-то не хотел, чтобы мы увидели хвост, – сказал я.
Показания поля выглядели почти спокойными, но периодически появлялись короткие всплески – не как “последствия”, а как “подталкивания”. Слишком ровный интервал. Слишком умный хаос.
– В “Бете” хлопало? – спросил я.
– Да… люди говорили, купол “дышит”.
– Купол не дышит, – сказал я. – Его качают.
Я открыл сетевой обмен. Локальная сеть была мёртвая, но пакеты появлялись короткими вспышками. Среди них повторялся один и тот же идентификатор. Я отметил его, как отмечают мину на карте – без лишних эмоций, потому что эмоции не обезвреживают.
Монитор моргнул. Строки остановились. Экран стал чёрным на долю секунды – и именно в этот момент мой визор запотел изнутри, будто костюм решил напомнить: ты тоже железо, только мягче. Я стёр влагу большим пальцем, оставив мутную дугу.
На экране появилась надпись:
PROTOCOL ACTIVE. HELLO, TECHNICIAN.
Саша отступил и стукнулся спиной о стойку.
– Это… что?
– Либо интерфейс, либо тот, кто прячется за интерфейсом, – сказал я. – И оба варианта плохие.
– Кто ты? – спросил я вслух.
Ответ пришёл не “красиво”, а так, как пишет система, когда у неё нет времени играть в человека:
LVL2: NO.
TRUST_REQ: TRUE.
TIME_COST: HIGH.
– Доверия требуют продавцы и мошенники, – сказал я. – Техника требует проверки.
Экран мигнул.
CHK_AVAIL.
PRICE=TIME.
Саша шумно вдохнул. Я услышал, как у него в капюшоне зашуршал фильтровый вкладыш – ткань по пластику. Он нервничал.
– Не дыши как паровоз, – бросил я. – Фильтр один на голову.
Я начал копировать журналы на сервисный модуль. И в этот момент палец соскользнул по сенсору – не критично, но файл копирования завис на секунду, будто система “подумала”, стоит ли отдавать. Я раздражённо стукнул по корпусу, как по старому терминалу.
– Работай, – сказал я тихо.
Саша тем временем собирал полезное: вкладыши, кассету питания, гермоклей, разъёмы. Он схватил маленький пакет и уронил – пакет ударился о металл, звук получился громче, чем должен был.
Мы оба замерли.
– Тише, – сказал я.
Саша кивнул, поднял пакет и прижал к груди, будто виноватый.
И тогда раздался звук – короткий, чистый, как выстрел. Не из монитора. Из кабеля под потолком.
Я поднял голову и увидел маленький индикатор на жгуте, которого не должно было быть. В кабель был вставлен модуль, притянутый стяжкой. Чужой. Новый. Слишком новый для мёртвой колонии.
– Саша. Не двигайся, – сказал я.
Я снял модуль. На корпусе не было маркировки колонии. Только гравировка – треугольник и линия, словно стрелка. На задней стенке – след от пальца, жирный. Свежий.
MARKER FOUND. BAD.
– Спасибо, – сказал я. – Я заметил.
Я снял аварийный дамп с узла. Пломба треснула. Узел моргнул лампочкой – и на секунду показалось, будто он “пожаловался”.
EVIDENCE TAKEN. RISK++.
– Риск уже плюс, – ответил я. – И ты не тот, кто будет меня этому учить.
На экране появилась карта маршрута выхода. Слишком ровная. Слишком удобная. Как будто кто-то провёл линию там, где проще устроить засаду.
– Мы пойдём иначе, – сказал я Саше.
Мы ушли в соседний технический проход, где бетон ломал связь и прямые линии. Через двадцать метров сзади щёлкнуло – решётку открыли.
Голос был спокойный, даже вежливый:
– Техник Ковалёв. Не делайте глупостей. Мы здесь не за вами.
Шаги ускорились.
– Вниз, – сказал я.
Аварийный люк поддался ломиком со второго удара. На первом он только хрустнул и не сдвинулся – и я на секунду почувствовал холод в спине: если бы люк не открылся, мы бы умерли красиво, по инструкции, под чей-то “контроль”.
Мы прыгнули в колодец кабель-канала, и сверху тут же заскрежетало: они уже были рядом.
Мы спускались по лестнице, скользя перчатками. Внизу – дверь с панелью. Я приложил сервисный модуль. Зелёный.
Мы выскочили в коридор, захлопнули дверь, включили блокировку. Это купило секунды.
– Кто они? – выдохнул Саша.
– Пока не знаю, – сказал я. – Но они знают меня по имени. И это значит – я не случайность в их плане.
Мы побежали по техническому проходу к слабому серому свету. Выход.
Мы вылетели наружу через люк, и нас снова ударил пепел и ветер. Но воздух снаружи был лучше, чем чужие шаги в коридоре.
Я поднял карту. Батарея визора дохла. Экран дрожал.
И вместо красивой фразы пришло событие: на краю интерфейса вспыхнул красный значок и тут же погас – как если бы кто-то снаружи на мгновение “поймал” наш контур.
LINK PING // 0.4s
Я сжал зубы.
– Быстрее, – сказал я.
Саша кивнул. Мы пошли к линии датчиков, и я понял: назад мы возвращаемся уже не в укрытие, а в осаду.
Глава 4. Возврат в осаду
Мы шли быстро, почти бегом, но не так, как бегут на стадионе или по чистому коридору, а так, как бегут в мире, где любой лишний вдох превращается в кашель, где пепел забивает фильтры, а каждый звук отражается от камня и возвращается обратно, как эхо чужого внимания. Я держал Сашу чуть впереди и правее – не потому, что хотел спрятаться за ним, а потому, что ему так проще держать темп, когда ты указываешь направление плечом и корпусом, а не словами, которые ветер может унести; сам я шёл на полшага позади и постоянно оглядывался, пытаясь поймать признаки погони, которые в этой серой каше читаются не глазами, а кожей.
Снаружи шторм ослаб, но не ушёл: пепел висел низко, словно грязный туман, и время от времени порыв ветра поднимал его волной, как море поднимает песок со дна. Небо по‑прежнему было медным, а вдали, в полосе горизонта, бледно мерцали белые дуги разрядов – не молнии в привычном смысле, а всплески поля, которое никак не могло успокоиться. По этой планете нельзя было просто идти: ты всё время шёл через систему, которая тебя не спрашивает, хочешь ли ты играть.
Сервисный модуль на предплечье нагревался – он работал на пределе, копируя журналы, держась за карту и одновременно пытаясь не умереть вместе с визором. Батарея визора мигала – девять процентов превращались в восемь, потом в семь, и каждый процент казался не цифрой, а минутой жизни.
АВАРИЙНЫЙ ПРОТОКОЛ: ПИТАНИЕ КРИТИЧЕСКОЕ
ВИЗОР: 7%
СЕРВИСНЫЙ МОДУЛЬ: 21%
РЕКОМЕНДАЦИЯ: СНИЗИТЬ НАГРУЗКУ / ВОЗВРАТ К БАЗЕ
– Мы… они… – Саша задыхался. – Они были рядом… ты видел?
– Видел. И да, они идут.
Мы вышли на линию датчиков. Мачты торчали из пепла, как тонкие позвоночники погибшей системы, и на некоторых ещё мигали индикаторы питания. Я пытался держаться между мачтами так, чтобы растворяться в их вертикалях; это не делало нас невидимыми, но делало нас менее удобными.
Через несколько минут мы услышали первый выстрел – сухой треск, который эхом раскатился по камням. Пуля ударила где‑то по металлу мачты, и искры вспыхнули в пепле.
– Быстрее.
Мы побежали. Бег здесь был странный: ты бежишь, но не разгоняешься – разгон означает падение, а падение означает руку на металле, а рука на металле означает разряд. Ты бежишь короткими толчками, как по скользкому льду, и пытаешься не дышать глубоко, чтобы не забить фильтр.
Ещё один выстрел. Камень рядом с моим коленом отбил крошку. Саша вскрикнул, но я не дал ему остановиться.
Мы выскочили из ложбины и увидели впереди знакомый силуэт – сервис‑бокс В‑19. Он выглядел маленьким и жалким на фоне пейзажа, но для нас он был крепостью.
Мы ввалились внутрь, и я захлопнул люк, включив внутреннюю блокировку.
БАЗА: СЕРВИС-БОКС В-19
РЕЖИМ: ТИХИЙ / ВНУТРЕННЯЯ БЛОКИРОВКА
ФИЛЬТРАЦИЯ: НОРМА (ВРЕМЯ ДО ПЕРЕГРУЗКИ 01:12:00)
ПИТАНИЕ: НИЗКОЕ (СЕТЬ НЕСТАБИЛЬНА)
Снаружи был ветер и едва слышные удары по металлу, как будто кто-то проверял стену ладонью. Это не был штурм. Это было измерение.
Я подключил запасной блок питания к ретранслятору через ограничитель и включил диагностический режим.
СВЯЗЬ: РЕТРАНСЛЯТОР АКТИВЕН
ДАЛЬНОСТЬ: ОГРАНИЧЕНА (ЭКО-РЕЖИМ)
ПОПЫТКИ ПЕРЕХВАТА: 2 (ПОСЛЕДНИЕ 00:06:40)
РЕКОМЕНДАЦИЯ: ШИФРОВАНИЕ / СМЕНА КЛЮЧА
Я попытался переключить канал в режим перестройки частоты, но система тут же выдала запрет.
ПРЕДУПРЕЖДЕНИЕ: КЛЮЧ НЕ ПРИНЯТ
ПРИЧИНА: ВНЕШНЯЯ БЛОКИРОВКА
СОБЫТИЕ: REMOTE POLICY OVERRIDE
Снаружи раздался голос – спокойный, почти дружелюбный:
– Техник Ковалёв. Мы знаем, что вы внутри. Откройте дверь – и вы уйдёте живыми.
– Кто вы? – спросил я.
– Выжившие. Те, кто понимает систему.
– Имена здесь не важны, – добавили они. – Важны функции.
После этих слов тишина стала плохой: тишина людей, которые перестали разговаривать и начали работать.
Я подготовил оборону базовыми способами: проклеил стык, перенёс расходники в дальний угол, поставил сетку грубой фильтрации на вход, разложил воду и термопакеты так, чтобы их можно было схватить на бегу.
Через минуту пришёл короткий пакет по эфиру.
ВХОДЯЩИЙ ПАКЕТ: КОРОТКИЙ
ИСТОЧНИК: КАНАЛ 7F-B (НЕИЗВЕСТЕН)
СООБЩЕНИЕ: «НЕ ОТКРЫВАЙ. ПОЛЕ ИМ НУЖНО. УХОДИ В СЕВЕРНЫЙ КОРИДОР.»
Снаружи раздался тонкий скрежет – металл резали. У них был инструмент. Значит, десять минут – не фигура речи.
– Уходим, – сказал я Саше. – Не наружу. Внутрь. В сервисный тоннель.
Мы собрали выходной комплект: вода, два вкладыша, гермолента, сварочник, нож, ломик, блок памяти, сервисный модуль. Я открыл люк обслуживания в полу. Пахнуло холодом и пылью. Мы спустились и закрыли люк изнутри.
Наверху металл вскрикнул: резак вошёл глубже.
Мы вышли в коридор обслуживания и добрались до логистического шлюза. Дверь открылась по ключу, и мы влетели внутрь, захлопнув её.
В логистическом модуле был автономный узел сети. Я поднял сниффер и увидел там тот же канал 7F-B. Источник предупреждения был рядом, внутри системы.
Я включил локальный автономный режим костюма, отрезая сетевые функции.
КОСТЮМ: ПЕРЕХОД В ЛОКАЛЬНЫЙ РЕЖИМ
СЕТЕВЫЕ ФУНКЦИИ: ОТКЛЮЧЕНЫ
ПРОТОКОЛ: ОГРАНИЧЕН (ТОЛЬКО КОНТУРЫ / МОНИТОРИНГ)
ПРЕДУПРЕЖДЕНИЕ: ПОТЕРЯ СВЯЗИ / КАРТ / ПОДСКАЗОК
Резак снова запел по шлюзу. Мы бросились ко второму выходу, в грузовой тоннель, захлопнули дверь и успели закрыться в следующем шлюзе, прежде чем они вошли.
Саша сел на пол и спросил глухо:
– Мы будем бежать всегда?
– Нет, – сказал я, сжимая в руке блок памяти. – Рано или поздно мы перестанем бежать. Но чтобы перестать бежать, нужно понять, кто ставит нам стены.
Глава 5. Слепой коридор
Шлюз за нами держался – пока. Металл ещё отдавал недавним ударом, будто его только что били кулаком и он не успел понять, что кулак был не первый и не последний. Я прислонился к стене, прислушиваясь не ушами – кожей: вибрация по бетону, дрожь в воздухе, паузы между звуками. Так слушают не людей, а работу.
Саша сидел на полу, согнувшись, и дышал так, будто у него внутри был маленький насос, который никак не попадал в ритм.
– Глоток, – сказал я и сунул ему флягу. – Маленький. Не залпом.
Он послушался, но всё равно закашлялся – не от воды, от пыли в горле. Пепел умеет возвращаться, даже когда ты уже под землёй.
Я посмотрел на костюмный интерфейс. После локального режима он стал тупее – и это было даже приятно. Меньше красивых подсказок, меньше шансов, что тебя ведут за нос. Но вместе с подсказками ушли карты, ушли маршруты, ушло то ощущение, когда цифры заменяют голову.
На краю дисплея мигнула скупая строка:
КОСТЮМ: LOCAL
NET: OFF
NAV: N/A
– То есть мы теперь слепые? – спросил Саша, глядя на мой визор так, будто там всё ещё есть спасение.
– Мы теперь не на поводке, – сказал я. – Это не то же самое, но для начала сойдёт.
Он хмыкнул, не совсем понял, но зацепился за тон. Тон – это тоже инструмент: либо ты держишь его ровным, либо тебя держат.
Я встал и проверил второй выход шлюза. Дверь была тяжёлая, промышленная, с панелью и ручным приводом. Над ней тускло светилась табличка: “ГРУЗОВОЙ ТОННЕЛЬ / СЕКТОР N”. Север. Значит, сообщение из эфира не было фантазией.
Я крутанул ручку – она пошла туго, сухо, с неприятным скрипом. Руки в перчатках проскальзывали, и я на секунду подумал, что сейчас сорву кожу о металл, хотя кожи там не было. Мысли иногда не успевают за реальностью.
– Давай, – сказал я Саше. – Сзади. И если услышишь удар по шлюзу – не оглядывайся.
– Почему?
– Потому что оглядываются те, кто ещё верит, что у них есть время.
Мы вышли в грузовой тоннель.
Воздух был холоднее, влажнее. Пахло пылью, ржавчиной и чем-то сладковатым – старой резиной или пластиком, который лежал в темноте годами и всё равно не сдавался. Света почти не было. Только редкие аварийные лампы, желтоватые, как уставшие глаза. Где-то впереди капала вода – размеренно, с одинаковой паузой, будто кто-то поставил метроном в подземелье.
Я шёл первым, считая шаги не ради дисциплины, а ради ориентира: в тьме расстояние теряется быстрее, чем дыхание. Саша держался рядом, но чуть позади – и правильно: если что-то прилетит, пусть попадёт в меня, а не в того, кто ещё не умеет падать правильно.
Мы прошли метров сорок, когда сзади по шлюзу ударили так, что звук пронзил тоннель как струна. Не резак – тупой удар. Проверка. Потом второй. Потом пауза.
Саша остановился.
– Они…
– Идут, – сказал я. – И не торопятся.
– Почему?
Я не ответил сразу, потому что ответ мне не нравился. Тот, кто не торопится, либо уверен, что поймает, либо не он главный, а ловушка уже поставлена.
Мы ускорили шаг.
Тоннель вывел к развилке: налево – “Склад N-3”, прямо – “Техкоридор N-Линия”, направо – “Сервис / Купол связи (резерв)”. Таблички были облупленные, но стрелки читались. Хорошо. Значит, цивилизация здесь хотя бы оставила нам подсказки на железе.

Саша ткнул пальцем в правую стрелку.
– Купол связи… это туда?
– Если табличка не врёт, – сказал я. – А таблички, в отличие от протокола, обычно не умеют манипулировать.
Мы повернули направо.
Через пару десятков метров пол под ногами стал другим – не бетон, а металлические решётки. Под ними шёл кабельный лоток, и воздух снизу был ещё холоднее. Решётки звенели, если наступать неаккуратно. Я показал Саше жестом – ступай на ребро, не на середину. Он кивнул и сделал шаг.
Сделал – и решётка под ним чуть просела с сухим “кланк”.
Саша замер, белый как соль.
– Я…
– Нормально, – сказал я. – Только не повторяй.
Это и был микро-сбой: не ошибка смертельная, но ошибка громкая. В таких местах громкость – валюта.
Мы дошли до двери с маркировкой “N-COM / RESERVE”. Панель была старая, с потёртым стеклом. Я приложил сервисный модуль.
Ничего.
Панель моргнула один раз и погасла, будто не захотела даже ругаться.
Я нажал ещё раз – сильнее, как будто силой можно убедить электронику жить.
Ответа не было.
Саша выдохнул с рывком, будто ему в грудь положили камень.
– Всё?
– Нет, – сказал я. – Просто будет сложнее.
Я открыл боковую крышку панели. Болты пошли не сразу: один закис, и мультитул соскользнул. Металл царапнул по перчатке. Неприятно – и снова громко. Я выругался тихо, без слов, одним выдохом.
Под крышкой была клеммная колодка и маленький аварийный конденсатор – “на пять минут жизни”, если повезёт.
Я подцепил питание от нашего запасного блока через ограничитель – аккуратно, на изоляции, не касаясь голого. И только тогда панель ожила слабым красным.
На дисплее вылезли обрывки системных строк, как будто модуль просыпался после долгой комы:
PWR… OK?
AUTH… FAIL
MODE… LOCAL ONLY
– Она не пускает, – сказал Саша.
– Она не верит, – поправил я. – И, по делу, я её понимаю.
Я попробовал сервисный код. Панель подумала секунду и выдала новое:
KEY… OLD
POLICY… LOCK
Политика. Опять это слово. Слишком много “политики” для мёртвого тоннеля.
Сзади, далеко, глухо отозвался ещё один удар по шлюзу. Затем – длинная пауза. И в этой паузе я услышал звук, от которого внутри стало пусто: лёгкий цокот по металлу, ровный, одинаковый.
Это были не шаги человека.
Это было что-то легче. Или что-то на опорах. Дрон? Автомат? Тележка?
Саша тоже услышал. Он посмотрел на меня, и по глазам было видно: сейчас он снова станет тем парнем из первой главы, который бросается и режет от страха.
– Не дергайся, – сказал я. – Иди сюда. К стене.
Я потянул его в нишу рядом с дверью. Там стоял старый шкаф с инструментами, перекошенный, но ещё целый. Я прижал Сашу в тень, сам встал рядом и выключил фонарь.
Темнота сразу стала гуще. Только красный огонёк панели “N-COM” остался виден, как сигарета в ночи. Плохо. Свет – маяк.
Я накрыл панель куском грязной ткани, найденной в шкафу. Ткань пахла машинным маслом и плесенью, но закрыла огонёк.
Цокот приближался.
– Это они? – прошептал Саша.
– Это их глаза, – сказал я так же тихо. – Люди обычно шумят иначе.
Цокот стал ближе, потом остановился. Повисла тишина. В этой тишине я услышал ещё один звук – едва заметный, высокочастотный писк, как у старой электроники. Сканирование.
Саша вжался сильнее.
Я осторожно поднял руку и вытащил из кармана маленький металлический болт – мусор, но полезный мусор. Бросил его в сторону, подальше от нас, на решётку.
Болт упал с “дзинь”.
Цокот тут же сдвинулся туда. Писк сменился коротким щелчком.
– Работает, – прошептал я. – Значит, оно реагирует на звук.
– И что дальше? – Саша почти не шевелил губами.
– Дальше мы либо пролезем, либо умрём, – сказал я. – Третьего не завезли.
Я снова повернулся к панели “N-COM”. У неё была проблема: “политика”. То есть кто-то когда-то запретил доступ без центра. Но “резерв” должен иметь аварийный обход – иначе он не резерв, а украшение.
Я нашёл на плате маленький джампер с маркировкой “MAINT”. Его обычно закрывают пломбой. Пломбы не было. Или её сорвали до нас.
Я перемкнул джампер мультитулом.
Панель мигнула – и вдруг выдала новую строку, короткую, неприятно знакомую по своему тону:
OVERRIDE… ACTIVE
Я застыл.
Саша шепнул:
– Что это значит?
– Это значит, что даже здесь кто-то держит руку на выключателе, – сказал я. – И мне это не нравится.
Цокот снова приблизился – уже ближе, чем хотелось. Болт отвлёк его ненадолго.
Я мог продолжать ковыряться в панели, надеясь на удачу, но удача – плохой план. Значит, нужен второй вариант.
Я посмотрел на дверь. У тяжёлых дверей всегда есть механика. Ручной привод. Штырь. Замок.
Слева от панели была крышка механического доступа. Я сорвал её. Внутри – штырь с гнездом под ключ и ручная защёлка.
– Саша, – сказал я. – Держишь ломик. Если что – бьёшь по тому, что войдёт первым. Не геройствуешь. Один удар – и назад.
Он кивнул. Руки у него тряслись, но ломик он держал правильно – ближе к центру тяжести.
Я вставил в гнездо свой физический ключ-идентификатор и повернул.
Штырь не пошёл.
Я повернул сильнее – и ключ заскрипел.
Глупо. Очень глупо сломать ключ тут, в темноте, под носом у дрона.
Я ослабил давление, вдохнул коротко и попробовал иначе: не силой, а рывком. Рывок, пауза, снова рывок. Металл поддался на третьем.
Дверь щёлкнула.
Цокот резко остановился.
Писк стал громче.
Саша выдохнул, но я шлёпнул его по рукаву – молчи.
Я приоткрыл дверь на два пальца. Внутри было темнее, чем в тоннеле, и пахло сухим пластиком – пыльным, но “чистым” по сравнению с сыростью вокруг. Теплее. Значит, где-то внутри ещё есть питание.
Я расширил щель и мы протиснулись внутрь.
Сзади, в тоннеле, раздался короткий металлический “клик”, как у защёлки. Затем – тонкий удар, и ещё один. Дрон нашёл дверь.
Я захлопнул дверь и провернул штырь обратно, чтобы закрыть изнутри.
Саша привалился к стене, губы у него были белые.
– Мы…?
– Мы поменяли коробку, – сказал я. – Но теперь нас будут искать здесь.
Внутри резервного узла было несколько стоек с оборудованием. Пыль лежала на них ровным слоем, как снег на заброшенной машине. На одной стойке горел маленький индикатор – зелёный, но еле живой. И рядом с ним – порт обслуживания, тот самый, который мне был нужен.
Я подключил сервисный модуль.
Экран мигнул и выдал один-единственный символ, который раздражал меня сильнее, чем выстрел:
★
Не текст. Не код. Просто звёздочка, как отметка.
А потом, будто из глубины, поднялась строка:
POLICY: REMOTE
YOU: LOCAL
WAIT…
Я усмехнулся коротко.
– Нет, – сказал я. – Ждать – не наш режим.
Снаружи, по двери, прошёлся новый звук – уже не цокот, а тихий, аккуратный скрежет. Не дрон. Резак.
И вот это было хуже всего: значит, “контроль” идёт следом, и у него не только глаза, но и руки.
Глава 6. Политика тишины
Дверь “N-COM” держалась не героизмом – железом, которое давно должно было стать ломом. Но по звуку снаружи было понятно: резак у них хороший, руки – терпеливые, а времени – больше, чем у нас. Металл пел тонко и аккуратно, без истерики. Так режут не в драке, так режут в работе.
Саша стоял у стойки, прижав к груди флягу, будто это сердце. Он смотрел на дверь и пытался не моргать часто. Не получалось.
– Дыши носом, – сказал я. – Меньше шума.
– Я… стараюсь, – шепнул он, и в этом шёпоте было больше злости, чем страха. Хороший признак: злость держит форму.
Я снова воткнул сервисный модуль в порт. Стойка откликнулась не радостью – сухой задержкой, как будто проверяла, стоит ли отвечать. Индикатор на панели мигнул и погас. На экране вспыхнули те же символы, что и раньше:
POLICY: REMOTE
YOU: LOCAL
WAIT…
Пальцы сами сжались на корпусе модуля. “WAIT” – любимая команда тех, кто сам не рискует. Ждать здесь означало дать им дорезать дверь.
– Есть другой вход? – спросил Саша.
– Есть другой уровень, – сказал я. – У любой системы.
Я полез под стойку и снял нижнюю крышку. Пластик хрустнул – не красиво, зато быстро. Под крышкой тянулись жгуты: питание, данные, оптика. На одном из жгутов был маленький блок – как будто кто-то добавил его позже, не по схеме. Новый пластик на фоне старой пыли выглядел как пятно крови на серой ткани.
– Видишь? – я ткнул пальцем. – Это не завод.
Саша наклонился ближе и тут же отшатнулся, будто блок мог укусить.
– Это… они?
– Либо они, либо их “слой”, – сказал я. – Но это точно не наш техник-дежурный.
Резак снаружи на секунду замолчал. Потом снова запел, уже ближе к краю двери. Они подбирались к шву.
Я достал нож и аккуратно срезал стяжку. Пластик “щёлкнул” слишком громко. Саша дёрнулся.
– Поздно прятаться от звука, – сказал я. – Теперь надо выиграть у времени.
Блок был маленький, без маркировки, только тонкая гравировка – тот же треугольник со стрелкой, который мы видели на маркере в В-12. Значит, они метят всё, что им важно: узлы, линии, двери.
Я отсоединил блок от жгута. Ожидал искру или тревогу – и получил. Стойка дернулась, как организм, которому выдернули нерв.
На экране пробежала строка, и она была уже не “вежливой”:
POLICY LOST…
RETRY…
RETRY…
ERR 19
В углу мигнул ещё один символ – тот самый “★” – и исчез.
– Что ты сделал? – выдохнул Саша.
– Я сделал ей больно, – сказал я. – И теперь она вспомнила, что она железо, а не политик.
Я быстро открыл локальное меню обслуживания – то, что обычно прячут от всех, кроме тех, кто чинит это ночью, когда начальство спит. Доступ был урезан, но появился.
MAINT: LOCAL
AUTH: LVL2
NET: DENY
– Так… – пробормотал я.
Снаружи послышался новый звук: не резак, а короткий металлический “тук-тук”, как проверка. Потом пауза. Потом снова резак. Они поняли, что внутри что-то происходит, и ускорились.
– Саша, – сказал я, не отрываясь от экрана. – Если дверь начнёт светиться по шву – отходи к стеллажу. Не к стене. К стеллажу. Там металл толще.
– Понял.
Он сказал это слишком быстро. Значит, не понял. Но времени учить не было.
Я полез в параметры связи узла. Мне нужен был один короткий импульс наружу – не “позвонить”, а “плюнуть” пакетом, чтобы понять: кто висит на канале, и можно ли вообще вырваться.
Система выдала список частотных окон – половина серым, половина красным. Красное – запрет. Серое – “неизвестно”.
Я выбрал серое и отправил минимальный пинг. Без текста. Без подписи. Чистый “привет, ты здесь?”.
Ответ пришёл мгновенно. И от этого стало холодно, потому что мгновенно отвечают либо близкие узлы, либо те, кто ждал.
RX: 0.2s
SRC: 7F-B
MSG: “DONT TALK. LISTEN.”
Саша увидел, что я читаю, и шагнул ближе.
– Это тот… кто предупреждал?
– Похоже, – сказал я. – Но теперь он уже не предупреждает. Он командует: Не говори, а слушай.
Вторая строка пришла следом, будто не хотела оставлять мне пространство для мысли:
“THEY HEAR LOCAL. CUT LIGHT. CUT HEAT.”
– Что значит “отрежь свет”? – Саша попытался пошутить голосом, но вышло пусто. – Мы что, в фильме?
– Мы и есть в фильме, – сказал я. – Только билет не покупали.
Я выключил аварийные лампы. Оставил одну – маленькую, закрытую плафоном, чтобы свет не бил в щели. Потом отключил всё, что грело лишнее: зарядник, подсветку панели, нагрев стойки. Узел стал темнее, тише, и от этого – опаснее: в темноте лучше слышно, как приближается смерть.
Снаружи резак ускорился. Теперь он не “пел”, он “жевал”. По двери пошёл тонкий запах горячего металла, как от сгоревшей отвёртки.
– Артём… – Саша произнёс моё имя и сразу замолчал.
– Говори, – сказал я.
– А если… они войдут?
Я посмотрел на стеллажи, на узкий проход, на второй люк обслуживания в полу. Узлы связи всегда имеют аварийный выход – иначе инженеры их прокляли бы ещё на этапе проекта. Я нашёл глазами крышку люка, почти вровень с полом, засыпанную пылью.
– Тогда мы уйдём вниз, – сказал я. – И оставим им эту комнату. Но сначала – заберём то, ради чего сюда пришли.
Я вернулся к интерфейсу и вскрыл буфер логов. Если “слой” управлял политикой, он должен оставлять следы. Даже если чистит. Особенно если чистит.
Строки шли рваными пачками. В них были дырки – там, где должен быть трафик. Дырки всегда говорят громче, чем слова.
LOG GAP: 00:04:xx
POLICY PUSH: REMOTE
AUTH: UNKNOWN
TAG: ▲
Треугольник. Символ. Их метка.
Саша наклонился и тихо сказал:
– Это как… подпись?
– Да, – ответил я. – И теперь у нас есть не слухи, а отпечаток.
В этот момент дверь дрогнула. Не от удара – от того, что металл наконец сдался. По шву прошла тонкая красная линия, как раскалённая нить.
– Стеллаж! – рявкнул я.
Саша отскочил, но не туда – к стене. Я схватил его за рукав и дёрнул обратно, к стеллажу. Он ударился плечом о металл, но устоял.
Красная линия на двери стала шире. В щель потянуло пеплом и холодом.
Снаружи послышался голос – спокойный, уверенный:
– Техник. Вы мешаете стабилизации. Выходите с носителем. И вам не придётся умирать в темноте.
“Стабилизация”. Опять это слово. Как будто катаклизм – это просто настройка регулятора. Я не ответил. Я открыл люк в полу. За люком – темнота и металлическая лестница вниз. Оттуда тянуло влажным холодом, но этот холод был ближе, чем голос за дверью.

– Спускайся, – сказал я Саше. – Первый. И без паники.
Он посмотрел на щель в двери, на красную линию, на меня – и кивнул.
Саша исчез в люке. Я бросил туда же блок памяти, сервисный модуль, флягу. Потом – последним движением – сорвал с стойки маленький накопитель логов, как зуб.
Дверь снаружи громко треснула. Щель расширилась. Внутрь брызнули искры.
Я прыгнул в люк и захлопнул крышку над головой.
Сверху раздался резкий скрежет – они вошли.
А в темноте под нами, где-то внизу, загорелся маленький зелёный огонёк – и погас, как будто кто-то моргнул.
Глава 7. Дешёвый свет
Лестница под люком была узкой и мокрой. Металл холодил даже через перчатки – не тем холодом, который пугает, а тем, который сообщает: “здесь давно никто не живёт”. Я спускался следом за Сашей, чувствуя, как сверху по крышке люка проходит вибрация. Они не просто вошли. Они огляделись. Они поняли, куда мы ушли.
Саша внизу ждал, прижавшись спиной к стене. Фонарь он держал неправильно – светом в лицо себе же, и от этого его глаза казались ещё больше.
– Свет вниз, – сказал я.
Он дёрнулся, поправил. Луч упал на бетон и на тонкую струйку воды, которая текла по шву как по намеченной линии. В этом мире даже вода любила инструкции.
Шаги сверху не слышались. И это было плохо. Когда тебя ищут вслепую, шумят. Когда знают, где ты, молчат.
Я прислушался к тоннелю. Справа – глухо, слева – чуть звенит воздухом, как будто где-то дальше есть пустота. Впереди коридор уходил вниз, и на стене висела табличка, облупленная, но читаемая.
“СЕРВИС / КОНТУРЫ / N-LINE”
Саша ткнул пальцем в сторону, куда тянуло воздухом.
– Туда?
– Туда, – сказал я. – Но тихо.
Мы пошли. Пол был не ровный – местами бетон провалился, и приходилось переступать через трещины, из которых тянуло сыростью. В одной из трещин торчал оборванный кабель, и я поймал себя на том, что хочу отдёрнуть руку ещё до того, как она приблизилась. Привычка к электричеству здесь была полезнее страха.
Через минуту впереди мелькнул слабый зелёный огонёк – тот, который я видел в конце. Он мигнул дважды и погас. Как будто кто-то моргнул в темноте и понял, что его увидели.
Саша остановился.
– Это… кто?
– Это… либо датчик, либо приманка, – сказал я. – И то и другое не бесплатно.
Мы пошли дальше. Огонёк больше не появлялся, но воздух стал суше. Значит, где-то впереди работает вентиляция. Работает – значит живёт. Живёт – значит там есть питание. Питание – значит там есть те, кто любит держать тебя на поводке.
Коридор вывел к двери без ручки, только с врезанной панелью и механическим замком сбоку. Над дверью – маркировка: “N-LINE / СЕКТОР СИНХРО”.
– Синхронизация, – тихо сказал Саша, будто слово могло что-то включить.
Я приложил сервисный модуль. Модуль моргнул, подумал и выдал сухое:
NO NET.
LOCAL TRY…
Панель у двери дрогнула – и вдруг загорелась тусклым светом. Никаких красивых приветствий. Только голые строки.
AUTH: LVL2
POLICY: ?
TEMP PASS: 00:02:00
– Две минуты, – сказал я.
– На что? – Саша не понял.
– На ошибку, – ответил я. – На то, что нас ещё не заметили.
Замок щёлкнул.
Мы вошли.
Внутри было помещение, похожее на маленький распределительный узел: стойки, воздуховоды, шкафы с кабелями. И в центре – тот самый дешёвый свет, который я не люблю: аварийная лампа, дающая ровный круг света, как прожектор на сцене.

В этом круге лежал предмет.
Пластиковый корпус, гладкий, без пыли. Свежий. На нём – тонкая гравировка: ▲.
Маркер.
Саша шагнул вперёд, и я резко схватил его за плечо.
– Стой.
– Почему?
– Потому что он положен сюда для нас.
Саша замер. Лампа над нами тихо зажужжала, как будто тоже слушала.
Я обошёл круг света по краю. Тихо. Слишком тихо. И тут я увидел на полу тонкую леску – почти невидимую, натянутую от стойки к стойке. Леска уходила к маркеру.
Ловушка.
– Отойди, – сказал я. – И не спорь.
Саша послушался, но в глазах у него было то, что всегда убивает: “а вдруг”.
Я достал из кармана гайку – мелкий кусок металла, который таскают не для красоты. Бросил её в круг света, на пол, рядом с леской.
Гайка ударила и звякнула.
Ничего.
Я выдохнул и бросил вторую – чуть дальше, прямо на леску.
Леска дрогнула.
И тут же из потолка щёлкнуло: короткий сухой звук, и в углу стойки загорелся красный индикатор.
MOTION: TRIP
PING…
Саша дёрнулся, но я прижал его к стене.
– Поздно, – сказал я. – Нас уже отметили.
В этот момент лампа над нами стала ярче. Не сильно, но достаточно, чтобы сделать нас “чёткими”. Дешёвый свет – чтобы камеры видели.
И в динамике на стене, который я не заметил сразу, зашипело. Потом – голос.
– Техник Ковалёв, – произнёс он спокойно, без злости. – Вы продолжаете вмешательство.
Я почувствовал, как у меня в груди поднялась злость – не как эмоция, как реакция организма на попытку поставить тебя на место.
– Кто ты? – спросил я, не подходя к кругу света.
– Контроль, – ответил голос. – Система требует стабилизации. Ваши действия увеличивают риск.
“Система требует.” Любимая фраза тех, кто прячется за словом “система”.
– Вы оставили нам маркер, – сказал я. – Зачем?
– Чтобы вы поняли, что вас видят, – ответил голос. – И чтобы вы прекратили сопротивление.
Саша прошептал:
– Они нас реально ведут…
– Не нас, – сказал я. – Меня. Ты просто рядом.
Голос будто услышал:
– Спутник не представляет интереса.
Саша побледнел ещё сильнее. Я видел, как в нём поднимается что-то тяжёлое: быть “неинтересным” хуже, чем быть врагом. Враг – это статус. Ноль – это мусор.
– У вас есть выбор, – продолжил голос. – Оставьте носитель с дампом и ключ. Вы выйдете живыми. Мы восстановим стабильность.
Я оглядел помещение. Вентиляция работала. Значит, где-то здесь есть канал связи. Канал связи – это то, ради чего мы сюда пришли. И они это знали. Поэтому и поставили круг света, маркер, леску. Чтобы получить или дамп, или нас.
Я поднял фонарь и направил его в потолок, в угол, где висела камера. Камера блеснула стеклом.
– Ты хочешь, чтобы я сделал это красиво? – сказал я. – Я могу сделать некрасиво.
– Ваша агрессия бессмысленна, – ответил голос. – Мы контролируем периметр.
Я усмехнулся.
– Тогда зачем ты со мной разговариваешь?
Пауза была короткая. На долю секунды я услышал в ней не машину, а человека, который считает.
– Потому что вы полезны, – наконец сказал голос. – Вы инженер. Вы можете помочь стабилизации.
– Ага, – сказал я. – Прямо сейчас и помогу.
Я резко выключил фонарь. В темноте круг дешёвого света стал единственным ориентиром – и это было хорошо: если у них камеры, они будут смотреть туда.
– Саша, – шепнул я. – Левый шкаф. На полу, у основания. Там должен быть кабель-лоток.
– Почему ты…
– Потому что такие узлы делают одинаково. И потому что у нас нет времени на вопросы.
Саша метнулся к шкафу. Двигался он уже лучше – не красиво, но быстро и тихо. Пальцы у него дрожали, но он нашёл крышку и отогнул её ломиком.
Изнутри пахнуло сухим воздухом и пылью. И – главное – там был толстый оптоволоконный жгут.
– Нашёл! – шепнул Саша.
– Не трогай голыми, – сказал я. – И не режь. Сначала – снять питание камеры.
Голос в динамике стал чуть жёстче:
– Прекратите. Последнее предупреждение.
Я поднял взгляд на стойку справа. На ней был блок питания камеры и датчиков. Старый, с красной кнопкой “RESET”. Такие блоки любят гореть, если их “попросить”.
Я достал из кармана маленький кусок провода и коротнул контакты, не касаясь корпуса. Искры не было – только тихий “пук”, и индикатор на блоке моргнул.
Камера погасла. Дешёвый свет остался, но “глаза” на секунду ослепли.
– Сейчас, – сказал я.
Я подполз к кругу света по полу, чтобы не попасть в поле камеры, если она всё же жива. Дотянулся до маркера не рукой, а крючком мультитула и подтянул к себе.
Леска натянулась, но больше ничего не щёлкнуло – датчик уже сработал, второй раз он не удивится.
На маркере была не только гравировка. Снизу – порт. Маленький.
– Это ключ, – прошептал Саша.
– Это поводок, – ответил я.
Я подключил маркер к сервисному модулю. Экран мигнул, и на нём всплыла одна строка, короткая и мерзкая:
SYNC NODE MAP: OPEN
Карта. Настоящая карта. Не протокольная сказка, а схема узлов синхронизации.
И в тот же момент дверь за нами щёлкнула.
Не открылась – щёлкнула. Как замок, который только что перевели в другое положение.
Я поднял голову. На панели двери загорелся красный символ. Не ошибка. Режим.
LOCK: REMOTE
Саша шепнул:
– Мы заперты?
Я посмотрел на него и сказал:
– Мы внутри их комнаты.
И где-то за стеной, по коридору, очень спокойно и ровно пошли шаги.
Глава 8. Запертые
Красный символ на панели двери не мигал и не предупреждал – он просто был. Такие индикаторы не про “ошибку”, они про “режим”. Режим означает, что кто-то принял решение за тебя и теперь будет доказывать, что это решение правильное.
LOCK: REMOTE
Саша стоял у шкафа с кабель-лотком, будто хотел спрятаться за железом. В тени лицо у него стало плоским, почти не своим.
– Мы… реально заперты? – спросил он.
– Мы внутри комнаты, которая умеет закрываться, – сказал я. – Вопрос не “заперты”, вопрос “сколько у нас минут до того, как дверь станет их”.
Шаги за стеной были ровные. Не бег. Не суета. Движение тех, кто знает план и не боится сорваться.
Я снова посмотрел на стойку с узлом. Дешёвый свет сверху лупил в центр, как прожектор. Он делал ровный круг на полу и выделял всё, что в нём. Всё остальное – тонуло. Камера, если она жива, будет смотреть туда.
Я подошёл к стойке, держась по краю света. Маркер с треугольником ▲ лежал у меня в кармане – тёплый от руки, будто чужая монета. Он уже отдал карту, но такие вещи редко бывают “одноразовыми”.
Сервисный модуль показал схему “сектора синхронизации”. Не карту коридоров – карту узлов. Это было важнее: коридоры можно найти ногами, а узлы – только пониманием.
На экране вылезли три точки:
N-SYNC-1 (мы)
N-SYNC-2 (подпись ▲)
N-SYNC-3 (резервный канал)
И ещё одна отметка, серым:
GATE / AUTH: UNKNOWN
– Это что? – Саша наклонился ближе.
– Дверь, которой на карте быть не должно, – сказал я. – Или дверь, которую добавили.
– Кто?
– Те, кто любит слово “политика”.
Шаги за стеной приблизились. Теперь они были в коридоре рядом. Я услышал, как кто-то остановился у двери. Пауза. Потом лёгкий звук – как касание панели. Не удар. Не резак. Просто “проверка”.
Саша сглотнул.
– Они сейчас войдут?
– Если могут – войдут, – сказал я. – Если не могут – начнут делать, чтобы могли.
И в подтверждение мыслей в коридоре тихо пискнуло: короткий электронный “бип”. Затем второй. Затем тишина.
Сканирование.
Я выключил фонарь полностью. Дешёвый свет остался один. Значит, чтобы спрятаться, надо уйти из света – в тень за стойками.
– Саша, – сказал я, – к левой стойке. В угол. И не шевелись. Если услышишь “щелчок” – падай. Не думай.
– Почему падать?
– Потому что щелчок – это не звук. Это действие.
Он кивнул и ушёл в тень.
Я присел у стойки, открыл боковую панель и посмотрел на кабель-лоток. Там была оптика – толстая, как палец, и два тонких медных жгута. Оптика – связь. Медный – питание и управление. Если я хочу “снять” с них глаз, надо сделать так, чтобы их логика увидела себя слепой.

Руки работали быстро, но не уверенно: перчатки липли к пластмассе, и одна защёлка не хотела открываться. Я поддел её ножом, слишком сильно, и пластик щёлкнул. Саша вздрогнул в тени.
– Тихо, – прошептал я сам себе.
За дверью снова пискнуло.
BEEP.
Пауза.
BEEP.
Потом звук стал другим – сухим, как короткий вдох.
– Техник Ковалёв, – сказал голос из динамика. Не громко. Почти интимно. – Вы отключили наблюдение. Это неразумно.
Я замер. Я не отключал наблюдение. Ещё нет.
Значит, они либо слышат мои движения, либо видят то, что я делаю, без камеры. Это хуже.
– Я не отключал, – сказал я.
– Но вы хотите, – ответил голос. – Мы знаем ваши привычки. Вы всегда ищете обход.
Саша шепнул из темноты:
– Они… реально тебя знают.
– Значит, я где-то уже проиграл, – ответил я. – В прошлом.
Голос продолжил:
– Оставьте дамп. Оставьте маркер. Откройте дверь. Вы уйдёте.
– Куда? – спросил я.
– В безопасный сектор.
– Назови сектор.
Пауза. Чуть длиннее. Как будто там действительно человек, который решает, стоит ли говорить правду.
– Сектор 3-А. Купол “Север”.
Я мысленно прокрутил карту колонии. Северный купол – старый инженерный, где обычно держат инфраструктуру. Если он жив – это действительно безопасность. Если он “под контролем” – это клетка.
– Почему вам нужен дамп? – спросил я.
– Потому что он искажает стабилизацию, – сказал голос.
– Дамп – это файл, – сказал я. – Файл не искажает. Искажает то, что вы сделали.
Пауза.
– Вы эмоциональны, – произнёс голос. – Это мешает.
Я усмехнулся.
– У машины есть оценка эмоций. Забавно.
Снаружи, в коридоре, что-то щёлкнуло. Не громко. Как реле.
Саша упал на пол в тени – послушался правильно. А я только тогда понял, что щелчок был не “про нас”.
Это было питание.
Свет над нами моргнул. Дешёвый прожекторный круг на полу дрогнул, стал слабее, потом снова ярче – и на секунду потух.
В темноте воздух стал громче. Пыль, шорох, дыхание.
А потом в этой же темноте загорелась новая точка – не лампа, не индикатор стойки. Маленькая красная точка на стене. Как лазер.
Прицел.
– Ложись! – крикнул я.
Саша уже лежал. Я рухнул за стойку, и почти сразу в бетон над моим плечом ударило что-то тяжёлое. Не резак. Выстрел.
Значит, “контроль” не только режет двери. Он стреляет.
Голос в динамике стал холоднее:
– Последнее предупреждение. Вы мешаете. Мы устраним помеху.
Я лежал, прижавшись к полу, и смотрел на кабель-лоток. Оптика. Питание. Управление.
Если они стреляют через дверь – значит, у них есть щель. Или есть “сквозной” датчик. Или они подсветили нас через тонкую стену. Я не знал, что хуже.
Я сделал то, что ненавижу: начал действовать на ощупь.
Нашёл жгут питания стойки, тот самый, что питал свет и часть сенсоров. Вытащил разъём и воткнул его обратно – но не до конца. На миллиметр. Чтобы контакт был “плохим”. Плохой контакт иногда полезнее хорошего, если ты хочешь, чтобы система считала себя больной.
Свет снова моргнул. На этот раз – дольше. Круг на полу распался на пятна. Камера, если она жива, будет видеть хуже. Прицел – может сбиться.
Я услышал за дверью раздражённый звук – короткий удар ладонью по металлу. Не резак. Человек.
– Саша, – прошептал я, – слушай. На карте есть “GATE”. И она где-то здесь. Мы не выйдем через эту дверь, нас там ждут. Мы найдём другой выход.
– Где? – он шептал, но шептал уже без паники.
Я посмотрел на пол. В центре комнаты, под светом, пыль лежала ровно. Но у одной стойки, справа, пыль была “размазана”. Не следами ног – следом предмета, который тянули.
Люк.
– Там, – сказал я и кивнул в сторону размазанной пыли.
Саша понял и пополз. Пополз правильно: низко, медленно, без рывков. Молодец.
Я прикрывал его не оружием – у меня его не было – а тем, что мог: шумом. Бросил гайку в другой угол. Гайка звякнула. Сразу удар в бетон – туда. Значит, они действительно стреляют на звук и на движение.
Саша добрался до стойки, нашёл край крышки и поддел её ломиком. Крышка не хотела идти. Он потянул сильнее – и ломик соскользнул, ударив по металлу. Звук получился мерзкий.
Сразу новый выстрел. Совсем близко.
Саша зажмурился, но не остановился. Он снова поддел – аккуратнее – и крышка наконец поднялась, показав прямоугольную дыру и лестницу вниз.
Из дыру тянуло тем самым влажным холодом, который нельзя обмануть.
– Есть, – выдохнул Саша.
– Первый вниз, – сказал я. – И не оглядывайся.
– А ты?
– Я следом.
Он исчез в люке.
Я вынул из кармана маркер ▲, посмотрел на него секунду и убрал обратно. Это был не универсальный ключ, а доверенная метка для старых переходных узлов; именно поэтому он был опаснее обычного жетона.
Я прыгнул к люку, когда свет снова моргнул и красная точка прицела на стене дрогнула. Нырнул вниз.
Сверху раздался резкий удар, и крышка люка захлопнулась сама, как будто её потянули.
Мы оказались в темноте. Влажной, холодной – но нашей.
А над головой, по металлу, побежали быстрые шаги. Теперь они знали точно: у нас есть другой выход.
Глава 9. Глухая сеть
Под люком было уже не “помещение”, а кишка – узкий техпроход, где бетон мокрый, металл холодный, а воздух пахнет так, будто его копили годами: плесенью, пылью и старой изоляцией.

Крышка сверху ударила ещё раз – не закрылась, а получила удар. Значит, они поняли, что мы ушли, и теперь делают то, что умеют лучше всего: догоняют без эмоций.
Саша шёл впереди, чуть пригнувшись. Он держал фонарь низко, правильно, не светил в лица. Плохая привычка ушла быстро – страх хороший учитель, если не доводит до паники.
– Сколько там было выстрелов? – спросил он тихо.
– Достаточно, чтобы я поверил, – ответил я.
– Они… реально стреляют в техзоне?
– Они стреляют туда, где мешают, – сказал я. – Техзона, жилой сектор – не важно. Важно слово “мешают”.
Впереди коридор разветвлялся. На стене висела схема, но почти вся краска слезла. Оставались только стрелки и отдельные буквы: N-LINE, DRAIN, AUX.
Я выбрал направление по простому признаку – где суше. Там, где суше, чаще всего ещё работает вентиляция. Там, где работает вентиляция, есть питание. Там, где питание – есть жизнь или ловушка.
– Держись справа, – сказал я.
Саша кивнул.
Мы прошли метров тридцать, когда свет сверху вдруг стал другим – не ярче и не темнее, а “нервнее”: лампы в потолке, редкие и старые, начали подмигивать с разным интервалом, как глаза, которые не могут сфокусироваться.
Я остановился.
– Что? – Саша тоже остановился, но слишком резко, фонарь дёрнулся.
– Тишина, – сказал я.
Он прислушался. И понял не сразу. Потом его лицо изменилось.
Вентиляция не гудела. Не шуршала. Не работала.
Воздух стал плотнее. Теплее. Влажнее. Как в закрытом пакете.
– Они… отключили? – шепнул он.
– Или узел сам умер, – сказал я. – Но совпадения здесь плохо пахнут.
Я посмотрел на интерфейс костюма. Локальный режим был всё ещё активен, но датчики показывали не то, что хотелось бы: CO₂ медленно рос, кислород держался на нижней границе нормы.
CO2: ↑
O2: OK?
FILTER: 62%
– У нас есть час? – спросил Саша.
– У нас есть меньше, – ответил я. – Потому что страх ест кислород быстрее, чем лёгкие.
Он хотел возразить, но промолчал.
Впереди показалась дверь. Не шлюз, не тяжёлая, а обычная сервисная – с ручкой и маленькой табличкой: “AUX-COM / ПАТЧ”. Патч-панель.
Это было то, что мне нужно: место, где сходятся линии. Если “контроль” слышит локально, значит он висит на линии. Если он висит на линии – линию можно сделать глухой.
Я открыл дверь осторожно. Петли скрипнули, будто возмутились. Я замер на секунду, дал звуку умереть, затем вошёл.
Внутри было тесно: шкаф с патч-панелью, катушка оптики, старый аккумуляторный блок, который, судя по запаху, пережил многое и теперь хотел просто спокойно разложиться. На полу – слой пыли, но не ровный. Кто-то ходил здесь недавно. Следы были “свежими” по одному признаку: пыль не успела снова лечь.
– Сюда кто-то заходил, – прошептал Саша.
– Да, – сказал я. – И мне это нравится меньше, чем выстрелы.
Я открыл шкаф. Внутри – оптика, маркированные каналы, и на одной линии – маленький клипс, не заводской. Такой же новый пластик, как мы видели в “резерве”.
▲
Я медленно выдохнул.
– Они везде, – сказал Саша.
– Они там, где им нужно, – поправил я. – Это важнее.
Я не стал рвать клипс руками. В таких местах любая “мелочь” может быть датчиком, который сообщает: “он тронул”. Я достал мультитул, поддел клипс крючком и снял его аккуратно, не давая ему щёлкнуть.
Ничего не пикнуло. Ничего не моргнуло.
Плохо. Это значит, что датчик либо умнее, либо уже отчитался.
Я подключил сервисный модуль напрямую к патч-панели, в обход “красивых” интерфейсов. Локальный порт отвечал сухо, но отвечал.
LINK: UP
NET: LOCAL
ROUTE: NONE
– “Нет маршрута”, – сказал Саша.
– Это хорошо, – ответил я. – Маршрут – это дорога для чужих ушей.
Я начал просматривать пакеты. Сниффер показал, что по одной из линий идёт постоянный “пинг” – короткий импульс раз в пять секунд. Не полезные данные. Метка. Слежение.
Бесплатный фрагмент закончился.
