Как мы делали XVM. Часть первая

оленемер для world of tanks

XVM, а в простонародии оленемер, это крупнейшая модификация для World of Takns, которой со слов разработчиков, ежедневно пользуются более 3 700 000 пользователей. И все это не спроста, ведь оленемер это действительно полезное дополнение, которое включает в себя огромное количество возможностей и улучшений Wot.

Обновление от 07.06.23

  • Ночная сборка для патча 1.21.0.0

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

Маркеры над танками

xvm маркеры

Оленемер дополняет стандартные маркеры над техникой, добавляя туда отображение различных параметров. При чем это все можно настроить в удобном HTML CSS стиле. Вы можете изменить цвета, шрифт, иконки, отображение любой интересующей вас информации о противнике.

Хотите видеть там КПД игрока? Запросто. Хотите стату WN8 или любую другую? Тоже не проблема. Одним словом, все как вы захотите, так и будет.

Отображение нанесенного урона

хитлог

Еще одна полезная вещь, это отображение урона нанесенного вами по противнику. Очень нужная функция во время боев World of Tanks, панель отображает список последних игроков которым вы нанесли урон, иконку их танка, название и количество урона. Кроме того сверху отображается суммарный урон нанесенный вами за бой и последний урон.

И опять же все это можно настроить и сделать более красивым и информативным, хотя и стандартный вариант выглядит неплохо и вполне подойдет почти всем игрокам.

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

Кастомные лампочки засвета

шестое чувство

«Уши», таб и экран загрузки

xvm уши и экран загрузки

А вот и очень интересное в оленемере, доработанные отображения игроков, в так называемых ушах, во время нажатия «ТАБ» и на экране загрузки боя. Тут отображается процент побед и другая статистика игрока, например еще на экране загрузки можно понять какой игрок как играет, хорошо или плохо, а следовательно построить тактику перед началом самого боя.

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

Иконки кланов

клановые иконки

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

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

Полоска захвата базы

полоса захвата базы

После скачки и установки XVM, полоса захвата также будет немного изменена.

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

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

Очень полезная доработка стандартного интерфейса World of Tanks.

Миникарта XVM

миникарта оленемера

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

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

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

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

Обратите особое внимание что для отображение статистики в оленемере, ее нужно сначала «Активировать» через личный кабинет на официальном сайте модификации. Ниже мы предоставили вам полное описание активации оленемера с картинками и метками, куда нажимать и что включать.

Активация СТАТИСТИКИ в оленемере

Активировать стату в XVM достаточно просто, главное внимательно прочитать данное описание и посмотреть картинки. Итак, приступим!

активация xvm - оф сайт

активация xvm - авторизация через wg

4) — После подтверждения, вас переносит обратно на сайт оленемера и теперь все что осталось, это нажать кнопку «Активировать статистику». И, если нужно, настроить некоторые параметры под свои нужды.

активация xvm статистики

настройка статистики оленемера

Как видите, активировать статистику в xvm довольно просто. Повторять данную процедуру нужно раз в 2 недели.

<img src="https:/wot-zone.ru/

Если архив: Скопировать содержимое архива в папку World of Tanks
Если авто установка: Распаковать в любое место и запустить установщик

Как активировать XVM mod в 2 клика за 20 секунд

Содержание танковой статьи:

Рабочий оленемер (мод xvm)

Рабочий оленемер (мод XVM) представляет собой модификацию для игры иксвм, которая позволяет определять эффективность своих соратников, а также противников прямо во время боя. Порой пользователи оказываются в ситуация, когда пользователь просто не может определиться, стрелять по противнику или же в кого конкретно отправить боевой снаряд. Вполне очевидно, что в первую очередь нужно избавляться только от самых сильных противников. Но как же можно определить заранее, кто является сильным звеном? В этот момент и придет на помощь данная модификация под названием Рабочий оленемер (мод XVM). Пользователю необходимо будет просто обратить свое внимание на то, что показывает мод и самостоятельно решать кого устранить в первую очередь. Пользователь получает полную информацию о том сколько вообще проведено боёв у противника, количество побед, кпд, а также многое другое. Остается только оценить показатели и узнать, кто из противников будет вызывать проблемы. Новичков же можно будет без лишних проблем устранить в последнюю очередь. Как правильно, они доставляют максимально маленькое количество проблем.

