Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Пакет входа в мир

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 06.07.2012, 10:41   #1
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Пакет входа в мир

Интересует последний пакет направления "Сервер => Клиент", который вызывает окончательный вход в мир (респавн персонажа на карте), уже после передачи всей сопутствующей информации.

Был бы очень благодарен за описание, но так как все равно никто не даст, достаточно его опкода

Просто перед входом идет такая куча данных, что определить нужный пакет, который и вызывает переход с экрана ожидания непосредственно в игру, с ходу не получилось

Заранее благодарю за ответы.
________________
PW Emu Development
  Ответить с цитированием
Старый 06.07.2012, 12:51   #2
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Пакет входа в мир

Ты про C48_EnterWorld?

Код:
XX XX XX XX 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XX XX XX XX - Это ID выбранного персонажа, который пересылается в C46.

Если я не ошибаюсь, то после получения списка персонажей порядок пакетов такой:
C46 - выбор персонажа
S47 - подтверждение выбора
C48 - вход в игру


А почему ты написал "сервер => клиент"? Входит в игру то клиент по нажатии на кнопку..
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
PW Everyday Helper Bot
  Ответить с цитированием
Старый 06.07.2012, 13:17   #3
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Re: Пакет входа в мир

N00bSa1b0t, это понятно, все эти пакеты давно сделал.
Клиент передает C48, и на экране висит надпись "ожидание 30 сек".
Вопрос как раз в том, каким пакетом должен ответить сервер, чтобы персонаж вошел на карту. Именно тот самый пакет, где по идее должны быть указаны координаты его появления, и вся остальная сопутствующая информация.
________________
PW Emu Development
  Ответить с цитированием
Старый 06.07.2012, 14:45   #4
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Пакет входа в мир

А, ты эмулятор сервера пишешь, хы..
Насколько я могу судить по дампу, там куча S00 идет..Видимо один из них, реализуй их все по отдельности)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
PW Everyday Helper Bot
  Ответить с цитированием
Старый 06.07.2012, 15:11   #5
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Re: Пакет входа в мир

Именно его и пишу)

И прикол в том, что логи сниффера начиная от С48 каждый раз разные, очередность пакетов меняется 0_0
Большинство из этих пакетов вчера уже разбирал, отсеял пакеты которые явно не относятся к входу, каждый из оставшихся пробовал высылать в ответ (естественно с заменой ключей сессии, аккаунта и чара на свои) - реакции никакой. Знать бы какой именно пакет за это отвечает, мог бы более детально изучать именно его, а так - тычу пальцем в небо

Спросил как раз потому, что возможно кто то уже страдал такой фигней))
Уже есть наброски синхронизации перемещения, есть наброски чата. Но блин, без входа же никуда =)

Был бы еще толковый сниффер, а то мой написан на скорую руку, часто крашится, + консольный))) Пандора, блин, работать не хочет ну никак, сколько бы я её не мучал
________________
PW Emu Development

Последний раз редактировалось faantoom; 06.07.2012 в 15:13.
  Ответить с цитированием
Старый 06.07.2012, 15:47   #6
 Разведчик
Аватар для samosi
 
samosi на правильном путиsamosi на правильном пути
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 192
Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
 
По умолчанию Re: Пакет входа в мир

хМ могу привести пример только на C#
Код:
public byte[] OnEnterWorld(Pocket pocket)
        {
            Octet answ = new Octet(true);
            answ.Marshal(HexParser.GetBytes("00808C"));
            answ.Marshal(HexParser.GetBytes("2225240800"));
            answ.Marshal((int)0);
            answ.Marshal((int)0);
            answ.Marshal(id);
            answ.Marshal(coords[0]);
            answ.Marshal(coords[1]);
            answ.Marshal(coords[2]);
            answ.Marshal(HexParser.GetBytes("FEF20000770000400000"));
            answ.Marshal(HexParser.GetBytes("221F1E0400"));
            answ.Marshal((short)1);
            answ.Marshal(id);
            answ.Marshal(coords[0]);
            answ.Marshal(coords[1]);
            answ.Marshal(coords[2]);
            answ.Marshal(HexParser.GetBytes("FEF20000770000400000"));
            answ.Marshal(HexParser.GetBytes("221312CE0001000000D638F74C02A74247DCB7A546"));
            answ.Marshal(HexParser.GetBytes("2205040A000000"));
            answ.Marshal(HexParser.GetBytes("22050409000000"));
            //answ.Marshal(HexParser.GetBytes("220302A400"));//enter safe zone
            answ.Marshal(HexParser.GetBytes("220302A500"));//leave safe zone
            answ.Marshal(HexParser.GetBytes("2203020B01"));
            answ.Marshal(HexParser.GetBytes("2207062001FFFFFFFF"));
            answ.Marshal(HexParser.GetBytes("220C0B0501"));//88
            answ.Marshal((byte)0);//89
            answ.Marshal(DateTime.Now);//93
            answ.Marshal((int)1 * 60); //замок
            return answ.GetBytes();
        }

        public byte[] OnSelectRole(Pocket pocket)
        {
            Octet data = new Octet(pocket.data);
            int id = (int)data.UnMarshalUInt32();
            this.id = id;
            int index = Program.gamedb.LoadRole(id);
            coords = Program.gamedb.GetCoords(id);
            Console.WriteLine("Role with id " + id + " entering world");
            return new byte[] { 0x47 ,0x26 ,0x00 ,0x00 ,0x00 ,0x00 ,0x21 ,0x00 ,0x01 ,0x02 ,0x03 ,0x04 ,0x05 ,0x06 ,0x07 ,0x08
            ,0x09 ,0x0A ,0x0B ,0x64 ,0x65 ,0x66 ,0x67 ,0x68 ,0x69 ,0xC8 ,0xC9 ,0xCA ,0xCB ,0xCC ,0xCD ,0xCE
            ,0xCF ,0xD0 ,0xD1 ,0xD2 ,0xD3 ,0xD4 ,0xD5 ,0xD6 };
            //Вроде как гм права

        }
  Ответить с цитированием
Старый 06.07.2012, 16:25   #7
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Re: Пакет входа в мир

samosi, вау) не ожидал что прям так всю структуру выложат. Спасибо большое, ткнуть спасибку не могу, видимо постов не хватает. Со временем, как набьются, ткну))
________________
PW Emu Development
  Ответить с цитированием
Старый 06.07.2012, 16:59   #8
-= Элитный Мастер =-
 Главнокомандующий
Аватар для Kitsune
 
Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
 
По умолчанию Re: Пакет входа в мир

Цитата:
Сообщение от faantoomПосмотреть сообщение
Интересует последний пакет направления "Сервер => Клиент", который вызывает окончательный вход в мир

Клиенту нужен не один пакет, а много. Большинство идет в S00, который сразу за 0x48, а остальные далеко после первого контейнера.
Как правило, финальной чертой является 0x0069-GetUIConfigRe. Клиент в свою очередь предварительно посылает: 0x0068-GetUIConfig
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
  Ответить с цитированием
Старый 06.07.2012, 18:09   #9
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Re: Пакет входа в мир

Хмм, вот даже как... Сложно, однако. Cостарюсь пока все пакеты разберу
________________
PW Emu Development
  Ответить с цитированием
Старый 07.07.2012, 10:09   #10
 Разведчик
Аватар для samosi
 
samosi на правильном путиsamosi на правильном пути
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 192
Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
 
По умолчанию Re: Пакет входа в мир

хМ написать сервер легче нежели клиент.
  Ответить с цитированием
Старый 07.07.2012, 13:26   #11
 Старший сержант
Аватар для N00bSa1b0t
 
N00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядомN00bSa1b0t в состоянии испепелить взглядом
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
 
По умолчанию Re: Пакет входа в мир

Цитата:
Сообщение от samosiПосмотреть сообщение
написать сервер легче нежели клиент

Не думаю.
Ведь обсчет почти всей логики игры (перемещение, бои, скиллы, квесты, движения мобов, реакция мобов, торговля, аукцион итп итд) лежит на сервере. А клиент это дело только отображает и посылает команды юзера.

