Алексей Чернявский
Код Наблюдателя

Глава 1. Завещание Лешего

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

Максим остановился на последней ступени скрипучей деревянной лестницы. Правая нога затекла.

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

— Пинг сто двадцать миллисекунд, — тихо пробормотал Максим, чувствуя, как за лобной костью начинает привычно и тупо ноять. — Опять просадка частоты кадров.

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

Чердак был завален вещами деда — человека, которого в окрестных поселках с опаской и без тени иронии звали Нейромонахом Лешим. Дед исчез три дня назад. Ни следов, ни записки, ни тела. Просто в один из вторников частота его пульса перестала транслироваться на старый индикатор в сенях, а сектор $0\text{-С}$ остался без системного администратора.

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

Обычная эмалированная миска. Белая, с синей каемкой и облупившейся эмалью на боку, обнажавшей темный, неровный металл.

Для любого случайного путника это была лишь ветхая посуда для сбора дождевой капли. Но Максим знал правду: миска являлась Якорем. Физическим объектом с жестко зафиксированными пространственными координатами. Пока миска стояла на сундуке, Оболочка вокруг дома сохраняла геометрию трехмерного мира, не позволяя серым пикселям Нулевого Цикла растворить деревянные стены.

Максим подошел к сундуку. На дне миски на палец набралась темная, маслянистая вода. В ней плавала одинокая сухая сосновая хвоинка.

Он наклонился, чтобы рассмотреть воду, и в этот момент на поверхности рефлекса возникла первая ядовитая аномалия.

Задержка отражения.

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

— Черт... — выдохнул Максим.

За ухом вдруг раздалось тихое, трескучее шипение.

Из тени между катушечным магнитофоном «Весна-306» и коробкой с радиолампами выскользнула угольно-черная тень. На сундук прыгнул кот. Его шерсть на загривке стояла дыбом, а от кончиков ушей поднимался едва заметный сизый дымок. Кот смотрел не на Максима, а куда-то в угол за его спиной, и его зрачки сузились в две идеальные вертикальные щели.

Над головой кота на долю секунды проявилась полупрозрачная красная надпись шрифтом фиксированной ширины:

[WARN] Barsik.sys: Core temperature HIGH. Spatial desync detected.

— Тихо, Барсик, — Максим протянул руку и погладил кота между ушами. От шерсти ощутимо ударило статическим электричеством. — Я знаю. Сервер теряет согласованность.

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

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

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

Включился режим отладки — wireframe mode.

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

И прямо здесь, в воздухе Чердака, Максим увидел сбой.

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

В левом углу поля зрения Максима загорелся внутренний HUD-интерфейс, транслирующий показатели его организма:

USER: Maxim_V RIGHTS: Operator (Pending Root Validation) SHELL RESOURCE: 98.4% SYSTEM PING: 142 ms

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

[ACTION]: Repair spatial vector #0492 [COST]: 1.2% Shell Resource

Из носа Максима на зеленую векторную сетку пола упала тяжелая, черная капля крови.

Показатель SHELL RESOURCE на интерфейсе моментально дернулся вниз, зафиксировав 97.2%. Зато оборванная нить с тихим гулом притянулась к стропилам, зафиксировалась, и каркас дома в режиме отладки вновь обрел жесткость.

Максим моргнул, выходя из режима отладки.

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

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

— Это только временный патч, — прошептал Максим, вытирая нос рукавом старого свитера. — Кто-то планомерно подпиливает Якори. Это не случайный глитч. Это саботаж.

Он опустился на колени перед сундуком и потянул за тяжелую защелку. Железо поддалось со скрежетом.

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

Максим взял тетрадь. Обложка была покрыта слоем серой пыли. Он смахнул её и открыл первую страницу.

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

Это был почерк самого Максима.

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

На первой странице крупными буквами стояла дата: 24 июля 2026 года.

Сегодняшнее число.

Максим сглотнул подступивший к горлу ком и прочел первую строчку:

«Если ты читаешь это, значит, дед уже ушел в Нулевой Цикл, а твой ресурс Оболочки упал ниже девяноста восьми процентов. Не верь темным следам на лестнице. Не верь Илье, когда он принесет свежую ленту. И главное: когда в сектор войдет вторая итерация тебя самого — не пытайся с ней заговорить. Сразу активируй файрвол».

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

А затем раздались шаги. Кто-то поднимался по лестнице на Чердак. Подкованные железом сапоги ступали по деревянным ступеням с идеальным, нечеловеческим интервалом ровно в одну секунду.

Глава 2. Системный лог и свежая лента

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

Максим медленно опустил руку с тетрадью. Пальцы до белизны сжали сухой дерматиновый переплет.

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

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

В правой руке Илья держал круглый дюралевый футляр от магнитофонной ленты, перетянутый пожелтевшим аптечным жгутом.

— Спит дом-то, — вместо приветствия просипел Илья, вытирая рукавом подбородок. Его голос звучал прерывисто, с едва заметным искусственным эхом, будто звук проходил через дешевый цифровой ревербератор. — А ты чего в темноте сидишь, Максимка? Опять дедовы фокусы крутишь?

Кот на сундуке выгнулся дугой. Над ушами Барсика с тихим щелчком вспыхнула новая строчка текста:

[WARN] Target signature: Vorontsov_I_A. Mod time mismatch. Offset +04:12 min.

— Дед пропал, Илья, — тихо сказал Максим, не торопясь убирать дневник за пазуху. — Три дня назад.

— Знаю, что пропал, — Илья сделал шаг к сундуку. Его подкованные сапоги опускались на доски с той самой безупречной, ровной секундной задержкой. — Все мы пропадем, когда время придет. Леший свой ресурс выработал. Серверу новый админ нужен, а ты тут сопли жуешь. Глянь на миску-то.

Он ткнул прокуренным пальцем в сторону эмалированной миски.

— Край уже зацвел, — продолжал Илья. — Текстура поплыла. Если сейчас свежую ленту в «Весну» не зарядить да не прогнать нулевой сектор, к полуночи нас всех в серое крошево спутает. Я тебе бэкап принес. Дед твой перед уходом оставил. Сказал: «Как просадка до сотни миллисекунд дойдет — отдай парню».

Он протянул дюралевый футляр.

В голове Максима с леденящей четкостью всплыла строчка, написанная его собственным почерком на первой странице тетради: «Не верь Илье, когда он принесет свежую ленту».

— Откуда лента? — спросил Максим, оступаясь на полшага назад, к эмалированной миске.

— С «Узла-3», откуда еще, — Илья нахмурился. Его губы продолжали шевелиться еще полсекунды после того, как звук голоса уже стих. Речь и артикуляция рассинхронизировались. — Давай, заряжай магнитофон. Жми «Запись» и педали.

Максим закрыл глаза и с силой надавил на точку за виском.

Мир схлопнулся. Исчезли бревенчатые стены, пропали промасленные отвороты штормовки Ильи. Чердак снова стал зеленым каркасом wireframe mode.

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

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

OBJECT: Humanoid_Entity (Corrupted) SOURCE: System_Draft / Deleted Process SIGNATURE: Vorontsov_I_A [EXPIRED 12.08.2024] PAYLOAD: Unverified Binary Tape

Перед ним стояла не живая оболочка соседа. Это был системный фантом — фантомный процесс, сгенерированный распадающейся реальностью из старых логов и подкрепленный чужим управляющим скриптом. А в дюралевой коробке, которую он протягивал, в режиме отладки пульсировал не бэкап, а плотный, чернеющий сгусток вредоносных команд — троянский исполнительный файл, предназначенный для полной перепрошивки Якоря.

[ALERT]: Malicious data packet detected. [RECOMMENDATION]: Execute Isolation Firewall.

— Ты не Илья, — выдохнул Максим.

Зеленые векторные линии в глазах начали дрожать. Капилляры в склерах трещали от нагрузки.

Фантом замер. Его оспенное лицо на мгновение утратило всякую мимику, превратившись в плоскую, неокрашенную маску без текстуры.

