Как стать автором
Обновить

Комментарии 12

НЛО прилетело и опубликовало эту надпись здесь
Жаль это слышать. «Циклическая переиндексация» — это достаточно редкий случай, который может быть связан с ОС/hardware и вызван тем, что записывается один контент на диск, а во время чтения по тем же адресам считывается измененный («битый»). Но это только предположение. Конечно, чтобы подобраться ближе к истине, надо увидеть реальные симптомы — хотя бы из логов. Здесь наверное неподходящее место чтобы разбирать конкретный случай, но нам бы очень помог отчет об ошибке. Его можно сгенерировать в меню WGC и прикрепить к заявке в службу поддержки. Спасибо за комментарий!
НЛО прилетело и опубликовало эту надпись здесь

А зачем вам DHT и PEX?

Не на всех окружениях торренты регистрируются на трекере — здесь и DHT и PEX помогают набрать пул сидов кроме webseeds.
В небольших локальных/внутренних раздачах игр PEX в принципе быстро формирует связи между всеми кто скачивает.
Главный момент что вся большая система включается для игр, коотрые уже в релизе, а пока это внутри офисов/компании/F&F могут использоваться окружения без трекеров.
Я правильно понимаю что у Game Studio есть «какая-то тулза», которая генерирует патч и тд, которые потом в WDS backend раздаются на Static seed`s и CDN? Или генерацией патчей занимается сам backend?

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

И так и не понятно, патч распространяются через архивы, через libtorrent, а если это первая установка — то скачивается архив игры, или файлы полной игры не архивируются? И если это архив, то тогда как они через р2р раздаются, у пользователей же не остается архив лежать для раздачи?
По порядку:
1. Подготовкой патчей и прочих артефактов для дистрибуции занимается именно backend, представленный рядом сервисов. Есть «тулза», которая помогает билды игры доставлять на этот backend и организовывать CI/CD.
2. Патч — это всегда архив, в нём есть как файлы игры, так и, если надо, бинарные разницы. В нём же есть метаинформация для удаления ненужных файлов и другой обработки локального контента.
3. Backend хранит историю билдов игры и у него всегда есть под рукой «прошлая версия», чтобы сделать дифф. Если её нет (первая загрузка игры на сервер) то да, версия получается «кумулятивная» — содержащая весь клиент игры. На компьютере пользователя всё точно также: если была предыдущая версия (не очень старая) то поставятся патчи с бинарными разницами, если это первая утсановка — то загрузятся арзивы с полным клиентом и распакуются.
4. У клиента патч присутствует на диске во время загрузки и его распаковки. Вот в этот небольшой временной промежуток и происходит раздача. То о чем я писал, что p2p — это совсем небольшой трафик, отчасти обсусловленно небольшим временным окном. Сейчас игры в основном переходят на модель, когда патчи живут недолго, раньше они хранились на диске всегда и это позволяло в том числе поделится ими с кем-то или принести на флэшке (да, это было давно).
То есть между патчами, по больше части люди скачивают с ваших static seed`ов и CDN? Но во время выхода нового патча будет большое количество людей с маленьким окном раздачи, на каком-то промежутке времени и вроде бы большая часть игроков получит контент через p2p, а не с CND — за который платить надо? правильно?
Да, в среднем всё верно. У нас нет цели экономить на игроках, чтобы они делились с друг другом постоянно контентом. Есть цель сделать меньше нагрузку на внешний интерфейс локальной сети, если так вышло что в этой сети многие качают в одно и то же время.
То есть по этому скачивается 16 гигов, а на диске 50?
Да. Большинство из 50 Гб, а именно 34 Гб — это как раз сам по себе распакованный клиент, который сжимается в 16 Гб для скачивания. А 16 Гб — это патчи.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий