- Да, но вот в этом и этом случае серверы точно находятся в разных дата центрах, причём каналы связи там не прямые.
- Интереееесно... - Снова протянул Семён Владимирович, и пожевал губу.
- Хорошо. Дайте посмотреть нашим программистам. Посмотрим, что скажут. А по вопросу этих виртуальных адресов? Ничего нового не сказали?
- Да тут в основном вода. Дескать, быть того не может, потому что того не может быть. Вроде программисты что-то накрутили, и не то отладочный модуль записывает адреса с ошибкой, не то адреса виртуальные, а система не может верно определить их локальные значения на конечном сервере.
- А вы сами как думаете, могли программисты действительно допустить такие ошибки?
- Я уже не знаю, что и думать. Система работает, и вполне стабильно. Не хуже чем до того как начались эти сбои. Записан объект по адресу и вполне себе доступен в рамках игрового процесса без каких-либо проблем. А наши административные инструменты доступ к нему получить не могут - «Попытка чтения данных за пределами объекта. Номер блока объекта 0x5C90DEF8 такой-то». Так и нет на самом деле такого блока! И адрес действительно вне диапазона! А в игре объект существует себе прекрасно! А он там просто не может существовать!
- Вот в том, Сергей Николаевич, и парадокс - «не может существовать, а существует»! - И Семён Владимирович снова улыбнулся.
- Да, да... я тоже сначала не хотел обращать на это внимание. Пока это были единичные случаи. Но сейчас, количество обрабатываемых объектов, единовременно расположенных вне реальных адресов уже стало настолько велико, что бывали случаи, когда требовалось вмешательство администраторов в игровой процесс, а объект был недоступен для административного управления. Но, тем не менее, эти объекты есть в системе и учувствуют в игровом процессе.
- Николаичь, чудес не бывает. Если эти объекты где-то хранятся, значит, эта память где-то существует. Ну не конкуренты же расшарили нам память своих серверов, для хранения наших объектов? Проверяйте! Отслеживайте объекты. Найдите трассу того, который выйдет за пределы, и найдите крайнюю точку, которая, по-вашему «действительно существует». А там будем разбираться, куда и каким образом двигались данные, что бы попасть на несуществующий адрес. А теперь мне надо работать. Доложите по результатам.
С этими словами руководитель вручил озадаченному посетителю толстую стопку бумаг с отчётом обратно и ещё раз добродушно улыбнулся. Задумчиво посмотрел вслед выходящему из кабинета коллеге, постучал карандашом по крышке стола, снова пожевал губу, откинулся в кресле и поднял трубку телефона.
Утро выдалось на редкость обычным, но даже это обстоятельство не смогло испортить настроение. Уже привычный утренний суицид на завтрак. Пара «пробежек» для разминки. А дальше самое интересное - тестирование новой техники прокачки! Одно- и двух-килограммовые камни в инвентарь и тяжеленный, в моём, конечно, понимании, пятикилограммовый камень снова оказался у меня в руках. Сверился с информацией о персонаже - «Максимальный переносимый груз: 8/8». А при силе в одну единицу было 4 килограмма. Всё верно - я стал вдвое сильней и теперь могу переносить вдвое больше груза. Попытался сделать шаг. С натугой, но всё же получилось.
- Твою #ать!
Перед глазами полыхнуло бордовым. Бодрость тут же слетела в ноль, во рту почудился металлический привкус, и я опустился на пол, так и не выпустив из рук камня.
С: Внимание! Вы перегружены. Ваше передвижение затруднено.
С: Критическое усилие! Получен урон 4 ОЖ.
С: Характеристика «Выносливость» достигла значения пять.
Больно-то как! Да, не могу сказать, что физическая перегрузка здесь намного приятней, чем в реальной жизни. Не надорвать бы свой виртуальный пупок, а то будет ещё веселее. Как той самой голове, того самого профессора, в том самом рассказе. Очков жизни ещё было только девять из десяти возможных, но бодрость уже восстановилась, и я смог сделать ещё шаг. Во второй раз было легче. На этот раз я потерял всего 3 ОЖ, да и психологически был готов к тому, чем закончится этот шаг. А затем был ещё шаг и ещё и ещё. Едва я успел поприседать пять шагов, как снова получил ожидаемое сообщение.
С: Характеристика «Выносливость» достигла значения шесть.
Отлично! Верный признак, что надо сделать и ещё несколько шагов. Правда, на этот раз пришлось прошагать не меньше дюжины шагов, но ещё одна ожидаемая единичка выносливости пополнила мою копилку. При восьмидесяти очках бодрости я перестал получать урон. Когда выносливость достигла девяти единиц, а максимальные очки бодрости девяноста (похоже, они здесь были в линейной зависимости от выносливости), сделав шаг, я непривычно остался стоять на ногах. Заглянул в характеристики - «Очки бодрости: 10/90». Хорошо, попробуем так - дождался восьмидесяти бодрости, но с места сдвинуться не смог.