Я хочу воссоздать рукопожатие сервера для клиента Minecraft. Как я могу ответить на пинг Клиента с Tcp-сервером. Шаги протокола перечислены прямо здесь. https://wiki.vg/Server_List_Ping#1 .6 Сервер-клиент.
Проверка входящего пакета не важна.
Причина в двух случаях:
- Клиент хочет получить статус сервера (Motd, PlayerCount) с помощью рукопожатия Это пакет с начальным байтом (0xFE)
- Клиент хочет присоединиться (не важно, потому что у меня нет настоящий M C сервер)
Вот почему я хочу отправить пакет HandshakeStatusPacket обратно.
Я пытался отправить это обратно:
output.write(0xFF);
String s = "§1";
s.getBytes(Charset.forName("UTF-16BE"));
ByteBuffer bb = ByteBuffer.allocate(8);
bb.order(ByteOrder.BIG_ENDIAN);
bb.putShort((short) s.length());
output.write((int) '§');
output.write((int) '1');`
Не получается так хорошо ..
Так что мне нужен способ отправить правильный пакет рукопожатия обратно.