Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Список серверных пакетов
#31
Это говорит о том, что ошибка в пакете PROTOCOL_BASE_GET_USER_INFO_ACK (Auth) скорее всего там где список персонажей. Попробуй снифануть этот пакет с помощью PointShark и сравни блок персонажей (их нужно слать 9 шт даже если у тебя 1 персонаж) с тем, что передаешь.
Ответ
#32
PROGRAMMATOR Написал:Это говорит о том, что ошибка в пакете PROTOCOL_BASE_GET_USER_INFO_ACK (Auth) скорее всего там где список персонажей. Попробуй снифануть этот пакет с помощью PointShark и сравни блок персонажей (их нужно слать 9 шт даже если у тебя 1 персонаж) с тем, что передаешь.

Не мог бы помочь с реализацией пакета PROTOCOL_LOBBY_GET_ROOMLIST_ACK
Он у меня разобран но мне его не реализовать
Ответ
#33
Так приведи листинг того, что реализовано в пакете и укажи, что не получается.
Ответ
#34
PROGRAMMATOR Написал:Так приведи листинг того, что реализовано в пакете и укажи, что не получается.

Скриншоты

Код:
writeH(3078);
            CLogger.getInstance().info("Send: PROTOCOL_LOBBY_GET_ROOMLIST_ACK");
            writeQ(_client.getRooms().Count); //Макс кол-во комнат
            writeD(_client.getRooms().Count); //Создано комнат
            for (int i = 0; i < _client.getRooms().Count; i++)
            {
                Room r = _client.getRooms()[i];
                writeD(_client.getRooms()[i].getRoomId()); //Ид комнаты
                writeS(r.name, 23); // Название комнаты
                writeC((byte)r.map_id); //Карта
                writeC(0); //unk
                writeC(0); //unk
                writeC((byte)r.room_type); //Режим игры (1-Death Match,2-Bomb Mode,3-Destroy, 4-Eleminate, 5-Defense, 6-Sudden Death, 7-Escape, 8-Head Hunter, 9-Head Killer (вроде не работает), 10-Tutorial, 11-Domination, 12-Cross Counter, 13-Convoy, 14-non)
                writeC((byte)r.isBattleInt()); //0-Ожидание, 1-Играют
                writeC((byte)r.getAllPlayers().Count); //Количество игроков в команте
                writeC((byte)r.getSlotCount()); //Макс кол игроков в комнате
                writeC(3); //Пинг
                writeC((byte)r.allweapons); // Weapon Flag
                writeC(0x20);
                writeC((byte)r.special);
                writeC(0x00);
                writeC(0x00);
                writeC(0x00);
                writeC(0x00);
            }
            writeQ(_client.getAllPlayers().Count);
            writeD(_client.getAllPlayers().Count);
            for (int i = 0; i < _client.getAllPlayers().Count; i++)
            {
                Account pl = _client.getAllPlayers()[i];
                writeD(0xb1);
                writeBS("ffffffff");
                writeS("", 17);
                writeH((short)pl.getRank());
                writeS(pl.getPlayerName(), 33);
                writeC(1);
            }
Ответ
#35
Видимо клиенту не проставлен id канала. Проверь, в PROTOCOL_BASE_SELECT_CHANNEL_REQ устанавливается ли channelId. Ну или не создано ни одного канала.
Ответ
#36
Разбор пакета PROTOCOL_ROOM_JOIN_ACK, данные подойдут для PROTOCOL_ROOM_CHANGE_ROOMINFO_ACK и PROTOCOL_ROOM_CREATE_ACK, только удалить те 32 байта, что выделены под слоты (так и не понял для чего они их ввели, но на оффе пока видел только 0).

Код:
/**
             * 00 00 00 00 // result
             * 02 // current slot
             * 00 00 00 00 // id
             * 53 68 6F 77 20 4D 65 20 59 6F 75 72 20 53 6B 69 6C 6C 21 21 00 6E 00 // title
             * 01 00 // stage id
             * 00 // stage small
             * 01 // stage type
             * 06 // state
             * 02 // current accounts
             * 08 // max accounts
             * 05 // main ping
             * 0F // weapon flag
             * 24 // info flag
             * 03 // mode (AI == 3)
             * 00 00 00 00 00 // ?
             * 5A 6F 6E 65 47 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // main account
             * 42 01 00 00 // limit times/rounds
             * 00 // cannot join during match
             * 00 // watch options
             * 02 // team balance
             * 00 // ?

             * // ?
             * 00 00 // first slot
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00
             * 00 00 // last slot

             * 31 31 31 31 // password
             * 00 // ?
             * 00 // main slot
             * 02 // accounts
             * 01 // enemies
             * 01 // difficulty
             * 00 // ?
             */

* main - это хост игрок.
Ответ
#37
Добавил список серверных пакетов Udp сервера, а так же событий передаваемых в данных пакетах.
Будет полезно для тех, кто пишет "off like" сервер с UdpState = 3.

UdpState = 3 может так Smile:

[Изображение: SHMo6.png]
Ответ
#38
PROGRAMMATOR Написал:Добавил список серверных пакетов Udp сервера, а так же событий передаваемых в данных пакетах.
Будет полезно для тех, кто пишет "off like" сервер с UdpState = 3.

UdpState = 3 может так Smile:

[Изображение: SHMo6.png]

Id и Data пакетов бы добавили ещё,а то снифать не очень хочется:redlol:
Ответ
#39
Id = 0x03, 0x04 kappa
Структура динамическая, в зависимости от событий.
Ответ
#40
PROGRAMMATOR Написал:Id = 0x03, 0x04 kappa
Структура динамическая, в зависимости от событий.

Я правильно понял?То что клиент отправил серверу то и разослать игрокам?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Список серверных пакетов [PB] Awiion 22 13,040 02-24-2019, 04:59 PM
Последний пост: bmzproject
  Структура, крипт и декрипт Tcp и Udp пакетов PROGRAMMATOR 22 16,482 11-28-2018, 03:59 AM
Последний пост: AngryKitten
  Список всех доступных карт PROGRAMMATOR 21 11,088 12-06-2016, 01:12 AM
Последний пост: Awiion
  Список умений \ Skills List PROGRAMMATOR 0 3,219 10-23-2016, 01:15 PM
Последний пост: PROGRAMMATOR
  Список предметов \ Item List PROGRAMMATOR 17 7,753 10-10-2016, 04:34 PM
Последний пост: bola
  Список рангов и наград за их получение PROGRAMMATOR 44 13,570 08-22-2016, 01:36 PM
Последний пост: Awiion

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)