Server>Client Packets - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Описание темы:что это...

Ответ
Опции темы
Непрочитано 18.06.2013, 23:48   #1
Аватар для Astend
Пользователь

Автор темы (Топик Стартер) Server>Client Packets

Заинтересовался пакетами l2 севрера. Буду рад любой помощи.

Вот нашол интересную статейку: http://unicore.su/index.php?showtopic=139

Но вопросов всеравно осталось много:
Переопределенный метод:
Код HTML:
@Override
		protected void writeImpl()
Что его считывает?
Куда сохраняются значения writeD(),writeС(),writeS?
и что они вообще означают?
Причем там байт код?
Как создавать элементарные пакеты?
и т.д.

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

Логин-сервер обрабатывает пакеты:
0x00 - RequestAuthLogin (запрос на авторизацию - содержит логин и пароль)
0x02 - RequestServerLogin (запрос на заход на сервер)
0x05 - RequestServerList (запрос на список серверов)
Клиентом же обрабатываются
пакеты следующих типов:
0x01 - авторизация не прошла
0x03 - вы успешно авторизованы
0x04 - ответ на RequestServerLogin
0x06 - ответ на RequestServerList

как? откуда он про это узнал?

в общем, у меня темнота.

буду рад абсолютно любой точной информации.
Заранее спасибо.

извините если не в тот раздел написал.
__________________
Сижу на zone-game, помогаю и напрягаю других.

Последний раз редактировалось Astend; 19.06.2013 в 00:09. Причина: забыл дописать
Astend вне форума Ответить с цитированием
Непрочитано 19.06.2013, 00:07   #2
Аватар для [STIGMATED]
Супергерой

По умолчанию Re: Server>Client Packets

Советую почитать о примитивном обмене данными между клиентом и сервером.

Если вы не понимаете этого
Цитата:
Куда сохраняются значения writeD(),writeС(),writeS?
то вы слишком рано туда полезли.
__________________
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
[STIGMATED] вне форума Отправить сообщение для [STIGMATED] с помощью Skype™ Ответить с цитированием
Непрочитано 19.06.2013, 09:34   #3
Аватар для Ashe
Олдфаг

По умолчанию Re: Server>Client Packets

Цитата:
Сообщение от Astend Посмотреть сообщение
Но вопросов всеравно осталось много:
Переопределенный метод:
Код HTML:
@Override
		protected void writeImpl()
Что его считывает?
Куда сохраняются значения writeD(),writeС(),writeS?
и что они вообще означают?
Причем там байт код?
Как создавать элементарные пакеты?
и т.д.
Для понимания того, как устроена сеть в l2j необходимо понимать, как вообще устроены сети. Тут необходимо почитать теорию и "пописать своих велосипедов" для хорошего освоения. Объяснять данный момент бесполезно, имхо.

Цитата:
Сообщение от Astend Посмотреть сообщение
Самый главный вопрос это где можно просмотреть название всех пакетов, и где просмотреть за что это каждый пакет отвечает?
Вот например в статье говориться

Логин-сервер обрабатывает пакеты:
0x00 - RequestAuthLogin (запрос на авторизацию - содержит логин и пароль)
0x02 - RequestServerLogin (запрос на заход на сервер)
0x05 - RequestServerList (запрос на список серверов)
Клиентом же обрабатываются
пакеты следующих типов:
0x01 - авторизация не прошла
0x03 - вы успешно авторизованы
0x04 - ответ на RequestServerLogin
0x06 - ответ на RequestServerList

как? откуда он про это узнал?

в общем, у меня темнота.

буду рад абсолютно любой точной информации.
Заранее спасибо.

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

На вопрос "как?" ответить парой строчек не получится. Скажу только, что для этого нужно реверсить клиент и очень хорошо разбираться в отладчиках, ASM'e и вообще иметь понимание того, как устроена работа сетей. Именно таким образом было установлено, что протокол l2 работает со следующими типами данных:

Код:
char   – может принимать значение от -128 до 127. Имеет длину 1 байт
short  – может принимать значение от -32768 до 32767. Имеет длину 2 байта
int    – может принимать значение от -2147483648 до 2147483647. Имеет длину 4 байта
int64  – может принимать значение от -9223372036854775808 до 9223372036854775807. Имеет длину 8 байт.
float  – может принимать значение от 2.22507e-308 до 1.79769e+308. Имеет длину 8 байт
string – текстовая строка в юникоде(UTF8). Каждая буква представлена двумя байтами, первый байтом код буквы, а второй –
	 номер кодовой таблицы. Индикатором конца строки служит символ с кодом 0.
Да, да. Это те самые writeD(), writeC(), writeS(). Из них формируется пакет. Пакет содержит некоторую структуру. Структура берётся опять же из клиента.
__________________
Fortuna - non penis, in manus non recipe.
Ashe вне форума Ответить с цитированием
Непрочитано 19.06.2013, 09:56   #4
Аватар для darkevil

По умолчанию Re: Server>Client Packets

Цитата:
Сообщение от Astend Посмотреть сообщение
Заинтересовался пакетами l2 севрера. Буду рад любой помощи.

Вот нашол интересную статейку: http://unicore.su/index.php?showtopic=139

Но вопросов всеравно осталось много:
Переопределенный метод:
Код HTML:
@Override
		protected void writeImpl()
Что его считывает?
Куда сохраняются значения writeD(),writeС(),writeS?
и что они вообще означают?
Причем там байт код?
Как создавать элементарные пакеты?
и т.д.

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

Логин-сервер обрабатывает пакеты:
0x00 - RequestAuthLogin (запрос на авторизацию - содержит логин и пароль)
0x02 - RequestServerLogin (запрос на заход на сервер)
0x05 - RequestServerList (запрос на список серверов)
Клиентом же обрабатываются
пакеты следующих типов:
0x01 - авторизация не прошла
0x03 - вы успешно авторизованы
0x04 - ответ на RequestServerLogin
0x06 - ответ на RequestServerList

как? откуда он про это узнал?

в общем, у меня темнота.

буду рад абсолютно любой точной информации.
Заранее спасибо.

извините если не в тот раздел написал.
Может быть вам поможет в ваших начинаниях.
http://fursoffers.narod.ru/Packets.htm
__________________
darkevil вне форума Отправить сообщение для darkevil с помощью ICQ Отправить сообщение для darkevil с помощью Skype™ Ответить с цитированием
Непрочитано 22.06.2013, 19:00   #5
Аватар для Astend
Пользователь

Автор темы (Топик Стартер) Re: Server>Client Packets

Спасибо за интересную информацию.
__________________
Сижу на zone-game, помогаю и напрягаю других.
Astend вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Clent packets elastic Lineage II 2 21.10.2012 16:33
Нужна помощь по l2jfree nelegal Lineage II 9 20.12.2009 04:29


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 19:25. Часовой пояс GMT +3.

Вверх