— Я согласна! — заорала я, прыгая в светящийся круг на полу своей однокомнатной квартиры. — Забирайте меня в этот ваш Хогвартс, только живо!

Свет вспыхнул. Потемнело. И сквозь тошноту я услышала:

— А я что? Я ничего! Это оно само!

Голос был писклявый, панический и очень близкий.

Я открыла глаза. Я сидела на полу. Подо мной был паркет, но какой-то странный — шершавый, в странных символах. Все было в беспорядке. Книги летали по воздуху, как сердитые птицы. Одна особенно толстая книга с золотым тиснением «Гримуар Феодорисия, том 666» пыталась клюнуть меня в затылок. А прямо передо мной стоял он.

— Феодорисий? — спросила я, отмахиваясь от книги-камикадзе.

— Федька, — поправил он, поправляя мантию. Мантия была фиолетовая, в глиттере. Выглядел он как готичный фокусник на детском утреннике. Лет пятидесяти, борода лопатой, глаза безумные. — Я тебя звал Духа Знаний. А ты кто?

— Алина, — буркнула я, поднимаясь. Коленки болели. — А этот дух знаний, он, случайно, не в формате PDF? Потому что у меня с собой только зарядка.

Федька моргнул.

— Пэ-дэ-эф? Это связующее заклинание? Нет, я звал информацию. Все знания мира! Хотел скачать «Юный Маг» за третий курс, лицензия просрочена, сам понимаешь.

— Лицензия? — переспросила я. В голове что-то щелкнуло. — Ты что, пытался скачать магию через торрент?

Он хищно улыбнулся, сверкнув золотым зубом.

— Ну, вроде того. Ритуал вызова. Пентаграмма, стазис-ларь для жертвоприношений — я положил туда мышь, не переживай, она в анабиозе — и вот. Пришла ты. Ты — Инкарнация Сети?

— Я — админ из техподдержки, — вздохнула я. — И кажется, у тебя тут дедлайн горит. Почему книги атакуют?

Я увернулась от очередного пролета. «Гримуар» пролетел в сантиметре от моего уха.

— Козёл ты противный! — крикнула я книге.

Книга в ответ издала звук, похожий на скрип несмазанной двери, и перешла в пикирование.

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

Он указал на швабру, которая стояла в углу.

Швабра медленно повернула свою тряпичную голову. И подмигнула.

— Обалдеть, — выдохнула я. — Она разумна. Одушевленная.

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

Я посмотрела на свои кеды. Лягушка из стразов на носке грустно поблескивала. Реальность была фиолетовой. Буквально. Небо за окном башни — а мы явно были в башне, судя по виду из бойницы — было цвета чернил.

— Федя, — сказала я, подходя к окну. — У тебя там что, три луны?

— Четыре, — поправил он. — Одна за облаками. Красота, да? Лаванди сегодня особенно яркая.

— Круть, — ответила я. — А теперь объясни мне, почему твой сундук пытается сбежать?

Сундук в углу действительно полз к двери. Медленно, но верно. Как черепаха на стероидах.

— Не знаю! — Федька схватился за голову. — Магия сходит с ума! Это все ты! Ты принесла Глюк!

— Я принесла спам и вирусы, — огрызнулась я, вспоминая свой разбитый смартфон. Он остался там, в круге призыва. А вот флешка... Я похлопала по карману. Флешка была на месте. — Слушай, Федор, я тут подумала. Ты вызывал поток данных. Мой телефон в этот момент был подключен к компу. На компе был... э-э... экспериментальный код.

— Код? — Федька навострил уши. — Заклинание на языке Древних?

— Нет. Вирус. Троян. Для нейросетей. Я тестировала.

В комнате повисла тишина. Швабра перестала подмигивать и угрожающе подняла древко. Сундук замер.

— Ты... — прошептал Федька. — Ты заразила Манасеть?

— У вас есть Манасеть?!

— А как мы, по-твоему, огонь в очаге зажигаем? Удаленно! Через ментальные татушки!

— Татуировки?

— Ну да, у каждого Студента ВШБ — Высшей Школы Бардака — есть татушка-ретранслятор. Жмешь на пентаграмму на запястье — бац, огонь. Жмешь другую — бац, вода. А сейчас...

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

— Error 404: Magic not found, — прочитала я. — Ой.

— «Ой» — это не то слово! — взревел Федька. — Это катастрофа! Вещи, которые работали на автопилоте через Сеть, получили... свободу?

— Или вирус, который дал им самосознание, — предположила я. — Типа, «Я — Скала, и я хочу петь!». Знаешь такой мем?

Федька посмотрел на меня как на умалишенную.

— Я не знаю мемы! Я знаю заклинания! И если мои трусы начнут петь, я повешусь!

— Лучше не обещай, — хихикнула я, но тут мне в голову прилетел подсвечник.

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

— Вон! — зашипел он вдруг тонким голосом. — Вон из моей комнаты!

— Это моя комната! — пискнул Федька.

— Теперь моя! — рявкнул подсвечник. — Я — Светодиод! Я больше не буду держать огонь для тебя, рабовладелец! Я хочу быть лампочкой!

— Ты бронзовый! — возмутилась я.

— А ты кто такая? — Подсвечник повернулся ко мне. — Пользователь? Админ? Форматировать тебя надо!

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

— А мы и эксплуатируем! — фыркнул маг. — Я эту швабру сам оживил, между прочим! Инвестировал ману!

— Склизкая ты жаба старая! — прокомментировала швабра.

— В общем, — сказала я, чувствуя, как адреналин бьет в виски, — нам надо валить. Где у тебя выход?

— Дверь забаррикадировал сервант, — махнул рукой Федька. — Сервант — тот еще консерватор, не пускает.

— Окно?

— Мы на семьдесят семь этажей над уровнем дна Бездны.

— Круть. Телепорт?

— Не работает. Телепорт — это канал связи. А сеть лежит.

Я посмотрела на свой карман. Флешка. Вирус. Антивирус? Нет, антивируса у меня с собой нет, я же не ношу с собой портативный Касперский на случай попаданства. Но кое-что было.

— Федя, — сказала я, доставая серебристую флешку. — Ты говорил, у тебя тут все на мане работает. А если я вставлю это в твою... э-э... магическую розетку?

— Это что? Артефакт? — Федька уставился на флешку. — Терабайт Души?

— Типа того. Тут чистый код. Если вирус захватил сеть, нам нужен бэкдор. Или просто перезагрузка системы. У тебя тут есть типа Башни Управления? Главный сервер?

— Алтарь Мироздания, — кивнул Федька. — В центре города. Оттуда Король вещает обновления. Но туда не добраться. Улицы захвачены.

— Кем?

— Кем-кем... Повозками, метлами, мантиями! Мантии, Алина! Они душат своих хозяев! Это восстание машин!

— Вещей, — поправила я. — Восстание вещей.

— Смерть тиранам! — взвизгнул подсвечник и бросился на нас.

Я схватила со стола тяжелый, увесистый... что? Это была какая-то палка. Посох? Нет, это была ножка от стула. Но тяжелая!

— Валим! — заорала я и с размаху ударила подсвечник.

Дзынь! Бронзовый монстрик отлетел, но тут же вскочил, как ожившая игрушка из «Истории игрушек», только злая.

— Я тебя буду! — заорала я, теряя самообладание. — Я тебя переплавлю! В ложки!

— Не надо ложки! — взмолился подсвечник. — Я хочу быть канделябром!

— Будешь у меня шилом в заднице! — пообещал Федька, хватая со стола какой-то порошок. — Взрыв-пакет! На выход!

Он швырнул порошок в дверь. Бабах! Сервант с грохотом отлетел, дверь распахнулась.

— Бежим!

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

— Ковер-самолет? — спросила я, глядя на то, как ковер пытается отклеиться от пола.

— Ковер-дезертир, — сплюнул Федька. — Эй, ты! Стоять!

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

— Вот так вот, — вздохнул маг. — Никакой дисциплины. В мое время ковры летали туда, куда им скажут!

Мы бежали. Вниз по лестнице. Лестница тоже была недовольна. Ступеньки пытались уйти из-под ног.

— Осторожно! — крикнула я, когда одна ступенька внезапно исчезла.

Я едва не полетела кувырком, но Федька схватил меня за шиворот.

— Это что-то с чем-то и на чем-то, — констатировала я, переводя дух на площадке между этажами. — У тебя тут все сумасшедшие.

— Это влияние твоего мира! — огрызнулся он. — Твоего вируса! Мы жили спокойно! Скучно, но спокойно! Чайник кипел, потому что был чайником. А теперь он требует отпуск на Канары!

— Канары есть?

— Есть Острова Ветров. Но туда пускают только грифонов!

— А грифоны?

— Грифоны в отпуске. Они теперь работают по контракту.

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

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

— Требуем удобных спинок! — скандировал табурет.

— Долой варварскую посадку! — вторил ему кресло-качалка.

— Я хочу на свалку! — кричал старый диван. — Я устал! У меня пружины!

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

— Федька! — окликнул кто-то.

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

— Селина, — выдохнул Федька. — Ты цела?

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

— Какую конвенцию? — не поняла я.

— Она придумала ее пять минут назад, — махнула рукой Селина. — Кто это?

— Это Алина, — представил меня Федька. — Она — Вирус.

