— Я согласна! — заорала я, прыгая в светящийся круг на полу своей однокомнатной квартиры. — Забирайте меня в этот ваш Хогвартс, только живо!
Свет вспыхнул. Потемнело. И сквозь тошноту я услышала:
— А я что? Я ничего! Это оно само!
Голос был писклявый, панический и очень близкий.
Я открыла глаза. Я сидела на полу. Подо мной был паркет, но какой-то странный — шершавый, в странных символах. Все было в беспорядке. Книги летали по воздуху, как сердитые птицы. Одна особенно толстая книга с золотым тиснением «Гримуар Феодорисия, том 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-купон в своей ладони. Потом на стену с надписью «ВСТАВЬТЕ МОНЕТУ, ЧТОБЫ ПРОДОЛЖИТЬ».
— А зарплата? — спросила я.
— Бесконечный кофе и кот, — улыбнулся Федька. — Реальный. Не виртуальный.
Я улыбнулась в ответ. Улыбнулась широко, хищно.
— Кот? — переспросила я. — И кофе?
— И кофе.
— А выходные?
— Каждый второй вторник месяца, если сервер не упадет.
— По рукам, — сказала я и пожала его ладонь.
— Добро пожаловать в команду, Баг, — подмигнул он. — Твое первое задание: объясни темноте за дверью, что она не имеет права удалять файлы без подтверждения пользователя.
— Я сделаю это, — сказала я. — Но сначала — кофе. И побыстрее. А то у меня уровень кофеина критический.
Мы вышли в коридор, где пахло озоном и бумагой.
А за спиной у нас, на стене, где я сидела, загорелась новая надпись.
«УРОВЕНЬ ПОВЫШЕН. РАЗБЛОКИРОВАНО ДОСТИЖЕНИЕ: ВЫЖИЛ В ДЕМО-ВЕРСИИ.»
И я поняла: самое интересное только начинается. Потому что я знаю, кто я. Я — Алина. И я буду писать этот мир так, как захочу. С багами, с глюками, но — работающую версию.
И никакой вирус мне не страшен. Ведь теперь я — часть команды разработчиков этого безумия. Безумия будущей студентки ВШБ — Высшей Школы Бардака и совладелицы Бюро магической техподдержки «Глюк и Я».