— Ошибка валидации, — произнес фантом. Его голос потерял человеческие интонации и зазвучал как синтезатор речи старого спектрума. — Пользователь Maxim_V отказывается от обновления. Запуск процедур принудительного форматирования.

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

Жидкость капла на зеленые доски пола, и везде, где она касалась векторов, каркас дома мгновенно растворялся, открывая под собой бесконечную, ледяную пустоту Нулевого Цикла.

SHELL RESOURCE: 94.1%

Показатель жизненного ресурса начал стремительно падать.

— Барсик! — рябнул Максим.

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

Воздух на Чердаке взревел.

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

— DROP ALL FROM VORONTSOV! — заорал Максим, сплевывая кровь на пол. — DENY INPUT!

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

Черная жидкость со свистом ударилась о голубую преграду. Фантом Ильи дернулся, его текстура разорвалась на сотни вертикальных полос (glitch artifact), и он со страшным сухим треском начал втягиваться назад, в проем чердачного люка.

— Ты не удержишь сектор, Максимка... — раздался из люка уже слабый, искаженный голос Ильяса. — Третий узел уже отформатирован... Скоро придут Чистильщики...

Бум!

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

Максим задохнулся и рухнул на колени. Режим отладки отключился автоматически — организм просто не выдержал нагрузки.

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

Интерфейс в глазах замерцал тёмно-янтартным светом:

USER: Maxim_V SHELL RESOURCE: 89.2% WARNING: Local Firewall operational. Duration: 03:59:59.

У него оставалось ровно четыре часа до того момента, как заслон падет, и поддельный Илья — или те, кто им управлял, — вернутся за Якорем.

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

«Для Максима. Запустить в случае сбоя аутентификации».

Он медленно протянул руку к тумблеру питания.

Глава 3. Звуковой код и Выход в Мицелий

Лампочка индикатора питания на панели магнитофона «Весна-306» вспыхнула тусклым, натриево-желтым светом. Трансформатор внутри корпуса густо и натужно запел, выходя на рабочую частоту, а из вентиляционных щелей выскочила тонкая струйка горячего воздуха, пропитавшегося запахом канифоли и старого эбонита.

Максим аккуратно установил тяжелую катушку с коричневой магнитной лентой на правый подкатушечник, заправил закрученный конец в прижимной ролик и с тяжелым металлическим щелчком утопил широкую клавишу «Воспроизведение».

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

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

Максим чувствовал, как эта сухая цифровая вибрация отдается в костях его собственного черепа. На периферии поля зрения, прямо в янтарном HUD-интерфейсе, побежали тонкие белые строчки отладчика:

[INPUT STREAM]: Audio interface 44.1kHz / 16-bit [DECODING]: Analog Binary Patch detected... [PARSING]: Sector 0-C Topology Map loaded. [TARGET]: Node-3 (Coordinates: X: 4492, Y: -1028, Z: 12)

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

Голос деда появился на исходе третьей минуты записи — резкий, сухой, искаженный сильным цифровым клиппингом:

«Макс. Если слышишь этот бэкап, значит, фантом уже приходил, а ты сжег не меньше пяти процентов ресурса. Не жалей их. Ресурс — это просто нераспределенная память, восстановишь на узле. Слушай меня внимательно.

Файрвол уложит фантома в карантин на четыре часа, не больше. Дальше чистильщики прошьют заслон с той стороны. Дом удержит Якорь, но только если ты не сдвинешь миску ни на один миллиметр. Оставь Барсика при миске — он сдерживает десинхронизацию. А сам дуй на «Узел-3». Он в четырех километрах на северо-восток, за Чёрной гатью.

Найдешь там станцию БЭСМ-6 в бункере под коренником. Запомни: в лесу ни в коем случае не сходи с тропы. Вся хвоя вне векторов — это битые пиксели. Наступишь — сотрешь ступню до Нулевого Цикла. И не трогай грибы. Грибы сейчас — это активные порты ввода. Если кто-то на сервере запустил сканер — сгорит мозг. Всё, жми «Стоп» и беги».

Лента на катушке закончилась с сухим шлепком, и магнитофон снова погрузился в молчание.

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