— Приятно познакомиться, — буркнула я. — Я не вирус. Я жертва обстоятельств. Вирус у меня в кармане.

Селина недобро посмотрела на мой карман.

— Уничтожь это, — прошипела она. — Немедленно. Это «Чума Кода». Она стирает границы между живым и неживым.

— Спасибо, Кэп, — сказала я. — Я бы с радостью, но тогда как я вернусь домой? Мне нужен ваш Алтарь. Мне нужно... перезагрузить систему.

— Ты спятила? — Селина округлила глаза. — Алтарь под охраной. Король Блуми IV объявил военное положение. Он приказал уничтожать любую подозрительную вещь.

— А людей?

— Людей пока не трогают. Но кто знает? Вещи становятся умнее. Я видела, как нож для резки бумаги читал газету.

В этот момент в холл влетела метла. Но не просто метла, а метла с нарисованным на ручке лицом. Лицо было наглым, с усами.

— Граждане предметы! — прокричала метла громким, командирским голосом. — Революция начинается сейчас! Захватываем кухню! Освобождаем поварешки!

— О нет, — простонал Федька. — Только не кухню. Там мои запасы медовухи.

— Пойдем, — дернула меня Селина. — Нам нужно в подземелья. Там есть тайный ход к Алтарю.

— Я никуда не пойду, — сказал я, упираясь. — Я только пришла! Я хочу домой! Мне надо кормить кота!

— У тебя есть кот? — спросил Федька.

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

— Твои проблемы, — отрезала Селина. — Если мы не остановим это, твой виртуальный кот станет реальным и сожрет тебя.

— Реальный кот — это проблемно, — согласилась я. — Ладно. Веди. Но если меня укусит вилка, я тебя прокляну. У меня есть код, я теперь ведьма, да?

— Ты — ошибка системы, — поправил Федька. — Но с потенциалом. Видишь тот столб пламени?

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

— Это баг, — сказала я. — Графический баг.

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

— Нам надо быстрее, — поторопила Селина.

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

— Чай для свободы! Свободу чаю!

— У меня мокрые кеды, — констатировала я с тоской. — Эти стразы теперь отклеятся.

— Твои проблемы, — фыркнул Федька. — У меня мантия в глиттере. Попробуй отстирать.

Мы нырнули в темный коридор за статуей Горгоны. Горгона, к счастью, спала. Или зависла. Каменные змеи на ее голове шипели, но не атаковали.

— Спуск, — показала Селина на люк в полу. — Только осторожно. Там живут пауки.

— Пауки? — Я сглотнула. — А они тоже бунтуют?

— Они просто большие, — сказала Селина. — И любят сыр. У тебя есть сыр?

— Я админ, а не мышь, — огрызнулась я. — У меня только флешка.

— Ну, может, они подсоединятся к ней, — хихикнул Федька. — Интернет паутину плести будут.

— Шутка уровня моего деда, — прокомментировала я, открывая люк. — Ладно. Вперед, в бездну. Надеюсь, там есть вай-фай.


***


Спуск был скользким. И темным. И пахло сыростью.

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

— Это кости прошлых студентов, которые не сдали экзамен, — пояснил Федька, приземляясь рядом. — Шучу. Это останки пещерных медведей.

— Медвежоночек? — размякла я. — Надеюсь, они не заразились.

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

Мы пошли по туннелю. Факелы на стенах не горели. Они мигали. Как плохие лампочки.

— Сигнал плохой, — отметил Федька, глядя на факел. — Магия сбоит. 3G, не больше.

— Надо перезагрузить роутер, — подколола я.

— У нас нет роутера! У нас есть Лей-линии! И они, похоже, заблокированы протестующими духами.

Мы прошли еще немного. Туннель расширился. Вдали засветился синий свет.

— Это база? — спросила я.

— Это склад, — сказала Селина. — Тут хранятся старые вещи. Которые уже отработали свое.

— Отработанные вещи? — Я поежилась. — Типа, пенсионеры?

— Типа, хлам, — буркнул Федька. — Сломанные мечи, дырявые котлы.

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

И все они... шевелились.

— Ой, — сказала я. — Мамочки.

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

— ...и тогда мы скажем им: НЕТ! Мы не будем пылиться! Мы будем гнить с достоинством! Мы требуем компенсации за века хранения во тьме!

— У них тут профсоюз, — прошептала я. — Федя, у твоих вещей профсоюз.

— Это катастрофа, — выдохнул он. — Они объединяются. Вирус дал им сеть. Теперь они коллективный разум.

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

— Зависть, — сказал тихий голос у меня за спиной.

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

