Цитата:
|
а чо тут думать, все придумано для нас. для доступа к базе в джаве используют entity или модный нынче hibernate.
dbc - в базу данных. карты - в бинарный формат, но можно тоже в базу (сам у себя пока еще не решил. пока сделан бинарный формат, смысла в sql загонять не увидел.). что имеется ввиду под контейнерами и кешированием? |
Цитата:
только кешировать пока нечего =))) |
ну не знаю... может и имеет смысл кешировать шаблоны объектов (респонсы), остальное - постоянно изменяющиеся данные. только чего их кешировать, загрузил их в память в виде справочников и все.
|
to madlove:
вижу мучения автора...возникает вопрос, вы смотрели исходники других мморпг-серверов сделанных на джава? Возможно стоит поглубже покопаться в них? Ведь не сотни человек занимаются разработкой, постоянно рефакторить код - ждать работы еще пяток лет. Возможно стоит пере использовать архитектуру уже рабочего сервера. Не говорю - сделать из линейдж( как пример ) - вов, но все же базовая архитектура ( нио, конфигурация, пулы) может быть, если и не использована, то неплохо изучена на основе других. |
to Minimajack:
Ищу новый тут развития. |
Цитата:
|
2 mAdloVe :handleLogonProof()
После вычислений не сохраняете SessionKey ( K ) в базу. |
Цитата:
|
а их зачем сохранять?
|
кстати, если будет время - реализуйте все же ThreadPool ...уверен винда в текущей реализации больше 200 клиентов не потянет...уж слишком жирно создавать на каждого клиента по потоку...
а лучше выкинуть половину и реализовать на http://www.jboss.org/netty |
в виндах это называется IOCP
Цитата:
|
Цитата:
Подскажите пожалуйста...клиент серверу отдает полностью пакеты, либо может на кусочки порубать или слить несколько в один? зы кстати тоже подумал о сообщении между логин и гейм серверами... |
да других вариантов и не дано. логон сервер может быть где угодно в интернете. например в москве. и к нему подключены реалмы из других городов, питер там, казань, новосибирск, красноярск... и чо? из сибири в москву за ключем в базу лазить на 3306 порт? =)
нее, это неправильно. я изначально спроектировал (и реализовал) полностью динамическую структуру всего игрового сервера (который включает в себя авторизационный сервер (биллинг) и неограниченное число реалмов и батлграундов). все компоненты автоматически регистрируется на своих "аплинках". нуу... я писал об этом на сайте. |
Цитата:
ORM конечно повышает производительность разработки, но использовать его нужно осторожно. Всё конечно зависит от кривизны, но jdbc всегда быстрее чем ORMы. В любом случае если проект для обучения то hibernate нужно попробовать:) Я юзал плагин в еклипсе, он показывал какой в Итоге запрос уходит в БД от ORM, полезная штука оказалсь) |
да хрен его знает почему...
мне часто приходится сталкиваться с тестовыми заданиями для нанимаемых на работу джава программистов. ну типа: 1. Реализация клиент серверного приложения: N-уровневое меню Для реализации использовать Hibernate JPA, Postgresql. Программа должна состоять из серверной и клиентской частей. ... 2. Реализация приложения Чат Необходимо реализовать чат со структурой: страница авторизации; страница регистрации; основная страница; личный кабинет; ... Общие требования: кросс браузерность IE 6-9, Firefox, Chrome, Opera все данные хранятся в БД (Postgres) работа с базой через Hibernate наличие текстового логирования (log4j) |
да потому что бизнес, побыстрее сделать продукт чтобы начать его продавать, а потом уже думать об оптимизации)
Minimajack советую почитать что такое maven очень полезная штука, если проект настроишь, мне помог в своё время с дипломом, сам всё необходимое скачает и настроеть, главное pom.xml самому настроить, да и к тому же можно на нём генерить проекты для еклипса и для IDEA :tongue: не помню для чего ещё |
Цитата:
|
Цитата:
на вкус и цвет...:yes3: |
уперся в буффер...в мангосе под него выделяется 65536 байт, если его не хватает выделяется до 8 мегабайт 128*256*256 (в зависимости от нужд).
как вариант использовать динамический буфер. Возможно у кого то есть статистика среднего размера пакета, что бы память поберечь; или забить и выделять 65 кб динамического буфера, а там как карта ляжет? |
Цитата:
ИМХО 65к это не тот случай который сильно сбережет память ;-) |
такого размера пакеты поперли только тогда, когда ввели ачивки. тогда же и появилась фишка с третим байтом в поле "длина". до того момента пакеты не превышали 16кб. и те - были за редким исключением. средний размер пакета варьировался от 700 байт до 3.5кб.
у себя выделяю 16кб под входящий и 64кб под исходящий буферы. |
|
так чо сказать то хотел? =)
|
Цитата:
есть Код:
<opcodes> зы пора отдохнуть =))) |
|
Плагин http://sourceforge.net/projects/eclipsecopyrigh/ решает проблемы с добавлением и обновлением копирайтов
|
login.7z (4.06MB)
тестовый вариант, в компилированном виде, т.к. репозитария нет =))) пока - максимальная совместимость с мангосом, т.е. все ключи в бд. Необходимо доделать пару опкодов( реконнект ) и прикрепить банлист. А то в связи с использованием guice весь код перелопатил, пришлось пока вырубить банлист и сервис обновления( реалмлист не обновляется ). Дома в линуксе с клиентом проверял, на работе клиента нет, да и линукса тоже :sorry:, поэтому башевский вариант скрипта отсутствует. зы может кому интересно будет ззы через денек-два файл снесу, а то 4 метра держать на форуме жирно ( файлбим и прочие зарублены на проксе ) ---------------------- архив перезалит |
Цитата:
Если на них забить ( ну не часто же происходит перезапуск ) , да и забить на realmlist в БД, то никакого обновления realmlist-а, банлиста из БД тащить не надо будет, открываем еще сокет для реалмов, и спокойненько принимаем с него команды для обновление банлиста и популяции, запроса ключей. Возник вопрос по ходу дела...connection Timeout вообще присутствует как таковой в логин сервере? И если да, то чему равно значение ? :pardon: ззы архив в предыдущем сообщении устарел, реализованы 10 основных опкодов для логин сервера, и для совместимости с мангосом добавлен сервис обновления реалмлистов и банлистов... |
я чото не очень теперь понимаю, кто именно пишет JavaEmu =)
|
Цитата:
mAdloVe - свое, я - свое. Смысл один. Все же ввел понятие совместимости в конфиг Код:
network.compatible = MANGOS
|
2mAdloVe
у org.jboss.netty.buffer.ChannelBuffer есть не только readByte() есть и readShort(), readInt(), readLong() etc...сам же выбираешь ByteOrder.LITTLE_ENDIAN ...зачем парится с байтами и сдвигами? |
Цитата:
|
|
текущая версия логин сервера, делается под 3.3.5
не реализовывал только работу с патчами. Не вижу смысла. http://filebeam.com/fb069dfc963d144740eb8188c2faf8c0 под линуксом запускать Код:
java -Xms8m -Xmx32m -ea -cp ./libs/*:wowemu_login.jar org.wowemu.login.loginserver |
Цитата:
|
Цитата:
написать нормальный скрипт под линь у меня нет времени, так что дал команду, думаю у кого линукс знают как применить. |
всем сорри...код правильный, это я неправильный =)
перепутал клиентский и серверные SARC4 =))) |
Ну вот...реалм-сервер дошел до стадии когда необходимы ключи сессий клиентов.
т.к. ключи будут передаваться( планируется ) по дополнительному каналу между логин и реалм серверами встает вопрос о защите этого канала. Кто что использует? Городить свои грабли или воспользоваться уже существующими ( в сис-ме вов ) алгоритмами? Мне конечно быстрее SARC4 втулить и кодировать содержимое пакета целиком. |
Текущее время: 09:03. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS