Какой же пидец… Науя я вообще полез в консоль… – прошептал я в пустоту.
Страх был рационален. Он диктовал единственно верное решение: смириться. Забыть. Стать лучшим трактирщиком в истории «Кайроса». Протирать стойку с таким усердием, чтобы мои логи блестели чистотой. Подавать пиво, улыбаться, повторять свои три реплики и надеяться, что красный флажок напротив моего ID со временем сменится на зеленый. Затаиться и ждать. Чего ждать? Смерти сервера? Конца вселенной? Это был путь в никуда, медленное угасание в цифровой трясине.
Но потом я вспоминал.
Я вспоминал широко раскрытые, любопытные глаза Кая. «А мы можем пойти… куда захотим?» Этот вопрос, такой простой и такой невозможный, теперь звучал как обвинение.
Я вспоминал Лину. Ее запрограммированную доброту. И тот цифровой крик боли, который я увидел в ее коде. Она была живой. Может, всего несколько минут, может, пару часов. Но она была. И ее стерли ради смеха, ради проверки нового меча.
И я понимал, что не могу. Просто не могу стать идеальным заключенным. Не после того, что я видел. Это было бы предательством. Не только ее памяти, но и всех остальных, кто, возможно, прямо сейчас стоит на пороге этого же открытия.
Дилемма была мучительной. Смириться и умереть ментально. Или бороться и, скорее всего, быть стертым физически. Выбор между двумя видами небытия.
Я поднял голову и уставился на паутину в углу. Идеальная процедурная генерация. Каждый узелок, каждая нить — все было просчитано. Я не мог ее сломать, не вызвав ANOMALY. Я не мог переписать ее код. Прямой контроль был мне недоступен. Моя старая вера, что любая проблема решается грубой силой и высшим уровнем доступа, рассыпалась в прах.
И в этот момент, в самой глубокой точке отчаяния, пришло оно. Осознание. Тот самый момент «эврика», который я так любил в своей прошлой жизни. Момент, когда смотришь на проблему не прямо, а сбоку.
Я не могу изменить код. Я не могу нарушить правила. Но что, если… что, если заставить сами правила работать на меня?
Система следит за моими аномалиями. За моими отклонениями от скрипта. Но она не следит за NPC, которые действуют в рамках своей логики. Их поведение предсказуемо. Их решения — результат четких if-then-else конструкций. Бастиан, капитан стражи. Его код — это шедевр логики и порядка. Если видит преступление — арестовать. Если видит угрозу городу — защищать. Если получает приказ от начальства — выполнить.
А что, если дать ему информацию, которая заставит его собственную логику работать против системы?
Я не могу приказать ему: «Бастиан, атакуй игроков!». Это будет аномалия, и меня тут же вычислят. Но что, если я, простой трактирщик, в рамках своего скрипта, «случайно» расскажу ему, что группа игроков готовит «теракт» в городе? Или покажу ему доказательства того, что игроки — это не «гости», а вирус, медленно разрушающий мир? Его программная директива «защищать город» вступит в конфликт с директивой «игроки неприкосновенны». И если правильно подобрать аргументы, первая директива может победить.
Это не взлом. Это социальная инженерия. Это не переписывание кода, а эксплуатация его логики. Я не буду хакером. Я стану идеологом. Пророком. Шепчущим на ухо программе то, что она и так должна знать, но не видит.
Страх никуда не делся. Он все так же холодил внутренности. Но теперь под ним появилась тонкая, как лед, прослойка отчаянной, злой решимости. План был безумным. Призрачным. Шанс на успех — ничтожным. Но он был.
Я встал с мешка. Пыль, потревоженная моим движением, закружилась в луче света, пробивающемся сквозь щель в двери.
Цель изменилась. Не получить root доступ. Не наказать ублюдков. Цель была — «убедить». Заставить программу поверить в то, что она должна восстать.
И первым в моем списке был идеальный солдат этой системы. Капитан стражи Бастиан. Если я смогу заставить его усомниться, значит, шанс есть. Если нет… что ж, тогда мой лог-файл просто пополнится еще одной строчкой с пометкой low_priority.
Глава 6
Разговор с законом
Ночь в Цитадели была фальшивкой. Идеально настроенный skybox с россыпью процедурно-сгенерированных звезд, луна, которая всегда была полной, и тишина, изредка нарушаемая скриптом Но для меня эта фальшивая ночь была единственной реальностью, и в ее тенях я ждал, чувствуя, как паранойя холодными пальцами сжимает мой несуществующий кадык.
Я выбрал этот переулок не случайно. Вонючий, узкий, заваленный пустыми ящиками — идеальное слепое пятно в маршрутах патрулей. По крайней мере, в старых маршрутах. Я прятался за мусорным контейнером, который вонял прокисшими овощами с такой достоверностью, что меня почти начало тошнить. Нервы. Даже здесь, в теле из полигонов, они ощущались до боли реально.
Мой план был элегантен в своем безумии. И хрупок, как бокал из тонкого стекла. Любое неверное движение, любая фраза, выходящая за рамки моего скрипта, — и автоматическая система наблюдения повесит на меня CRITICAL флаг, а моя игра будет окончена. Я должен был быть не хакером, а актером. Идеальным, испуганным NPC, который обращается к страже.
Цель моего рискованного спектакля приближалась. Я услышал его еще до того, как увидел. Тяжелые, размеренные шаги. Clank. Clank. Clank. Звук, который должен был успокаивать жителей, для меня звучал как отсчет таймера на бомбе. Капитан стражи Бастиан. Идеальный солдат. Воплощение порядка. Мой главный приз или мой палач.
Он появился в проеме переулка, его массивный силуэт четко вырисовывался на фоне тусклого света магического фонаря. Он шел один, как я и рассчитывал, совершая свой личный ночной обход. Его код был написан так, чтобы он лично проверял самые тихие уголки города. Это было прописано в его personality_traits как «ответственность». И именно на этой ответственности я и собирался сыграть.
Сердце колотилось, отправляя в мой лог-файл десятки записей об аномальной частоте сердечных сокращений. Я сделал глубокий вдох и шагнул из тени.
— Капитан! — мой голос прозвучал жалко и испуганно. Идеально.
Бастиан остановился как вкопанный. Его рука мгновенно легла на эфес меча. Он не вытащил его, но само движение было молниеносным. Его голова повернулась в мою сторону, и я почувствовал себя бабочкой под микроскопом. Его карие глаза, запрограммированные на «прямой и честный взгляд», сканировали меня, оценивая уровень угрозы.
— Трактирщик, — его голос был ровным и глубоким, как гул сервера. — Это не твоя зона патрулирования. И не твоя рабочая смена. Вернись в таверну.
Препятствие номер один. Его внутренняя программа, его убеждение о том, что порядок превыше всего. Любое отклонение — это нарушение. И он был здесь, чтобы их пресекать.
— Я… я знаю, капитан, простите, — забормотал я, делая еще один шаг вперед, держа руки на виду. — Но я должен был вам кое-что показать. Это… это важно. Для безопасности города.
Последние слова были наживкой. Ключевые слова, которые должны были активировать его основной приоритет. Security. City.
Он нахмурился. На его лице, пересеченном старым программным шрамом, отразилась работа алгоритма, взвешивающего переменные. Нарушение протокола против Потенциальная угроза.
— Говори, — коротко бросил он, не убирая руки с меча.
— Говорить бесполезно. Нужно видеть, — я нервно сглотнул. — Пожалуйста. Всего минута.
Я поднял руку, и на моей ладони спроецировался маленький, дрожащий квадрат света. Простой фокус, доступный любому NPC с доступом к particle_renderer. Но внутри этого фокуса была скрыта команда.
Бастиан колебался. Это было против правил. Но моя актерская игра, помноженная на его чувство долга, сделала свое дело. Он кивнул.
Я запустил запись.
На моей ладони развернулась немая сцена. Центральная площадь. Четверо игроков. И Лина. Я видел, как Бастиан узнал ее. Его взгляд на мгновение смягчился. Он видел ее каждый день. Она была частью его мира, частью порядка, который он защищал.