Алексей Рудь
Проклятие опять Кривой Дракон

ПРОЛОГ

Синий экран был последним, что он увидел в том мире. Не благородный удар мечом по́ груди, не вспышка заклинания, не тихий уход в сумрак старости. Банальный, унизительный CRITICAL_SYSTEM_FAILURE на мониторе, за которым он просидел восемнадцать часов подряд, пытаясь залатать дыры в корпоративной сети перед очередной проверкой «большого брата».

Алексей Горшков, для друзей – просто Леха, последние десять лет своей жизни был системным администратором. Не богом интернета, как думали некоторые пользователи, а цифровым дворником. Его удел – чистить, латать, перезагружать и уговаривать работать криво написанный код. Его оружием была клавиатура, его щитом – ироничное спокойствие, а его вечным противником – вселенская глупость, воплощенная в лице очередного начальника, требующего «сделать магию».

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

Раздалось короткое замыкание – ослепительная вспышка, запах паленой пластмассы и… ничего.

Очнулся он от пронзительного, неестественного писка. Звук был плоским, монотонным, как будто его генерировала сломанная звуковая карта. Леха открыл глаза и увидел небо. Оно было синим. Слишком синим. Однородным, как заливка в дешевом графическом редакторе, с растяжкой от грязно-голубого у «горизонта» до фиолетового в «зените». Ни облачка, ни солнца – лишь одинокий, низкополигональный пиксель, мерцавший в такт тому самому писку.

Он попытался сесть. Его тело отозвалось странной, угловатой скованностью. Он посмотрел на свои руки. Это были не руки. Это были две грубые модели с тремя пальцами каждая и текстурой кожи, наложенной с кривыми UV-развертками. Он был одет в нечто, отдаленно напоминающее простую холщовую робу, которая на ощупь (странно, что тут вообще были ощущения) напоминала наждачную бумагу низкого разрешения.

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

«Сон. Бред. Галлюцинация перед смертью от удара током», – пронеслось в голове. Его мысли текли привычно, ясно, а вот мир вокруг был воплощением кривого кодекса.

Перед его глазами, прямо в воздухе, всплыла табличка с текстом, набранным шрифтом Comic Sans MS.

[ДОБРО ПОЖАЛОВАТЬ В МИР "АЭРТА"]

[ОБНАРУЖЕН НОВЫЙ АВАТАР… СКАНИРОВАНИЕ…]

[ИМЯ: Алксей Грошков]

[РАСА: Человек]

[КЛАСС: Путник]

[УРОВЕНЬ: 1]

[ОШИБКА: ИМЯ НЕ СООТВЕТСТВУЕТ ШАБЛОНУ. ИСПРАВЛЕНО НА: "ЛЕХА".]

[ОШИБКА: ОПРЕДЕЛЕНИЕ КЛАССА… ОШИБКА…]

[НАЙДЕН СКРЫТЫЙ ТАЛАНТ: "ВЗЛОМ РЕАЛЬНОСТИ".]

[ВАШ НОВЫЙ КЛАСС: СИСТЕМНЫЙ АДМИНИСТРАТОР.]

[УДАЧИ! МЫ В НЕЁ НЕ ВЕРИМ.]

Леха замер. Его мозг, отточенный годами борьбы с багами и аномалиями, отбросил панику и перешел в режим анализа. Low-poly графика. Примитивный ИИ, судя по зацикленному полету бабочки-пирамидки над его головой. Системные сообщения с ошибками. И его новый «класс».

Он медленно поднял свою блочную руку и, мысленно представив себе командную строку, произнес шепотом:

«run diagnostic_world.exe».

Ничего не произошло.

Он попробовал снова, уже четче: «dir».

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

[C:\AERTA\WORLD\STARTING_FOREST]

[СОДЕРЖИМОЕ ПАПКИ:]

[TREE_LOWPOLY.DAT … 2 KB]

[GRASS_BILLBOARD.TGA … 1 KB]

[SKYBOX_V1.PNG … 5 KB]

