Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
01-27-2014, 02:38 PM
(Сообщение последний раз редактировалось: 03-01-2014, 03:00 AM Ashe.)
И так, из названия понятно что хочу обсудить, но меня интересует как такое вообще можно реализовать.
Честно копался в гугле, но не нашел миров разделенных на множество серверов, кроме еве-онлайн, но эмуля на эту тему не встречал...
Может кто нибудь посоветовать как лучше это сделать?
Для чего это нужно? Все мы знаем, что сервер л2 держит определенное кол-во людей на 1 кв. км, приблизительное количество естественно.
Хотелось бы увеличить это количество, за счет увеличения земель, т.е. разделить "Мир л2" на кластеры...
На мой взгляд это выглядит примерно так:
Земли разделены на сектора и работают в своей среде, т.е. 1 сервер это отдельная локация грубо говоря.
Теперь мне нужна небольшая подсказка, с чего начать.. пилить эмулятор с нуля с обработкой только отдельных координат это конечно круто, но очень очень долго...
Есть какой нибудь ещё вариант?
Сообщений: 4,694
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
01-27-2014, 02:42 PM
(Сообщение последний раз редактировалось: 03-01-2014, 03:00 AM Ashe.)
xolseg, зачем так голову себе морочить, сделай 10 инстансов и телепорты между ними, профит.
Fortuna - non penis, in manus non recipe.
Сообщений: 70
Тем: 0
Зарегистрирован: Dec 2013
01-27-2014, 02:43 PM
(Сообщение последний раз редактировалось: 03-01-2014, 02:52 AM Ashe.)
xolseg Написал:И так, из названия понятно что хочу обсудить, но меня интересует как такое вообще можно реализовать.
Честно копался в гугле, но не нашел миров разделенных на множество серверов, кроме еве-онлайн, но эмуля на эту тему не встречал...
Может кто нибудь посоветовать как лучше это сделать?
Для чего это нужно? Все мы знаем, что сервер л2 держит определенное кол-во людей на 1 кв. км, приблизительное количество естественно.
Хотелось бы увеличить это количество, за счет увеличения земель, т.е. разделить "Мир л2" на кластеры... никак - сервер не грузит клиент, а только отсылает и принимает пакеты.
Чтобы такое реализовать нужно - создавать новую игру.
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
01-27-2014, 02:46 PM
(Сообщение последний раз редактировалось: 03-01-2014, 02:52 AM Ashe.)
xolseg Написал:И так, из названия понятно что хочу обсудить, но меня интересует как такое вообще можно реализовать.
Честно копался в гугле, но не нашел миров разделенных на множество серверов, кроме еве-онлайн, но эмуля на эту тему не встречал...
Может кто нибудь посоветовать как лучше это сделать?
Для чего это нужно? Все мы знаем, что сервер л2 держит определенное кол-во людей на 1 кв. км, приблизительное количество естественно.
Хотелось бы увеличить это количество, за счет увеличения земель, т.е. разделить "Мир л2" на кластеры...
Ну дефолтно мир линейки делится на те же самые квадраты, можно совершенно спокойно разделить обработку мира на эти квадраты. В принципе сейчас немного похожая система, но в ней нет кластерализации.
Это я к тому, что уже есть некоторые вещи, например работа АИ по квадратам, где есть активные игроки
Вообще общий путь "деланья" такой вещи мне видится так:
1. Запиливаем всю обрабатываемую логику в отдельный модуль
2. Запиливаем основные интерфейсы, которые будут ездить по элементам кластера
3. Делаем сеть отдельным модулем, это будет входом в наш кластер
4. Реализуем RMI подключения для коннекта к элементам кластера
5. Запиливаем ограничение по работе с регионами, если не наш регион, то передаем клиента нужному элементу кластера
6. Профит!
В принципе, можно еще перекидывать коннект с одного элемента кластера на другой, но тогда мы будем открывать весь кластер, что не гуд само по себе, поэтому лучше делать статическую точку входа, либо несколько штук, работа с которыми может контроллироваться, например DNS записями на домене
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
01-27-2014, 02:46 PM
(Сообщение последний раз редактировалось: 03-01-2014, 03:00 AM Ashe.)
Ashe Написал:xolseg, зачем так голову себе морочить, сделай 10 инстансов и телепорты между ними, профит.
Не подходит... Из одной зоны в другую переход будет только телепортом, как допустим в невервинтер онлайн,.. а мне это не очень нравится.
Т.е. Я допустим не смогу добежать из адена в годдард
Добавлено через 1 минуту
Pointer*Rage Написал:Ну дефолтно мир линейки делится на те же самые квадраты, можно совершенно спокойно разделить обработку мира на эти квадраты. В принципе сейчас немного похожая система, но в ней нет кластерализации.
Это я к тому, что уже есть некоторые вещи, например работа АИ по квадратам, где есть активные игроки
Вообще общий путь "деланья" такой вещи мне видится так:
1. Запиливаем всю обрабатываемую логику в отдельный модуль
2. Запиливаем основные интерфейсы, которые будут ездить по элементам кластера
3. Делаем сеть отдельным модулем, это будет входом в наш кластер
4. Реализуем RMI подключения для коннекта к элементам кластера
5. Запиливаем ограничение по работе с регионами, если не наш регион, то передаем клиента нужному элементу кластера
6. Профит!
Но кластер у нас это отдельно стоящие машины, на границах не будет рассинхрона?
Ну и что бы не обновлять пост, у нас есть кластер, с точкой входа login.gameserver.ru, следующая точка, game1.gameserver.ru - место 1 сервера допустим с городом Аден, при переходе линии до Годдорда будет переход на game2.gameserver.ru, в этот момент могут же быть глюки с рассинхроном данных?
Хотя навернео сам отвечу на свой вопрос, база данных то одна и работают от одной базы данных.
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
01-27-2014, 02:51 PM
(Сообщение последний раз редактировалось: 03-01-2014, 02:52 AM Ashe.)
xolseg Написал:Не подходит... Из одной зоны в другую переход будет только телепортом, как допустим в невервинтер онлайн,.. а мне это не очень нравится.
Т.е. Я допустим не смогу добежать из адена в годдард
Добавлено через 1 минуту
Но кластер у нас это отдельно стоящие машины, на границах не будет рассинхрона?
Нет, не будет. Я подразумевал использование RMI для всех игровых обьектов, при том, что логика выполнения "актиона" везде, на каждом элементе кластера, одинакова, т.к. она выносится в отдельную модульную библиотеку, как и интерфейсы для RMI.
Добавлено через 1 минуту
xolseg Написал:Ну и что бы не обновлять пост, у нас есть кластер, с точкой входа login.gameserver.ru, следующая точка, game1.gameserver.ru - место 1 сервера допустим с городом Аден, при переходе линии до Годдорда будет переход на game2.gameserver.ru, в этот момент могут же быть глюки с рассинхроном данных?
Хотя навернео сам отвечу на свой вопрос, база данных то одна и работают от одной базы данных.
А зачем делать доступными извне элементы кластерной системы? Я говорил про закрытую систему для подключений извне, ибо для переброса коннекта понадобится править клиент, да и фризы могут появится при переходе в другой элемент кластера.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 754
Тем: 14
Зарегистрирован: Aug 2011
Репутация:
3,478
Сделать обмен между серверами и при достижении определенной точки переправлять игрока. Смысл только - хз )
Сообщений: 70
Тем: 0
Зарегистрирован: Dec 2013
01-27-2014, 02:55 PM
(Сообщение последний раз редактировалось: 03-01-2014, 02:52 AM Ashe.)
xolseg Написал:Не подходит... Из одной зоны в другую переход будет только телепортом, как допустим в невервинтер онлайн,.. а мне это не очень нравится.
Т.е. Я допустим не смогу добежать из адена в годдард
Товарищ я вам говорю все это фантастика и не более, во первых там просто тонны кода надо реализовать, исходников движка анриал нету, ну и самое освновное - вам денег столько не хватит чтобы переделывать такую игру.
Карты(Регионы) не как не фиксируются движком для сервера, они просто есть статичные - Single Player.
Количество Карт прописывается в L2.ini а ini Связанно с L2.exe Engine.dll, вам надо создавать свои L2.exe(попросту разделить L2 на L2 для каждого региона Что уже полноценный бред .
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
Erwin Написал:никак - сервер не грузит клиент, а только отсылает и принимает пакеты.
Чтобы такое реализовать нужно - создавать новую игру.
Огромный пост написал зачем это надо из-за одной строчки.
"Распределение нагрузки на кластер" И клиент тут не причем.
Сообщений: 856
Тем: 9
Зарегистрирован: Jul 2011
Репутация:
2,852
xolseg Написал:Не подходит... Из одной зоны в другую переход будет только телепортом, как допустим в невервинтер онлайн,.. а мне это не очень нравится.
Т.е. Я допустим не смогу добежать из адена в годдард
Вспомните как происходит переход в SoD/SoA
Aka Stels
|