Конечно, написать полный эмулятор сервера и полноценный альтернативный клиент - это довольно тяжелые задачи. Однако, смысла писать полноценный клиент нет - достаточно эмулировать некоторые функции - и получим котобота, котоскана, аукскана и прочие радости жизни.
А вот написать полноценный сервер это прикольно, можно будет ввести какие-нибудь свои фишки, и не зависеть от появление в паблике новых версий сервера.
Однако, алгоритмы расшифровки и сниффинга пакетов уже сколько времени в паблике? Но пока нормальных серверов что-то не видно.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
PW Everyday Helper Bot
  Ответить с цитированием
Старый 07.07.2012, 14:01   #12
 Разведчик
Аватар для faantoom
 
faantoom никому не известный тип
Регистрация: 03.04.2011
Сообщений: 2
Популярность: 18
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 4 сообщениях
Отправить сообщение для faantoom с помощью Skype™
 
По умолчанию Re: Пакет входа в мир

Цитата:
Сообщение от samosiПосмотреть сообщение
хМ написать сервер легче нежели клиент.

Просто сервер (скелет) написать легко. Вполне работоспособный логин, и структуру гейма я написал примерно за час. Базовую логику (перемещение, чат, и еще кое-какие вещи) тоже сделать не так сложно, если располагать информацией о структуре пакетов, и механике расчета игровых ситуаций. Но игра ведь не ограничивается чатом и перемещением, есть еще множество других вещей, уже посложнее - таких как спавн, скилы, внешность, различные контроллеры статов (хп, мп, и т.д.), взаимодействие с другими персами/мобами, итемы - каждый со своими дополнениями и функциями, и т.д.
Основная сложность тут не в том чтобы просто сделать логику, а в количестве вещей которые нужно реализовать, учитывая то, что информации о пакетах в шаре почти нет. Заниматься разбором всех этих пакетов, для всех игровых ситуаций, а потом в одиночку их реализовать - вот это на мой взгляд основная сложность. В любом случае, это работа не для одного человека. Но будем стараться
________________
PW Emu Development
  Ответить с цитированием
Старый 07.07.2012, 16:01   #13
 Разведчик
Аватар для samosi
 
samosi на правильном путиsamosi на правильном пути
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 192
Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
 
По умолчанию Re: Пакет входа в мир

Я сам разабрал 30% игровой логики в сервере, теперь же меня это не интересует так как решил занаца написание как сказал N00bSa1b0t
Цитата:
котобота, котоскана, аукскана и прочие радости жизни.

  Ответить с цитированием
Старый 07.07.2012, 16:48   #14
-= Элитный Мастер =-
 Главнокомандующий
Аватар для Kitsune
 
Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
 
По умолчанию Re: Пакет входа в мир

Цитата:
Сообщение от faantoomПосмотреть сообщение
В любом случае, это работа не для одного человека. Но будем стараться

Возьмем идеальные условия:
1. Команда от 4 человек
2. Все члены команды профессиональные разработчики, с богатым опытом создания игровых серверов.
3. У всех членов команды есть обширные знания и умения в сфере реверс-инжиниринга.
4. На руках всегда есть актуальный оригинальный китайский сервер.

Учитывая объем работы, могу смело сказать, что за год разработки (5/2 с 9 до 18) они смогут предоставить открытую бету (тоесть для публичного тестирования(с ограниченным функционалом соответственно)) и не более. Еще как минимум полгода до завершения.

С учетом того, что ниодно из этих условий не выполняется в данный момент - это "мероприятие" затянется, а затем будет брошено в состоянии зародыша.

Цитата:
Сообщение от samosiПосмотреть сообщение
Я сам разабрал 30% игровой логики в сервере

Смех да и только. Как вы измерили эти 30%? Вы себе даже представить не можете на сколько там много скрытых от игрока параметров, формул и моделей поведения в разных ситуациях.
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.

Последний раз редактировалось Kitsune; 07.07.2012 в 16:51.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] нет входа на карту. -=ShoN=- Общение и обсуждение 10 27.06.2011 10:52
[Помогите!] Проблемы входа. Naike Общение и обсуждение прочих игр 0 11.03.2011 15:56

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 23:34.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net