Dota 2 умирает, а новый патч Mistwoods добил ее окончательно – уходим в Лигу
Dota 2 умирает, а новый патч Mistwoods добил ее окончательно – уходим в Лигу
С одной стороны, Dota 2 закапывает бурное развитие League of Legends, с другой – сама Valve.
Итак, одна из самых популярных в СНГ соревновательных дисциплин, ставшая отдельным мемом даже вне сообщества геймеров, получила очередной крупный патч, перевернувший всю игру с ног на голову. Игроки почти год ждали обновления, надеясь на чудо и освежение застоявшейся игры.
Обновление сделало ситуацию еще хуже, чем было до него.
2. Necrophos
Кто вообще помнит момент, когда Некр был метовым героем? Valve сделала ему приятный Шард, усилила таланты и, когда в Китае только-только начали брать этого героя (и то – пара команд), тут же понерфила патчем 7.30, ослабив астрал.
Неудивительно, что все чаще слышны призывы вернуть запрет на байбэк с косы (который, конечно же, сразу сделает героя сломанным). С другой стороны, дедуля – один из очень немногих героев Доты, который заслужил стать тир-1 пиком, как сейчас это происходит с Клинкзом.
Что не так с героем: не вписывается ни в одну из ролей Доты. Для оффлейнера не обладает контролем и требует слишком много фарма, для мидера не хватает мобильности и банально урона.
Автоматизация рутины в DotA 2 или читы?
Привет, в этой статье будут рассматриваться легальные способы получить преимущество перед противником с помощью таких простых средств, как NodeJS, Electron и React, при этом обходя бан стороной. На эксперименты меня вдохновила другая статья Визуализация времени возрождения Рошана и желание автоматизировать часть рутины. Стоит заметить что сейчас будут рассматриваться инструменты не модифицирующие каким либо нечестным способом игру — все API открыты, данные получены честным путём, никакого вмешательства в процесс игры не происходит. Под катом будет несколько картинок и немного кода.
Пример использования в демо режиме игры
Весь исходный код расположен на Github, с ним можно ознакомится, лайкнуть, форкнуть, предложить изменения. Писал его левой пяткой правой ноги, прямо во время игры, поэтому просьба не ругаться сильно за стилистику.
Если честно, то я ничего нового не придумал, уже всё до меня придумали и даже есть готовые приложения, которые примерно тоже самое умеют.
Дальнейшими знаниями можно пользоваться, как во имя добра — делать инструменты для студий аналитики, киберспорта, стримов Twitch, тренировок команд и т.д., так и во имя зла — написания читов, выбор за вами.
Disclaimer: Автор не несёт ответственности за применение вами знаний полученных в данной статье или ущерб в результате их использования. Вся информация здесь изложена только в познавательных целях. Особенно для компаний разрабатывающих MOBA, чтобы помочь им бороться с читерами. И, естественно, автор статьи ботовод, читер и всегда им был.
В итоге созданные инструменты умеют:
Отслеживать игровое время
Воспроизводить звуки до начала важных событий
Отображать текущие показатели золота (GPM)
Отображать статистику по герою из открытого источника OpenDota.com
Отслеживать время возрождения рошана
Собирать данные о любимых героях противника
Какие ещё можно сделать улучшения:
Отображать историю средних показателей противника
Добавить ретроспективный анализ игры по её окончанию
Добавить больше звуковых/визуальных уведомлений
Дать возможность отслеживать «ультимейты»
Добавить больше визуальных данных во время просмотра киберспортивных игр
Добавить подробнейшие руководства прямо во время игры
С чего всё начиналось
У Dota 2 неожиданно есть GSI (Game State Integration), который придумали для интеграции сторонних приложений / оверлеев (наложение картинки поверх игры) и синхронизации этих самых оверлеев с игрой в реальном времени. Это говорит о том, что можно получать состояние игры и дальше что — то с ним делать. Для интеграции с NodeJS есть готовое решение в виде библиотеки. Для работы GSI сервера, в первую очередь, нужно создать файл конфигурации в «Steamsteamappscommondota 2 betagamedotacfg», в этом файле прописываются настройки, например, такие:
После перезапуска игры, подтягиваются новые настройки и запускается сервер GSI, который будет отправлять данные по HTTP на localhost:3001, на котором и поднимается NodeJS сервер:
Собственно, после запускается код слушателя, который как раз и позаимствован из сторонней библиотеки NodeJS
Сервер получения данных об игровом мире готов.
Данные, которые не дают преимущества
Во время рейтингового матча в Dota 2, GSI отдаёт обрезанные данные, из полезного доступно
Прошедшее количество секунд с начала игры
Игровое время в секундах
Пример данных (в игре запущена карта с демо режимом)
Если просматривать реплей или чужую игру, то доступно гораздо больше информации — вся она описана тут. Что-ж, самая важная информация нам уже доступна — GPM, игровое время, Id героя.
После получения информации мы должны с ней что — то поделать, например, отрисовать или предупредить о наступившем моменте в игре.
UI, Оповещения, Electron
Для UI решено было использовать Electron и внутри этого электрона запускать React. Идея заключается в том, чтобы рисовать Electron приложение поверх игры (оверлей). Исходник оверлея можно найти тут, немного задержимся на нём — есть пару особенностей.
Для начала нужно настроить окно, в котором будет всё отображаться:
Сначала у меня не получалось поверх доты что — то вывести, пока не наткнулся на настройку в файле machine_convars.vcfg (Dota 2) под названием «dota_mouse_window_lock», которую нужно выставить в «0», а в самой игре (либо в тех же файлах конфигурации) настроить режим отображения в окне без рамки.
UI написан с использованием React, поэтому решено его было загружать прямо с dev сервера разработки (да, я ленивый):
Если dev сервер не успел загрузиться, то мы попробуем ещё разок через 3 секунды, вот для этого и нужен setTimeout.
Всё, с overlay закончили, теперь UI часть.
Styled-Components, Typescript, Хуки, — стильно, модно, молодёжно
В UI был выбран мой любимый стек: TS, CRA (Styled только для одного/двух классов использовался — рисовать то особо нечего). После того, как GSI Dota2 отправил данные на express сервер, их нужно передать на фронт. Пишется простая GET ручка для отдачи данных. Затем на фронте пишется хук, который раз в секунду запрашивает эти данные и дальше они попадают сразу во все остальные хуки. То есть в приложении каждую секунду запускаются все хуки — это важный факт, ведь иногда понадобится хранить время запуска хука, чтобы случайно его не запустить несколько раз (если этого не делать, то у вас произойдёт в лучшем случае два оповещения подряд, в худшем случае взрыв из оповещений). Логика получения данных:
Теперь, когда есть все данные на фронте, можно написать хук для звуковых оповещений, что пора бы пойти (за 30 секунд до начала оповещает) забрать руны богатства, появляющиеся на каждой минуте кратной пяти (5, 10, 15, 20 минута):
Запись о последнем воспроизведении (setLastIntervalPlay) нужна чтобы не повторить оповещение случайно дважды.
И вот уже в игре одно преимущество, может быть оно несущественное, но как мне кажется неплохо управляет вниманием команды. Что — ж можно пойти дальше и сделать такую же кнопку возрождения рошана, как из прошлой статьи:
Хук useRoshanSpawn для кнопки
С рошаном всё немного запутаннее, чем с рунами — он может возрождаться в интервале от 9 до 12 минут. То есть у него есть состояния:
Точно мёртв (прошло до 9 минут с момента смерти)
Он жив или мёртв (прошло от 9 до 12 минут с момента смерти)
Он точно жив (прошло свыше 12 минут с момента смерти или это начало игры)
Поэтому у таймера есть три визуальных состояния:
Кнопка — для запуска таймера
Таймер тикает и сообщает о том что роша точно мёртв
Таймер тикает и сообщает о том что роша возможно жив, а возможно мёртв
И одно звуковое оповещение: Рошан будет в состоянии Шредингера через 30 секунд (то есть, и жив, и мёртв одновременно — пока не проверишь, не узнаешь). Также есть возможность сбросить таймер, ведь если мы проверили и узнали, что он жив — то таймер больше не нужен, а нужна кнопка о том чтобы сообщить о новой смерти рошана. Из минусов — иногда забываешь запускать таймер, было бы здорово в будущем это тоже автоматизировать.
Обогащаем данные
Ещё есть информация о том, на каком герое мы играем, поэтому пускай клиент запрашивает бенчмарки с сайта OpenDota.com и отображаем их, чтобы было понятно, на сколько мы отстаём от ритма игры. Я взял перцентиль 99%, то есть мне интересно, с какими показателями отыгрывается 1% лучших игр на том или ином герое.
Бенчмарки на героя Abaddon
Вся логика описана в хуке useBenchmark:
Узнаём предпочтения игрока
Было бы здорово получать информацию о том, на каких героях вероятнее всего будет играть противник, чтобы забанить, отобрать, законтрить их у него. Для этого нужно считывать память файл игры: «server_log.txt» и дальше распарсить его регуляркой, найти там ID ваших оппонентов, затем запросить историю игр в OpenDota или Dotabuff. У этого способа есть минусы — если оппоненты сделал свой игровой профиль скрытым в Dota 2, то никакой информации о нём вы не получите. Есть ещё один момент, который я забыл учесть — данные могут быть устаревшими, но в коде это легко исправляется добавлением фильтра по времени.
Attention: код по ссылке может совершить BSoD ваших глаз.
После, будет здорово это тоже вывести, поэтому решено было сделать отдельное React приложение на localhost:3002. Без дизайна выглядит оно совсем по страшному, но это уже был просто спортивный интерес и вообще я им не пользуюсь. В нём есть информация о прошлых десяти играх. Кнопочка «Ban this id», чтобы убирать друзей, с которыми играешь, из этой статистики и ссылка на Dotabuff профиль, если вдруг хочется подробностей.
Это приложение тоже можно было бы красиво оформить в виде Electron оверлея и запускать его на стадии выбора героев, но кажется я слишком много играю в игры и мало уделяю времени действительно полезным вещам 🙂
Что ещё пробовалось:
Пробовался DLL Injection из прошлой статьи и чтение памяти с помощью Rust, но там был большой изъян в том, что все найденные указатели на структуры данных жили до обновления игры, поэтому эта идея была заброшена.
Попытка создать сервис подбора героев на основе ML обучения по выгрузке игр из OpenDota.com или с тех же серверов Valve (провал — хотя мне кажется я просто не сумел правильно приготовить ML часть)
Парсинг Dota 2 реплеев — там не сложно, используется Protobuff и все структуры легко находятся на гитхабе. Вот только что дальше с этим огромным объёмом данных делать?
Вывод: интегрироваться с Dota2 не вызывает труда, можно делать быстрый анализ прямо во время игры, при просмотре киберспортивных игр можно сделать огромное количество красивого оверлея для Twitch стрима, также можно развивать эту тему в сторону ретроспективного анализа из реплеев, что скорее всего будет полезно профессионалам.
Надеюсь вам было интересно почитать про то, как я собрал на коленке читы (на самом деле хороший вопрос — читы это или нет?), да ещё и на JS, если есть орфографические или лексические ошибки, то пишите пожалуйста в ЛС, спасибо за внимание.
Термины Доты 2 для новичков
Комменд: нажмите на зеленую звезду над именем игрока на конце игрового экрана. Обычно знак комплимента дается тогда, когда вам просто хорошо, весело или приятно играть было в прошлой игре. В других случаях он может быть использован как средство привлечения внимания к просто крутому игроку, который тащил всех к победе. Можно потом хвастаться коммендами.
p, blockquote 26,0,0,1,0 —>
Грифить или Гриф (to grief): Намеренно делать игру сложнее для своей собственной команды, чтобы играть и/или выиграть. Это включает в себя фид и флейм, но не ограничивается этим. Может также включать умышленное воровство фарма, использование перемещения игрока против своей воли и так далее. Вариантов просто масса.
p, blockquote 27,0,0,0,0 —>
Излишнее разговорчивые люди могут вообще отправляться в мут из-за репортов на 24 часа, а иногда и ещё больше. Вообщем, говорите по делу, и вас не будут мутить. А сами может смело затыкать всех тех, кто не по делу болтает и загрязняет звук.
p, blockquote 28,0,0,0,0 —>
p, blockquote 29,0,0,0,0 —>
Dota 2 жаргон терминов
Пинг: Зажав Alt и щелкнув левой кнопкой мыши на карте или на землю, вы создаете расширяющийся круг с восклицательным знаком в середине, а также шум, который ваша команда может услышать. Используется для быстрого общения. Удерживая Ctrl и Alt и щелкнув левой кнопкой мыши будет делаться ‘осторожный пинг’. Удерживая клавишу Alt и щелкнув левой кнопкой мыши на предметы, способности, уровень героя, таймер в верхней части экрана, вашу сумма золота, на здания или здоровье героя, и другие вещи, — будет отображаться информацию о них, что ваша команда может видеть.
p, blockquote 30,0,0,0,0 —>
- Respawn/Спаун: Возвращение к жизни после смерти. Также ссылается на появление нейтральных крипов и руны в установленные сроки. Также говорят так о появлении крипов каждые 2 минут, Рошана и так далее. То есть, если что-то появляется с определенной периодичностью – это респаун.
- Лоу Приорити /Низкий приоритет: наказание за получение слишком большое количество репортов за короткий промежуток времени. Игроки имеют в ЛП только один игровой режим, и могут быть соревноваться только против других игроков с низким приоритетом. Игроки должны выиграть от 1-5 игр с низким приоритетом, чтобы выйти оттуда. Существует также временный запрет на рейтинговом режиме, однако низкий приоритет часто становится постоянным явлением для тех, кто не может справиться с эмоциями во время катки.
- Выкуп: Щелкнув на кнопку под вашим персонажем, в то время как вы мертвы и имеете необходимое золото для выкупа (видно при наведении курсора на ваше золото пока вы живы, отображена кнопка выкупа пока вы мертвы).
p, blockquote 31,0,0,0,0 —>
Дота словарь игровых терминов
Нуб: Архаичный термин для нового игрок – новичка в игре.
p, blockquote 32,0,0,0,0 —>
Токсичность: термин игры, чтобы описать игроков, которые постоянно горят и полыхают. Как правило, такие персонажи нарушают нормальный интересный матч. Их называют токсичными. Они постоянно ругаются и дизморалят. Распространился на большинство игрового сообщества, в том числе DOTA, в качестве обозначения неприятных личностей в игре.
p, blockquote 33,0,0,0,0 —>
И это, далеко, не все сленговые слова. Есть ещё куча терминов, о которых вы сможете узнать по ходу игры. Главное просто получайте удовольствие от самой игры, тогда и постепенно научитесь всем терминам.
p, blockquote 34,0,0,0,0 —>
Применение терминов из Доты
И в итоге, вы поймете следующие фразы:
- Гоу на мид, там под бафом в смоках сможем гангануть Профетку, мана на стан есть, потом сразу за баунти рунами. Почилим на экспе в харде, а дальше пороумим уже в изи, когда у кора будет ульта.
- Ты куда, прешь, нубас. Ты на 4к никак не играешь, потолок твой 2к MMR. Акк купил, и тупо спамит скилами. Зарепортите его все за фид. Как же горит с таких клоунов.
- Щас бы пикать Фантомку на 4-ку и в лесу пофармить. Крипчиков, кайф, побить. АФК гейминг 30 минут, ГГ ВП.
after —>
Хардлейнер (оффлейнер) — это игрок, который стоит на сложной линии. Понятие «сложной» сейчас немного неактуально. Раньше крипы на одной из боковых линий встречались гораздо ближе к вражеской вышке. Получать опыт и золото в такой ситуации было крайне сложно, особенно учитывая что стоять нередко приходилось сразу против троих вражеских персонажей.
В таких условиях играть мог герой только с наличием «эскейпа» (невидимости, уклонения, быстрого перемещения) или крайне живучий «толстый» персонаж. В современной Доте баланс линий лучше, и играть на «сложной» проще. К тому же на помощь хардлейнеру иногда отправляют героя поддержки.
Еул дота 2
Eul’s Scepter of Divinity – это магический посох, чья активная способность способна поднимать в воздух себя или противника. Чаще всего используется магами, которым нужен Cyclone для точного использования своего прокаста, а также для снятия с себя различного рода дизейблов. Дает ощутимый прирост манапула и добавляет скорость регенерации маны, что приятно любому герою.
p, blockquote 1,0,0,0,0 —>
Бонусы от предмета
+ 10 к интеллекту
p, blockquote 2,0,1,0,0 —>
+ 5 к восстановлению маны
p, blockquote 3,0,0,0,0 —>
+ 20 к скорости передвижения
p, blockquote 4,0,0,0,0 —>
Активная способность Cyclone, поднимающая в воздух себя или противника. При применении на владельца снимает несильные негативные эффекты. Если использовать на врага, то тот получит 50 урона при приземлении, что затруднит эскейп с помощью Blink Dagger.
p, blockquote 5,1,0,0,0 —>
Сборка
p, blockquote 6,0,0,0,0 —>
Артефакт собирается из Staff of Wizardy, Void Stone, Wind Lace и рецепта. Предметы, требующиеся в сборке, очень приятные для любого персонажа. Чаще всего еул планируют собрать с самого начала игры, для чего уже в ранней стадии покупают Wind Lace. Далее приобретается Void Stone для регенерации, ведь восстановление маны полезнее манапула. Staff of Wizardy и рецепт покупаются последними.
p, blockquote 7,0,0,0,0 —>
Артефакт покупается в двух случаях:
p, blockquote 8,0,0,1,0 —>
- Когда нужен гарантированный дизейбл для начала прокаста.
- Когда у противника есть неприятные дизейблы, которые легко развеять, и их не настолько много, чтобы покупать Black King Bar.
Назначение
Чаще всего собирается первым или вторым предметом. Артефакт является промежуточным, и в будущем будет заменен на более сильный дизейбл (Skythe of Vyse) или сейв (Black King Bar). Предмет универсален, и дает очень хорошие характеристики за свои деньги + активный эффект, имеющий множество разных назначений. Среди предметов конкурентов еула можно выделить Forse Staff (не снимает с себя негативные эффекты, однако очень полезен для изменения позиции персонажей во время драк. Имеет несколько другое назначение, нежели еул, но тоже является сейвом), Blink Dagger (предмет для инициации), Glimmer Cape (сильный сейв, однако не снимает негативные эффекты, а бонусы от самого предмета не самые лучшие для героя-интовика), Aether Lens и Kaya (обладают лучшими по сравнению с Eul характеристиками, однако не дают выживаемости. В целом нужны, если не нужен дополнительный дизейбл, а требуется улучшения в уроне и дальности применения для уже имеющегося прокаста). Eul’s Scepter of Divinity не является стопроцентным сейвом, он скорее служит для снятия дебаффов. Подразумевается, что после использования Cyclone на себя владелец предмета продолжит сражаться или будет иметь эскейп за счет своих способностей. А также артефакт нужен для гарантированного попадания прокастом.
p, blockquote 9,0,0,0,0 —>
Кому покупать
p, blockquote 10,0,0,0,0 —> p, blockquote 11,0,0,0,1 —>
Существует две группы персонажей, кому следует покупать Eul’s Scepter of Divinity:
- Герои, которым нужен сейв, дополнительные атрибуты и скорость передвижения: Ember Spirit, Death Prophet, Techies, Ancient Apparition, Rubick, Queen of Pain, Puck, Invoker, Necrophos, Phoenix. Персонажи имеют свой собственный эскейп и им нужен способ снять с себя безмолвие, либо им выгодно покупать предмет из-за статистик, которые он прибавляет.
- Персонажи, которым Eul’s Scepter нужен для гарантированно произнесенного прокаста: Lina, Jakiro, Void Spirit, Dark Willow, Invoker, Leshrac, Lion, Sand King. Эти герои могут использовать свои скиллы с сильной задержкой в произнесении, а знание таймингов еула позволит гарантированно попасть всем прокастом.
Структура сайта
Пора переходить от слов к делу и рассказать, чем же я планирую удивлять на своем сайте фанатов игры.
- Обучение. Этот раздел будет основным на сайте. Для меня очень важно, чтобы новичок нашел всю необходимую информацию, ведь я сам был когда-то новичком! О том, что будет в этой рубрике расскажу отдельно.
- Видео. Стримы, развлекательные видео, топы и многое другое. Будут также видео не касающиеся Доты 2, но которые могут вам понравиться. Оставляйте комментарии, что думаете про нетематические ролики, интересны ли они вам?
- Новости. Кроме банальных новостей мира Доты 2 и патчноутов, у меня в планах «втиснуть» в эту рубрику такую тему как метовые герои. Думаю будет интересно.
- Форум. Делая сайт на такую масштабную игру как Дота 2, понимаешь — форум должен быть обязательно! Просто появится он не сразу, а после наполнения сайта необходимым контентом.
- Тренировки. По мере развития проекта и форума на нем, появится возможность реализовать фичу с персональными тренерами.
Какого героя выбрать
Разделение по ролям
Гайды по героям по Дота 2 учитывают, в первую очередь, роль, которую персонаж будет играть в матче:
- Фарм. Слабые в начале игры, но могут сыграть решающую роль в конце, когда соберут нужные предметы. Нуждаются в быстром получении опыта и золота (фарм крипов, помощь в убийствах). В этой роли играют за Луну, Снайпера, Анти-Мага.
- Быстрый урон (нюкер). Могут нанести много урона по одной или нескольким целям, чаще всего, с помощью активных умений. Это относится к Зевсу, Инвокеру, Лине.
- Контроль (дизэйбл). Способны вывести противника из строя обездвиживанием, оглушением или молчанием. Для этой роли выбирают Марса, Слардара, Дизраптора.
- Побег. Имеют способности, которые позволяют быстро и незаметно уйти с места сражения (например, невидимость, рывок или телепорт). С этой задачей хорошо справляются Ио, Рики, Пак.
- Инициация. Первыми атакуют вражеского героя, как правило, накладывают эффекты контроля и дают команде возможность добить цель. Это, к примеру, Акс, Алхимик, Войд.
- Поддержка. Создают союзникам условия для безопасного фарма, покупают предметы для помощи команде. Представители этой группы: Чен, Даззл, Трент Протектор.
- Стойкость (танк). Очень живучие герои, которые могут принять на себя основной урон в битве. К ним относятся, например, Бристлбек, Пудж, Хускар.
- Осада. Могут быстро разрушать вражеские постройки. Для этой цели можно выбрать Фантом Лансера, Лешрака, Фуриона.
- Лес. В начале игры получают опыт и золото не на линии, а в лесу. Немногие могут осилить такую сложную прокачку: Акс, Лайфстилер, Ликан.
Основные атрибуты
Впервые столкнувшись с выбором героя, новичок заметит, что они поделены на три группы. Ниже приведен краткий guide по Dota 2, посвященный этому разделению.
В игре есть три характеристики:
- Сила. Определяет количество и скорость регенерации здоровья.
- Ловкость. Повышает броню и скорость атаки.
- Интеллект. От него зависит объем маны и ее восстановление.
У каждого персонажа есть основной атрибут, по которому его определяют в категорию силачей, ловкачей или интовиков. Прирост основной характеристики, помимо общего эффекта, дает еще и увеличение урона от обычных атак.
Герои с основной характеристикой «сила» отличаются повышенной стойкостью и могут впитывать больше урона, чем остальные. К ним относятся, например: Марс, Свен, Пудж, Хускар, Акс, Алхимик.
Ловкачи обладают высоким уроном и скоростью обычных атак, поэтому могут успешно фармить крипов и убивать членов вражеской команды. Потенциал этих персонажей полностью раскрывается в конце игры, когда куплены необходимые артефакты. В эту группу входят: Снайпер, Урса, Луна, Фантом Лансер, Рики, Нюкс и другие.
Персонажи интеллекта, в основном, типичные маги. Большой запас маны позволяет им делать упор на активные умения, которые часто играют решающую роль в схватке. К классике этой категории относятся: Зевс, Витч Доктор, Лина, Сайленсер, Даззл, Лион.
Помните! Некоторые герои сложны в управлении, требуют игрового опыта и не подходят новичкам.
Начинающим лучше обратиться к гайдам на таких героев Дота 2:
- Хускар (Huskar);
- Свен (Sven);
- Баратрум (Spirit Breaker);
- Урса (Ursa);
- Снайпер (Sniper);
- Рики (Riki);
- Вайпер (Viper);
- Баунти Хантер (Bounty Hunter);
- Зевс (Zeus).
Инди-студия Bit Golem выпустила Dagon — хоррор по мотивам одноименного произведения Говарда Лавкрафта. Главная особенность игры в том, что она абсолютно бесплатна. Забрать ее можно в Steam вот по этой ссылке. Dagon — это короткий получасовой хоррор, который сами разработчики называют «трехмерной мистической повестью». Судя…
Главное событие
Октябрь 07 — 17, 2021
Бухарест, Румыния.
The International 10, или The International 2021 — долгожданный «чемпионат мира» по Dota 2, который наконец-то будет проведен осенью 2021 года. В течение 10 дней, с 7 по 17 октября, 18 лучших команд мира будут сражаться за рекордный призовой фонд и эгиду чемпионов.
В основной стадии турнира примет участие 12 команд со всего мира, которые набрали наибольшее количество DPC-очков за два тура рейтинговых лиг и мейджоров. Остальные 6 участников определяться по итогам квалификаций — через них в итоге пройдет по одному коллективу из каждого региона.
По решению Valve, организаторов турнира, соревнование получит тот призовой фонд, который был собран для прошлогоднего The International, отмененного из-за пандемии COVID-19. Денежная сумма, которую разыграют команды, составит 40 018 195 долларов США.
The International 10 пройдет в LAN-формате в Бухаресте, Румыния.
В финальной части The International 2021 поучаствуют 18 команд