[NPC_MIKHALYCH.OLD … ERROR: ФАЙЛ ПОВРЕЖДЕН]

[QUEST_ALCOHOLIC.TXT … 0 KB]

[…]

Леха не мог сдержать ухмылки. Горькой, циничной, но ухмылки. Он был в игре. В ужасно сделанной, кривой, багнутой RPG. Но он был не просто игроком. Он был здесь сисадмином.

И если уж ему суждено было respawnнуться в аду, состоящем из одних багов, то он, черт возьми, найдет в этом свой уют. И своего главного злодея – того, кто отвечал за этот бардак. Сисадмина Валеру.

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

«Ну что ж, – подумал Леха, смотря на свои квадратные ладони. – Приступим к отладке».

ГЛАВА 1: ERROR 404: LIFE NOT FOUND

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

Он шел по тропинке, которая то и дело проваливалась в пустоту под мир, обнажая бездонный, фиолетовый VOID. Приходилось обходить эти дыры, мысленно помечая их как [BUG_001], [BUG_002]. Его сисадминский мозг уже начал каталогизировать окружающее безумие.

«Ладно, Горшков, – бубнил он себе под нос. – Ты в игре. Кривой, но игре. Значит, должны быть правила. Квесты, NPC, монстры…»

Как по заказу, из-за дерева-цилиндра выскочило… нечто. Существо напоминало волка, собранного из семи треугольников и одного прямоугольника. Его текстура была размыта до неузнаваемости, а из пасти вместо звука рыка исходил все тот же назойливый писк – [SOUND_NOT_FOUND.WAV].

Перед глазами всплыла табличка:

[ДИРЕКТОРИЯ: C:\AERTA\ENTITIES\MOBS\WOLF_LVL1]

[STATUS: АКТИВЕН]

[ПОВЕДЕНИЕ: ПАТРУЛИРОВАНИЕ -> АТАКА ПРИ ОБНАРУЖЕНИИ]

Волк-полигон низко присел и прыгнул. Движение было резким, телепортирующим – он просто исчез в одной точке и появился в другой, уже в паре метров от Лехи.

Инстинкт заставил Леху отпрыгнуть. Его собственное тело отозвалось с раздражающей задержкой. Он поднял руку, пытаясь снова вызвать командную строку.

«kill process wolf_lvl1.exe», – скомандовал он.

В воздухе мигнула ошибка:

[ОШИБКА ДОСТУПА: НЕДОСТАТОЧНО ПРИВИЛЕГИЙ.]

Волк прыгнул снова. Леха едва увернулся, но угловатый треугольник-коготь все же задел его плечо. Боль была странной – не острой и жгучей, а больше похожей на удар статическим электричеством. Над его головой всплыла красная цифра [-5 HP]. Полоска здоровья, которую он раньше не замечал, в правом верхнем углу зрения чуть сократилась.

«Привилегий… Значит, я не админ, а гость? Или пользователь? Нужно найти root-доступ».

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

«А что, если…»

Леха не стал атаковать волка. Он скомандовал:

«select object rock_001; move to wolf_lvl1; execute».

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

[ОПЫТ +10]

[ДОСТИЖЕНИЕ: «НЕСТАНДАРТНЫЙ ПОДХОД» РАЗБЛОКИРОВАНО.]

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

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

[ПРЕДМЕТ: ШЕРСТЬ ВОЛКА (БАГОВАННАЯ)]

[КАЧЕСТВО: МУСОР]

[ОПИСАНИЕ: ТЕКСТУРА ОТСУТСТВУЕТ. ФИЗИЧЕСКАЯ МОДЕЛЬ НЕ СООТВЕТСТВУЕТ ХИТБОКСУ.]

«Красота…», – усмехнулся он и сунул куб в инвентарь, который представлял собой обычное окно проводника с папками.

