Перейти к основному содержимому

Что библиотека не делает

McProtoNet закрывает протокол: соединение, кадры, сжатие, шифрование, чтение и запись пакетов во всех поддержанных версиях. Дальше начинается чужая территория. Вот что придётся писать самому.

Порядок входа на сервер

Handshaking → login → configuration → play библиотека сама не крутит: эта машина состояний живёт в коде приложения. Так сделано намеренно. Серверы с плагинами ведут себя по-разному, и доступ к каждому шагу входа полезнее, чем красивый метод Login(), который однажды упрётся в чужую конфигурацию.

Как это выглядит на практике, показывают «Фазы протокола» и пример MinimalBot в репозитории.

Вход на online-серверы

Шифрование в библиотеке есть целиком, а поход в Mojang за сессией и проверка входа остаются за приложением. Пока проще поднять локальный сервер с online-mode=false.

Игровое поведение

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

Готовых сценариев тоже нет. Ферма, PvP, поиск руды, крафт, торговля с жителями - всё это пишется поверх.

Картинка

Отрисовки мира, окон и кнопок здесь нет. Библиотека работает с байтами и пакетами; если нужен интерфейс, он строится отдельно и поверх.

Всё, что вокруг игры

Библиотека не ходит в сторонние сервисы, не понимает API модов вроде Forge и Fabric и не хранит игровые данные в базе. Такие вещи подключаются рядом, своим кодом.