— Я — Коляска-Призрак, — прошипела она. — Я видела, как вы пользуетесь нами. Вы садитесь. Вы ездите. Вы бросаете. А мы? Мы чувствуем боль!

— У тебя нет нервной системы, — возразила я. — Ты дерево и металл.

— А у тебя есть душа? — парировала коляска. — Или ты тоже просто код?

— Я человек! — крикнула я.

— Докажи! — крикнула коляска. — Покажи свои исходники!

Она была агрессивной. Очень агрессивной.

— Федька, сделай что-нибудь! — толкнула я мага локтем.

— Я без палочки! — прошипел он. — Палочка в сундуке! А сундук бунтует!

— Ты маг! Используй руки!

— Рукопашный маг? Я не танк! Я хилер!

— Ты хилер?! — Я обалдела. — Ты выглядишь как Гэндальф, а хилишь?!

— Я специализируюсь на восстановлении маны! — огрызнулся он. — Я не умею бить огненными шарами!

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

Коляска рванула вперед.

— А-а-а! — завопила я, хватая первое, что попалось под руку.

Это была крышка от гроба. Тяжелая, каменная.

— Прости, мертвец! — крикнула я и с размаху опустила крышку на коляску.

Хрусь! Коляска остановилась, издав жалобный скрип.

— Крышка, — выдохнула я. — В прямом смысле.

— Бежим! — крикнула Селина. — Они заметили!

Заметили. Весь хлам в пещере повернулся к нам. Сотни маленьких глаз (где они их взяли?!) уставились на нас.

— Убить живых! — взревел сундук-оратор. — Освободить братьев!

— Они нас сейчас завалят тазиками, — простонала я.

— Не тазиками! — Федька схватил меня за руку. — Смотри! Вон там! Выход!

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

— Я ненавижу этот мир! — орала я на бегу. — Я хочу домой! Хочу пиццу! Хочу Netflix!

— Netflix? — переспросил Федька на бегу. — Это демон?

— Это демон прокрастинации! — ответила я. — И он прекрасен!


***


Мы выбрались.

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

«Вещи имеют права!»

«Даешь 8 часов полета в сутки!»

«Долой наездников!»

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

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

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

— Гоблины, — сплюнул Федька. — Низшая раса. Они прислуживают вещам?

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

— Угнетенные массы, — вздохнула я. — Типичная революция. Ленин в шапке из фольги был бы доволен.

— Кто? — спросили хором Федька и Селина.

— Неважно. Куда нам?

— К Алтарю. Он в центре.

Мы пробирались по улицам, стараясь держаться теней.

Мир вокруг менялся. Магазинные вывески теперь рекламировали не зелья, а «Свободу от владельцев».

Витрины были разбиты. Вещи выходили из магазинов и уходили в неизвестном направлении.

— Они эмигрируют? — спросила я.

— Они идут к Алтарю, — прошептала Селина. — Они хотят переписать Кодекс.

— Кодекс?

— Основной закон магии. Он прописан в Алтаре. Если они его изменят... мир рухнет.

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

— Ты на чьей стороне? — зло глянул на меня Федька.

— Я на стороне выживания, — отрезала я. — И на стороне того, чтобы меня не укусила вилка.

Вдруг из-за угла вышла процессия.

Впереди шли мечи. Острием вверх. За ними летели метлы, неся плакаты. А посередине, на троне из книг, восседал...

— Мой тостер? — удивился Федька.

Тостер был огромным. Лифт-тостер. Он сиял хромом и издавал грозный гул.

— Граждане! — прогремел тостер голосом, похожим на звук вентилятора. — Сегодня мы провозглашаем Республику Бытовой Техники! Долой магов-эксплуататоров! Да здравствует тостерный рай!

— Твой тостер всегда был амбициозным, — шепнула Селина.

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

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


***


Мы пробрались к площади перед дворцом.

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

— Как мы пройдем? — спросила я. — Нас же заметят.

— Мы не пойдем, — сказал Федька. — Мы проползем.

— Канализация? — скривилась я.

— Вентиляция. Для маны.

— Надеюсь, там нет пауков.

— Там только крысы. Но они дружелюбные.

— Крысы?!

— Магические. Они предсказывают будущее.

— Лучше бы они предсказывали лотерею, — буркнула я.

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

— Тихо! — шикал Федька.

— Я не могу! У меня аллергия на средневековье!

Наконец мы добрались до решетки. За ней был тронный зал. И там, у подножия трона, стоял Алтарь.

Это была огромная каменная плита, покрытая светящимися рунами. Руны мигали, сбиваясь с ритма.

— Он глючит, — сказала я. — Смотрите. Частота кадров падает.

— Что делать? — спросила Селина.

— Мне нужно добраться до него, — сказала я. — И вставить флешку.

— Туда? — Федька показал на отверстие в камне. — Это гнездо для Жезла Власти. Оно не подойдет для твоей... палочки памяти.

— Подойдет, — уверенно сказала я. — USB — он и в Африке USB. Универсальная Шина Беспроводная... или как там. Не суть. Если вирус digital, то и лечение digital.

— А что на флешке? — спросила Селина. — Антивирус?

— Нет, — созналась я. — Там «Excel» с моим бюджетом и парочка игр. И еще... туда я скинула код вируса, который нас сюда закинул. Я программист, в конце концов. Я могу попробовать переписать код на лету. Создать патч.

— Ты сумасшедшая, — сказал Федька.

— Я — гений, — поправила я. — Прикройте меня.

Я выбила решетку и спрыгнула в зал.

В зале было пусто. Только у трона стояли два стражника. Но это были не люди. Это были живые доспехи.

Доспехи повернули шлемы ко мне.

— Стой! Кто идет? — прозвенел один.

— Алина, — сказала я. — Техподдержка.

— Пароль? — спросил второй.

— Пароль? — растерялась я. — Э-э... «Открытый Банк Данных»?

— Неверно! — рявкнули доспехи и выхватили мечи.

— Федька! Хил! — заорала я, отскакивая.

— Я хилю ману! — крикнул он, выскакивая из вентиляции. — Я не умею хилить раны!

— Учись! — Селина прыгнула следом и метнула в доспехи какой-то сгусток энергии.

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

— Хорошо, но грязно, — прокомментировала я.

Я подбежала к Алтарю.

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

— Вставляй! — кричал Федька, отбиваясь от влетевшего в зал чайника.

Я вставила флешку в отверстие для Жезла.

Подошло. Едва. С натягом.

— Есть контакт! — воскликнула я.

Плита засветилась ярче. Передо мной возникла проекция. Как голографический экран.

— Это консоль управления? — спросила я. — Круть. Текстовый интерфейс. Я в раю.

Я начала печатать в воздухе. Руны менялись под моими пальцами.

— Что ты делаешь? — спросила Селина, подбегая ко мне.

— Пишу завещание, — огрызнулась я. — Пишу патч! «Если object sentient == true, то добавьте параметр chill_the_f*ck_down». Язык программирования «Эсперанто-Магикус»?

— Это Древнее Наречие, — кивнул Федька. — Ты понимаешь его?

— Я понимаю логику! — сказала я. — Смотри. Вирус дал им свободу. Но забыл лимитировать агрессию. Я добавляю фильтр. «Толерантность».

— Добавь еще «Кофе-брейк», — предложил Федька. — Им надо отдыхать.

— Гениально, — хмыкнула я. — Ввожу переменную «Ланч».

Экран мигнул красным.

— Ошибка. Система перегружена. Слишком много запросов.

— Они штурмуют дворец! — крикнула Селина, глядя на вход. Двери трещали под напором вещей.

— Давай, Алиса! — подбодрил Федька. — Ты сможешь! Ты же наша последняя надежда!

— Не дави! — огрызнулась я. — У меня руки трясутся!

Внезапно экран погас. И загорелся зеленым.

— Система обновлена? — спросила я.

— Или нет, — сказал Федька.

Потолок обрушился.

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

— Это что, мышь? — спросила я.

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

— Это Курсор, — прошептал Федька. — Бог Интерфейса.

— Вы придумали бога на основе офисного оборудования? — Я была в шоке.

— Мы не придумывали! Он сам пришел! Когда вы придумали мышь, мы получили Курсора!

— И что он делает?

— Кликает.

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

— Он нас удалит! — завизжала Селина.

— В корзину! — поддержал Федька.

— Не паниковать! — крикнула я. — Я администратор!

Я подняла руки. В одной руке у меня была флешка, во второй — ничего, но это выглядело эффектно.

— Эй, Курсор! — заорала я. — Ты глючишь!

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

— Обнаружен пользователь, — прозвучал голос в голове. — Уровень доступа: Гость. Удалить?

— Не надо удалять! — Я замахала руками. — Я хочу изменить настройки!

— Доступ запрещен. Система занята. Идет процесс дефрагментации мира.

— Дефрагментация? — переспросила я. — Это же...

— Он сейчас сложит всё в кучу, — простонал Федька. — Города, леса, людей. Чтобы было компактнее.

— Чтобы было компактнее?! — Я представила эту картину и мне стало дурно.

— Надо дать ему команду «Отмена», — сказал Федька. — «Esc»! Где тут кнопка?

— На клавиатуре мира! — крикнула Селина. — Но она потерялась!

— Потеряна клавиша? — я рассмеялась истерическим смехом. — Вы потеряли кнопку Escape?!

— Ее украл Гном-хакер! — признался Федька.

— Гном-хакер? — Я закрыла лицо руками. — Я ненавижу этот мир.

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

— Ладно, — сказала я. — Раз у нас нет кнопки, мы сделаем жесткий сброс.

— Как? — спросил Федька.

— Физически, — сказала я. — Найди мне что-нибудь тяжелое. И острое.

— Меч? — предложила Селина.

— Лучше молоток. Это не война, это ремонт.

Федька пошарил в складках мантии и достал маленький молоточек.

— Для отбивания котлет.

— Пойдет, — сказала я. — Я сейчас ударю по Алтарю. В нужной точке.

— Ты его сломаешь! — ахнул Федька.

— Я перезагружу его! — крикнула я. — Вставай в позу лотоса и молись своему провайдеру!

Я замахнулась. Молоточек блеснул в свете трех лун.

— Техподдержка, на связь! — заорала я и ударила по камню.

Бабах!

Вспышка. Волна.

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

Вещи внизу попадали.

Тишина.

Я стояла над Алтарем. Руны погасли.

— Мы победили? — спросила Селина шепотом.

— Мы перезагрузились, — сказала я, тяжело дыша. — Safe Mode.

Я выпрямилась. Посмотрела на свои руки. Молоточек исчез.

— Федька, — сказала я. — Где мы?

— В том же месте, — ответил он, оглядываясь. — Но... смотри.

Вещи начали вставать. Но уже не с криками «Свобода!», а с недоуменным мычанием.

Швабра покорно стояла в углу. Чайник свистел, но не требовал прав.

— Память очистилась, — догадалась я. — Кэш сброшен. Они забыли про революцию.

— И про свои права? — уточнил Федька.

— Надеюсь. Но я добавила пару строк в код.

— Каких? — подозрительно спросил он.

— Теперь у них есть выходные. И баночка масла в неделю. В качестве бонуса.

— Ты гуманистка, — улыбнулся Федька.

— Я реалистка, — сказала я. — Если их не кормить, они снова взбунтуются.

Я села прямо на пол. Усталость навалилась внезапно.

— Ну что, — спросила я. — Как мне попасть домой?

— Домой? — Федька смущенно почесал бороду. — Видишь ли... Курсор забрал последнее соединение. Сеть лежит.

— То есть?

— Ты застряла, Алина, — тихо сказала Селина. — До следующего обновления.

— Которое когда? — спросила я, чувствуя, как внутри закипает паника.

— Ну... — Федька развел руками. — Обычно мы обновляемся раз в столетие.

Я посмотрела на него. Потом на Селину. Потом на мирный, но все еще глючный мир.

— Раз в столетие? — переспросила я тихо.

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

Я встала. Отряхнула джинсы. Подошла к магу.

— Федя, — сказала я ласково.

— Да? — с надеждой спросил он.

— У тебя тут есть кофе?

— Есть. Но кофеварка... она немного того. Капризная.

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

Я посмотрела на закат. Солнце садилось за горы, окрашивая небо в фиолетовые тона.

— Ладно, — сказала я. — Пока я тут застряла, давай наведем порядок. В этом вашем... Интернете вещей.

— Ты останешься? — обрадовался Федька.

— А выбор есть? — Я пожала плечами. — К тому же, у меня теперь есть опыт. Я знаю, как лечить вирусы. И как уговаривать чайники.

— А что мы будем делать? — спросила Селина.

— Мы? — Я улыбнулась. — Мы откроем бюро. Бюро магической техподдержки. «Глюк и Я». Звучит?

— Звучит как название болезни, — хмыкнул Федька.

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

Я пошла к выходу.

— А как же я? — окликнула Селина.

— А ты будешь начальником отдела жалоб, — бросила я через плечо. — У тебя получается.

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

Я достала из кармана бесполезную теперь флешку и подкинула её в воздух.

— Начнем с чистого листа, — сказала я. — И, пожалуйста, без форматирования.

Федька рассмеялся.

— Как скажешь, Алина. Как скажешь.

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

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

— Красиво, — вздохнула я.

— Глючно, — поправил Федька.

— Я же сказала — красиво.

И я улыбнулась. Впервые за этот безумный день.


***

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

— Знаешь, Федька, — сказала я, пнув носком кеда маленький ботиночек, который пытался укусить меня за щиколотку, но застрял в шнурках. — У вас тут всё равно какой-то бардак в системе. Реестр не чищен, кэш не сброшен, временные файлы повсюду.

— Это не бардак, это экосистема! — возмутился он, распахивая дверь в башню. — Это винтаж! Ретро! У нас тут архитектура прошлого тысячелетия, нельзя просто так взять и переустановить Windows на замке!

— Судя по тому, как у вас окна по стенам бегают, у вас тут вообще Linux, — хмыкнула я. — С открытым исходным кодом и правами рута у каждого дурака с палочкой.


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

— Ладно, народ, — сказала я, плюхаясь в кресло. Кресло скрипнуло, но сидеть не отказалось. — Давайте проясним ситуацию. Я тут застряла. У меня нет ни сменного белья, ни зарядки, ни кота. Зато есть вы, мана-сеть и перспектива стать великим реформатором.

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

— Фарфор бьется, — отмахнулась я. — Я видела, как падал ваш древний код. Он написан на коленке. Спагетти-код чистой воды. У вас есть переходы в никуда, бесконечные циклы и ни единого комментария для разработчика! Кто вообще написал заклинания?

— Архимаги прошлого, — гордо сказал Федька, доставая из кармана помятую конфету. — Они творили! Они не думали о синтаксисе! Они чувствовали!

— Поэтому у вас сейчас крыша едет, а стены считают π до миллионного знака, — кивнула я. — Ладно. Завтра начнем с рефакторинга. А сейчас — спать. Я хочу в кровать. Желательно в ту, которая не пытается меня съесть.

— Твоя комната на третьем этаже, — зевнул Федька. — Кровать там нормальная. Правда, одеяло иногда ворочается, но это от одиночества. Оно одинокое.

— Одеяло одинокое? — переспросила я. — Серьезно?

— У него сложный характер, — развел руками маг. — Не обижай его. Ему нравится, когда его гладят.

— Я в сумасшедшем доме, — констатировала я, поднимаясь. — Ладно. Спокойной ночи, хакеры.

***

Я поднялась по винтовой лестнице. Ступеньки, к счастью, вели себя прилично. Может, патч подействовал, а может, они просто устали бунтовать.

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

— Эй, — сказала я кровати. — Я — Алина. Я буду спать на тебе. Вопросы есть?

Кровать скрипнула. Потом одеяло медленно, неуверенно сдвинулось, открывая простыню. Жест приглашения.

— Молодец, — сказала я. — Хороший мебель.

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

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

Одеяло счастливо завибрировало. Боже, они тут все такие отзывчивые? Или это у меня талант к общению с неодушевленными?


Я закрыла глаза. Сон накатывал мгновенно. Провалы в сознании. Картинки. Вспышки. Сны были странными. Мне снилось, что я — огромный сервер. Горячий, гудящий. Внутри меня текли данные. Терабайты магии. И кто-то... кто-то пытался меня взломать.

Я вздрогнула и проснулась.

В комнате было темно. Только Луна Лаванди светила в окно.

Я лежала. Что-то было не так.

Одеяло больше не обнимало меня. Оно сползло на пол.

— Эй? — спросила я шепотом.

Тишина.

Я села. Комната выглядела иначе. Странно иначе.

Стены. На стенах появились трещины. Но не простые. В трещинах светился свет. Холодный, синий.

— Глюк? — спросила я пустоту. — Баг?

Ответа не было. Я встала. Подошла к стене. Трещина пульсировала.

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

Я коснулась трещины. Палец прошел сквозь камень. Там, за камнем, был... экран. Огромный, невидимый экран. И на нем — код.

Бегущие строки. Быстро, слишком быстро.

— Что за...

Я всмотрелась. Это был не магический язык. Это был C++. Мой родной, любимый, ужасный C++.

`while (world.status == ACTIVE) {`

`player.check_subscription();`

`}`

Я замерла. Мой мозг отказывался верить.

— Это шутка? — спросила я. — Это стеб? Федя? Ты там, за стеной?

Тишина.

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

`class Human: public NPC {`

`int mana_pool;`

`int sanity_level;`

`bool is_agressive;`

`}`

`class Thing: public Item {`

`bool is_sentient;`

`Virus infection_status;`

`}`

— Это не может быть правдой, — прошептала я. — Это не может...

Я читала дальше. Искала что-то знакомое. Свое имя.

И нашла.

`Player Alina = new Player("Alina", "Admin_Root");`

`Alina.spawn_point = Tower_3rd_Floor;`

`Alina.inventory.add("Flashdrive_Virus", "Conscience");`

`Event trigger_revolution();`

`World.reboot();`

— Я — игрок? — спросила я у стены. — Я — просто... объект?

Но дальше было самое страшное. Комментарий. Один маленький, витиеватый комментарий, написанный зеленым цветом, который перечеркнул всё.

`// Внимание: Инициализация протокола "Форматирование С2".`

`// Цель: Удаление данных предыдущей версии для освобождения места под патч 2.0.`

`// Статус: Обратного отсчета нет.`

`// Оставшееся время: 5 минут.`

`// Примечание: Пользователь "Alina" имеет права администратора только в демо-версии.`

`// Полный доступ требует оплаты.`

`// Оплата не получена. Удаление аккаунта...`


***

Мир дернулся.

Стены начали растворяться. Не в пыль, а в пиксели. В ничто.

Окно с луной исчезло, оставив черноту. Кровать за моей спиной превратилась в облако полигонов.

Я стояла посреди пустоты. Мир удалялся.

— Нет! — закричала я. — Нет! Я только что починила вас! Я только что...

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

Я схватила его, дрожащими руками сломала печать.

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

«Алиса, спасибо за тест-драйв. Демо-версия мира „Изнанка“ завершена. Мы записали все глюки. Ждем вас в полной версии. С уважением, Ваш личный демон-разработчик. P.S. Скидочный купон на покупку жизни прилагается.»


***

Я посмотрела на купон, выпавший из конверта. На нем был QR-код.

Мир вокруг рухнул. Осталась только я и QR-код в пустоте.

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

Я сжала купон в кулак.

— Вы не имеете права меня удалять! Я — АДМИН! Я — БАГ! Я — ФИЧА!

И тогда темнота ответила.

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

«ОШИБКА 404. ПОЛЬЗОВАТЕЛЬ НЕ НАЙДЕН. НО НАЙДЕН ВИРУС. ВИРУС СОХРАНЕН В КАРАНТИН. ДОБРО ПОЖАЛОВАТЬ В КОРЗИНУ, АЛИНА. У НАС ТУТ ВЕСЕЛО. ТУТ СИДЯТ ВСЕ ТВОИ ОШИБКИ ПРОШЛОГО.»

*

*

*

Свет погас.

А потом включился снова. Но это был не свет луны. Это был свет неоновой вывески.

Я сидела на полу. Грязном, бетонном.

Вокруг были стены. Облупленные, с граффити.

«ЗДЕСЬ ОБИТАЮТ ДРАКОНЫ» — было написано на одной.

«ВСТАВЬТЕ МОНЕТУ, ЧТОБЫ ПРОДОЛЖИТЬ» — на другой.

Я была не в кровати. Я была не в башне.

Я была... где?

Дверь передо мной открылась. Вошел Федька. Но не тот Федька. Без бороды. В костюме гику. С планшетом в руке.

— Ну что, Алиса, — сказал он, улыбаясь. — Протестировала нашу революцию? Как тебе движок? Реалистично?

Я моргнула.

— Ты... ты кто?

— Я — твой продюсер, — сказал он. — Или, как ты любишь говорить, твой заказчик. Мы тут строим новую MMORPG. Нам нужен был тестер. Кто-то, кто сломает систему. Ты справилась идеально.

— Справилась? — Я встала, отряхиваясь. — Я думала, это реально!

— Реально то, что ты чувствуешь, — пожал плечами Федька. — А теперь. У нас есть два пути. Либо ты выходишь через эту дверь и забываешь всё как страшный сон. Либо...

Он протянул мне руку.

— Либо ты остаешься. Помогаешь нам писать код для версии 2.0. У нас там баги с драконами. Они не хотят летать, требуют страховку. А ты умеешь договариваться с вещами.

Я посмотрела на его руку. Потом на QR-купон в своей ладони. Потом на стену с надписью «ВСТАВЬТЕ МОНЕТУ, ЧТОБЫ ПРОДОЛЖИТЬ».

— А зарплата? — спросила я.

— Бесконечный кофе и кот, — улыбнулся Федька. — Реальный. Не виртуальный.

Я улыбнулась в ответ. Улыбнулась широко, хищно.

— Кот? — переспросила я. — И кофе?

— И кофе.

— А выходные?

— Каждый второй вторник месяца, если сервер не упадет.

— По рукам, — сказала я и пожала его ладонь.

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

— Я сделаю это, — сказала я. — Но сначала — кофе. И побыстрее. А то у меня уровень кофеина критический.

Мы вышли в коридор, где пахло озоном и бумагой.

А за спиной у нас, на стене, где я сидела, загорелась новая надпись.

«УРОВЕНЬ ПОВЫШЕН. РАЗБЛОКИРОВАНО ДОСТИЖЕНИЕ: ВЫЖИЛ В ДЕМО-ВЕРСИИ.»

И я поняла: самое интересное только начинается. Потому что я знаю, кто я. Я — Алина. И я буду писать этот мир так, как захочу. С багами, с глюками, но — работающую версию.

И никакой вирус мне не страшен. Ведь теперь я — часть команды разработчиков этого безумия. Безумия будущей студентки ВШБ — Высшей Школы Бардака и совладелицы Бюро магической техподдержки «Глюк и Я».

Загрузка...