Тропинка вывела его на опушку. Впереди, в долине, стоял город. Или то, что его создатели называли городом. «Кривой Рог», как позже выяснилось из системного сообщения. Название было более чем точным. Дома были сложены из кубов разных размеров, некоторые из них парили в воздухе на несколько метров над землей, другие были наполовину погружены в реку, текстуру которой забыли наложить, отчего она выглядела как синий цементный пол. Дороги вели в никуда, обрываясь у стен, а над всем этим возвышалась гигантская башня – главная доминанта, которая на верхушке внезапно заканчивалась плоским, как будто обрубленным, потолком.

Леха спустился в город. Его встретили первые NPC. Горожане были одеты в простые, повторяющиеся наряды. Их лица были слабо проработаны, а анимация движений была резкой и зацикленной. Одна и та же женщина подметала один и тот же участок тротуара уже пятый раз за минуту, ее метла проходила сквозь пыль, не оставляя следов.

[NPC: ЖИТЕЛЬНИЦА_03]

[СОСТОЯНИЕ: ЗАЦИКЛЕНА НА АНИМАЦИИ "УБОРКА"]

[ДИАЛОГ: ОТСУТСТВУЕТ]

Леха попытался с ней заговорить.

«Э-э-э, здравствуйте?»

Женщина остановилась, ее голова дернулась и повернулась к нему. Глаза были двумя плоскими текстурами.

[ДИАЛОГ АКТИВИРОВАН.]

[ЖИТЕЛЬНИЦА_03]: "О, путник! Не видел ли ты моего кота? Он пропал три дня назад. Говорят, его видели в Лесу Безымянном. Принеси мне его, и я отблагодарю тебя… О, путник! Не видел ли ты моего кота? Он пропал…"

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

[НОВЫЙ КВЕСТ: "ПРОПАВШИЙ КОТ"]

[ЦЕЛЬ: НАЙТИ КОТА В ЛЕСУ БЕЗЫМЯННОМ]

[НАГРАДА: 10 КД, ОБРЕЗАННЫЙ МЕЧ]

[СТАТУС: НЕ ВЫПОЛНИМ. NPC "КОТ" УДАЛЕН ИЗ ДИРЕКТОРИИ \ENTITIES\PETS В ОБНОВЛЕНИИ 1.03.]

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

Он решил проверить свою теорию. Подойдя к ней снова, он мысленно ввел команду:

«open quest_propavshiy_kot.txt; edit»

Перед ним открылся текстовый файл с кодом квеста. Он был пустым, кроме одной строки:

[IS_ACTIVE=TRUE]

Леха стер ее и написал:

[IS_ACTIVE=FALSE]

[NEW_DIALOG="Спасибо, путник! Мой кот только что вернулся сам! Вот твоя награда!"]

Он сохранил файл. Мир снова мигнул. Женщина остановилась, повернулась к нему, и на ее лице появилась новая, чуть менее грустная текстура.

[ЖИТЕЛЬНИЦА_03]: "Спасибо, путник! Мой кот только что вернулся сам! Вот твоя награда!"

Она протянула ему несколько монет и ржавый меч. Леха взял их автоматически.

[ПОЛУЧЕНО: 10 КД]

[ПОЛУЧЕНО: ОБРЕЗАННЫЙ МЕЧ]

[КВЕСТ "ПРОПАВШИЙ КОТ" ЗАВЕРШЕН.]

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

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

Это было странное, непривычное чувство. Чувство, которое не вписывалось в его сисадминский цинизм.

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

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

«Чё, сынок, тоже с того света? Респавн не задался, да?»

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

«Михалыч мое имя, – представился мужчина. – Сантехник от бога, а в этой дыре – стражник поневоле. Идём, путник, поговорим. Тут, на райцентре, одни алкаши-квестодатели да баги с мобами. Надо думать, как выживать».

И Леха, все еще сжимая в руке обрезок кривого меча, понял – он больше не один. Его пати, пусть пока и состоящая из одного сантехника, начала формироваться.

ГЛАВА 1: ERROR 404: LIFE NOT FOUND (продолжение)