Рабочий оленемер (мод xvm) 1

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

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

Как установить рабочий оленемер WOT

Рабочий оленемер (мод xvm) 2

Для установки мода Рабочий оленемер (мод XVM), необходимо выполнить следующие действия:

  1. Скачать архив с файлами мода.
  2. Извлечь содержимое на рабочий стол или во временную папку.
  3. Открыть локальную папку игры World of Tanks.
  4. Перенести файлы из временной папки в локальную папку игры под названием Mods.
  5. Открыть игру и наслаждаться результатом.

Скачать последнюю версию оленемера для World of tanks

У нас на сайте вы можете загрузить Актуальный Оленемер для ворл оф тенкс, который доступен к загрузке по указанной ссылке:

Про WoT:  РЕФЕРАЛЬНАЯ ПРОГРАММА WOT И МИР ТАНКОВ

Как правильно активировать XVM

Чтобы видеть рейтинг эффективности игроков в клиенте Мира Танков, его нужно включить в личном кабинете на оф сайте Оленемера.

Как активировать XVM правильно

После этого вы увидите срок действия вашего доступа к статистике – 14 дней. По истечении этого срока процедуру активации нужно будет проделать снова.

Важно! После включения статистики в танках вы не сразу увидите свой КПД. Данные обновляются не мгновенно, а на новом аккаунте нужно некоторое время для их накопления (до недели).

Чтобы поскорее увидеть свой рейтинг эффективности, отыграйте 30-50 боев в World of Tanks. Далее вернитесь на сайт XVM и нажмите «Обновить статистику» в личном кабинете.

обновить статистику

Это ручное (принудительное) обновление статы покажет ваш КПД в WOT раньше положенного срока. Напомню, что данные пользователей Оленемера обновляются минимум раз в 3 дня, а остальных игроков – не реже, чем раз в 11 дней.

Вы также можете выбрать, какие показатели хотите видеть в игровом клиенте. Для этого зайдите в «Настройки» на сайте Оленемера и укажите нужные сетевые сервисы:

  • Шанс на победу,
  • Варианты статистики,
  • Шкалу рейтинга эффективности,
  • Флаг своей страны,
  • Прочее.
    настройки

Решения проблем

  • Активировал, таймер пошел, а статистика не работает. В документации ясно сказано, что на аккаунте должно быть не менее 100 боев, иначе XVM будет его игнорировать. Причина может быть в этом, если активация производилась не на основном, а на другом аккаунте (твинке). Если боев больше 100, но статы по-прежнему не видно, обновите ее принудительно в личном кабинете.
  • На сайте технические работы. Это значит, что разработчики «нубометра» обновляют веб-интерфейс. Подождите пару часов и попробуйте снова.
  • Не могу авторизоваться. Очистите кэш и куки либо попробуйте зайти с другого браузера.

Другие популярные проблемы и их решения можно найти на форуме Оленемера.

Вопрос / Ответ про МОД ХВМ

Какой официальный сайт xvm mod оленеметр для world of tanks ?

Оленемер и мод ХВМ это одно и тоже ?

Как активировать Оленеметр XVM

Как удалить МОД XVM в World of Tanks

Как обновить хвм мод в WOT?

Какая актуальная версия XVM мода на сегодня ?

Как мы делали XVM. Часть первая

Поиграл во многие танковые игры и теперь делюсь опытом. Провел много времени в сражениях WOT и War Thunder. Одно время играл в Crossout, но потом аккаунт взломали. Присматриваюсь к новой Enlisted в поисках вечернего фана.

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

  1. Закачка.

  1. Установка

  • После загрузки файла, находим его установочный файл в папке загрузки, дважды кликаем и выбираем язык.
  • После нажатия «ОК», жмем несколько раз далее, остановившись на пункте выбора пути установки. Выбираем папку, где установлена игра World of Tanks.
  • Далее ставим галочку напротив фразы «Сделать резервную копию каталога /res_mods/configs». Это позволит нам откатить игру до стандартной версии без переустановки.
  • Кликаем «Установить»
  • Переходим на сайт XVM для активации, так мы обеспечиваем полноценную работу мода.
  1. Активация XVM

  • Процесс активации тоже несложный. Для начала в правом верхнем углу нажимаем кнопку «Вход», выбираете регион «Россия». Вас отправят на официальный сайт Wargaming, где следует войти в свой аккаунт.
  • После ввода электронной почты и пароля нажимаем кнопку «Подтвердить».

