Выбрать главу

С: Характеристика «Мудрость» достигла значения 2.

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

С: Вы погибли. Потеряно опыта — 0. Возрождение на точке привязки через 5 секунд.

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

Глава 3

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

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

— Да, по совести, ничего.

— Совсем ничего? За что же они тогда нам выставили счёт?

— За отчёт.

— Ааааааа… — многозначительно протянул хозяин кабинета и снова улыбнулся, но уже как-то добродушно. — Хорошо. Сергей Николаевич, есть там что-нибудь, о чём мы ещё не слышали?

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

— Интересно, интересно… то есть выглядит так, будто данные были скопированы в рамках одного сервера?

— Да, но вот в этом и этом случае серверы точно находятся в разных дата-центрах, причём каналы связи там непрямые.

— Интереееесно… — снова протянул Семён Владимирович и пожевал губу. — Хорошо. Дайте посмотреть нашим программистам. Посмотрим, что скажут. А по вопросу этих виртуальных адресов? Ничего нового не сказали?

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

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

— Я уже не знаю, что и думать. Система работает вполне стабильно. Не хуже, чем до того, как начались эти сбои. Записан объект по адресу и вполне себе доступен в рамках игрового процесса без каких-либо проблем. А наши административные инструменты доступ к нему получить не могут. «Попытка чтения данных за пределами объекта. Номер блока объекта 0x5C90DEF8 такой-то». Так и нет на самом деле такого блока! И адрес действительно вне диапазона! А в игре объект существует себе прекрасно! А он там просто не может существовать!

— Вот в том, Сергей Николаевич, и парадокс: не может существовать, а существует! — Семён Владимирович снова улыбался.

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

— Николаич, чудес не бывает. Если эти объекты где-то хранятся, значит, эта память где-то существует. Ну не конкуренты же расшарили нам память своих серверов, для хранения наших объектов? Проверяйте, отслеживайте! Найдите трассу того объекта, который выйдет за пределы. И найдите крайнюю точку, которая, по-вашему, действительно существует. Там будем разбираться, куда и каким образом двигались данные, чтобы попасть на несуществующий адрес. А теперь мне надо работать, доложите по результатам.

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

***

Утро выдалось на редкость обычным. Привычный суицид на завтрак, пара пробежек в темноту для разминки. А дальше самое интересное, тестирование новой техники прокачки. Два камня поменьше в инвентарь, большой беру в руки. Сверился с информацией о персонаже, всё в порядке: Максимальный переносимый груз: 8/8. Хе! При силе в одну единицу можно было взять четыре килограмма. Теперь я стал вдвое сильней и могу переносить вдвое больше груза. Попытался сделать шаг. С натугой, но всё же получилось.

— Твою мать!

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

С: Внимание! Вы перегружены. Ваше передвижение затруднено.

С: Критическое усилие! Получен урон 4 ОЖ.

С: Характеристика «Выносливость» достигла значения 5.

Больно-то как! Физическая перегрузка здесь ненамного приятней, чем в реальной жизни. Не надорвать бы свой виртуальный пупок, а то будет ещё веселее. Как той самой голове того самого профессора. Очков жизни девять из десяти возможных, но бодрость уже восстановилась, и можно сделать ещё шаг. Во второй раз было легче. Теперь я потерял всего 3 ОЖ, да и к ощущениям был готов. А затем был ещё шаг, и ещё, и ещё. Пройдя пять шагов, снова получил сообщение.

С: Характеристика «Выносливость» достигла значения 6.

Отлично, надо продолжать. На этот раз пришлось пройти не меньше дюжины шагов, и единичка выносливости снова пополнила мою копилку. При восьмидесяти очках бодрости я перестал получать урон. Когда выносливость достигла девяти единиц, а максимальные очки бодрости — девяноста (похоже, они здесь были в линейной зависимости от выносливости), сделав очередной шаг, неожиданно для себя остался стоять на ногах. Заглянул в характеристики: Очки бодрости: 10/90. Хорошо, попробуем так. Дождался восьмидесяти бодрости, попробовал шагнуть, однако двинуться уже не смог.

С: Внимание! Вы перегружены. Ваше передвижение затруднено.

Подождал до девяноста, попробовал ещё. Получилось, и опять осталось десять очков бодрости. На этот раз пришлось прошагать не меньше сотни шагов, восстанавливая на каждом шаге очки бодрости, но всё же выносливость до десяти я поднял. За какие-то два часа, прошедшие за силовыми упражнениями, я потратил всю сытость. Пришлось бросить свой тяжкий груз и бежать в конец туннеля на «обед».

Восстановив сытость, сделал небольшой послеобеденный перерыв на солнечные ванны и блаженное ничегонеделание — всё же психика тоже должна отдыхать. Пусть в игре и нет параметра «Нервное напряжение», но вот в своём сознании я его ощущал почти физически. А теперь ещё один килограммовый камушек в инвентарь и снова пять кг сверху.

С: Характеристика «Сила» достигла значения 3.

Говорят, есть версия, что для каждого человека есть свой персональный Ад, который наиболее страшен именно ему. Так вот, кажется, это правда, и я, видимо, в него попал. Совсем не уверен, что если бы вместо надрывания пупка и набивания всех частей тела я бы прокачивал жаростойкость у чёрта на сковороде, прихлёбывая кипящее масло, то визжал бы веселее, но утешало это очень условно. Хотя я же оптимист. Любому пессимисту на его нытьё, что хуже уже не будет всегда отвечу: «Будет, будет…». Примерно так я и рассуждал, рассматривая результат дневной нормы пота и крови.