Создание движка сервера (L2) - Страница 5 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.
Описание темы:l2j помойка можно сделать свое....

Ответ
Опции темы
Непрочитано 08.08.2010, 07:12   #41
Аватар для n3k0nation
Antihero

По умолчанию Re: Создание движка сервера (L2)

ATracer, собственно нетти, как ни крути не подходит, как и мина - в мине проблемы в буферах, у нетти собственно в производительности.

Если уже говорим про модульность и абстрактность, то было бы хорошо разделить проект на несколько модулей (предположительно: сеть, работа с базой, геймплей, "игра"), которые можно разделить еще на множества подмодулей, каждый основной модуль, можно связать с другим посредством рефлектион, что даст некоторую гибкость и возможность горячей замены, а для скорости можно использовать тот же фаст рефлектион. Хотя можно предположить и другой вариант - написание своего classloader'а, который будет отслеживать в изменения загруженных модулей/библиотек.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 08.08.2010, 17:19   #42
Пользователь

По умолчанию Re: Создание движка сервера (L2)

c удовольствием почитал бы про сравнительную характеристику производимости netty с nio l2. Есть конкретные (даже микро) тесты? Планирую в будущем написать свой или может кто уже занимался?
а про модули "(предположительно: сеть, работа с базой, геймплей, "игра")" это и ежу понятно что не все в одном месте
ATracer вне форума Ответить с цитированием
Непрочитано 09.08.2010, 07:35   #43
Пользователь

Автор темы (Топик Стартер) Re: Создание движка сервера (L2)

Пишите в пм (icq || skype), можно попробовать объеденить усилия.
pitch вне форума Ответить с цитированием
Непрочитано 09.08.2010, 10:02   #44
Изгнанные

По умолчанию Re: Создание движка сервера (L2)

Напиши свою ICQ пожалуйста в ПМ.
DeForMator вне форума Отправить сообщение для DeForMator с помощью ICQ Отправить сообщение для DeForMator с помощью Skype™ Ответить с цитированием
Непрочитано 09.08.2010, 14:24   #45
Пользователь

По умолчанию Re: Создание движка сервера (L2)

Цитата:
Сообщение от ATracer Посмотреть сообщение
как вариант:

DI/AOP - guice,
почему бы не Spring использовать в качестве контейнера? Чего такого особенного ты в нем нашел.

Некоторое время работал с Guice 2.0, но всеже остался на Spring'e .

Модульность приложения можно поддерживать (на крайний случай) разделяя файл контекста на части соответствующие модулям.

Добавлено через 6 минут
Цитата:
Сообщение от ASevenfold Посмотреть сообщение
Хотя можно предположить и другой вариант - написание своего classloader'а, который будет отслеживать в изменения загруженных модулей/библиотек.
Зачем перезагружать такие большие объекты в рантайме? Для этого должны производится полные перезагрузки. По возможности необходимо максимально снизить количество контента который может быть перезагружен во время работы сервера. (Исключение - тестовые и dev-сборки, но ни в коем случае не production-версии)

Добавлено через 9 минут
Цитата:
Сообщение от ASevenfold Посмотреть сообщение
Если уже говорим про модульность и абстрактность, то было бы хорошо разделить проект на несколько модулей (предположительно: сеть, работа с базой, геймплей, "игра")
Network Layer
Database Layer
Game API
Extension/Module API

Весь игровой контент наращивать на API как это сделано на оригинале: в сервере только базовая логика и запуск игровых событий, вся остальная составляющая (воздействие с игровыми объектами) должно быть скриптовое.
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu

Последний раз редактировалось Aquanox; 09.08.2010 в 14:37. Причина: Добавлено сообщение
Aquanox вне форума Ответить с цитированием
Непрочитано 09.08.2010, 15:07   #46
Пользователь

По умолчанию Re: Создание движка сервера (L2)

еще JMX для управления и мониторинга за серваком и JNI для подрубки нативки . Хех. Ну а серьёзно, Spring + JMX хорошо идут, и мемори лики отследишь, что людям Спринг не нравится - хз. Готов присоединиться, пишите в пм.
w4ter вне форума Ответить с цитированием
Непрочитано 09.08.2010, 15:23   #47
Пользователь

Автор темы (Топик Стартер) Re: Создание движка сервера (L2)

Если юзать спринг, то по большому счету 50% кода уже написано . Управление жизненным циклом проекта, инит и дестрой бинов, спринг дао (orm или jdbc), spring oxm (xstream или jaxb), RMI или JMS взаимодействие, WS и тп... Кароче не нужно заморачиваться с великами ). Вопрос в быстродействии. Насклько быстро спринг достанет bean из контекста, чем вызов MyClass.getInstance()
pitch вне форума Ответить с цитированием
Непрочитано 09.08.2010, 15:37   #48
Пользователь

По умолчанию Re: Создание движка сервера (L2)

Ну если в быстродействии, то гугл быстрее спринг.

#C Клиентов
S : Сервисные синглтоны
C : Вызов методаdoPerfom
I : Создание экземпляров класса
T : Среднее время закрепления структуры в бины (мс)
M : Время стартапа модуля (мс)

#C S C I T M
spring 1 y y 13 34 601
guice 1 y y 13 0 407
spring 10 y y 13 26 607
guice 10 y y 13 0 393
spring 100 y y 13 28 768
guice 100 y y 13 0 456
spring 1000 y y 13 53 1300
guice 1000 y y 13 0 492
spring 10000 y y 13 35 3910
guice 10000 y y 13 0 417

spring 1 y n 13 20 528
guice 1 y n 13 0 457
spring 10 y n 13 25 530
guice 10 y n 13 0 392
spring 100 y n 13 21 744
guice 100 y n 13 0 537
spring 1000 y n 13 34 1445
guice 1000 y n 13 0 591
spring 10000 y n 13 34 3819
guice 10000 y n 13 0 401

spring 1 n n 13 35 660
guice 1 n n 13 0 419
spring 10 n n 130 88 612
guice 10 n n 130 0 406
spring 100 n n 1300 221 708
guice 100 n n 1300 6 415
spring 1000 n n 13000 877 1243
guice 1000 n n 13000 55 386
spring 10000 n n 130000 3858 3765
guice 10000 n n 130000 202 400

spring 1 n y 13 31 567
guice 1 n y 13 0 393
spring 10 n y 130 67 564
guice 10 n y 130 1 407
spring 100 n y 1300 223 693
guice 100 n y 1300 7 435
spring 1000 n y 13000 957 1259
guice 1000 n y 13000 43 424
spring 10000 n y 130000 2931 3859
guice 10000 n y 130000 208 405
w4ter вне форума Ответить с цитированием
Непрочитано 09.08.2010, 15:41   #49
Пользователь

По умолчанию Re: Создание движка сервера (L2)

Цитата:
Сообщение от w4ter Посмотреть сообщение
еще JMX для управления и мониторинга за серваком и JNI для подрубки нативки . Хех. Ну а серьёзно, Spring + JMX хорошо идут, и мемори лики отследишь, что людям Спринг не нравится - хз. Готов присоединиться, пишите в пм.
Только jni здесь не хватало ... JNI это извращение.

Добавлено через 1 минуту
Цитата:
Сообщение от pitch Посмотреть сообщение
Если юзать спринг, то по большому счету 50% кода уже написано . Управление жизненным циклом проекта, инит и дестрой бинов, спринг дао (orm или jdbc), spring oxm (xstream или jaxb), RMI или JMS взаимодействие, WS и тп... Кароче не нужно заморачиваться с великами ). Вопрос в быстродействии. Насклько быстро спринг достанет bean из контекста, чем вызов MyClass.getInstance()
одноразово только при инициализация. если верно использовать DI, то вообще не прийдется обращаться к контексту.
Использовать контейнер намного безопаснее чем простые одиночки.

Добавлено через 2 минуты
Цитата:
Сообщение от w4ter Посмотреть сообщение
Ну если в быстродействии, то гугл быстрее спринг.

#C Клиентов
S : Сервисные синглтоны
C : Вызов методаdoPerfom
I : Создание экземпляров класса
T : Среднее время закрепления структуры в бины (мс)
M : Время стартапа модуля (мс)


откуда данные? чем тестировалось
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu

Последний раз редактировалось Aquanox; 09.08.2010 в 15:43. Причина: Добавлено сообщение
Aquanox вне форума Ответить с цитированием
Непрочитано 09.08.2010, 15:48   #50
Пользователь

Автор темы (Топик Стартер) Re: Создание движка сервера (L2)

Цитата:
Сообщение от Aquanox Посмотреть сообщение
то вообще не прийдется обращаться к контексту.
всегда когда делаешь @Autowire или context.getBean() обращаешся к контексту приложения, чтобы выдернуть бин... Чтобы совсем не обращаться к контейнеру, так не бывает.
pitch вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание вашего сервера DeadShadow Готовые сборки 36 31.03.2011 06:43
Создание сервера Ragnarok MrArt Курилка / Yak floor 6 31.08.2010 17:06
Создание сервера и продвижение его. Owned Создание сервера 1 04.08.2010 17:05
создание сервера-подскажите .. санеk Lineage II 8 06.03.2010 11:10
Создание PvPGN сервера! AMATORY Создание сервера 3 17.02.2010 14:42


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

Вверх