Гайд 2 Часть. Теория. Создание читов в майнкрафт

Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2021
Сообщения
833
Реакции[?]
93
Поинты[?]
10K
Всем привет. В предыдущей части мы разобрвли основные понятия Java, OpenGL и LWJGL. В данной теме мы разберем основные понятия читам в майнкрафте, как работают античиты на серверах и какие модули бывают на серверах. Все описано максимально понятно, чтобы каждый понял, что я пишу.

Что такое чит?

Чит — это модификация клиента Minecraft, которая добавляет игроку функционал, недоступный в обычной игре. Такие модификации работают на стороне клиента, вмешиваясь в игровой процесс и выполняя действия за игрока. Например:
  • AutoJump — автоматически прыгает, если игрок двигается.
  • KillAura — атакует ближайших врагов автоматически.
  • Speed — увеличивает скорость передвижения.

Цель чита — либо упростить игру, либо дать преимущество перед другими игроками.

Введение

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

С чем мы столкнёмся:

1. Minecraft API.
- Мы будем работать с методами и классами, которые использует Minecraft. Например, метод player.jump() заставляет игрока прыгать. Однако найти нужные методы может быть сложно, так как код Minecraft состоит из множества классов с запутанными названиями (особенно в декомпилированном виде).

2. Работа с игровым циклом.
- Читы работают, потому что они "встраиваются" в основной цикл игры. Каждую секунду Minecraft обновляет состояние игрока, объектов и мира. Нам нужно будет подключиться к этому процессу, чтобы выполнять наш код.

3. Борьба с античитами.
- Если мы тестируем чит на сервере, сервер может обнаружить аномалии (например, слишком быструю скорость или невозможные действия). Придётся добавлять "защиту" в код чита, чтобы избежать обнаружения.

4. Организация кода.
- Чит — это не одна функция. Это набор модулей (AutoJump, Speed, KillAura и т.д.), которые нужно структурировать и грамотно управлять ими.

Основы создания чита: что нам понадобится?

1. Среда разработки:
- IntelliJ IDEA (лучший вариант) или Eclipse. Это программы, в которых мы будем писать и тестировать код.

2. Инструменты для работы с Minecraft:
- Если мы работаем с версиями до 1.16.5, можно использовать MCP Reborn. Это инструмент, который позволяет декомпилировать код Minecraft'а, изменять его и собирать обратно.
- Для версий 1.17 и выше подходит Fabric — это более современный инструмент, который работает через систему модификаций.

3. JDK:
- Мы пишем чит на Java, поэтому нужно скачать и установить JDK. Рекомендуемая версия — JDK 17.

4. Minecraft API:
- Это встроенные методы и классы Minecraft. С их помощью мы сможем управлять игроком, взаимодействовать с миром, предметами и добавлять функционал.

Как работают модули в чите?

Модули
— это главная часть нашего чита. Каждый модуль отвечает за отдельную функцию: AutoJump, Attack Aura (KillAura), Speed и тд. Чтобы создать чит, нужно построить систему модулей. Рассмотрим, как это работает.

1. Основной принцип работы:
- Каждый модуль имеет своё состояние (включён или выключен).
- Включённые модули обновляются на каждом кадре игры и выполняют свои действия.
- Когда мы выключаем модуль, он перестаёт выполнять свои действия.

2. Из чего состоит модуль?
- Название: Например, "AutoJump".
- Описание: Объясняет, что делает модуль.
- Категория: Модули делятся на категории, например, Combat (бой), Movement (движение), Player (действия игрока).
- Методы:
- onEnable(): Выполняется, когда модуль включается.
- onDisable(): Выполняется, когда модуль выключается.
- onUpdate(): Выполняется на каждом кадре игры.

3. Как работает цикл обновления?
- Minecraft постоянно обновляет своё состояние: перемещение игрока, изменение мира, анимации и т.д.
- Чит подключается к этому циклу и выполняет действия своих модулей.

Как интегрировать наш чит в Minecraft'е?

Интеграция через MCP:
1. Декомпиляция:
- MCP (MCP Reborn) позволяет "раскрыть" код Minecraft и увидеть, как всё работает.
2. Изменение кода:
- Мы можем вставить наш код в классы Minecraft. Например, подключиться к методу runTick(), который отвечает за игровой цикл.
3. Сборка:
- MCP позволяет собрать изменённый клиент Minecraft, чтобы наши изменения применились.

Интеграция через Fabric:
1. Создание мода:
- Fabric позволяет создавать моды, которые работают поверх Minecraft.
2. Mixin:
- Мы будем использовать Mixin, чтобы внедрить наш код в классы Minecraft'а. Это более гибкий и современный способ.

Как работает античит?

Античит
— это система, которая защищает серверы от использования читов. Чтобы написать хороший чит, нужно понимать, как античит выявляет нарушения.

1. Что проверяет античит?
- Скорость передвижения:
- Если игрок движется быстрее, чем это возможно (например, скорость бега превышает 5.6 блоков/сек (BPS - Blocks Per Second), сервер, а то есть античит заподозрит работу чита.
- Частота действий:
- Сервер проверяет, как часто игрок прыгает, атакует или ставит блоки.
- Проверка углов камеры:
- Если камера резко "перескакивает" на врага, сервер может обнаружить использование Attack Aura (Автоматические удары игроков или прочих сущностей).
- Действия в воздухе:
- Если игрок двигается в воздухе без элитры или блоков под ногами, это почти всегда считается читом.

2. Как античит блокирует игрока?
- Кик: Сервер может разорвать соединение, если обнаружит подозрительное поведение.
- Блокировка действий: Например, сервер не разрешит двигаться быстрее определённой скорости.
- Бан: Некоторые серверы (например, Hypixel (noad) и подобные) сразу банят за использование постороннего ПО (Чита).

3. Как обойти античит?
- Рандомизация: Добавляем случайные задержки в наши действия (например, между прыжками или атаками).
- Имитируем игрока: Двигаемся и атакуем так, как это сделал бы человек. (То есть к примеру плавные движения и действия)
- Не превышаем допустимые значения: Например, не увеличиваем скорость выше стандартного спринта.

Трудности, которые возникнут при создании чита

1. Понимание Minecraft API:
- Найти нужные методы и классы может быть сложно, особенно в декомпилированном коде.
- Нам придётся разбираться, какие методы отвечают за прыжки, атаки и взаимодействие с миром.

2. Работа с античитами:
- Даже простой чит, который работает в одиночной игре, может быть быстро обнаружен на сервере.
- Нужно будет тестировать чит и вносить изменения, чтобы обойти защиту.

3. Организация и оптимизация кода:
- Если мы добавим много модулей, код может стать хаотичным. Нужно заранее продумать структуру проекта.

4. Интеграция:
- Внедрить код чита в игровой цикл Minecraft — это технически сложная задача, особенно если мы работаем с новой версией игры. (Например - понять работу рендера новой версии или как работает античит на новых версиях и как его обойти на новой версии Minecraft)

На этом 2 часть нашего гайда (теории) подходит к концу. Если вы прочитали до конца, то наверное вы сможете сделать что-то дальше. Всем удачи.
есть немного полезной инфы, но слижком много повторений бро, ты одно и тоже повторил 3 раза, советую поработать над формулировкой, добавлю от себя что есть 2 типа обновлений, по частоте кадров и по тику, а про Minecraft api скажу что api это документация, а то что почти все называют апи майнкрафта это его исходный код, почти все читы на все игры пишутся используя/взаимодеиствуя методами/функциями из игры, так что думаю глупо называть это апи хоть в чем-то есть схожесть
 
Сверху Снизу