Читать книгу: «Пепельный периметр»

Шрифт:

ПЕПЕЛЬНЫЙ ПЕРИМЕТР

Книга 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

– “Нет маршрута”, – сказал Саша.

– Это хорошо, – ответил я. – Маршрут – это дорога для чужих ушей.

Я начал просматривать пакеты. Сниффер показал, что по одной из линий идёт постоянный “пинг” – короткий импульс раз в пять секунд. Не полезные данные. Метка. Слежение.

Бесплатный фрагмент закончился.

Текст, доступен аудиоформат
4,8
4 оценки
149 ₽