Михалыч повел его по кривым улочкам, которые то сужались до размеров щели, то неожиданно обрывались в пустоту. Леха следовал за ним, машинально отмечая в уме баги окружающего пространства: [ДОМ_045: ПРОВАЛ В ТЕКСТУРУ КИРПИЧА], [NPC_СТРАЖНИК_12: ЗАЦИКЛЕН НА АНИМАЦИИ "ПОЧЕСАТЬ_ЗАТЫЛОК"].

«Райцентр, – хрипло пояснял Михалыч, не оборачиваясь. – Столица этого цифрового ада. Тут всё как у людей: базар, кабак, палата магистров. Только базар – это папка обмена, кабак – точка респавна, а магистры – это те, кто хоть как-то научился шептаться с исходным кодом».

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

«Мой угол. Не пафосно, заleast приватно».

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

«Садись, – Михалыч махнул ключом в сторону одного из сидений. – Рассказывай, как угораздило».

Леха коротко описал свою историю: БСОД, пепси-кола, пробой изоляции и резкое перемещение в low-poly ад.

Михалыч слушал, кивая. Его пиксельное лицо выражало понимание.

«У меня похоже, – сказал он, когда Леха закончил. – Только у меня трансформаторная будка. Чинил, сука, а она на меня. Очнулся тут. Уже… не знаю сколько. Время здесь течет криво. То сутками за секунду, то секунда растягивается на час».

Он достал из-под стола глиняную кружку, налил в нее из темного куба мутную жидкость.

«Вот, зелье маны местного разлива. Вычислительный ресурс, если по-твоему. Восстанавливает силы».

Леха скептически посмотрел на кружку. Над ней висела подсказка: [ЗЕЛЬЕ МАНЫ (СЛАБОЕ)] [ЭФФЕКТ: ВОССТАНАВЛИВАЕТ 50 MP] [ПОБОЧНЫЙ ЭФФЕКТ: ВОЗМОЖНА СЛУЧАЙНАЯ ТЕЛЕПОРТАЦИЯ].

«Не бойся, не отравишься, – усмехнулся Михалыч. – Похуже вещи здесь приходилось глотать. Расскажи лучше про это своё… взлом реальности. Я видел, как ты с тем волком управлялся. И с бабой той, с метлой. Мы все тут что-то можем. Но так… чтобы код прямо руками трогать…»

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

«Я сисадмин, – просто сказал Леха. – Был им. Мой класс здесь такой же. Я вижу системные ошибки и могу… вносить небольшие правки. Пока что с ограничениями».

Михалыч задумчиво хмыкнул.

«Сисадмин… А наш главный злодей, тот, кто за всем этим стоит, он кто? Не знаешь?»

Леха почувствовал, как по спине пробежали виртуальные мурашки.

«Предполагаю. Если этот мир – корявая RPG, то где-то должен быть тот, кто ее поддерживает. Администратор. Создатель. Или… такой же несчастный сисадмин, который застрял здесь навечно и пытается поддерживать работу этого говногенератора. Зовут его, наверное, Валера».

Имя повисло в воздухе, словно заряженная статика. Лампочка-полигон над их головами мигнула.

«Валера… – протянул Михалыч. – Звучит нестрашно. Как раз для нашего цирка уродов».

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

«Михалыч, я принесла… – ее голос был тихим и мелодичным, но в нем слышалась трещина. – О, я не знала, что у тебя гость».

«Мариванна, заходи, не стесняйся. Это Леха, новенький. С того света. Сисадмин».

Женщина по имени Мариванна робко улыбнулась Лехе. Ее улыбка была кривой, как и всё в этом мире, но в ней была какая-то теплина.

«Здравствуйте, сынок. Я… я тут травки собираю. Целебные. У меня сын… – она на мгновение замялась, и ее взгляд поплыл. – У меня сын болел. А здесь… здесь многие болеют. Душа болит».

Леха посмотрел на нее своими сисадминскими глазами.

[NPC: МАРИВАННА]

[СОСТОЯНИЕ: ТРАВНИЦА]

[ОСОБАЯ МЕТКА: "ПОПАДАНЕЦ"]

[СТАТУС: НЕСЕТ ПОТЕРЮ. ФАЙЛ ЛИЧНОСТИ ПОВРЕЖДЕН.]

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

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

Этот мир был кривым. Сломанным. Написанным на коленке. Но в нем были люди. Настоящие люди, со своей болью, своей надеждой. Они не были NPC. Они были такими же заключенными, как и он.

«Слушай, Михалыч, – тихо сказал Леха. – А что, если попробовать… не просто выживать?»

Сантехник с папиросой поднял на него усталый взгляд.

«А что еще делать?»

«Чинить», – просто ответил Леха.

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

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

Не чтобы сбежать. Пока нет.

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

Первый шаг был сделан. Он нашел своих первых союзников. Пришло время искать баги посерьезнее. И ответы.

ГЛАВА 2: САНТЕХНИК С ПАПИРОСОЙ

Убежище Михалыча оказалось не просто укрытием. Это был командный центр, собранный на чистом инстинкте выживания и интуитивном понимании механик этого мира. Сантехник, как выяснилось, обладал своим уникальным «классом» – Инженер-Эмпат.

«Я не как ты, с кодом ворочать, – объяснял Михалыч, разбирая на части странное устройство, напоминавшее паяльник, скрещенный с магическим жезлом. – Я чувствую, где система течёт. Где напряжение в сети слишком высокое, где логика зациклилась. Могу пошептаться с железками».

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

«Вот смотри, – Михалыч ткнул в один из участков. – Здесь, на райцентре, постоянный лаг. Каждые пятнадцать минут по местному времени всё на секунду замирает. Я поначалу думал, глюк видеокарты. Ан нет – это процесс какой-то тяжёлый на сервере запускается. Сборщик мусора, что ли?»

Леха с интересом наблюдал. Его сисадминский мозг жадно впитывал информацию. Мир Аэрты был не просто игрой; это была гигантская, разросшаяся система, работающая на каком-то неизвестном ему движке. И она была полна уязвимостей.

«А можно посмотреть логи?» – спросил Леха.

Михалыч хмыкнул. «Логи? Сынок, тут даже события нормально не логируются. Смотри сам».

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

[WARNING]: NPC_ID_2341 пытается войти в несуществующую дверь.

[ERROR]: Физический движок не справился с коллайдером объекта "КАМЕНЬ_102". Объект удален.

[CRITICAL]: Обнаружена утечка памяти в секторе 7G. Требуется перезагрузка.

[INFO]: Погода изменена на "Солнечно". (Ошибка: Текстура дождя все равно загружена)

Леха почувствовал знакомое раздражение. Такой бардак в логах он бы не потерпел на своей работе. Он сконцентрировался и мысленно ввел команду:

«grep -i "critical\|error" /var/log/aerta/world.log | tail -n 20»

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

«Вот это да… Уважаю. Я по полдня вручную их выискиваю».

Внезапно среди ошибок Леха заметил повторяющуюся строку:

[CRITICAL]: Процесс "OBSERVER" потребляет 98% ресурсов ЦП. Принудительное завершение невозможно.

«А это что?» – спросил он, показывая на строку.

Михалыч помрачнел. «А это, сынок, наш смотритель. Глаз Валерии, я полагаю. Он висит где-то на окраине Леса Безымянного, в особой зоне. Раз в сутки активируется и начинает сканировать мир. Ищет аномалии. Тех, кто слишком сильно выделяется. Вроде нас».

В этот момент вернулась Мариванна. Она принесла не только травы, но и странные, мерцающие ягоды.

«На, покушайте, – сказала она, раздавая им по горсти. – Это ягодки памяти. Местные говорят, они воспоминания укрепляют. А то я тут одного парня встретила… так на меня посмотрел, как мой Кolenka…»

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

Леха посмотрел на ягоду в своей руке.

[ПРЕДМЕТ: ЯГОДА ПАМЯТИ]

[КАЧЕСТВО: ОБЫЧНОЕ]

[ЭФФЕКТ: ВОССТАНАВЛИВАЕТ 10 MP, НА 30 СЕКУНД ПОВЫШАЕТ ИНТЕЛЛЕКТ НА 2]

[ОСОБЫЙ ЭФФЕКТ: 5% ШАНС ВЫЗВАТЬ ФЛЕШБЭК]

Он съел ягоду. Эффект был мгновенным – ментальный туман, застилавший его сознание с момента попадания сюда, слегка рассеялся. И вдруг, совершенно неожиданно, перед его глазами промелькнул образ – он видел себя сидящим за монитором, а на стене висел календарь с датой, которая была всего неделей назад. Он почувствовал вкус настоящего кофе…

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

«Сильный у вас дар, Мариванна, – тихо сказал Леха. – Вы не просто травы собираете. Вы… чувствуете душу системы. Ее боль».

Мариванна обернулась. В ее глазах стояли пиксельные слезы.

«Здесь всё болит, сынок. Каждый камень, каждое дерево. Они же живые, они же должны расти, цвести… а они застыли. Как на картинке. И люди здесь… все потерянные. Как я».

Михалыч тяжело вздохнул. «Вот и живём, латаем дыры. Я – железо, она – души, а ты… – он посмотрел на Леху, – ты, выходит, будешь логику чинить. Программист наш штатный».

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

«Ладно, – сказал он, вставая. – Давайте составим план. Сначала – карта. Потом – ресурсы. Потом – поиск других, таких же, как мы. И главное… нужно понять, как работает этот «ОБСЕРВЕР». Пока он следит, любое наше действие может быть замечено».

Михалыч одобрительно хмыкнул. «Дельное предложение. Только с картой беда – она тут вся в багах. Целые районы накладываются друг на друга».

«Значит, сделаем свою, – решительно заявил Леха. – Через консоль. Команда «map» должна выводить координаты. А ты, Михалыч, сможешь ощущать, где зоны нестабильности».

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

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

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

И где-то в глубине системного кода, в самом сердце этого цифрового ада, процесс с именем «OBSERVER» зафиксировал новую, растущую аномалию. И начал готовить отчет для своего создателя. Для Валеры.

ГЛАВА 2: САНТЕХНИК С ПАПИРОСОЙ (продолжение)

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

«map –full» – выдало схему канализационных труб Кривого Рога, наложенную поверх карты небесных сфер.

«get-location –current» – вернуло ошибку [PERMISSION DENIED] и загрузило в инвентарь Лехи случайный предмет: [ЗАГЛУШКА ДЛЯ ВАННЫ] [ЭФФЕКТ: НЕИЗВЕСТЕН].

«Нет, так не пойдет, – проворчал Леха, откладывая заглушку. – Нужны права. Админские. Михалыч, а где тут у вас… реестр? Или что-то похожее?»

Михалыч почесал затылок своим гаечным ключом. «А не знаю я этих ваших реестров. Но есть тут одно место… Подземелье системных папок. Там, говорят, самые потаенные файлы лежат. И монстры соответствующие – процессы-демоны».

Леха мысленно отметил это. «Значит, нам нужен ключ. Точнее, пароль. Или уязвимость».

Внезапно Мариванна, тихо сидевшая в углу и перебирая травы, подняла голову. Ее глаза были широко открыты.

«Я… я слышу», – прошептала она.

«Кого слышишь, мать?» – насторожился Михалыч.

«Не кого… а что. Система. Она… плачет». Мариванна встала и подошла к стене, где мигали светодиоды-полигоны. Она прикоснулась к ним пальцами. «Здесь… большая пустота. Одиночество. Оно исходит оттуда». Она указала в сторону, где, по их карте, должен был быть Лес Безымянный.

Леха и Михалыч переглянулись. «ОБСЕРВЕР?» – предположил Леха.

Мариванна покачала головой. «Нет… Глубже. Старее. Это как… фундамент треснул. И из трещины дует сквозняк пустоты».

Леха быстро ввел команду: «systemctl status AERTA-CORE».

Экран выдал:

[ACTIVE: TRUE]

[STATUS: DEGRADED]

[UPTIME: 1042 DAYS, 7 HOURS, 12 MINUTES]

[ERROR: CORE INTEGRITY CHECK FAILED. BOOT SECTOR CORRUPTED.]

«Ядро системы повреждено, – прошептал Леха. – Оно работает уже почти три года в деградировавшем состоянии. Это не просто баги… Это системный коллапс в замедленной съемке».

Теперь все встало на свои места. Кривые текстуры, зацикленные NPC, провалы в геометрии – это были не ошибки программирования, а симптомы умирающей системы.

«Значит, этот Валера… – начал Михалыч. – Он не злодей?»

«Он тюремщик, – мрачно заключил Леха. – И заключенный в той же тюрьме. Он не создатель этого мира. Он… смотритель. Тот, кто не дает ему развалиться окончательно. И этот ОБСЕРВЕР – его способ контролировать утечки ресурсов и находить новые дыры, через которые система теряет последние силы».

Их разговор прервал странный звук с улицы – нарастающий гул, похожий на перегруженный серверный вентилятор. Они выглянули наружу.

На центральной площади Кривого Рога, там, где обычно стоял зацикленный на анимации «рынок» NPC-торговец, происходило нечто невообразимое. Воздух дрожал, пиксели сыпались, как конфетти, и из ниоткуда возникали предметы. Деревянные ящики, сверкающие мечи, горшки с зельями – все это падало с неба в случайном порядке, образуя груду сокровищ.

[СИСТЕМНОЕ УВЕДОМЛЕНИЕ: РЕСУРСНЫЙ ШТОРМ В СЕКТОРЕ 1-А. ПЕРЕРАСПРЕДЕЛЕНИЕ АССЕТОВ.]

«Щедрость небес! – воскликнул Михалыч. – Бежим, пока все не разобрали!»

Но Леха схватил его за руку. «Стой! Смотри!»

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

«Это не щедрость, – холодно сказал Леха. – Это ошибка сборщика мусора. Система пытается освободить память, перераспределяя объекты. Она не проверяет, есть ли кто-то в зоне падения».

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

«Колян! – узнала его Мариванна. – Это же тот парень, который все в книгах копается!»

Леха сфокусировал взгляд.

[ИМЯ: КОЛЯН]

[РАСА: Человек]

[КЛАСС: Волшебник-Архивариус]

[ОСОБАЯ МЕТКА: "ПОПАДАНЕЦ"]

[СТАТУС: ИЩЕТ ЗНАНИЯ.]

«Еще один наш, – прошептал Михалыч. – Чудак, но безвредный. Говорит, что попал сюда, пытаясь оцифровать библиотеку древних манускриптов».

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

«Пошли, – решил Леха. – Надо поговорить».

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

«Приветствую, – сказал он, не отрываясь от свитка. Его голос был тихим и быстрым. – Интересный феномен. Судя по всему, это следствие фрагментации памяти кучи. Система пытается дефрагментироваться, но из-за corrupted core…»

«Мы знаем, – перебил Леха. – Я Леха. Сисадмин».

Колян наконец поднял на него взгляд. Его глаза за стеклами низкополигональных очков блестели любопытством.

«О! Коллега! Вы подтверждаете мою гипотезу? Ядро повреждено?»

«Да. И мы думаем, что Валера – не враг, а такой же заложник».

«Любопытно, – Колян отложил свиток и достал другой. – Я как раз нашел кое-что в старых логических дампах. Здесь, до нас, были другие. Они пытались починить систему. Безуспешно».

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

[ПАТЧ "ПРОМЕТЕЙ": FAILED. REASON: INSUFFICIENT PRIVILEGES.]

«Они тоже не смогли получить права, – заключил Леха. – Значит, ключ у Валеры. Или…»

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

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

[ПРЕДУПРЕЖДЕНИЕ: OBSERVER АКТИВИРОВАН. ОБНАРУЖЕНА НЕСАНКЦИОНИРОВАННАЯ АКТИВНОСТЬ.]

«В укрытие! Быстро!» – крикнул Михалыч.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.