Кластер внутри мапы?
похоже близзы сделали то, что казалось сделать невозможным. или это какой то механизм, схожий с фазированием. или само фазирование. суть в следующем:
ну, в общем, последнее время плотно гамаю на оффе. да да, на старости лет :) много смотрю, узнаю старое, смотрю на новое, всматриваюсь как сделано, слежу за поведением окружающего, ну тд и тп, в общем делаю все то, что необходимо делать для разработчика сервера. у меня один перс. играть им я начал еще в 3.3.3 (как сейчас помню). только в этом году, летом, докачал его до максималки, приодел и все такое. стало скучно. сейчас с друзьями в факультативном режиме прокачиваю второго перса, друида, ночные эльфы, альянс. друид - это значит калимдор. но рано или поздно заносит в штормвинд, если альянс. я не зря это все пытаюсь подробно рассказать и вот почему: калимдор. там квесты и вообще начальное развитие персонажа. на азероте им не играл и нигде не бывал. фазирование по моему убеждению должно быть "нулевым" как бы... не знаю как сказать. нет никаких эвентов, квестов и т.п., которые бы меня заносили в другую фазу. и вот как то однажды, прокачивая травничество, случайно вылетел из элвинфореста в бёрнинг степс. и вот пересекая границу заметил странное притормаживание клиента (блин, Alienware m17x R4, SSD, 32gb, ну чего ж еще надо). отлетел обратно - снова притормозило. опять пролетаю - замечаю, как на горе горел костер, когда я находится на территории элвина. и как костер (ГО) дестроится, когда я перелетаю в степи и ловлю подтормаживание клиента. вах, тваюмать! подумал я, не уж то оно! я ведь вынашивал эту мысль уже не помню с когда, сделать кластер внутри мапы. стал еще приглядываться - обнаружил визуальный эффект спелла, которые кастуется при логине в новую мапу, это такой светлый конус вокруг персонажа как бы. ну и если присматриваться ОЧЕНЬ внимательно, видно, как "старый" ландшафт фейдом заменяется "новым" и чуть чуть "не там". в движении даже не поймешь. еще этот факт наверное можно наблюдать на нынешнем вневременном острове. туда можно просто прилететь на маунте и "влететь" в эту зону. если же твоему персу вход туда заказан, то на остров вы не попадете. я сейчас вспоминаю то же странное ощущение при "влетании" на остров, но тогда я как то не обратил на это внимание. скорее всего эта технология позволяет очень гибко фильтровать и ограничивать входы в зоны на открытых территориях. не всегда правильным и логичным делать вход в зону традиционными телепортами и порталами. если по задумке зона находится на материке или на рядом стоящем острове, то логично, что туда нужен "простой" вход. и в то же время управляемый вход. например, не выполнив цепочку квестов, вам зона недоступна. что то подобное есть в вечноцветущем доле, а именно ворота в них. они открыты после сдачи квеста. причем если лететь туда на феале песков персом, которому ворота открыты, а пассажиру нет, то первый спокойно пролетает в открытые ворота, а второй ... так же спокойно пролетает сквозь закрытые двери. испытано лично мной. и этот говнюк сбросил меня там, между дверьми, типа сиди там :) хорошо что я маг :) но тут фазирование на лицо. вроде бы все встает на свои места, и зачем это нужно, и как сделано (тот же набор опкодов, как и при логине скорее всего). одно в этой истории непонятно - бёрнинг степс то тут причем... снифера у меня сейчас нет актуального. да он мне сильно сейчас и не поможет (опкоды по прежнему меняются с каждым билдом?). если кто занимается этим, снифает - посмотрите плиз, чего там такое происходит в этих местах. в свое время плотно сидя на разборе снифов, именно тот же набор опкодов, во время world port как при логине (ну почти тот же) меня натолкнул на мысль о кластеризации игрового пространства и тогда то она и родилась. |
не знаю, как насчет зон, но разные карты у близзов точно обрабатываются на разных серверах.
когда половина ру сервов лежали, при попытке портануться в шатры выдавало вот такое http://img194.imageshack.us/img194/1204/cmjc.png Цитата:
видели create часть SMSG_UPDATE_OBJECT пандор? это нечто
Цитата:
|
Цитата:
Цитата:
Цитата:
я просто обратил внимание, что "вход" в такую зону выглядит точно так же как при логине или ворлд порте. при смене фазы он не такой. например, в пандарии я начал цепочку квестов операции заслон, там у меня другая фаза. и для легендарного плаща, где убить генерала - тоже другая фаза. если прилететь туда в группе с тем, у кого нет этих квестов, то мы будем в разных фазах, это во первых. и во вторых, здесь я не замечал таких визуальных эффектов и притормаживаний. ну, я присмотрюсь еще внимательнее. возможно близзы только отрабатывают эту технологию и выбрали "малонаселенные" зоны, когда почти всегда никого нет. в любом случае проснифать бы да все вопросы отпадут. |
Да, там реконнект происходит при пересечении realm only и cross server зон, это давно известно. Можно даже в netstat глянуть, ip меняются :)
А кто нибудь пытался провернуть это на 3.3.5 клиенте? :) То что при логине это прокатывает и так известно, а вот сделать редирект уже после входа в мир кто-то побовал? :) |
а опкоды в 3.3.5 для этого есть? :)
если так, обязательно займусь, ибо мувемент у меня в программе. |
Цитата:
Код:
SMSG_CONNECT_TO = 0x50D, |
Цитата:
|
вах, даже так :)
это чего у них, реалмлист стало быть есть? целая сеть реалмов-пираток, объедененных в реалмлист? да, ну и как бы механика БГ тут не при делах, это ж обычный ворлд порт. |
Цитата:
|
да понятно что технически ничего сложного. вопрос в том, что это кто-то все организовал.
ну и опять же, чары гуидов... ой, гуиды чаров :) не при делах тоже. зачем они там? я имею ввиду база. при входе в кроссреалм гуиды генерятся новые. врят ли близзы делали на всех реалмах непересекающийся пул гуидов. я теоретизирую и не проверял по снифам, займусь кстати. но я бы сделал именно так. и именно так и сделаю, когда дойдет до БГ :) хотя давно уже понятно, что реальные гуиды легко влазят в 32 бита, а хай гуид используется не везде и не всегда. а когда используется, то видны все извращениями с ними. вполне возможно на кроссреалмах по хайгуиду определяется собственно реалм, т.е. у чаров с одного реалма одинаковый хайгуид. снифы надо покурить все таки... но одно другому не мешает, гуиды мне кажется генерятся новые. посмотрю, о результатах доложусь. |
Цитата:
Код:
/dump UnitGUID("player") |
да, вы правы, гуиды не меняются. вот пруф:
сниф: 5595.WOWEMUTEAM.Warsong-5595-new-bg.0024417E44.PKT, 4236 kb [5595] смена карт по снифу: Код:
[General - Orgrimmar], map=1, zone=1637 Код:
--- NEW OBJECT [182/268]--------------------------------------------------------------- Код:
--- NEW OBJECT [182/240]--------------------------------------------------------------- |
в общем, у вневременного острова, как ни старался - эффект не воспроизводится.
|
У них зоны есть нескольких типов кросс серверности:
1) вообще не кросс серверные (даже если в одной группе/рейде), например Штормград и Оргриммар 2) кросс серверные только если в группе/рейде (Пандария) 3) кросс серверные даже без группы/рейда (низко уровневые зоны) В пандарии кстати при переходе из одной зоны в другую реконнект не происходит (кроме острова грома, который зачем-то вообще на отдельной мапе). Во всех остальных случаях при смене зоны клиент реконнектится. |
Цитата:
|
ну как перекачивать... а если и там и там есть объекты с одинаковым гуидом? сами чары. или их итемы. а что будет с энчантами? ну с ними то хрен с ними, ну будет показываться другое имя, а тот, кто заинчантил тебе итем. но тем не менее, дизайн какой то кривой в этом случае. я бы на ревью задеклайнил :)
|
Цитата:
|
ну да, остается только надеяться, что на разных реалмах свои хайгуиды. и что скорее всего сейчас так и есть, пишется же сейчас на персе его имя вида "имя реалма - имя перса". причем наблюдается даже у входа в сторм, там куча персов впв-шится, на разувии по крайней мере :)
|
Текущее время: 10:05. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS