1.16.1

Предварительная загрузка обновления 1.10.1 глазами разработчика OMLauncher

Обновление 1.10.1 для World of Tanks вернёт в игру жетоны, про которые я уже рассказывал ранее в рамках предыдущей новости. Особо на них заострять внимание не будем и перейдём к теме.

Незадолго до запуска предварительной загрузки на серверах Wargaming.net Game Center, OMLauncher получил обновление 0.8.0, по праву считающееся наиболее важным обновлением для лончера, так как в нём была устранена проблема, известная как минимум с патча 1.9.1 - невозможность удалить устаревшие файлы, в результате чего размер клиента игры мог вырасти до неадекватных размеров.


Изменится и метод построения листа контрольных сумм файлов игры. Раньше этот процесс мог растянуться на час, а то и больше - длительность зависела как от размера файлов, к которым применялся патч, так и от их количества. Сложнее всего было собирать лист контрольных сумм, когда в обновлении удалили несколько файлов и добавили новых, причём в новые папки. Если добавить к этому ранее упомянутую проблему с системой обслуживания лончера, то, получается, что можно было запросто убить вечер (и даже ночь) на одно скромное по количеству файлов для патча обновление, но внушительное по количеству новых и неактуальных.

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

Что содержится в этом файле?
  • информация о файлах, которые надо пропатчить (путь к ним, и конечный размер файла
  • информация о файлах, которые надо удалить
  • триггер, который принудительно запускает проверку целостности (применимо для Wargaming.net Game Center)

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

На скриншоте выше показан один из таких файлов обслуживания, в данном случае для HD-контента. Из него можно узнать ранее упомянутую информацию в полном объёме - какие файлы патчить и какой размер должен получиться в результате и от каких файлов надо избавиться. Но это только две трети информации, получаемой довольно быстро. Последняя треть - результирующие контрольные суммы. Раньше после каждого патча мне приходилось копировать новые файлы, а если патч представлял собой несколько пакетов обновлений в рамках одной цепочки, то ещё и восстанавливать полностью каждое звено этой цепочки, перепроверяя каждый файл.

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


Работа над улучшением инфраструктуры OMLauncher продолжается, чтобы позволить его пользователям получать обновления для World of Tanks без каких-либо технических сложностей и устранить недоработки как на стороне сервера, так и на стороне программы. Ваши отчёты об ошибках и отзывы помогают нам стать немного лучше.