После завершения авторизации вас автоматически перекинет на сайт мода, тем самым выполняя последний шаг активации. XVM-мод установлен!

Время на прочтение

Как мы делали XVM. Часть первая
Как мы делали XVM. Часть первая

Приветствуем, уважаемое хабрасообщество! По случаю старта конкурса от Wargaming мы решили, во-первых, в нем поучаствовать, а, во-вторых, написать серию статей о том, как мы докатились до создания одной из самых популярных модификаций World of Tanks и как хобби с парой строк говнокода за вечер переросло в то, что мы имеем. В статьях описаны все встреченные (и опробованные на себе) грабли. Еще одним поводом для написания статьи было зарытие топора войны между XVM и Wargaming и выходом наших отношений на новый уровень — мы рады, что эта статья опубликована именно в блоге WG. Надеемся, что само чтиво вышло интересным, а другие конкурсанты смогут почерпнуть для себя что-нибудь полезное.

Когда я только начинал играть в World of Tanks в начале 2011 года, то, естественно, не заморачивался по поводу модов. Я даже не знал о том, что они существуют. Но есть у меня такая привычка: если какая-то игра мне нравится (то есть, не удаляется после первой же игровой сессии), то я стараюсь узнать об этой игре как можно больше, для чего лезу на тематические форумы. На этом самом форуме я узнал о существовании модов и решил попробовать. Неделю перебирал все эти прицелы, шкурки, иконки техники, разные озвучки и все больше и больше мне это не нравилось. Вроде бы все неплохо, но чего-то не хватает, хочется подкрутить. Почти все моды удалялись после первого же тестового боя. Но как-то раз я наткнулся на мод под незатейливым названием OTM.

OTM

Он же — Over Target Markers. Эта штука заменяла стандартные маркеры танков на свои (маркеры — это те самые полосочки HP, класс техники и другие, находящиеся над всеми танками).

Как мы делали XVM. Часть первая

Самой главной фишкой на тот момент было то, что OTM добавлял эти самые полоски ХП, которых в стандартных маркерах не было. При использовании стандартных маркеров единственной возможностью узнать количество ХП вражеской и союзной техники было наведение курсора мыши на нее и чтение хинта. Найти «подранка», по которому следует сосредоточить огонь, было проблематично: приходилось водить мышью по полю боя, вместо того чтобы сосредоточиться на стрельбе и маневрировании. С OTM же ситуация на поле боя была буквально как на ладони. Но и это еще не все: у мода был конфиг в виде файла OTMData.xml, позволявший настраивать внешний вид и поведение маркеров! От версии к версии количество настраиваемых элементов росло. Конфигом можно было поделиться, чем народ активно занимался на тематических ресурсах. Мод стоял у многих танковых ютуберов, что немало способствовало его популярности.

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

Оленемер

Итак, запоминайте (а лучше — записывайте!), что было нужно для установки (близкая к оригиналу инструкция):

  1. Скачать и распаковать архив.
  2. Содержимое одной из директорий архива скопировать с заменой в папку клиента игры. (Тут надо упомянуть, что на тот момент это было обычным делом для всех модов, так как папки res_mods и, соответственно, поддержки модов со стороны разработчиков игры еще не было.)
  3. Установить какую-нибудь WAMP сборку. (Да-да, это где Apache, MySQL и PHP. Вообще-то MySQL тут был не нужен, но ставить сборку явно проще.)
  4. В корень веб-сервера нужно было положить скриптик из другой директории архива. Скриптик представлял собой WebDAV сервер с небольшими изменениями.
  5. Создать в Windows сетевой диск и подключить его к созданному на предыдущем шаге серверу командой
    > net use t: localhost/local_server/server.php
    либо через мастер.
  6. Установить штуку под названием Dokan (аналог FUSE для Windows).
  7. С помощью утилиты mirror.exe из комплекта Dokan выполнить зеркалирование диска t: в r:. Это приводило к появлению в системе еще одного диска — точной копии сетевого из шага 5, но который система считала локальным.
  8. В каталоге res\gui\flash клиента WoT создать символьную ссылку с именем stat, показывающую на каталог r:\user командой
    > mklink /D c:\games\World_of_Tanks\res\gui\flash\stat r:\user\
  9. На этом пункте наконец можно было запустить клиент и насладиться работой мода.

Как мы делали XVM. Часть первая

Сам мод этот показывал ни много ни мало процент побед сокомандников и противников. Причем прямо в бою и прямо в ушах («уши» — это панельки по бокам экрана со списком игроков), применяя самую настоящую цветовую дифференциацию. Честно говоря, первой реакцией, когда я воочию увидел работу мода, была отвисшая челюсть: неужели это все вообще работает?! Еще ниже челюсть отвисла, когда я бой за боем наблюдал количество тех самых представителей фауны, давших название моду.

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

Про WoT:  Раскройте секреты, чтобы эффективно открыть все резервуары уже сегодня!

Объяснив нескольким товарищам, как же это все настроить, я понял, что это тупик, и надо все как-то упрощать. Первая мысль была избавиться от WAMP. Тут я подумал, что от PHP, по сути, требуется только WebDAV-сервер, который явно можно сделать много чем.

Пару слов о том, для чего был нужен этот диск. Пользовательский интерфейс World of Tanks сделан на Action Script. Идея мода — взять нужный AS-файл, декомпилировать его, изменить то, что хочется, скомпилировать и залить обратно. Оленемер был сделан так же — раскрашивал строки ушей в цвета, соответствующие статистике игрока. Вопрос только, как эту статистику получить с сервера мода? Самый очевидный ответ: запросить по http! Да, но есть одно «но»: AS работает в песочнице (причем этих песочниц несколько — для разных частей интерфейса), и у этой песочницы заблокирован выход в сеть. Зато есть доступ к файловой системе по относительным путям. И из-за этого пришлось городить огород с дисками, серверами и линками.

Работа выглядела так:

  1. AS скрипт получает список игроков, которых надо нарисовать в ушах.
  2. Для каждого игрока читается файл stat\<ник игрока>.
  3. Так как stat — это линк, то реально читается R:\user\<ник игрока>.
  4. .NET приложение получает запрос на чтение файла, формирует http-запрос на сервер мода (о котором в следующей статье).
  5. Получив ответ, выдает его в виде «контента файла» AS-скрипту.

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

Сбор команды и XVM

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

Как мы делали XVM. Часть первая

Как раз в то самое время я для собственных нужд арендовал в Hetzner самый дешевый «выделенный» сервер (EQ4: Intel Core i7-920, 8 GB DDR3, 2x 750 GB SATA II HDD). Видя такое безобразие с понравившимся мне модом, связался с камрадом bkon и предложил посильную помощь с хостингом.

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

В феврале-маре 2012, одновременно с этим был сделан форум на том же самом сервере для технической поддержки и обмена конфигами.

Небольшой исторический экскурс. Изначально идея и первые реализации OTM принадлежат Nicolas Siver. В ноябре 2011 года ему это дело, похоже, поднадоело, и эстафету подхватили камрады sirmax и bkon, выпустив OTM для клиента танков версии 0.6.7. У них же возникла идея оленемера. Sirmax (sirmax2) по сей день является основным разработчиком клиентской части XVM.

В январе 2012 к команде присоединился и я: сначала в качестве хостера, чуть позже — в качестве разработчика серверной части, а затем — и вспомогательных систем (к примеру, виджет активации статистики).

В середине 2012 из команды как-то незаметно ушел bkon, зато появились: Mr 13 (Wayfarer) — CEO и PR, XlebniDizele4ku (ilit) — разработчик клиентской части, Mr A — помощь в разработке клиентской части и сборка релизов, Mixaill (Mixaill) — организация непрерывной интеграции (ночные сборки), взаимодействие с переводчиками клиентской части, q4x2 — *nix специалист и разработчик серверной части.

И пару слов о том, почему, собственно, были удалены темы с описанием модификаций на официальном форуме. С ростом популярности мода росло и число прецедентов, так сказать, неспортивного использования: оскорбления игроков с низкой статистикой, либо, наоборот, со слишком высокой. Оскорбленные игроки шли на тот же официальный форум и плакались/требовали/угрожали и всяческими способами добивались запрета этого «обидевшего» их мода. Спустя некоторое время «без объявления войны» (то есть, без какого-либо предварительного контакта с разработчиками мода) все темы, относящиеся к оленемеру и XVM были удалены, а в правила форума был внесет запрет на публикацию ссылок на любые моды, отображающие статистику. Официальная причина таких запретов: моды создают дополнительную нагрузку на серверы WG. Любая попытка как-то урегулировать конфликт и снять запрет наталкивалась на синдром вахтера у модераторов (сказано удалять — мы удаляем), или отписки менеджеров.

Мы предлагали различные компромиссные варианты: ограничить частоту запросов до заданной величины. Ввести расписание, когда мы будем слать запросы — все упиралось в глухую стену. Подолбившись в нее пару месяцев мы оставили эти попытки, и просто разделили XVM на XVM-full и XVM-light. В light-версии было вырезано все, что относится к отображению статистики. Этим самым, мы формально не попадали под запрет (с лайт версией, разумеется): вахтеры нас особо не трогали, и канал привлечения новых пользователей через официальный форум снова заработал.

Конфиг и редактор

Как уже было сказано выше, у OTM и, соответственно, XVM был конфиг-файл. Сперва он был в формате XML: OTMData.xml. Настроек было немного, и хватало ручных правок в любом редакторе. Со временем количество настроек росло, как и популярность, и стали очевидны две вещи:

  1. XML не слишком удобен для ручных правок.
  2. Какой бы формат мы ни выбрали, нужен WYSIWYG-редактор.

С редакторами история получилась такая: времени на них вечно не хватало (да и сейчас не хватает), потому они часто не успевают за последними фичами в самом моде. Самый первый редактор был сделан на Adobe Air все тем же Nikolas Siver. Когда эстафета перешла к нашей команде, редактор мы достаточно долго не трогали, и он, по сути, перестал представлять собой серьезную ценность, так как не содержал в себе большого количества актуальных настроек. В какой-то момент я даже попытался сделать редактор на HTML/JS, но ничего интересного из этого не получилось.

Не забыли мы и про обратную совместимость. Во-первых, клиент при отсутствии конфига нового формата искал и загружал старый OTMData.xml (причем эту фичу выпилили совсем недавно, так что времени на миграцию было более чем достаточно). Во-вторых, в онлайн-редакторе до недавнего времени можно было открыть конфиг старого формата, а сохранить уже в новом.

Весной 2013 года назрела еще одна необходимость: из-за увеличения количества настраиваемых фич конфиг с каждой версией разрастался и разрастался. В результате ориентироваться в нем стало проблематично, плюс стало проблематично находить ошибки типа пропущенных запятых или скобок. Напрашивалось разделение файла с конфигом на несколько отдельных файлов, но формат JSON, в отличие от XML, не позволяет делать ссылки между файлами. Решением стало расширение формата JSON, которое мы назвали JSONx.

Собственно, изменение было только одно — в качестве значения можно указать ссылку на произвольный объект в этом или в другом файле. Есть два варианта записи: короткий и расширенный:
короткий —

“name”: ${“file”:”path”}
“name”: { “$ref”: { “file”: “<filename>”, “path”: “<path-to-value>” }, [overrides] }

Короткий формат является частным случаем расширенного. Расширенный формат добавляет возможность переопределения значений, унаследованных из подстановки. Параметр “file” не обязательный: если он не указан, значение будет искаться в текущем файле. Параметр “path” указывает путь к значению по иерархии документа, разделенный точками.

Можно рассмотреть это на примере:
root.xc:

{
  "configVersion": "5.1.0",
  "colors": ${"colors.xc":"colors"},
  "colors2": {
    "$ref": { "path": "colors" },
    "ally_dead": "0x009900",
    "enemy_dead": "0x840500"
  }
}
{
  "def": {
    "al": "0x96FF00", // союзник
    "en": "0xF50800" // противник
  },
  "colors": {
    "ally_alive": ${"def.al"},
    "ally_dead": ${"def.al"},
    "enemy_alive": ${"def.en"},
    "enemy_dead": ${"def.en"}
  }
}

Здесь получается следующее:

  1. Начинает грузиться root.xc.
  2. Параметр «colors» файла root.xc ссылается на файл colors.xc, и подставляет из него объект “colors”.
  3. Параметры в секции «colors» файла colors.xc ссылаются на значения “def.al” и “def.en” того же файла.
  4. Параметр «colors2» файла root.xc ссылается на объект “colors”, копирует его значение и переопределяет значения «ally_dead» и “enemy_dead» другими.

В результате получается валидный JSON, который парсится по стандартным правилам:

{
  "configVersion": "5.1.0",
  "colors": {
    "ally_alive": "0x96FF00",
    "ally_dead": "0x96FF00",
    "enemy_alive": "0xF50800",
    "enemy_dead": "0xF50800"
  },
  "colors2": {
    "ally_alive": "0x96FF00",
    "ally_dead": "0x009900",
    "enemy_alive": "0xF50800",
    "enemy_dead": "0x840500"
  }
}

Расширение файлов конфига было изменено на .xc (от «xvm config»), и загрузочный файл конфига стал называться xvm.xc. Отдельные файлы и папки с говорящими названиями отвечают за отдельные элементы интерфейса. Это так же позволяет довольно легко собрать свой собственный конфиг, используя отдельные понравившиеся элементы.

Про WoT:  Десятилетие. Разблокировка забаненных игроков

Поддержка пользователей

Мы изначально понимали, что XVM несколько сложнее в установке, чем основная масса модов (это даже породило мем «Оленемер начинает работу уже в процессе установки»), и что без поддержки много аудитории мы не соберем.

Для уменьшения нагрузки на поддержку мы даже разделили XVM на XVM-full и XVM-light. В light-версии было вырезано все, что относится к отображению статистики. Соответственно, этим игрокам не нужно было ставить ни Dokan, ни .NET-приложение, что серьезно упрощало установку.

Самая первая поддержка осуществлялась на официальном форуме World of Tanks. Это было не очень удобно — как минимум, у нас не было возможности модерации и закрепления тем, темы перемешивались с другими, не имеющими к нам никакого отношения. Поэтому почти одновременно с переездом на первый выделенный сервер (январь 2012) на нем же был установлен первый форум техподдержки. Самый обычный phpBB «из коробки». Тем не менее, он выполнял свою функцию до одного ЧП.

ЧП заключалось в том, что нам понадобилось отресайзить разделы в файловой системе. Зачем — никто уже и не помнит, но было нужно. Спецов у нас тогда не было, решили обойтись своими силами. Результатом сего действа был разваленный рейд при (сюрприз!) отсутствии актуального бекапа.

Как мы делали XVM. Часть первая

Положительным моментом этого инцидента стало появление в нашей команде Mr 13 (он делает бекапы!), который по совместительству является владельцем форума Korean Random, на базе которого сейчас и находится главный ресурс поддержки XVM.

Осенью 2012 у мода появилось лицо в виде собственного сайта http://www.modxvm.com/. На сайте размещен джентельменский набор любого ресурса: описание, ссылки, новости, FAQ. Туда же переехал онлайн-редактор конфигураций. Со временем сайт был переведен на английский, немецкий, французский и украинский языки. Также сайт помог снизить затраты личных средств на развитие XVM, так как пожертвования добровольцев не могли окупить и малой части затрат на поддержание и развитие проекта. Но была тут некоторая нестыковка. Мы по своим метрикам видели, что число уникальных пользователей XVM каждый месяц увеличивается, в какой-то момент оно перевалило за миллион, а число уников в месяц на сайте было меньше 100К.

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

Происходит это так:

  1. Пользователь заходит на сайт XVM.
  2. Логинится, используя Wargaming.net ID (OpenID).
  3. Благодаря этому мы узнаем игровой ник и ID пользователя и проставляем для него признак «запрошен токен».
  4. После этого пользователь запускает игровой клиент с установленным XVM. Мод при старте отправляет запрос в метод /checkToken. В ответ пользователю со статусом «запрошен токен» отправляется собственно токен (GUID), иначе только статус «активен» либо «не активен» — в зависимости от того, есть ли у этого клиента активные токены или нет. Полученные токены сохраняются клиентом в \res_mods\xvm\db\tokens.xdb.
  5. Далее при каждом запросе к нашему API клиент также отправляет этот токен.
  6. Если токен отсутствует или просрочен (а срок его действия составляет две недели) — данные не отдаются, а клиент показывает сообщение об ошибке с предложением зайти на сайт мода и активировать статистику.
  7. Клиент может получить до пяти токенов, если играет своим аккаунтом на нескольких ПК.

Активация дала нам как минимум два эффекта:

  1. Посещаемость сайта сравнялась с количеством пользователей мода.
  2. Примерно на 30% упала нагрузка на сервер статистики.

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

На этом мы завершаем первую часть нашей статьи. Впереди вас ждет подробный рассказ о нелегком пути нашего многострадального сервера (во второй части), и развитии собственно клиентской части (в третьей, заключительной части).

Сложно встретить игрока в World of Tanks, который бы не слышал о моде XVM: eXtended Visualization Mod.

Это самый популярный мод для игры WoT. Он насчитывает более 3 млн 700 тысяч активных пользователей. Кроме того, он бесплатный и имеет открытый исходный код, то есть участие в разработке может принимать каждый желающий.

Данный мод активно развивается и всегда обновляет свои возможности.

Представляем вашему вниманию некоторые из них:

Маркеры над танками (OverTargetMarkers)

Как мы делали XVM. Часть первая

Кастомизация маркеров проходит легко. Большие возможности настроек, в текстовых полях поддерживаются html и css. — все это позволит сделать маркеры максимально комфортными для вас. А главное, сделать их индивидуально ориентированными.

Лог нанесенного урона (HitLog)

Как мы делали XVM. Часть первая

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

Лог оформляется в индивидуальном стиле благодаря тонкой настройке при помощи набора макросов и поддержки HTML.

Замена «лампочки» World of Tanks (навык «шестое чувство»)

Как мы делали XVM. Часть первая

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

Такая функция часто пригождается тем, кто ввиду недостаточной яркости и цветопередачи экрана или из-за неудобного расположения в интерфейсе просто не замечает стандартную иконку.

Для того, чтобы изменить изображение лампочки, достаточно расположить новую картинку в этот путь:

Будьте внимательны, вашу картинку нужно обязательно назвать так, как в примере и обратить внимание на формат PNG.

Кастомизируемые панели игроков, таблица статистики и экран загрузки

Как мы делали XVM. Часть первая

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

Данный мод позволяет сделать экран более информативным. Каждому пользователю доступно добавление отображения статистики игроков. Это очень хороший инструмент для оценивания сил противника и союзника, а также для продумывания тактики игры.

Статистику возможно выводить и в боковых панелях («ушах»), и в таблице боевой статистики, вызываемой клавишей Tab. Кстати, для вашего удобства параметры техники, названия танков и никнеймы можно настраивать в той цветовой гамме, которая будет приятна именно вам.

Именно из-за возможности просматривать статистику во время боя данный мод был назван игроками как «оленемер», «оленеметр», «пользомер», «пользометр», «нубомер». Разработчики мода настоятельно просят, чтобы не вводить новичков в заблуждение, называть мод XVM.

Иконки кланов и игроков

Как мы делали XVM. Часть первая

Данный мод позволяет устанавливать свои иконки конкретным кланам и/или игрокам. Так можно выделить своих друзей, союзников, противников или самые популярные кланы в WoT.

Для этого нужно поместить png-иконку с никнеймом танкиста или тегом клана в названии в папку \res_mods\xvm\res\clanicons\<регион>\<тип_иконки>(где вместо <регион> необходимо выбрать папку с именем вашего регионального кластера, а вместо <тип_иконки> — папку с типом привязки (по клану или по нику).

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

Модифицированная полоса захвата базы

Как мы делали XVM. Часть первая

Полоса захвата тоже претерпела изменения. Она теперь позволяет видеть количество захватчиков и примерное оставшееся время захвата при учете текущей скорости.

HTML-разметка, как и другие текстовые поля в ХVM, настраивает визуальную часть отображаемой информации. Информация, которая выводится, полностью настраиваема, а стиль отображения стал еще удобнее благодаря индивидуальным детальным настройкам.

Мод мини-карты

Как мы делали XVM. Часть первая

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

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

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

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

В любых текстовых полях можно использовать не только макросы и текст, но и вставку изображения при помощи тега <img>.

Оцените статью
TankMod's
Добавить комментарий