Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча Дота

Реплеи в Dota 2

В Dota 2 существует возможность смотреть повторы матчей. Такие повторы называют специальным термином «реплей», а посмотреть их можно в клиенте игры.

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

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

Реплеи матчей про-игроков в Dota 2 также можно найти — для этого вам лишь нужно знать ID матча. Как его узнать? Для этого найдите нужного киберспортсмена на Dotabuff, выберите любой матч и вместо его названия будет код из десяти цифр — это и есть ID.

Как посмотреть игру в доте 2 по номеру матча

Разработка

  • Распараллеливаем парсинг матчей с помощью Celery
  • Пишем минимальное API на Flask
  • Все ссылки на код и использованные материалы вы найдете в конце статьи

Пишем минимальное API на Flask

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

В файле server.py напишем логику для ручки localhost:5000/parse.

Новости:  Понравились мемы про антимага и Мем 73602

FLASK_APP=server flask run

Озвучивание на русском языке

Для олдов одним из самых запоминающихся ивентов по Доте 2 был и остается Greeviling. Проводился он в честь Нового года в далеком 2012 году. Если кратко, то суть события заключалась в убийстве специальных мобов – Гряволов. Они спавнились на месте нейтральных крипов, и, кто быстрее убьет 11 штук, тот и победил. Еще одной фишкой ивента была возможность в любой момент самому превратиться в Грявола, который, как полноценный герой, имел свои способности и очки здоровья. Во время игры в Greeviling могло выпасть яйцо Грявола:

Данное яйцо можно было улучшать с помощью специальных эссенций — они назывались quas, wex и exort. После сочетания разного количества и разных видов эссенций из яйца появлялся уникальный Грявол, за которого впоследствии можно было поиграть в ивенте. С окончанием события яйцами и эссенциями все равно продолжали торговать, а полученную зверюшку можно было использовать в качестве скина для курьера. Так было вплоть до 2015 года, ведь потом вышла Dota 2 Reborn на новом движке. Каково же было удивление игроков, когда после обновления все яйца и эссенции просто пропали из их инвентаря. Valve даже не стали никак компенсировать данную потерю, а мы напомним, что яйца торговались на площадке и стоили реальных денег.

Как посмотреть игры в доте если скрыт дотабафф

Как посмотреть игру в доте 2 по номеру матча

Сервис по поиску dotabuff статистики игроков,если игрок скрыл профиль* статистики в Dota 2 и dotabuff.Определяет Dotabuff статистику по Steam Id и Dota id,точность поиска 100%.—————————————————————————————————————————————————The service statistics dotabuff players this player even if the player hidden profile* statistics in DotA 2 and dotabuff.Specifies the statistics dotabuff about this player Steam ID and Dota id,so the accuracy of the search 100%.

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

Если вам нужно быстро найти профиль dotabuff игрока по его Steam id.Найти профиль dotabuff игрока во время battle cupНайти профиль dotabuff игрока,если он скрыл историю матчейВажно! *Если игрок хотя-бы раз делал статистику общедоступной,а потом закрыл её.То сервис найдёт профиль dotabuff игрока.——————————————————————————————————————————If you need to quickly find the profile dotabuff player by his Steam id.Find the dotabuff profile of the player during battle cupFind the dotabuff profile of the player,if he hid match historyImportant! *If the player at least once did the statistics available to the public,and then closed it.The service will find the dotabuff profile of the player.

26.07.2017 — update 1.5 Last UpdateПоддержка SteamID32 link /Add SteamID64 linkДобавлен поиск скрытых профилей dotabuff — точность поиска 100%

10.06.2019 – update 1.6Обновлена база удалённых аккаунтов с dotabuff (теперь доступны все удалённые или скрытые профили в dotabuff)———————————————————————————————————————-18.07.2017 — release v 1.0The launch of the service Get DOTABUFF Hidden Search

26.07.2017 — update 1.5 Last UpdateAdd SteamID32 link /Add SteamID64 linkAttached find hidden profiles dotabuff — search precision 100%

Распараллеливаем парсинг реплеев с помощью Celery

Здесь я не буду подробно останавливаться на Celery, на эту тему уже написано множество статей. Просто напомню, что он позволяет выполнять очереди из задач. В качестве брокера я использовал локальный Redis. Воркеры также работали локально, а всю работу по созданию отдельных процессов под задачи берет на себя Celery.

Структура проекта выглядит следующим образом.

$ tree -P ‘*.py’ -I ‘__pycache__’ src/

├── async_parser
│   ├── celery.py
│   └── tasks.py
├── server.py
├── settings.py
└── sync_parser.py

1 directory, 5 files

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

Подготовительные работы

Для начала поднимем Redis.

sudo docker run —name dota-redis -p 6379:6379 -d redis

А также запустим на локальном порту 5600 Clarity Parser. Подробнее о нем вы можете почитать в предыдущей части.

git clone https://github.com/arch1baald/clarity-parser.git parser
sudo docker build -t odota/parser parser/
sudo docker run -d —name clarity-parser -p 5600:5600 odota/parser

В файле celery.py определяем объект Celery.

А в файле tasks.py определим две основные задачи.

А чтобы парсинг не начинался до того, как завершилась загрузка реплея воспользуемся celery.chain().

Загрузка реплея

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

Финальная функция, объединяющая предыдущие задачи в последовательность. Обратите внимание, что в parse мы не передаем аргумент dem_path, потому что chain сам подставляет результат из download_save.s(url).

def download_parse_save(url):
res = chain(download_save.s(url), parse.s())()
return res

celery -A async_parser worker -l INFO

Как посмотреть свою и чужую игру в Dota 2

Сейчас на Youtube пользуются популярностью ролики, снятые с игр, с пабликов профессиональных игроков. Из известных – на ум приходят Dota 2 pro gameplay и top mmr dota 2. Наши парни из Аналитики ошибок – тоже берут игры профессиональных игроков и комментируют игр. Но жаде для себя посмотреть несколько пабликов профессионала – дело полезное. А сделать это – можно, не выходя с игры. И сейчас мы научим вас это делать.

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

Давайте разберем все возможные ситуации, связанные с просмотрами. Итак, если вы хотите просмотреть свои матчи, то вам будет нужно:

Зайти в Dota 2, в главное меню.

Как посмотреть игру в доте 2 по номеру матча

Затем нужно кликнуть на свой профиль.

На скрине выше – вы видите выделенный плюсик. Кликнув на него – вы увидите все ваши последние матчи.

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

Обратите внимание, что под надписью загрузки – имеется номер матча. Запомните данный момент – ниже мы об этом еще расскажем.

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

Как мы уже сказали ранее, чтобы посмотреть чужую игру – нужно знать номер матча. А найти его можно на https://ru.dotabuff.com

Открывается такая вот табличка. Как видите – Миракл первый в списке. Кликаем на его ник.

Так будет выглядеть его профиль на Дотабаффе. Внизу – видим последние матчи. К примеру, выберем последний, где Миракл играет на Бристлбеке. Кликаем на игру.

В верхнем левом углу – вы увидите номер матча. В нашем случае – это турнирная игра против OG под номером 4986461644. Копируем этот номер.

Заходим в Dota 2. Вверху, справа от значка Доты – обратите внимание на строчку. Там 5 пунктов, но вам нужен будет просмотр. Заходите туда. Под этой строчкой – откроется еще 1. Выбираете пункт записи.

После этого – в правом верхнем углу вы увидите поисковик. В него и вставляете номер игры.

И все. Жмете поиск и открывается та самая игра Liquid против OG, кстати, не самая удачная для Миракла.

Если вы хотите посмотреть свой матч – то проблем с этим не возникает вообще, т.

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

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

Dota Plus

1.В Steam открываем свойства игры:

Как посмотреть игру в доте 2 по номеру матча

1.1 Открываем: Установить параметры запуска пишем: -dev (применить)

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

Как посмотреть игру в доте 2 по номеру матча

2.2 Ищем строку для поиска: PlayerGamesBox2.3 И делаем как на скриншотах: (Нужно изменить параметр visibility: collapse ; на visibility: visible 😉

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

2.4 Нажимаем кнопку сохранить все изменения3.0 Открываем любой профиль игрока и видим последние игры Dota 2

Собираем ссылки на реплеи матчей The International 2021

Качать репелеи через клиент игры — замечательная опция, но довольно нудная для десятков и сотен матчей. Поэтому мы пойдем иным путем и достанем ссылки на реплеи через OpenDota API.

Для начала нам потребуется узнать Tournament ID для TI 2021. Например, для этого можно зайти на Dotabuff, найти в поиске страницу турнира и пристально посмотреть на URL.

Ссылка на TI2021 на Dotabuff

Сделаем запрос к API и получим Match ID идентификаторы всех матчей с турнира.

Теперь для каждого матча нужно сходить в Replay API. Здесь стоит учесть, что бесплатная версия API позволяет делать до 60 запросов в минуту.

Ссылки на реплеи получаются подставлением значений в шаблон

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

Из первых 14 ссылок 10 оказались рабочими. Вполне достаточно для теста, т.к. в среднем один .dem реплей весит 100 MB.

Бесплатные сундуки

Мало кто помнит, но поначалу Valve практиковали раздачу бесплатных сундуков, для открытия которых даже не требовалось покупать специальные ключики. Чтобы открыть сундук, необходимо было поднять уровень профиля. Вспомнили такой? Вот вам скриншот для освежения памяти:

Работал сундук по механике этакой матрешки: возвращаемся в 2013 год, вы получаете кейс за 1 уровень профиля, в нем находится пара коммоновских шмоток, которые в основном учат новоиспеченного дотера азам взаимодействия с инвентарем. Среди этого также находится сундук 2-го уровня, который можно открыть с соответствующем уровнем профиля. Такой приятный бонус сопровождал игрока вплоть до 10-го уровня, далее сундуки выдавались за достижение каждого 5-го уровня, но в них могли выпасть и более стоящие предметы – рарки или мификал. К сожалению, халява закончилась в 2014 году, когда Valve молча удалили данные сундуки из игры.

Кстати, раньше был шанс получить шмотку, которую впоследствии можно было спокойно продать на торговой площадке, просто по окончании катки. По интернету ходили слухи и скрины, что кому-то удавалось получить даже аркану на Лину, но потом и эту лавочку Valve по-тихому прикрыли.

Расширение инвентаря

Кто сможет сказать, какая сейчас вместимость у инвентаря? Даем подсказку: 10 000 слотов, которые практически невозможно заполнить до конца. Так было не всегда, старые дотеры помнят о внутриигровом инструменте, позволяющем расширить инвентарь на 240 слотов, ведь его размер составлял всего 1000 слотов. Инструмент продавался прямо в Доте и у Гейба, наверное, была примерно такая логика: если тебе хватает денег на заполнение 1000 слотов, то и на расширение хватит. С приходом реборна Valve немного пересмотрели своё отношение к этому вопросу и решили просто апнуть всем количество доступных слотов. Теперь в официальном магазине нет расширителя арсенала, но на просторах торговой площадки найти можно:

На последок приведем пример недобросовестного отношения разработчиков к еще одной детали. Наверняка у вас, как и у всех, в настройках на пункте “информация о существах на панели героя” стоит галочка.

Мало кто вообще знает, что дает эта функция, поэтому по-быстрому объясним: если галочка стоит, то отображение героев и существ заменяет вашу панель и выглядит таким образом:

А если убрать галочку, то выглядит вот так:

С первого взгляда может показаться, что это в разы удобнее и так можно быстрее прокликивать вражеских героев. Все бы ничего, но есть одна проблема – при таком отображении не видно 3 важных пунктов. К ним относятся наличие Аганима, наличие Аганим шарда и предметы с нейтральных крипов. Скорее всего, именно поэтому такой параметр не пользуется популярностью даже на про сцене, где от каждой доли секунды зависит, выиграешь ты миллионы долларов или уедешь с утешительным призом. Напомним, что нейтралки добавили в 2019 году, и вот уже на протяжении 3 лет этим никто так и не занялся.

А о каких удаленных моментах жалеете вы? Может Valve стоило сначала посоветоваться с игроками, прежде чем навсегда удалять что-то из игры, никого не предупредив?

Игровой процесс

Пожалуй, это самые незначительные удаленные вещи, но о них Valve никак официально не сообщали. Вы когда-нибудь обращали внимание на тени облаков? Вряд ли, ведь их просто нет, однако так было не всегда. До реборна в Доте существовали вполне себе реалистичные и проработанные тени облаков:

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

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

А в новой версии это стало выглядеть следующим образом:

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

Сейчас водопад тоже есть, но он не имеет никакого продолжения, ведь дальше вода как будто сама по себе и находится в статичном состоянии:

Мы не имеем цели докопаться до каждой мелочи, но такие детали незаметно оживляли карту, придавая ей реалистичности. Это еще раз показывает, насколько трепетно Valve раньше относились к своему детищу.

Запускаем парсинг

Для этого сделаем запрос к серверу.

curl -X GET ‘http://localhost:5000/parse?url=http://replay191.valve.net/570/6216665747_89886887.dem.bz2’

  • Запрос обрабатывает Flask API и добавляет цепочку из двух задач в очередь с помощью download_parse_save(dem_url)
  • Celery worker видит задачу download_save(url), идет по ссылке http://replay191.valve.net/570/6216665747_89886887.dem.bz2 на CDN Valve, скачивает реплей и сохраняет на диске
  • Celery worker видит задачу parse(dem_path) и делает запрос к Clarity Parser
  • Результат работы Clarity Parser сохраняется в формате .jsonlines лога на диске

Отлично! Теперь вспомним, что изначально нашей задачей было распарсить 10 матчей с The International 2021, ссылки на которые мы получили ранее. Для этого запустим простой скрипт.

with open(os.path.join(REPLAY_DIR, ‘urls.txt’), ‘r’) as fin:
for url in fin:
url = url.strip()

try:
r = requests.get(‘http://localhost:5000/parse’, params=dict(url=url))
r.raise_for_status()
except Exception as e:
logger.info(e)
continue

logger.info(r.json())
time.sleep(0.05)

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

Пример содержимого одного из файлов.

Как скачать свой или чужой реплей в Dota 2

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

Как посмотреть игру в доте 2 по номеру матча

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

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

Видим номер матча, в левом верхнем углу страницы. Копируем его, после чего заходим в Dota 2, в раздел просмотр. Тут вам понадобится пункт «записи». В правом верхнем углу вы увидите окно поиска.

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

Однако, если вам необходим именно файл с реплеем, то вам нужно будет найти его в корневой папке с игрой. Для этого перейдите по адресу:

C:\Program FilesSteamsteamappscommondota 2 betadota
eplays

Как посмотреть свою игру в Dota 2

Как посмотреть игру в доте 2 по номеру матча

Как посмотреть игру в доте 2 по номеру матча

Киберспортивная дисциплина

В 2015 году стартовала серия турниров The Major, также организованных Valve. Первый из них прошёл в ноябре 2015 года во Франкфурте.

Позиции (роли) героев

Первые три роли — ключевые (ко́ры), четвёртая и пятая — саппо́рты. Разница между теми и другими в том, что коры убивают больше крипов и получают больше золота, а саппорты забирают оставшихся крипов. Одни герои могут быть и корами, и саппортами, другие нет: саппорту нужны способности для помощи корам, кор должен быстро убивать крипов и масштабироваться с уровнем.

Судебные разбирательства

Как посмотреть игру в доте 2 по номеру матча

В этой статье вы научитесь обходить эту табличку и смотреть скрытый профиль двумя способами. Эти способы будут работать до тех пор, пока Valve не изменят меню в Shift-Tab’е, то есть как минимум еще очень долго.

Способ первый:Этим способом мы можем посмотреть интересующий нас скрытый профиль прямо во время игры1) Во время игры нажимаем Shift+Tab (Открываем меню Steam в игре)2) Здесь жмем View Players или же Список игроков

Как посмотреть игру в доте 2 по номеру матча

3) В открывшемся окне будут показаны все игроки, которые находятся с вами в одной игре, ищем интересующего нас игрока и жмем на кнопку Profile.

Как посмотреть игру в доте 2 по номеру матча

4) Смотрим профиль игрока. Но его профиль может быть скрыт настройкам приватности!

Способ второй:С помощью этого способа нам нужно будет дождаться окончания игры. Так же способ работает только если владелец профиля заходил на дотабафф1) Находим нашу игру на дотабаффе 2) Заходим в профиль нужного нам человека.3) Листаем страницу вниз и жмем на ссылку рядом с надписью ALIASES(в русской версии дотабаффа — «ПРОЗВИЩА»)4) И там будет ссылка и id на Steam аккаунт.

Оцените статью
Dota Help
Добавить комментарий