Skip to content
Wranked1Public

About

Бот, который сам играет в блок в DDNet · A bot that plays block in DDNet by itself. Windows, один exe / one exe, RU · EN.

Topics

Resources

Security policy

Stars

54 stars

Watchers

0 watching

Forks

Repository files navigation

DDNet AI

Бот, который сам играет в блок в DDNet

Кидает хук, бьёт молотом, закидывает соперников во фриз и выбирается из него.
Каждый ход он проверяет в настоящей физике игры, 25 раз в секунду.

Русский · English · Сайт проекта

Windows 10 и 11 DDNet 20 Electron 44

Быстрый старт · Окно · Как он играет · Управление · Вопросы

Окно DDNet AI: бот дерётся на карте Copy Love Box

Быстрый старт

Caution

Официальный DDNet AI распространяется только через этот репозиторий и его GitHub Releases. Сборки из Telegram, Discord, файлообменников и других репозиториев не являются официальными и могут быть изменены третьими лицами. Если файл получен не отсюда — не запускай его. Для релизов публикуется SHA256SUMS.txt; проверяй хеш перед запуском.

  1. Скачай ddnet-ai.zip из последнего релиза и распакуй в любую папку.
  2. Дважды щёлкни DDNet AI.exe.

Больше ничего ставить не нужно: окно и Node.js уже внутри. Окно само перезапускает бота, если тот упал, и обновляет его.

Note

У DDNet AI.exe нет цифровой подписи, поэтому в первый раз Windows может показать «Система Windows защитила ваш компьютер». Нажми «Подробнее», затем «Выполнить в любом случае».

Бот спросит ник, клан и скин, а потом пойдёт играть. Поле сервера можно оставить пустым: бот сам зайдёт на самый живой блок-сервер без пароля и перейдёт на другой, если этот опустеет. Ответы сохраняются в settings.json, и в следующий раз он зайдёт на сервер сам.

Окно говорит по-русски и по-английски: язык берётся из системы и меняется в настройках (Настройки, Приложение, Язык). Страница бота, его ответы и консоль переходят на тот же язык.

Linux и macOS

Поставь Node.js 24 или новее и запусти ./run.sh из папки бота. Страница бота откроется в браузере на http://localhost:7777, а в консоли можно писать команды. Окно-приложение пока собирается только для Windows.

Окно

Бот тащит соперника хуком на Copy The Box TF Таблица игроков поверх игры
Игра в графике DDNet: скины, хук, фриз, ники над игроками Таблица игроков, лента заморозок, пинг
Список серверов DDNet Настройка при первом запуске
Сервера DDNet с поиском по карте, режиму и нику игрока Первый запуск: пара полей, и бот идёт играть
  • Игра как в клиенте. Карта, скины, хук, молот и эмоции рисуются графикой из твоей установки DDNet. Камера следит за ботом или за любым игроком.
  • Сервера. Весь список DDNet с поиском, фильтрами и избранным. Кнопка «Играть здесь» переносит бота на выбранный сервер.
  • Пауза отовсюду. Из окна, из трея, с миниатюры в панели задач и клавишами Ctrl+Shift+F9 из любой программы, даже из самой игры.
  • Тима, вары и игнор. У каждого игрока сервера кнопки: «тима» (бот его не трогает), «вар» (бьёт всегда), «игнор» (не трогает и не отвечает). Те же списки, что у !friend, !war и !ignore.
  • Кнопки за бота. F3 и F4 голосуют за него, кнопками он делает /kill, уходит в наблюдатели, показывает эмоцию или ставит голосование сервера.
  • Мини-режим. Маленькое окно поверх всех, чтобы смотреть за ботом, пока играешь сам.
  • Лог и уведомления. Бот отключился, вернулся на сервер, обновился: окно скажет.
  • Отчёт об ошибке. Кнопка «Собрать отчёт об ошибке» складывает клипы, память карт и выбранные демки в один zip на рабочем столе. Пароль сервера туда не попадает.

Мини-режим
Мини-режим поверх игры

Как он играет

Бот держит у себя копию физики DDNet 20 и на каждом шаге прогоняет в ней десятки вариантов на полсекунды вперёд: куда бежать, когда прыгнуть, куда и когда кинуть хук, когда ударить. Выбирает тот, после которого соперник ближе к фризу, а сам бот дальше от него.

Хук с дистанции кидает хук издалека, как сильные игроки, а не подходит вплотную
Держит и тащит ведёт соперника на хуке к фризу и добивает молотом
Учитывает пинг прокручивает мир вперёд на свою задержку, с учётом нажатий, которые уже летят на сервер
Выбирает цель не держится за уже замороженного, когда рядом есть свободный
Выбирается сам если застрял во фризе и никто не спасает, делает /kill

Note

Бот не видит экран и ничего не нажимает за тебя. Это отдельный игрок: он заходит на сервер сам, как обычный клиент, и ты можешь в это время играть в DDNet на том же компьютере.

Управление

Клавиши Что делают
Ctrl+Shift+F9 пауза и продолжение из любой программы (меняется в настройках)
F3, F4 голос за / против от бота, когда окно бота в фокусе
Esc закрыть панель серверов или настроек
двойной щелчок по заголовку развернуть окно
Команды бота

Пишутся в строке команд окна или в консоли. В игровой чат они не уходят. Всё, что написано без !, бот скажет в чат от своего имени.

Команда Что делает
!stop, !go остановиться / продолжить
!mode fight, passive, hold драться / никого не трогать / держать позицию
!target <ник>, !target - драться только с этим игроком / снять
!war <ник>, !friend <ник>, !ignore <ник> бить всегда / не трогать / не трогать и не отвечать
!clanwar <клан>, !clanfriend <клан> то же по клану
!home <x> <y> куда возвращаться, когда драться не с кем
!goto tele, !goto <x> <y> дойти до телепорта или до точки
!clip [заметка] сохранить последние 30 секунд игры в файл
!stats, !where счётчики / где бот и с кем дерётся
!emote <имя> показать эмоцию
!yes, !no, !votes, !vote <имя> голос как F3 / F4, список голосований сервера, поставить одно
!spec, !join в наблюдатели / обратно в игру
!kill, !reset убиться и возродиться
!lang ru, !lang en язык консоли и страницы бота
!quit выйти

Обновление

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

Вопросы

Бот сам прыгнул во фриз или играет странно. Как помочь?

Щёлкни значок в трее и выбери «Собрать отчёт об ошибке». На рабочем столе появится zip с клипами, в которых видно, что пошло не так. Если писал демку, добавь её туда же.

Нужна ли видеокарта?

Нет. Бот считает на процессоре, окну хватает любой видеокарты.

Сервер с паролем?

Впиши пароль при первом запуске или в настройках. Он хранится только на твоём компьютере и стирается, когда переходишь на другой сервер.

Где настройки и записи?
Путь Что там
settings.json сервер, ник, клан, скин, язык
runs/clips записи моментов игры
runs/memory что бот запомнил о картах
app-win само окно (Electron), его запускает DDNet AI.exe

Лицензия

GPL-3.0 (файлы LICENSE и NOTICE). Бота можно запускать, изучать и переделывать. Но кто выкладывает свою версию, изменённую или нет, обязан указать этот проект как исходный и открыть свой код под той же лицензией. Физика, перенесённая из DDNet, остаётся под лицензией DDNet (zlib), библиотеки под своими.

Благодарности

  • DDNet и Teeworlds: физика бота перенесена из исходников DDNet 20 (лицензия zlib), а графику и звуки окно берёт из твоей установки игры. На скриншотах графика DDNet (CC-BY-SA 3.0).
  • Electron (MIT) и значки Lucide (ISC).

About

Бот, который сам играет в блок в DDNet · A bot that plays block in DDNet by itself. Windows, один exe / one exe, RU · EN.

Topics

Resources

Security policy

Stars

54 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages