Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   TERA (https://forum.zone-game.info/forumdisplay.php?f=182)
-   -   Шара Исходников эмулятора Tera от Diagod (https://forum.zone-game.info/showthread.php?t=19180)

DiagoD 07.04.2012 18:37

Шара Исходников эмулятора Tera от Diagod
 
В общим выкладываю все это дерьмо в шару...

Примерно год назад, мб и чуть больше когда было ОБТ Теры я начал ее долбить, в архиве есть веб часть двух вариантов и все они хлам не нужный, еще там есть логин сервер, он какашный, так же есть и гейм сервер, он тоже какашный...Делалось все по аналогии л2 сервера, собственно на то время у меня были не на столько сильные знания, что бы с полного ноля все сделать...

По сути то ЛС и ГС работают только они там толе на 105 то ли на 120 протокол(я называю именно это протоколами, некоторые ревизии с СВНа называют протоколами но это бред, я называю по номеру установленного обновления) в любом случае они ОЧЕНЬ старые и работать оно не будет с новым клиентом...Максимум это можно соединится к ЛС и увидеть список серверов...

Самое главное, что здесь можно выдрать то это логику ТСП и крипт\декрипт пакетов...

Хотя благодаря некоторым людям данные сорсы разошлись по рукам(я насчитал 5 групп) и все кто с ними работают вообще ничего не изменили(в плане костылей которые тут), а продолжили лепить дальше, 2 группы даже не плохо продвинулись.
Так, что это свидетельствует о том, что можно и эти сорсы продолжать пилить, нужно всего лишь заново пакеты разобрать и узнать их опкоды...

Короче вот сорсы, надеюсь будут люди которым это очень сильно поможет или еще лучше откроется какой-то опен-соурсе проект)))

Пароль: open-team.ru
Скачать
Снифы

P.S. На других порталах не желательно выкладывать, а то Ашот будет шатать ваши ПК:D
P.S.S. Декрипт пакетов не мой.

linliss 07.04.2012 18:55

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 176284)
Хотя благодаря некоторым людям данные сорсы разошлись по рукам(я насчитал 5 групп) и все кто с ними работают вообще ничего не изменили(в плане костылей которые тут), а продолжили лепить дальше, 2 группы даже не плохо продвинулись.

сколько лет прошло, а ничего не меняется:redlol:

VISTALL 07.04.2012 19:17

Re: Шара Исходников эмулятора Tera от Diagod
 
нажал спасибо, ибо скачал, незнаю зачем но всеже, мож пригодится) но разбор как и логика ужасна это так)

hex1r0 07.04.2012 20:22

Re: Шара Исходников эмулятора Tera от Diagod
 
спасибо, посмотрю на досуге.

DiagoD 07.04.2012 20:31

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от VISTALL (Сообщение 176298)
нажал спасибо, ибо скачал, незнаю зачем но всеже, мож пригодится) но разбор как и логика ужасна это так)

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

Я думаю самое ценное это крипт и то как работает обмен пакетами в этой куча хлама)
Все остальное конечно на свалку, а ну и еще спасибо Vial за его фичу для опкодов, в тере она пригодится так как у них рас в N-е время меняются все опкоды)

darkevil 07.04.2012 21:12

Re: Шара Исходников эмулятора Tera от Diagod
 
Спс Diagod, хоть и забил на теру, но в мемориз шару заберу.
:db:

Mangol 07.04.2012 21:55

Re: Шара Исходников эмулятора Tera от Diagod
 
Хоть и никогда не занимался Терой но + поставлю мб пригодиться когда нибудь.

Volond1 07.04.2012 21:56

Re: Шара Исходников эмулятора Tera от Diagod
 
Сенкс пополнил коллекцию, ыыы.

Mangol 07.04.2012 22:06

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Volond1 (Сообщение 176334)
Сенкс пополнил коллекцию, ыыы.

Пополнил ставь + )))

Ronn-l2f 22.04.2012 10:14

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 176284)
В общим выкладываю все это дерьмо в шару...
Хотя благодаря некоторым людям данные сорсы разошлись по рукам(я насчитал 5 групп) и все кто с ними работают вообще ничего не изменили(в плане костылей которые тут), а продолжили лепить дальше, 2 группы даже не плохо продвинулись.

Вот и нашел истоки сборки, которую почти полностью пришлось переписать

DiagoD 22.04.2012 13:35

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 181051)
Вот и нашел истоки сборки, которую почти полностью пришлось переписать

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

Ronn-l2f 22.04.2012 13:50

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 181094)
Та там не переписывать нужно, а заново все писать)
Там только пакетную часть можно было оставить но и то ее нужно подправить ибо там я наделал кучу мусора.

Ну в итоге полностью с 0 была и переписана, только крипт остался (:
http://s52.radikal.ru/i135/1204/6d/492fd41f6e3b.png

Aquanox 27.04.2012 17:21

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 181097)
Ну в итоге полностью с 0 была и переписана, только крипт остался (:
http://s52.radikal.ru/i135/1204/6d/492fd41f6e3b.png

Хоть бы чуток кода показал. Package'ы переименовать любой может :]

Например пример класса пакета (интересно как вы сделали чтение / запись больших пакетов)

P.S. можно и в личку ответить =)

shocked 27.04.2012 17:27

Re: Шара Исходников эмулятора Tera от Diagod
 
На хабре часто читал критику, мол классы-пакеты - это зло. А какие есть альтернативы этому интересно ?

Ro_0TT 27.04.2012 17:28

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от j4ckTheRipp (Сообщение 183173)
На хабре часто читал критику, мол классы-пакеты - это зло. А какие есть альтернативы этому интересно ?

Там где читали - там и ищите, и вообще, не по теме пишите.

Ronn-l2f 29.04.2012 00:42

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от j4ckTheRipp (Сообщение 183173)
На хабре часто читал критику, мол классы-пакеты - это зло. А какие есть альтернативы этому интересно ?

альтернатива нио2, за счет асинхронности и использования группы потоков, можно многие действия выполнять в том же потоке, но мне кажется, всеравно пакеты классами лучше обрабатывать :)

Добавлено через 2 минуты
Цитата:

Сообщение от Aquanox (Сообщение 183172)
Хоть бы чуток кода показал. Package'ы переименовать любой может :]

Например пример класса пакета (интересно как вы сделали чтение / запись больших пакетов)

P.S. можно и в личку ответить =)

а есть что-то эффективнее ByteBuffer'а? другое дело что в сурсах диагода, крайне неэффективная запись write*S(), что естественно было исправлено + крайне тормознутое НИО в целом, который пришлось тоже переписывать

VISTALL 29.04.2012 02:24

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183460)
альтернатива нио2, за счет асинхронности и использования группы потоков, можно многие действия выполнять в том же потоке, но мне кажется, всеравно пакеты классами лучше обрабатывать :)

Добавлено через 2 минуты

а есть что-то эффективнее ByteBuffer'а? другое дело что в сурсах диагода, крайне неэффективная запись write*S(), что естественно было исправлено + крайне тормознутое НИО в целом, который пришлось тоже переписывать

:redlol:переписаное в ищо тормознее?

куда эффективней ByteBuffer - в каком плане? он эффективен если юзать правильно

Ronn-l2f 29.04.2012 02:43

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от VISTALL (Сообщение 183485)
:redlol:переписаное в ищо тормознее?

как вам угодно
Цитата:

Сообщение от VISTALL (Сообщение 183485)
куда эффективней ByteBuffer - в каком плане? он эффективен если юзать правильно

вообще-то мой пост и говорит о том, что байтбуффер эффективный способ записи/чтения пакетов

Aquanox 29.04.2012 09:27

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183460)
альтернатива нио2, за счет асинхронности и использования группы потоков, можно многие действия выполнять в том же потоке, но мне кажется, всеравно пакеты классами лучше обрабатывать :)

Добавлено через 2 минуты

а есть что-то эффективнее ByteBuffer'а? другое дело что в сурсах диагода, крайне неэффективная запись write*S(), что естественно было исправлено + крайне тормознутое НИО в целом, который пришлось тоже переписывать

Цитата:

Сообщение от Ronn-l2f (Сообщение 183487)
как вам угодно

вообще-то мой пост и говорит о том, что байтбуффер эффективный способ записи/чтения пакетов

Netty ChannelBuffer в разы превосходит BB. Экстремально простая запись чтение, навигация по буферу. Основа сети тоже на Netty у меня например.

Mind 29.04.2012 09:30

Re: Шара Исходников эмулятора Tera от Diagod
 
Честно говоря, не нашел в шаре ничего интересного. Как минимум потому - что даже взяв за основу эти исходники, придется как минимум переписать сотую часть всей работы.

Ronn-l2f 29.04.2012 09:35

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Aquanox (Сообщение 183497)
Netty ChannelBuffer в разы превосходит BB. Экстремально простая запись чтение, навигация по буферу. Основа сети тоже на Netty у меня например.

А вот Netty не проникся, а вот нормально написанное нио, отрабатывает прекрасно

DiagoD 29.04.2012 11:58

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 181097)
Ну в итоге полностью с 0 была и переписана, только крипт остался (:

Кстати, ваши колеги мб и говорят, что с 0 вся переписали но на самом деле это же не так, видно это по вашему скрину)))

P.S. Сказано не в упрек)


Цитата:

Честно говоря, не нашел в шаре ничего интересного. Как минимум потому - что даже взяв за основу эти исходники, придется как минимум переписать сотую часть всей работы.
Без условно, переписывать здесь нужно все.
Но все же есть вещи которые будут полезными.


Цитата:

а есть что-то эффективнее ByteBuffer'а? другое дело что в сурсах диагода, крайне неэффективная запись write*S(), что естественно было исправлено + крайне тормознутое НИО в целом, который пришлось тоже переписывать
на счет тормознутое это довольно таки спорный вопрос, на нем сидят все л2 сборки и никто не жалуется, другое дело, что у меня там куча лишнего была, а так же через Ж сделанного)

Ronn-l2f 29.04.2012 12:24

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 183527)
Кстати, ваши колеги мб и говорят, что с 0 вся переписали но на самом деле это же не так, видно это по вашему скрину)))

переписывал я
Цитата:

Сообщение от DiagoD (Сообщение 183527)
на счет тормознутое это довольно таки спорный вопрос, на нем сидят все л2 сборки и никто не жалуется, другое дело, что у меня там куча лишнего была, а так же через Ж сделанного)

при writeDS() конечно создавать промежуточный массив байтов + байтбуфер в который записывать в обратном порядке, а затем его вставлять в основной, это очень эффективно, ок

DiagoD 29.04.2012 12:29

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183531)
переписывал я

при writeDS() конечно создавать промежуточный массив байтов + байтбуфер в который записывать в обратном порядке, а затем его вставлять в основной, это очень эффективно, ок

вот это я и имел виду когда писал
Цитата:

другое дело, что у меня там куча лишнего была, а так же через Ж сделанного
Само собой, что то было лишнее.

На замену этому:
Цитата:

ByteBuffer siz = ByteBuffer.wrap(new byte[4]).order(ByteOrder.LITTLE_ENDIAN);
siz.clear();
siz.putInt(value);
siz.flip();
getByteBuffer().put(siz);
будет идеальным вариантом

Код:

getByteBuffer().put(Integer.reverse(value));

Ronn-l2f 29.04.2012 12:34

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 183533)
вот это я и имел виду когда писал

а как насчет исполнение клиентских пакетов? или про запись серверных?
твой подход к накапливанию клиентских пакетов перед исполнением и запись по 1 серверному пакету из очереди на клиента за проход, сразу оукалось при более менее частом обмене пакетов
П.С. не знаю что там за великие л2 сборки работают по той же схеме, но у л2ф нио куда шустрее, а у оверворда вообще нетти

kolobrodik 29.04.2012 12:44

Re: Шара Исходников эмулятора Tera от Diagod
 
У Overworld на Netty разве что Telnet сервер и то собран он из примеров на офф. сайте netty.io.
(По крайней мере в шарных исходах)

DiagoD 29.04.2012 12:47

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183534)
твой подход

Это не мой подход.
Все НИО я взял с л2п и переделал его под Теру, само собой, что напихал свои изжопы там и перевернул некоторые моменты для совместимости.

Добавлено через 2 минуты
Посмотрел овер, что-то не увидел там нети.

Ronn-l2f 29.04.2012 12:52

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от DiagoD (Сообщение 183538)
Это не мой подход.
Все НИО я взял с л2п и переделал его под Теру, само собой, что напихал свои изжопы там и перевернул некоторые моменты для совместимости.

Добавлено через 2 минуты
Посмотрел овер, что-то не увидел там нети.

Ну с овером видно ошибся, что не отменяет выше сказанное.

hex1r0 29.04.2012 15:49

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Aquanox (Сообщение 183497)
Netty ChannelBuffer в разы превосходит BB. Экстремально простая запись чтение, навигация по буферу. Основа сети тоже на Netty у меня например.

из за универсальности Netty там, сначала используется какой то хитрый пул натив буферов, потом из него данные копируются в ченел буфер и только потом ченел буфер передается в хендлер. в итоге куча мусора в памяти и бесконечная работа бедного GC, теоретически G1 может улучшить ситуацию.

Ronn-l2f 29.04.2012 15:55

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от hex1r0 (Сообщение 183566)
из за универсальности Netty там, сначала используется какой то хитрый пул натив буферов, потом из него данные копируются в ченел буфер и только потом ченел буфер передается в хендлер. в итоге куча мусора в памяти и бесконечная работа бедного GC, теоретически G1 может улучшить ситуацию.

А мусорщика грузить лишней едой не есть хорошо, имхо

hex1r0 29.04.2012 16:12

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183567)
А мусорщика грузить лишней едой не есть хорошо, имхо

КЭП ??? :facepalm:

Ronn-l2f 29.04.2012 16:30

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от hex1r0 (Сообщение 183570)
КЭП ??? :facepalm:

смотря опять же в каком случае, ведь для чего используются объектные пулы? для меньшей нагрузки сборщика, но при этом они приближают момент вызова full gc, так что все по ситуации

hex1r0 29.04.2012 16:35

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от Ronn-l2f (Сообщение 183571)
смотря опять же в каком случае, ведь для чего используются объектные пулы? для меньшей нагрузки сборщика, но при этом они приближают момент вызова full gc, так что все по ситуации

и к чему это все?

в нетти пул используется только для натив буферов, что непосредственно принимают данные, а данные копируется в ченел буфера, что не используют пул

fear111 08.06.2012 22:39

Re: Шара Исходников эмулятора Tera от Diagod
 
Перезалейте кому не сложно ;)

Mifesto 15.06.2012 22:47

Re: Шара Исходников эмулятора Tera от Diagod
 
Перезалейте, плиз.

[STIGMATED] 15.06.2012 22:53

Re: Шара Исходников эмулятора Tera от Diagod
 
http://rghost.ru/38688238

Ronn-l2f 19.08.2012 22:21

Re: Шара Исходников эмулятора Tera от Diagod
 
какая тишина

Masone 03.10.2012 17:15

Re: Шара Исходников эмулятора Tera от Diagod
 
линки мертвы..можно апдейт?

Credo 03.10.2012 17:44

Re: Шара Исходников эмулятора Tera от Diagod
 
Цитата:

Сообщение от lPKl (Сообщение 232112)
линки мертвы..можно апдейт?

http://rghost.ru/40717983

shocked 03.10.2012 18:30

Re: Шара Исходников эмулятора Tera от Diagod
 
Прошло 3 месяца, а опен-сорс так и не появился :р:D


Текущее время: 12:59. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot