McProtoNet Help

Класс MinecraftClient

Класс MinecraftClient — это минималистичная обертка над TCP-соединением, предназначенная для передачи пакетов Minecraft-протокола. Он не выполняет обработку пакетов, а лишь отправляет и принимает их, предоставляя низкоуровневый доступ к сетевому взаимодействию.

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

Исходный код: MinecraftClient.cs

Основные методы

ConnectAsync(CancellationToken)

Устанавливает соединение с сервером Minecraft на основе переданных параметров.

SendPacket(IClientPacket, CancellationToken)

Отправляет указанный пакет серверу. Этот метод не является потокобезопасным.

IAsyncEnumerable ReceivePackets(CancellationToken)

Возвращает асинхронный поток пакетов, получаемых от сервера. Важно - пакеты не хранятся в какой очереди, а лишь читаются из сети, когда вызывается MoveNextAsync у IAsyncEnumerator.

Dispose()

Закрывает соединение и освобождает ресурсы.

SwitchEncryption(Span key)

Включает шифрование соединения с использованием переданного ключа.

SwitchCompression(int threshold)

Включает сжатие пакетов, если их размер превышает указанный порог.

Основные настройки

Host

Хост (IP-адрес или доменное имя) сервера Minecraft для подключения.

Port

Порт, используемый для подключения к серверу Minecraft. По умолчанию используется стандартный порт Minecraft — 25565.

Username

Имя пользователя, которое будет использоваться для аутентификации на сервере.

Version

Версия протокола Minecraft, с которой должен работать клиент. Этот параметр используется для обеспечения совместимости с различными версиями сервера.

Proxy?

Прокси-сервер, через который будет осуществляться подключение. Если не указан, подключение происходит напрямую.

ConnectTimeout

Таймаут подключения к серверу. Устанавливает максимальное время ожидания установления соединения.

ReadTimeout

Таймаут чтения данных из сети, измеряется в миллисекундах. Этот параметр определяет, сколько времени клиент будет ожидать данные от сервера.

WriteTimeout

Таймаут записи данных в сеть, измеряется в миллисекундах. Этот параметр определяет, сколько времени клиент будет ожидать успешную отправку данных на сервер.

Last modified: 13 March 2025