Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > Tools

Важная информация

Tools Обсуждение программ для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2011, 13:53   #1
mAdloVe
Новичок
 
Аватар для mAdloVe
 
Регистрация: 24.03.2010
Сообщений: 23
Сказал(а) спасибо: 7
Поблагодарили 5 раз(а) в 4 сообщениях
mAdloVe На верном пути
Сообщение [DEV] StormCore (Java WoW Emu)

Вот, решил начать писать emu пресловутой игры на Java, так как данная игра и язык представляют для меня большой интерес. Хочется совместить приятное с полезным и углублять свои знания в Java. Может кого-нибудь заинтересует моя задумка...
На данный момент удалось реализовать аутентификацию с реалм сервером.
Выкладываю исходники своего творения. Прошу строго не судить.

[HIDE="Устарело"]
Проект переехал с http://github.com/ШтормКоре в http://github.com/JMaNGOS
git clone git://github.com/JMaNGOS/storm.git

В данный момент проект storm заморожен.

UPDATE:
storm закрыт полностью все наработки перебрались в JMaNGOS
[/HIDE]

В свою очередь все наработки были перенесены в новый проект "JMaNGOS". И сейчас все работы ведутся над "JMaNGOS".
Проект http://github.com/JMaNGOS
git clone git://github.com/JMaNGOS/JMaNGOS.git

Последний раз редактировалось mAdloVe; 14.09.2013 в 18:42. Причина: возвращение проекта
mAdloVe вне форума   Ответить с цитированием
Старый 27.07.2011, 10:22   #41
Blacksmither
Kobold Dev
 
Аватар для Blacksmither
 
Регистрация: 29.07.2010
Сообщений: 21
Сказал(а) спасибо: 5
Поблагодарили 2 раз(а) в 2 сообщениях
Blacksmither На верном пути
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
Пока еще не поздно подумайте над архитектурой классов для доступа к БД
Над контейнерами и кешированием подумайте.
__________________
World Database Development Group
Blacksmither вне форума   Ответить с цитированием
Старый 27.07.2011, 10:27   #42
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

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

dbc - в базу данных. карты - в бинарный формат, но можно тоже в базу (сам у себя пока еще не решил. пока сделан бинарный формат, смысла в sql загонять не увидел.).

что имеется ввиду под контейнерами и кешированием?
RomanRom2 вне форума   Ответить с цитированием
Старый 27.07.2011, 10:32   #43
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Blacksmither Посмотреть сообщение
Над контейнерами и кешированием подумайте.
http://ehcache.org/
только кешировать пока нечего
  Ответить с цитированием
Старый 27.07.2011, 11:25   #44
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

ну не знаю... может и имеет смысл кешировать шаблоны объектов (респонсы), остальное - постоянно изменяющиеся данные. только чего их кешировать, загрузил их в память в виде справочников и все.
RomanRom2 вне форума   Ответить с цитированием
Старый 27.07.2011, 14:46   #45
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

to madlove:
вижу мучения автора...возникает вопрос, вы смотрели исходники других мморпг-серверов сделанных на джава? Возможно стоит поглубже покопаться в них? Ведь не сотни человек занимаются разработкой, постоянно рефакторить код - ждать работы еще пяток лет.
Возможно стоит пере использовать архитектуру уже рабочего сервера. Не говорю - сделать из линейдж( как пример ) - вов, но все же базовая архитектура ( нио, конфигурация, пулы) может быть, если и не использована, то неплохо изучена на основе других.
  Ответить с цитированием
Старый 27.07.2011, 15:53   #46
mAdloVe
Новичок
 
Аватар для mAdloVe
 
Регистрация: 24.03.2010
Сообщений: 23
Сказал(а) спасибо: 7
Поблагодарили 5 раз(а) в 4 сообщениях
mAdloVe На верном пути
По умолчанию

to Minimajack:
Ищу новый тут развития.
mAdloVe вне форума   Ответить с цитированием
Старый 27.07.2011, 16:07   #47
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от mAdloVe Посмотреть сообщение
to Minimajack:
Ищу новый тут развития.
а получается транслейт мангоса на яву
Йоха вне форума   Ответить с цитированием
Старый 27.07.2011, 16:31   #48
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

2 mAdloVe :handleLogonProof()
После вычислений не сохраняете SessionKey ( K ) в базу.
  Ответить с цитированием
Старый 27.07.2011, 16:47   #49
mAdloVe
Новичок
 
Аватар для mAdloVe
 
Регистрация: 24.03.2010
Сообщений: 23
Сказал(а) спасибо: 7
Поблагодарили 5 раз(а) в 4 сообщениях
mAdloVe На верном пути
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
2 mAdloVe :handleLogonProof()
После вычислений не сохраняете SessionKey ( K ) в базу.
Знаю... также не сохраняется соль "s" и верификатор "v". Не хватает рук.
mAdloVe вне форума   Ответить с цитированием
Старый 27.07.2011, 17:06   #50
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

а их зачем сохранять?
RomanRom2 вне форума   Ответить с цитированием
Старый 27.07.2011, 17:10   #51
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

кстати, если будет время - реализуйте все же ThreadPool ...уверен винда в текущей реализации больше 200 клиентов не потянет...уж слишком жирно создавать на каждого клиента по потоку...
а лучше выкинуть половину и реализовать на http://www.jboss.org/netty

Последний раз редактировалось Minimajack; 27.07.2011 в 17:15.
  Ответить с цитированием
Пользователь сказал cпасибо:
mAdloVe (27.07.2011)
Старый 27.07.2011, 17:41   #52
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

в виндах это называется IOCP

Цитата:
Сообщение от Minimajack Посмотреть сообщение
2 mAdloVe :handleLogonProof()
После вычислений не сохраняете SessionKey ( K ) в базу.
тоже не сохраняю ключ в базу. вообще это неправильный дизайн. я его передаю по дополнительному шифрованному служебному каналу AS-CS

Последний раз редактировалось RomanRom2; 27.07.2011 в 17:46.
RomanRom2 вне форума   Ответить с цитированием
Старый 27.07.2011, 17:54   #53
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
в виндах это называется IOCP
тоже не сохраняю ключ в базу. вообще это неправильный дизайн. я его передаю по дополнительному шифрованному служебному каналу AS-CS
оставлено для совместимости с мангосом.
Подскажите пожалуйста...клиент серверу отдает полностью пакеты, либо может на кусочки порубать или слить несколько в один?
зы кстати тоже подумал о сообщении между логин и гейм серверами...
  Ответить с цитированием
Старый 27.07.2011, 18:07   #54
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

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

нее, это неправильно. я изначально спроектировал (и реализовал) полностью динамическую структуру всего игрового сервера (который включает в себя авторизационный сервер (биллинг) и неограниченное число реалмов и батлграундов). все компоненты автоматически регистрируется на своих "аплинках". нуу... я писал об этом на сайте.
RomanRom2 вне форума   Ответить с цитированием
Старый 27.07.2011, 19:34   #55
Dereka
MaNGOS Dev
 
Аватар для Dereka
 
Регистрация: 08.03.2010
Адрес: Ханты-Мансийск
Сообщений: 28
Сказал(а) спасибо: 27
Поблагодарили 13 раз(а) в 8 сообщениях
Dereka На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
а чо тут думать, все придумано для нас. для доступа к базе в джаве используют entity или модный нынче hibernate.

dbc - в базу данных. карты - в бинарный формат, но можно тоже в базу (сам у себя пока еще не решил. пока сделан бинарный формат, смысла в sql загонять не увидел.).

что имеется ввиду под контейнерами и кешированием?
hibernate, почему он вдруг стал модным?
ORM конечно повышает производительность разработки, но использовать его нужно осторожно.
Всё конечно зависит от кривизны, но jdbc всегда быстрее чем ORMы.
В любом случае если проект для обучения то hibernate нужно попробовать
Я юзал плагин в еклипсе, он показывал какой в Итоге запрос уходит в БД от ORM, полезная штука оказалсь)
Dereka вне форума   Ответить с цитированием
Старый 27.07.2011, 21:22   #56
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

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

1. Реализация клиент серверного приложения: N-уровневое меню
Для реализации использовать Hibernate JPA, Postgresql.
Программа должна состоять из серверной и клиентской частей.
...

2. Реализация приложения Чат

Необходимо реализовать чат со структурой:
 страница авторизации;
 страница регистрации;
 основная страница;
 личный кабинет;

...

Общие требования:
 кросс браузерность IE 6-9, Firefox, Chrome, Opera
 все данные хранятся в БД (Postgres)
работа с базой через Hibernate
 наличие текстового логирования (log4j)
RomanRom2 вне форума   Ответить с цитированием
Старый 28.07.2011, 04:11   #57
Dereka
MaNGOS Dev
 
Аватар для Dereka
 
Регистрация: 08.03.2010
Адрес: Ханты-Мансийск
Сообщений: 28
Сказал(а) спасибо: 27
Поблагодарили 13 раз(а) в 8 сообщениях
Dereka На верном пути
По умолчанию

да потому что бизнес, побыстрее сделать продукт чтобы начать его продавать, а потом уже думать об оптимизации)


Minimajack советую почитать что такое maven
очень полезная штука, если проект настроишь, мне помог в своё время с дипломом,
сам всё необходимое скачает и настроеть, главное pom.xml самому настроить,
да и к тому же можно на нём генерить проекты для еклипса и для IDEA не помню для чего ещё

Последний раз редактировалось Dereka; 28.07.2011 в 04:19.
Dereka вне форума   Ответить с цитированием
Старый 28.07.2011, 07:30   #58
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Dereka Посмотреть сообщение
Minimajack советую почитать что такое maven
очень полезная штука, если проект настроишь, мне помог в своё время с дипломом,
сам всё необходимое скачает и настроеть, главное pom.xml самому настроить,
да и к тому же можно на нём генерить проекты для еклипса и для IDEA не помню для чего ещё
установлен как плагин к эклипсу. Пробовал и проекты генерировать из гита и из свн...полет нормальный. Возможно стоит попробовать, хотя ант намного попроще
  Ответить с цитированием
Старый 28.07.2011, 13:33   #59
Dereka
MaNGOS Dev
 
Аватар для Dereka
 
Регистрация: 08.03.2010
Адрес: Ханты-Мансийск
Сообщений: 28
Сказал(а) спасибо: 27
Поблагодарили 13 раз(а) в 8 сообщениях
Dereka На верном пути
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
установлен как плагин к эклипсу. Пробовал и проекты генерировать из гита и из свн...полет нормальный. Возможно стоит попробовать, хотя ант намного попроще
ну не знаю, как по мне так mvn в разы проще и удобнее чем ант
на вкус и цвет...
Dereka вне форума   Ответить с цитированием
Старый 29.07.2011, 14:39   #60
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

уперся в буффер...в мангосе под него выделяется 65536 байт, если его не хватает выделяется до 8 мегабайт 128*256*256 (в зависимости от нужд).
как вариант использовать динамический буфер.
Возможно у кого то есть статистика среднего размера пакета, что бы память поберечь; или забить и выделять 65 кб динамического буфера, а там как карта ляжет?
  Ответить с цитированием
Старый 29.07.2011, 15:18   #61
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
уперся в буффер...в мангосе под него выделяется 65536 байт, если его не хватает выделяется до 8 мегабайт 128*256*256 (в зависимости от нужд).
как вариант использовать динамический буфер.
Возможно у кого то есть статистика среднего размера пакета, что бы память поберечь; или забить и выделять 65 кб динамического буфера, а там как карта ляжет?
Я думаю забить и выделить сразу 65к, а если вдруг понадобится больше, то увеличивать на лету.
ИМХО 65к это не тот случай который сильно сбережет память ;-)
Йоха вне форума   Ответить с цитированием
Старый 29.07.2011, 15:22   #62
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

такого размера пакеты поперли только тогда, когда ввели ачивки. тогда же и появилась фишка с третим байтом в поле "длина". до того момента пакеты не превышали 16кб. и те - были за редким исключением. средний размер пакета варьировался от 700 байт до 3.5кб.

у себя выделяю 16кб под входящий и 64кб под исходящий буферы.
RomanRom2 вне форума   Ответить с цитированием
Старый 29.07.2011, 19:46   #63
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

выставил 64 КБ...а там посмотрим
Кто нить работал с google-guice ?

В конструкторе Фабрики-пакетов инициализировать все пакеты вручную - бредово, нужен какой то механизм, вариант описания пакетов либо в ХМЛ, либо в БД, либо хз в чем. Мож чё кто подскажет?
зы моск пухнет
  Ответить с цитированием
Старый 29.07.2011, 20:28   #64
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

так чо сказать то хотел?
RomanRom2 вне форума   Ответить с цитированием
Старый 29.07.2011, 21:29   #65
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
так чо сказать то хотел?
как написать фабрику объектов? желательно через список объектов в хмл.
есть
Код:
<opcodes>
 <opcodelist build="xxxx" path="org.wowemu.realm.network.packet">
   <opcode id="0x00" class = "R_CMD_AUTH" direction = "DOWNSTREAM" />
   <opcode id="0x01" class = "R_CMD_PROOF" direction = "DOWNSTREAM" />
 </opcodelist>
......
</opcodes>
надо получить - список объектов или классов...
зы пора отдохнуть
  Ответить с цитированием
Старый 31.07.2011, 10:49   #66
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

получилось

один черт кому нить пригодится...
хоть не надо прописывать и инжектить все опкоды вручную...лафа
  Ответить с цитированием
Старый 01.08.2011, 11:15   #67
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Плагин http://sourceforge.net/projects/eclipsecopyrigh/ решает проблемы с добавлением и обновлением копирайтов
  Ответить с цитированием
Пользователь сказал cпасибо:
mAdloVe (01.08.2011)
Старый 01.08.2011, 16:36   #68
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

login.7z (4.06MB)
тестовый вариант, в компилированном виде, т.к. репозитария нет
пока - максимальная совместимость с мангосом, т.е. все ключи в бд.
Необходимо доделать пару опкодов( реконнект ) и прикрепить банлист. А то в связи с использованием guice весь код перелопатил, пришлось пока вырубить банлист и сервис обновления( реалмлист не обновляется ).
Дома в линуксе с клиентом проверял, на работе клиента нет, да и линукса тоже , поэтому башевский вариант скрипта отсутствует.
зы может кому интересно будет
ззы через денек-два файл снесу, а то 4 метра держать на форуме жирно ( файлбим и прочие зарублены на проксе )



----------------------
архив перезалит
  Ответить с цитированием
Старый 03.08.2011, 10:06   #69
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
да других вариантов и не дано. логон сервер может быть где угодно в интернете. например в москве. и к нему подключены реалмы из других городов, питер там, казань, новосибирск, красноярск... и чо? из сибири в москву за ключем в базу лазить на 3306 порт?

нее, это неправильно. я изначально спроектировал (и реализовал) полностью динамическую структуру всего игрового сервера (который включает в себя авторизационный сервер (биллинг) и неограниченное число реалмов и батлграундов). все компоненты автоматически регистрируется на своих "аплинках".
действительно с ключем в бд совсем не фонтан получается. Лишние запросы к БД, лишние операции по конвертации из строки ... Единственный плюс - при перезапуске логин-сервера может дальше работать как ничего не произошло...то есть при реконнекте(смене реалма) пользователи подхватятся.
Если на них забить ( ну не часто же происходит перезапуск ) , да и забить на realmlist в БД, то никакого обновления realmlist-а, банлиста из БД тащить не надо будет, открываем еще сокет для реалмов, и спокойненько принимаем с него команды для обновление банлиста и популяции, запроса ключей.
Возник вопрос по ходу дела...connection Timeout вообще присутствует как таковой в логин сервере? И если да, то чему равно значение ?

ззы архив в предыдущем сообщении устарел, реализованы 10 основных опкодов для логин сервера, и для совместимости с мангосом добавлен сервис обновления реалмлистов и банлистов...
  Ответить с цитированием
Старый 03.08.2011, 10:22   #70
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

я чото не очень теперь понимаю, кто именно пишет JavaEmu
RomanRom2 вне форума   Ответить с цитированием
Старый 03.08.2011, 10:28   #71
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
я чото не очень теперь понимаю, кто именно пишет JavaEmu
я тоже хочу подучиться java, вот и пишу по тихому вечерами
mAdloVe - свое, я - свое. Смысл один.

Все же ввел понятие совместимости в конфиг
Код:
network.compatible = MANGOS
зачем напрягать что не надо...в итоге пока 2 режима совместимости:
  • MANGOS работаем как мангос - обновляем вордлист из БД, не используем банлист, не открываем дополнительных портов
  • NONE работаем по новому

Последний раз редактировалось Minimajack; 03.08.2011 в 16:20.
  Ответить с цитированием
Старый 03.08.2011, 17:05   #72
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

