Pull to refresh
8
0
Максим Мельников @max_posedon

Разработчик

Send message
С одной стороны звучит разумно — передам. С другой — этот вопрос поднимался уже несколько раз и… В общем не хочется превращать WGC в ЦУП с огромным количеством настроек, в которые большинство игроков всё равно не полезет. Более правильно сделать так, чтобы WGC «хорошо себя вёл» и в таких случаях автоматически, а это уже гораздо сложнее.
промахнулся, ответ в соседней ветке
Если вы проведёте опрос на тему «Хотели бы вы, что бы игра в фоне качала/раздавала когда вы играете?» ответ будет однозначным

WGC (и Launcher — там тоже уже пару лет есть фоновое скачивание) ничего не обновляет, когда вы играете в игры Wargaming-а. WGC (и Launcher) раздают данные ТОЛЬКО когда он сам скачивает — т.е. как только WGC закончил скачивать, он перестаёт раздавать. Сделано это именно для того, чтобы не мешать людям.

закинул торрент в utorrent

WGC (и Launcher) скачивают не только так. В наших torrent-ах нету web seed-ов, они добавляются динамически (это позволяет нам перенастраивать CDN без перевыпуска torrent-ов). В логах WGC можно найти вот такие запросы получения информации о патчах: wgus-wotru.wargaming.net/api/v1/patches_chain/?protocol_version=1.7&client_type=sd&lang=RU&metadata_version=20180629125846&metadata_protocol_version=5.14&chain_id=sd3_hd3&installation_id=B10E12A828CF15E7D30EB993B9FAFC3D037B464C&client_current_version=0&locale_current_version=0&sdcontent_current_version=0&game_id=WOT.RU.PRODUCTION именно оттуда берётся информация о web-seed-ах.

178.18.228.118:6900 и т.д и есть ваши CDN

Это наши p2p seed-ы. Есть ещё и web seed-ы (см выше).

Отключение DHT и обмен пирами. Иначе смысла в CDN нет абсолютно.

Не могу с этим согласиться. Для ситуации как у вас — скорее всего да, улучшило бы. А для многих других — наоборот. У пользователей совершенно различные условия выхода в интернет, и конфигурация которая подходит для жителей Москвы / Минска, не совпадает с тем, что является оптимальным для жителей Казахстана. Мы в первую очередь боремся за доступность для всех, за скорость скачивания не среднею, а у 95% квантиля.

Прикручивание механизма аналога isp.bep22

Вот тут не могу утверждать на 100%, но в «мировой» tracker с нашими патчами это обеспечивает, задачи на это были.

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

Чуть выше описал, как именно попадает dl-wot-cdx.wargaming.net и он как типичный CDN раскрывается уже в локальные точки присутствия.

то и p2p по факту практически не будет как такового.

Ничего страшного, есть и web seed-ы.

Ну и надо понимать, что для нас важной задачей является и оптимизация расходов на дистрибуцию.
Попробую ответить:

А зачем игроку Wargaming Game Center (WGC) держать запущенным когда он запускает игру?

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

Зачем этот лишний процесс на его компе, когда можно запустить WGC по необходимости.

Если держать WGC постоянно запущенным, то человек когда захочет поиграть, будет иметь уже обновлённую игру (не надо будет ждать / не пойдёт играть в другую). Это выбор компании, как должно быть по умолчанию. В настройках можно отключить.

Зачем нужно было калечить старый торрент-клиент и убирать стандартные торрент-файлы?

Торрент-файлы никуда не делись, просто лежат теперь только в кэше. В логах WGC мы не скрываем ссылки на их, можно легко найти, посмотреть на них и проверить.

Сейчас даже нельзя посмотреть какие параметры торрента в p2p.

Можно, просто чуть сложнее. Продвинутые пользователи найдут, а убрать с глаз от всех кажется разумным. Но вообще вот например (в логах WGC легко найти) dl-wot-cdx.wargaming.net/ru/patches/wot_1.3.0.1064_ru/wot_1.3.0.1064_ru.torrent

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

У нас разные отзывы о скорости скачивания, но технологически: launcher и wgc абсолютно одинаково работают.

Вангую, в вашем торренте уже нет ни локального ретрекера, ни республиканского.

Республиканского никогда не было, локальный есть и мировой есть.

Могли бы и веб-сида хотя бы одного на страну прикрутить.

По логам легко увидеть, что главным CDN-ом является dl-wot-cdx.wargaming.net, IP зависит от местоположения. У меня сейчас это 86.57.224.6 и это в Минск-е, с ping-ом 6ms у меня из дома.

Кстати, Атлант телеком в своё время его прикручивал к вашему торренту, правда в виде обычного сида для локального ретрекера

Это возможно как и раньше.

но в вашем клиенте из-за безумного DHT и невозможности ограничить количество подключенных пиров он просто терялся

WGC и Launcher используют www.libtorrent.org с настройками на оптимизацию скачивания (при активном скачивании). Сейчас WGC фактически скачивает в основном в фоне — там уже фокус на немешать.

Так же из-за невозможности ограничить количество пиров, сёрфинг по инету во время загрузки игры фактически невозможен

Да, тут есть ещё проблемы. Работаем над этим.

Те кто сидит на ADSL может и расхотеть поиграть в игру, недождавшись когда она полностью загрузится.

Рекомендуемый способ — держать WGC постоянно запущенным, чтобы он скачивал игру в фоновом режиме / по ночам обновлял игры.

Вот… как-то так. Вся эта информация доступна для любопытных (прямым исследованием exe-шников, библиотек и логов), по этому вроде не секретная.
Чтобы продолжать зарабатывать с пользователя. Т.е. можно, но глупо с точки зрения бизнеса. «Собственному» игроку, гораздо дешевле (почти бесплатно) «впаривать» другие свои продукты (а за стороннего нужно заплатить за рекламу). Вообще вся эта аудитория и является большим business asset-ом хоть Wargaming-а с танками, хоть Epic Games с Fortnite.

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

Увы, Nothing personal — it's just business. Все платформы берут % от дохода, типичная цифра — 30%, это не мало. Если игра очень успешная, то сумма получается такая огромная, что дешевле сделать свою платформу. Так же, для MMO free2play игр оказывается, что эти платформы не самые подходящие/удобные.

У Steam-а например плохие бинарные обновления — они основаны на алгоритмах, bittorrent. А у нас на rsync — танковые (ежемесячные) обновления в steam-е бы вызывали скачивание 10 гигабайт, а не 1.
управление игровым имуществом

Попробую на примере этого объяснить, но признаю, что разница может быть не понятна (надо возможно в отдельной статье об этом пояснить) — через Steam можно начислять только имущество, про которое он знает (используя различные bundle-ы и тд) — для MMO игр этого недостаточно, ведь огромное количество логики / функциональности зашито в игровой сервер, и отделу поддержки нужен UI для прямого управления этой функциональностью. Например (то что, я не знаю как сделать через steam):
1. посмотреть последние 10 боёв игрока
2. посмотреть список его внутри-игровых трат золота/серебра
3. поменять балансировку карт
4. поменять цены / характеристики

надо делать инструментарий

У нас не надо. Ну то есть вроде и надо, но мы делаем это за его. Пытаясь сделать это один раз на все игры, которая впускает компания.
Архитектура этого всего, конечно. И организация процесса разработки, его эволюция, как команды взаимодействуют. Что стандартизируется, что отдаётся на откуп командам. Какой зоопарк технологий в итоге получился.

Принято.

Когда в open source?

Не знаю / никогда. В лучшем случае какие-то маленькие кусочки.

Когда оно всё начиналось, была ещё wiki по игре. Она загнулась или просто не считается частью платформы?

wiki.wargaming.net/ru/World_of_Tanks как был так и есть. Вообще то, что является частью платформы организационно и функционально — разные вещи. Развития возможностей площадки — нет, не происходит.

На сколько сильными остались связи с BigWorld?

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

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

И вообще, это больше вопрос к бизнесу. А мы тут инженеры. Мы хотим рассказать, как она (Платформа), работает. И почему она такая.

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

У нас бизнес задача — сэкономить / сделать общим этот [то что можно обобщить] бэкенд для игр Wargaming-а

Не совсем так. Когда разработчик издает игру через Steam, ему нужно готовить инструментарий для управления игроком — для рассылок, служба поддержки, начисления имущества, отчеты, email рассылки и многое другое. У нас это входиь в платформу, а у Steam-а этого нет (наверное и не может быть). Т.е. Steam это просто инструментарий для продаж и дистрибуции — а вопросов гораздо больше.

Думаю ключевое слово в этой новости с точки зрения .Net на Linux, android и т.д. — Мигель де Икаса
А насколько OpenShift «проприетарные облако»? Я слышал его каждый может развернуть себе сам, и оно всё из себя такое OpenSource-ное.
Прекрасная история получилась, 100500 мелких проектов развиваются именно так: начинают с полного незнания того, что такое базы данных и Linux, и заканчивают вполне определенным успехом. Главное мотивация!
И все-таки рекомендуемый метод — редирект. OpenID вполне позволяет указать удобный return_to. Простите, но пользователи Вконтакте и Facebook не вкладывают в свои аккаунты деньги и воровство аккаунтов с целью продажи у этих сервисов не является проблемой, в отличии от ситуации с танковыми. В этом вопросе мы ориентируемся скорее на amazon, например.
У Yandex-а слишком хороший сайт, чтобы заметить разницу. На сайтах где не используются подходы с компрессией (склейкой) картинок, css-ок, js-ов и т.д. выйгрыш от внедрения SPDY может быть весьма значительным. И с другой стороны, когда есть возможность хранить мелкие файлы по отдельности, при выходе новых версий, гораздо меньше статического контента браузеру надо будет скачивать заново.
Нет, именно на Python

Используется BigWorld как движок, и собственно вот www.bigworldtech.com/faq
Q: Is development on both client and server handled with Python?
A: Yes, both client and server are handled by Python

Ещё можно глянуть на вакансии ( wargaming.com/ru/careers/office/1/ ) — вакансии это как правило лучший инструмент анализа, на чём делается продукт.

Интересно, откуда появляются мысли про Java…
На самом деле, практически везде, это основной язык разработки:
1. Сервера World of Tanks и других ещё не вышедших, игр компании
2. Клиента World of Tanks — установив игру, можно увидеть множество pyc файликов
3. Web-обвязки над игрой

Для больших подробностей рекомендую:

РИТ 2013. World of Tanks: на пути к 1M CCU.
www.slideshare.net/max_posedon/world-of-tanks-1m-ccu
www.youtube.com/watch?v=_sMDs5_M_Xs

ITSHARE 2013. Wargaming Web
www.slideshare.net/max_posedon/wargaming-web-26036765
www.youtube.com/watch?v=T1dvHMx8beY
Один из самых интересных докладов с РИТ++2013. Рекомендую настоятельно всем — и разработчикам, и менеджерам и т.д., затронуты не только инженерные но и продуктовые вопросы и проблемы смены направления развития продукта. А главная проблема старой оперы в 26:03…
Жаль, что в Россию похоже никто не везёт модель с Core i7, 8GB RAM, 3G…

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity