Тихоокеанский контур. Книга 1: Война узлов
Тихоокеанский контур. Книга 1: Война узлов

Полная версия

Тихоокеанский контур. Книга 1: Война узлов

Язык: Русский
Год издания: 2026
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
3 из 4

Этого хватило Нике. Она ушла вправо, сорвала аварийный флажок с местного щита и вручную сменила световой профиль в ангаре. Дальний проход ушёл в красный запрет, левый сервисный коридор получил короткий белый коридор, грузовой выход моргнул жёлтым сдвигом. Автоматика порта приняла рисунок за штатную аварийную перенастройку, и сама перекрыла половину маршрута.

Один из беглецов влетел в опустившуюся решётку и отшатнулся с руганью.

– Теперь бегите, – бросила Ника.

Третий, тот, что нёс контейнер, рванул к внутренней лестнице. Контур пошёл за ним. Дистанция схлопнулась у поворотной площадки. Чужак ударил снизу, быстро и грамотно, целя в рёбра. Контур принял толчок на локоть, ответил в корпус и вцепился в ремень контейнера.

Тимур сошёлся со вторым. Металл дрожал под ударами подошв, «Клин-3» треснул ещё раз, потом кто-то тяжело рухнул на настил.

Контур не оборачивался. На таком расстоянии мир сужается до чужого плеча, ремня, дыхания и решения, где кончится рывок.

Противник дёрнул контейнер вниз, потом резко отпустил одну руку и потянулся к запястью, где сидел аварийный инжектор. Контур увидел это раньше, чем до конца понял. Если тот успеет вколоть заряд в порт данных, контейнер уйдёт в самосжиг.

Он ударил открытой ладонью по запястью. Инжектор вылетел, отскочил в решётку и улетел вниз. Следом Контур навалился всем весом, вжал врага в поручень и рванул ремень на себя. Ткань треснула. Контейнер остался у него в руках.

Чужак сразу отпустил груз.

– Тимур! – крикнул Контур. – Глуши порт!

– Уже!

Снизу мигнул переносной глушитель. Тимур врубил локальный ЭМИ-кокон на лестничной опоре – направленный, чтобы сорвать самосжиг, но не положить весь ангар. По металлу прокатился резкий удар. Панели моргнули, грузовая тележка встала, резервный дрон у дальней стены окончательно ослеп, а контейнер в руках Контура дёрнулся и затих.

Самосжиг не сработал. Ника в этот миг добила второго беглеца коротким движением в колено и отбросила импульсник ногой под решётку. Старший понял, что окно закрывается, и пошёл ва-банк. Вместо отхода он ударил по аварийному щиту пожарного сектора.

Над ангаром хлопнули клапаны. Из потолочных трасс пошёл густой белый выброс, и через секунду дальняя часть ангара скрылась в паре, дыме и режущем свете тревожных ламп.

– Хотят выжечь следы! – крикнула Ника.

Контур уже рвал пломбу с контейнера. Внутри лежал узкий модуль памяти и сервисная кассета с маркировкой. На чёрной поверхности светилась короткая метка:

GATE / ALEUT

На долю секунды всё вокруг ушло на второй план. Амур, мост, город, сервисные подписи, первая жертва, ложные огни – всё это вдруг вытянулось дальше, за берег, за порт, в сторону морской географии, о которой раньше говорили только в отчётах и закрытых приложениях.

– Контур! – рявкнул Тимур.

Из белого выброса вышел старший сервисник. В руке у него уже был короткий штурмовой импульсник. Контур успел только развернуть контейнер боком и уйти на одно колено. Разряд прошёл по поручню, срезал кусок обшивки и ударил в подвесную трассу. Сверху посыпался горячий пластик.

Ника ответила первой. Подобрала с пола сорванный сервисный ключ и метнула его в аварийный блок над головой противника. Щиток лопнул, световой сектор хлопнул белым перегрузом, и на миг чужак ослеп.

Тимур врезал ему в бок всем корпусом. Оба влетели в боковую сетку. Импульсник выпал и отлетел на нижний пролёт.

Контур схватил модуль памяти, контейнер, выдернул страховочный шнур и рванул вниз к выходу. За спиной Ника уже тянула Тимура из клубящегося сектора. Старший сервисник исчез в белой завесе – живой или раненый, понять было невозможно.

Сейчас важнее было другое: трофей остался у них, а ангар начинал захлёбываться собственным аварийным профилем.

Они вывалились в переходный коридор почти вместе. Позади грохнули внутренние створки, пожарный сектор ушёл в жёсткую отсечку, вой сирены стал еще сильнее.

Контур остановился у сервисной колонны, упёрся ладонью в холодный металл и ещё раз посмотрел на метку.

GATE / ALEUT

Город оказался только входом. Настоящий маршрут уходил дальше – туда, где скрытая война уже готовилась стать открытой.

Глава 3. Порт без свидетелей


Порт остаётся живым, пока его подтверждают независимые слои.

Один свидетель – это уже вход для чужого решения.

(Из доклада А. Ветровой в кризисный штаб Дальневосточного контура. ДСП.)


Терминал погас в ту секунду, когда машина Контура свернула к контейнерному полю. Ещё миг назад порт жил обычной ночной жизнью: ходили крановые фермы, перекликались сигналы тягачей, над водой тянулись маршрутные огни, в окнах диспетчерской бежали рабочие таблицы. Потом весь этот громадный организм сбросил память. Главные экраны у въезда ушли в серый провал. Навигационные табло перескочили на служебные заглушки. Часть камер продолжила крутить одну и ту же петлю с пустым сектором, хотя на дальнем контейнерном ряду ещё двигался погрузчик. До карантинного закрытия порта оставались минуты.

Контур выбрался из машины первым. Ветер с воды тянул прохладой и мазутным паром. За спиной хлопнула дверью Ника. Чуть дальше Ветрова уже вытаскивала из кофра переносной навигационный блок, прижимая локтем планшет.

– Центр отвечает? – спросил Контур.

Ника ткнула пальцем в экран связи.

– Отвечает бодро. Говорят, краткий сбой визуального слоя, всё под контролем, контейнерный сектор работает штатно.

В этот же миг над крайним рядом проскрипела крановая тележка и понесла контейнер над проездом, где по карте не должно было быть реального окна.

Контур посмотрел вверх.

– Штатно у них уже умерло.

Он сорвал пломбу с полевого кейса и вытащил Горизонт-Δ/М. Компактный радарный модуль развернулся в ладони тремя короткими лепестками. Сектор обзора лёг на терминал низким веером. На планшете поднялась скелетная схема порта – линии кранов, тягачи, рельсовые тележки, тёплые контуры силовых узлов. Верхняя картинка отказывалась говорить правду. Низовой радар ещё мог.

Ветрова встала у капота, подключила свой блок к локальной линии и быстро собрала первый кворум: внешний входной маяк, береговой навигационный слой, их собственный полевой свидетель. Всё это должно было лечь хотя бы в грубую причинность, прежде чем они полезут внутрь.

На экране возникла гавань, но не та, которую рисовал порт. Здесь линии движения не совпадали с диспетчерской сеткой. Два контейнерных тягача шли в зоне, обозначенной как пустая. Один кран замирал, будто ждал команды, которой не было в журнале. Навигационная метка на входном плече светилась образцово, с той самой неприятной чистотой, которую Контур уже ненавидел.

– Один свидетель у них уже слишком гладкий, – сказала Ветрова, даже не поднимая головы.

Контур на миг вспомнил старую микролинию и тот кристалл, ответивший раньше команды. Тогда ложь помещалась под колпак SSBX. Сейчас она растянулась на весь порт.

По дальнему ряду вдруг прошёл короткий тёмный провал. Один кран застыл. Второй, наоборот, ускорил ход. Под подвесной линией вспыхнул служебный жёлтый, которого в этой схеме быть не должно. Горизонт-Δ/М тут же выдал новую связку меток: три человека быстро ушли в сервисный спуск под крановой фермой. Один нёс длинный узкий кофр.

Ника выругалась тихо и зло:

– Контейнер уже уводят вниз.

Связь снова ожила.

– Повторяю, сектор А-4 безопасен, – сказал дежурный голос. – Оставайтесь на поверхности. Группа сопровождения уже направлена к вам.

Контур выключил канал.

– С поверхности тут только чужая картинка, – сказал он. – Правду придётся вытаскивать снизу.

Ветрова свернула навигационный блок.

– Диспетчерская больше не источник. Только шум.

Ника перекинула Линзу-9 на плечо и посмотрела в сторону сервисного спуска, где между опорами крановой линии уже сгущалась тень.

– Я наверх, если что. Без башни огней они нас здесь просто срисуют.

– Сначала вниз, – сказал Контур. – Заберём след.

Он убрал Горизонт-Δ/М в грудной крепёж, подтянул ремень с импульсным модулем и первым пошёл к лестнице. Терминал за спиной продолжал работать, перевозить металл, открывать коридоры, послушно изображать порядок. Порт ещё двигался. Свидетелей у него уже не осталось.

***

Сервисный спуск под крановой линией пах горячим железом и влажной пылью. Коридор был узкий, с кабельными рукавами под потолком и паром, который время от времени выдыхали нижние магистрали. Слева тянулся силовой канал для тележек, справа шли сервисные ячейки и аварийные люки. Любой огневой контакт здесь мог сорвать не только людей, но и половину верхней линии.

Контур шёл первым. За ним – Тимур, уже державший наготове компактную ЭМИ-кассету «Шов». Ника шла чуть сзади, Линза-9 поднята на низкий свет, чтобы не давать коридору лишней вспышки. Ветрова осталась у входа в развилку, удерживая связь с пирсом и внешним навигационным слоем.

– Слева ниша, – тихо сказала Ника. – Там кто-то есть.

Контур не ответил. Просто сместился так, чтобы не подставить прямую линию корпуса под возможный выстрел.

Ниша оказалась пустой. Зато в следующую секунду впереди сорвался короткий белый импульс. Разряд ударил в кабельный лоток над головами. Свет взорвался, по потолку пробежала искра, и из пара одновременно вышли двое.

Они работали быстро и грамотно. Без лишних движений. Один бил по свету и сенсорам, второй брал проход на перекрёстный захват. Не сервисники. Штурмовая ячейка, которая знала этот коридор лучше любой местной смены.

– Контакт! – рявкнул Тимур.

Контур уже нырнул в сторону. Первый импульс прошёл по стене там, где секунду назад была его голова. Ника ответила сразу – низко, по руке, держащей оружие. Противник дёрнулся, однако не оружие удержал. Они были в бронеткани под сервисной курткой. Всё как надо. Всё вежливо. Всё по регламенту чужой войны.

Второй противник ушёл за паровой выброс и попытался закрыть створку нижнего аварийного люка. Если им удастся отрезать коридор, вся погоня сдохнет в этом же месте.

– Тимур, правый! – бросил Контур.

Тимур не стрелял. Он сорвал «Шов» с крепления, глянул на плотность кабелей, на конденсат на стенах, на фазовый рисунок по верхнему лотку и сделал то, чего в инструкции не было.

Он вогнал ЭМИ-кассету не в людей, а в стык старой сервисной гребёнки, где сходились оптика, силовая подпорка и повторитель локальных сенсоров.

Удар получился точным. Воздух дёрнулся. Свет на миг сложился внутрь. Из потолка посыпались синие искры, а вместе с ними сдохла чужая оптика в секторе. Линзы у штурмовиков ослепли. Сенсорная сетка срезалась кусками. Верхняя крановая линия взвыла на одном тоне и ушла в аварийное удержание.

– Не по инструкции, – выдохнула Ника.

– Зато по делу, – сказал Тимур.

Контур уже был рядом с первым нападавшим. Удар в кисть. Локоть в корпус. Захват под плечо. Чужак попытался провернуть классический рывок в сервисной тесноте – уйти вдоль стены, оставить ложную траекторию и выстрелить на отходе. Контур не дал. Впечатал его в короб силовой магистрали и услышал, как под курткой что-то хрустнуло.

Второй всё-таки успел к люку и рванул створку. Изнутри ударил горячий воздух. Коридор дохнул жаром техсклада. Ещё шаг – и они их потеряют.

Ника сработала быстрее мысли. Сорвала с пояса световой маркер, метнула его не в человека, а в рельс над люком. Маркер хлопнул белым перегрузом. На долю секунды противник ослеп. Этого хватило. Контур пересёк проход двумя шагами и ударил открытой ладонью в шлем под подбородок. Чужак отлетел к стене, ударился затылком и сполз на колено.

Тимур прижал первого коленом и уже сдёргивал с его запястья короткий служебный блок.

– Здесь маршрутная пара, – бросил он. – Они не просто уводили контейнер. Они вели трафик к нижнему уровню.

Контур присел перед вторым. Тот ещё дышал. Из-под маски шёл тяжёлый хрип. Глаза были живые, злые и всё ещё слишком спокойные.

– Куда? – спросил Контур.

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

– Не порт, – сказал он. – Ниже.

– Что ниже?

Тот смотрел уже не на него, а будто сквозь него, в какой-то заранее известный адрес.

– Зеркальный… узел.

Последнее слово вышло с усилием. После него в лице что-то погасло. Будто человек просто выключил себя раньше, чем успели добраться до следующего ответа.

Ника первой подняла взгляд.

– Слышал?

Контур уже смотрел туда, где пар редел у дальнего выхода. Те, кто ушёл раньше, уносили с собой не только контейнер. Они уносили адрес следующего слоя войны.

Сверху над ними снова двинулся кран. Значит, порт ещё работал. Значит, времени почти не осталось.

– Пошли, – сказал Контур. – Теперь у нас есть имя.




Башня огней поднималась над гаванью на краю резервуарного сектора. Внизу был порт: контейнерные поля, мокрый металл, рельсовые дорожки, тягачи, краны, буксиры, грузовые платформы. Дальше лежала тёмная вода, по которой двигались огни судов. После коридора под крановой линией, времени почти не осталось.

Первый портовый прожектор мигнул чужим кодом ещё до того, как Ника добралась до верхней площадки. Ника влетела на верхний ярус, бросила Свет-Шкалу на пульт и сразу увидела беду. Главный световой профиль башни уже не слушался только её рук. Внутри рисунка команды повторялись почти сразу, через доли такта, перехватывая право говорить от имени порта.

– Контур, башня захвачена частично, – сказала она в гарнитуру. – Световой язык у них уже внутри.

Ответ пришёл в помехах, на фоне шума боя:

– У тебя гражданские маршруты. Веди их. Ветрова на пирсе поднимает кворум.

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

Линза-9 легла рядом с пультом. Ника подняла её на уровень гавани и быстро сняла реальную картину. Сухогруз у внешнего причала уже начал поворот раньше разрешённого окна. Два буксира пытались подхватить его носовую линию. По внутреннему проходу шёл контейнерный тягач с высоким грузом. Дальше, у резервуарного сектора, двигалась сервисная сцепка с топливными модулями. Один ошибочный световой цикл – и вся эта масса сойдётся в одной точке.

Голос из внутренней линии, ровный и безликий, прозвучал почти вежливо:

– Башня, снимите ручной режим. Центр подтверждает штатное разведение.

Ника даже не сразу ответила. Сначала поймала на Свет-Шкале чужую фазу. Та шла следом за её командами почти без запаздывания. Противник уже не просто ломал рисунок. Он учился её языку.

– Снимите у себя язык и пришлите его в ремонт, – бросила она.

Голос сразу стал суше:

– Вы мешаете порту.

– Порт пока жив только потому, что я мешаю вам.

Она перехватила новый цикл. Чужой код снова полез следом. Почти без ошибки и потери фазы. Противник уже не прятал атаку за туманом и хаосом. Он брал её работу, повторял её и пытался сделаться старшим голосом гавани.

На воде сухогруз продолжал разворот. Слишком рано. Его нос уже начал менять курс к резервуарному сектору, где тяжёлые цистерны стояли близко к краю порта. Буксиры тянули обратно, однако башня уже успела дать им ложную связку окна и торможения. Теперь гигант шёл по инерции.

– Ветрова, – сказала Ника. – Нужен живой свидетель на входном маяке. Сейчас. Сухогруз пошёл не туда.

Голос Ветровой пришёл почти сразу:

– Один маяк у меня уже фальшивый. Ищу физический ответ. Держи суда в растяжке ещё девяносто секунд.

Девяносто секунд в порту ночью – целая жизнь.

Ника быстро перестроила схему второй раз. Убрала гладкие дуги, ввела аварийную световую командную сетку, где суда видели не общую картину гавани, а жёсткие короткие приказные окна: здесь жди, здесь тормози, здесь отходи, здесь гаси ход, здесь бери буксирный канал. Люди на мостиках такое не любили. Зато это был язык выживания, а не удобства.

Буксиры поймали новый рисунок первыми. Один ушёл левее, другой взял на себя нос сухогруза. На крановой линии внизу замерли две тележки. Тягач у контейнерного поля ушёл в останов. Резервуарный проход погас красным до самого горизонта.

Чужой код снова полез в профиль. На этот раз не в лоб, а по обходной фазе, через повторитель башни. Почти красиво и незаметно. Ника увидела это раньше, чем успела до конца подумать, и ударила по каналу жёстким ручным обрывом.

Плечи свело. В виске пульсировало, зато чужой код впервые запоздал. Всего на долю такта. Этого хватило. Ложное окно на дальнем секторе сорвалось. Буксир потянул нос сухогруза сильнее. Гигантская тень судна дрогнула, замедлила опасный разворот и начала уходить от резервуарного плеча. Внизу по порту прокатился новый набор тревог.

Ника опёрлась ладонью о пульт всего на миг и сразу снова выпрямилась. Рано.

– Ветрова, у тебя окно, – сказала она. – Я вытащила тебе секунды.

Ответ пришёл с пирса:

– Приняла. Теперь попробую доказать, что один из ваших свидетелей существует только в журнале.

Ника перевела взгляд на воду, на сухогруз, на буксиры, на красные сектора вокруг резервуаров, на хаотичную красоту живого порта, который только что прошёл по краю массовой гибели и даже не понял до конца, насколько близко был к ней. Работа со светом раньше означала порядок. Теперь она означала границу между жизнью и огнём.

И в этот момент Линза-9 поймала на дальнем ряду короткую вспышку. Маленький зеркальный отблеск из-под нижней фермы, где никто не должен был сейчас работать.

Ника увеличила сектор. На мгновение увидела тёмную фигуру у сервисного входа и короткий перенос на боковой путь.

– Контур, – сказала она. – Поймала вражескую фазу. Техсклад у четвёртого резервуара. Они там.

На этот раз ответ пришёл сразу:

– Принял.

***

Мобильный пункт радионавигации находился на пирсе у внешнего плеча гавани. Слева были сигнальные мачты, справа тянулись резервуары, впереди над чёрной водой поворачивал сухогруз, который только что едва не ушёл в ложный сектор. До развязки оставались считаные минуты. Если кворум сейчас подтвердит удобную версию, порт окончательно примет чужую правду за свою.

Ветрова работала стоя. Так она всегда делала в моменты, когда чувствовала: сесть – значит уже принять чужой темп.

Перед ней лежали три свидетеля. Первый – башня огней, с которой Ника держала гражданский рисунок. Второй – входной навигационный маяк, который по журналу подтверждал нормальную координату. Третий – их собственный полевой блок, привязанный к физическому времени и к реальному положению линии.

На экране всё ещё сходилось слишком хорошо. Это и было самым плохим.

– Покажи сырой ответ с маяка, – бросила она оператору у левого модуля.

– Уже.

Сырой ответ оказался гладким.

Не живой канал. Маска. В реальности всегда есть трение: воздух, качка, задержка по воде, микрошум среды. Здесь вместо среды лежала почти чистая правильность. Маяк существовал в журнале. В реальном мире его будто уже не было.

Ветрова от понимания ясности того что происходит почувствовала как по спине пролетел холодок. Система научилась подменять не только маршрут. Она подменяла форму доказательства.

– Физический импульс на внешний буй, – сказала она. – Ручной запрос. Не через портовой канал. Через наш.

– Это даст задержку, – ответили ей.

– Именно. Мне нужна реальная задержка.

Она сама ввела профиль, перевела кворум на жёсткую ручную валидацию и отправила короткий пакет в обход. Несколько секунд ничего не было. Потом пришёл ответ – слабый, запоздавший, с разбросом. Ветрова чуть заметно выдохнула.

Вот он, действующий свидетель.

Не красивый.

Не быстрый.

Реальный.

Она наложила его на фальшивую портовую версию и увидела расхождение. Входной маяк, которым пользовался порт, существовал уже только в подтверждающем слое. Физическая точка давала другой угол и другое время, другой порядок. Значит, сухогруз разворачивали не ошибкой капитана и не погодой. Его вели по подменённому свидетельству.

– Ника, – сказала Ветрова, – слушай внимательно. Портовой маяк мёртв. Живой ответ у меня с внешнего буя. Переноси кворум на мой пакет. Сейчас.

– Приняла.

– И передай буксирам жёсткое право на нос. Без согласования с башней, она у вас дырявая.

Она вывела новое решение на общий аварийный канал, не спрашивая ничьего разрешения. Потом подняла глаза к сухогрузу. Гигант уже начал замедлять опасный разворот, однако его масса ещё могла снести половину резервуарного плеча, если башня снова даст ложное окно.

На линии связи зашипело.

– Вы работаете без городского допуска, – сказал тот же гладкий голос. – Немедленно прекратите ручную валидацию.

Ветрова смотрела на экран спокойно.

– Поздно, – ответила она. – Теперь у меня есть живой свидетель.

Она впервые за эту ночь позволила себе короткую злость. Ту самую, инженерную: когда тебе не страшно, а омерзительно от того, что кто-то считает правду слишком медленной, чтобы ею заниматься.

– Контур, – сказала она в общий канал. – Техсклад у четвёртого резервуара подтвердился. На нём сходятся ложные свет, ложный маяк и маршрут техгруппы. Это не просто точка ухода. Это точка стирания.

– Понял, – ответил он. – Иду.

Ветрова ещё раз посмотрела на экран. Фальшивый маяк продолжал светиться в журнале, будто ничего не произошло. Система уже умела делать вид, что реальность не нужна ей вовсе.

На пирсе ветер качнул слева мачту. Справа над резервуарами прокатился красный отсечной сигнал. Порт всё ещё жил. Но теперь это была жизнь на трёх свидетелях, один из которых уже пытались заменить записью о том, чего больше не было.

***

Техсклад у четвёртого резервуара уже горел ещё до того, как Контур добежал до внешнего прохода. Огонь шёл не широким факелом, а внутри, по стыкам, по вентиляции, по кабельным шахтам, выжигая все внутри. Над крышей стоял тёмный дым. Снизу в проломы просвечивал аварийный белый. Значит, противник не просто уходил. Он закрывал за собой причинность.

Тимур подбежал следом.

– Если там есть журнал, его сейчас варят изнутри.

– Есть, – сказал Контур. – И не только журнал.

Они нырнули под боковой навес. Дверь техсклада заклинила. Кто-то успел посадить её на аварийную блокировку. Контур сдёрнул с пояса короткий резак, Тимур уже лез к силовому блоку.

– Дай мне двадцать секунд.

– У нас их меньше.

– Тогда не разговаривай.

Контур держал вход. Изнутри доносился сухой металлический треск и короткие хлопки – последовательный дожиг секций. Кто-то хорошо знал, как выжигать склад так, чтобы он выглядел обычным каскадным срывом.

– Готово!

Блокировка сорвалась. Дверь пошла с хрустом. Изнутри ударил жар, дым и едкий запах горелого лака.

Контур вошёл первым. Внутри техсклад уже не был складом. Он стал печью для памяти. Ряды стоек горели секторами. Один боковой пролёт уже лёг. По полу текла вода из пожарной линии и сразу превращалась в горячий пар. Над дальним столом ещё держался локальный купол SSBX – сажа на прозрачной броне, белые отблески, внутри темнота.

– Туда! – крикнул Тимур.

Справа что-то хлопнуло. Из дымного ряда выскочил силуэт и дал короткий импульс по проходу. Разряд срезал кусок стеллажа, сталь визгнула. Контур ушёл в сторону, упал на колено и ответил низко, по тени. Не на поражение. На срыв ритма. Противник исчез за жаром, но секунды уже были их.

– Я беру купол! – крикнул Тимур.

На страницу:
3 из 4