2mAdloVe
у org.jboss.netty.buffer.ChannelBuffer
есть не только readByte()
есть и readShort(), readInt(), readLong() etc...сам же выбираешь ByteOrder.LITTLE_ENDIAN ...зачем парится с байтами и сдвигами?
  Ответить с цитированием
Старый 03.08.2011, 17:21   #73
mAdloVe
Новичок
 
Аватар для mAdloVe
 
Регистрация: 24.03.2010
Сообщений: 23
Сказал(а) спасибо: 7
Поблагодарили 5 раз(а) в 4 сообщениях
mAdloVe На верном пути
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
2mAdloVe
у org.jboss.netty.buffer.ChannelBuffer
есть не только readByte()
есть и readShort(), readInt(), readLong() etc...сам же выбираешь ByteOrder.LITTLE_ENDIAN ...зачем парится с байтами и сдвигами?
Осталось от прошлой реализации. Подправлю
mAdloVe вне форума   Ответить с цитированием
Старый 03.08.2011, 20:47   #74
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

  Ответить с цитированием
Старый 04.08.2011, 07:41   #75
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

текущая версия логин сервера, делается под 3.3.5
не реализовывал только работу с патчами. Не вижу смысла.
http://filebeam.com/fb069dfc963d144740eb8188c2faf8c0

под линуксом запускать
Код:
java -Xms8m -Xmx32m -ea -cp ./libs/*:wowemu_login.jar org.wowemu.login.loginserver

Последний раз редактировалось Minimajack; 04.08.2011 в 07:47.
  Ответить с цитированием
Старый 04.08.2011, 16:29   #76
lina
Новичок
 
Аватар для lina
 
Регистрация: 29.04.2010
Сообщений: 11
Сказал(а) спасибо: 18
Поблагодарили 4 раз(а) в 2 сообщениях
lina На верном пути
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
текущая версия логин сервера, делается под 3.3.5
не реализовывал только работу с патчами. Не вижу смысла.
http://filebeam.com/fb069dfc963d144740eb8188c2faf8c0

под линуксом запускать
Код:
java -Xms8m -Xmx32m -ea -cp ./libs/*:wowemu_login.jar org.wowemu.login.loginserver
может написать бат файл для винды и sh для линукса ?)
lina вне форума   Ответить с цитированием
Старый 04.08.2011, 16:46   #77
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от lina Посмотреть сообщение
может написать бат файл для винды и sh для линукса ?)
можно скачать и увидеть, что батник в архиве...
написать нормальный скрипт под линь у меня нет времени, так что дал команду, думаю у кого линукс знают как применить.
  Ответить с цитированием
Старый 07.08.2011, 13:03   #78
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

что то я застрял...вроде все нормально, или глаз уже замылен
в общем, делаю реалм...
коннект - отсылаю SMSG_AUTH_CHALLENGE
приходит CMSG_AUTH_SESSION...проверяю, все гуд, sha1 digest совпадает с заданым клиентом...
инициализирую криптосистему сессионным ключом
отсылаю SMSG_AUTH_RESPONSE
отсылаю SMSG_ADDON_INFO
а в ответ тишина, только через секунд 10 клиент шлет пакет( нормально не расшифровывается) и разрывает соединение.
Чувствую ошибка в кодировании(декодировании) заголовка...
в HmacSHA1 ну не может быть ошибки...стандартная 3 строчки кода.
в SARC4 использовал реализацию от JCE...не прокатило, на просторах гугла нарыл частную реализацию...заголовки как и положено уходят кодированными в 4 байта ( первые маленькие)...но клиент молчит
Crypt

SARC4

может кто увидит ошибку? а то меня уже колбасит
  Ответить с цитированием
Старый 07.08.2011, 17:58   #79
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

всем сорри...код правильный, это я неправильный
перепутал клиентский и серверные SARC4
  Ответить с цитированием
Старый 08.08.2011, 12:41   #80
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Ну вот...реалм-сервер дошел до стадии когда необходимы ключи сессий клиентов.
т.к. ключи будут передаваться( планируется ) по дополнительному каналу между логин и реалм серверами встает вопрос о защите этого канала. Кто что использует? Городить свои грабли или воспользоваться уже существующими ( в сис-ме вов ) алгоритмами? Мне конечно быстрее SARC4 втулить и кодировать содержимое пакета целиком.
  Ответить с цитированием
Ответ


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

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



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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot