Экран монитора мерцал холодным синим светом, как всегда в три часа ночи. Комната Алексея Воронова в Лейстаде была крошечной — шесть квадратных метров, забитых старым системником, стопками пустых энергетиков и пожелтевшими распечатками кода. Ник «Моддер» горел зелёным в правом углу браузера. Компиляция мода «Justice_Patch v0.9.7-beta» тянулась уже сорок минут. Процессор ревел, как реактивный самолёт на взлёте, вентилятор хрипел, будто вот-вот откажет.
На форуме «Геймерский Хаос» в теме «Этика читерства: где грань?» третий день кипел спор. Тема набрала уже 300 постов. Последние сообщения висели вверху:
Iron_Yaro (11:47):
«Ты опять за своё, Моддер? Взлом системы ради "справедливости" — это не благородство. Это просто лень учиться играть по правилам. Сделай нормальный билд, а не читы для лузеров. Сила — в умении побеждать в заданных рамках, а не ломать их.»
Modder (11:52):
«Рамки, которые ты защищаешь, — это баги старого дизайна. Игрок с доступом к панели администратора, который не чинит кривые механики, — не добродетельный консерватор. Он — сообщник разработчиков.»
Iron_Yaro (11:59):
«Ты заигрался. Это всего лишь игра. Не проект по спасению человечества. Ты хочешь быть героем в виртуале, потому что в реале у тебя не хватило сил стать сильным.»
Алексей усмехнулся уголком рта. Пальцы запорхали по клавиатуре, набирая ответ. Он знал, что это последний пост перед компиляцией — после неё он ляжет спать, а завтра посмотрит, полетел мод или опять краш.
Modder (00:03):
«Любая система имеет уязвимость. Вопрос — в цели взлома.
Если система несправедлива по дизайну, то "играть по правилам" — значит соучаствовать в несправедливости.
Я не ломаю игру. Я исправляю баг под названием "мир, где сильные всегда правы".
Ты просто боишься, что твой идеальный билд окажется бесполезным, когда правила перестанут действовать.»
Отправил. Откинулся на скрипучем стуле. Сердце стучало чаще обычного — адреналин спора был лучше любого энергетика. Но за ним стояла и усталость. Глубокая, костная. Усталость от выгоревшего монитора, от пустой кружки, от долгого одиночества, в котором единственной жизнью была жизнь на форумах, в строках кода и виртуальных мирах, где он мог быть кем-то большим, чем просто Алексей Воронов из Лейстада — парень, которого в школе травили за «ботанство», а в реале никто не замечал.
Он потянулся к кружке с остывшим кофе. Пальцы задели провод мыши. Монитор мигнул. В консоли проекта резко обновилась строка:
ERROR: CRITICAL FAILURE IN CORE LOGIC MODULE.
Unhandled exception at 0x00007FF6A1B2C4D0 in Justice_Patch.exe: Access violation reading location 0xFFFFFFFFFFFFFFFF.
Stack trace corrupted. Attempting emergency dump...
[WARNING] Interface bleed detected. Reality anchors destabilizing.
«Вот, блин», — пробормотал Алексей, потирая переносицу. «Критический сбой в модуле ядра. Снова. И что это за “просачивание интерфейса”? Отладка отладкой, но это уже на грани паранойи...»
Он наклонился ближе к экрану, пытаясь разглядеть стек вызовов в мерцающем окне. В этот момент сердце в груди сделало странный, слишком тяжёлый и глухой удар. Будто кувалдой по наковальне. Воздух перехватило.
БУМ.
Алексей схватился за край стола. В глазах потемнело.
БУМ.
Второй удар, ещё сильнее. Экран перед глазами замер, завис на одном кадре — строка кода в консоли застыла, как при зависшем процессе. Изображение поплыло, исказилось, словно битые пиксели разъедали картинку. Боль разлилась из груди в плечи, в челюсть. Это было не похоже на обычную аритмию от кофе и недосыпа. Это было… окончательно.
Тишина.
Третий удар не последовал. Вместо него пришла ледяная, абсолютная пустота. Звук вентилятора, гул улицы за окном, собственное дыхание — всё исчезло, как будто кто-то выдернул штепсель из розетки мироздания. Гул процессора сменился ровным, мертвенным шумом выключенного сервера.
Он почувствовал, как тело — нет, уже не тело, а что-то, что раньше было телом, — проваливается куда-то вниз. Не в обморок. Это было падение сквозь слои реальности. Пол, бетонные перекрытия, пласты земли, гранитные плиты фундамента планеты — всё проходило сквозь него, как сквозь призрак. В ушах стоял не звон, а нарастающий, немыслимый гул — белый шум распадающихся данных.
Последняя связная мысль, почти ленивая, отстранённая, пронеслась в угасающем сознании:
«Блин… несохранённая сессия. Все правки… Сохранения слетели. Это… хардкор-режим. Перманентная смерть. И похоже, я только что заспавнился в самом эпицентре бага, который сам же и создал.»
А потом — не темнота. Темнота — это когда есть хоть что-то, что может быть тёмным. Это была аннигиляция восприятия.
Возвращение было насильственным и болезненным.
Сначала пришёл запах. Резкий, чуждый, составной.
Сушёная древесина ивощи — старые брёвна сруба.
Сладковато-приторный ладан — густой, обволакивающий.
Прокисший мёд и трава — что-то лекарственное, горькое.
Медь и ржавчина — кровь. Чужая. И своя?..
Пот и старый мех.
Потом — боль. Не одна, а целый оркестр.
В затылке — острая, раскалённая пульсация, как будто кто-то вбил туда раскалённый гвоздь и теперь медленно его проворачивает.
В груди — глухая, разлитая ломота.
В мышцах — незнакомая слабость и ломота, как после долгой лихорадки.
Алексей попытался открыть глаза — веки налились свинцом, слиплись. Он лежал на чём-то жёстком и холодном, обтянутом грубой тканью. Не на своём продавленном матрасе с запахом пыли и одиночества. Это была широкая, резная лавка.
Голоса. Глухие, густые, говорливые. Не через наушники или колонки. Настоящие. Рядом.
«…нулевой. Совсем нулевой. Ни искры. Даже у бастардов из закутков хоть единичка мелькнёт.»