Всем привет. В предыдущей части мы разобрвли основные понятия 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 часть нашего гайда (теории) подходит к концу. Если вы прочитали до конца, то наверное вы сможете сделать что-то дальше. Всем удачи.