Страница 3 из 16

Добавлено: Сб дек 09, 2006 1:23 pm
DInvalid
kLabMouse писал(а):DInvalid
И так скажу тебе своё виденье проблемы.
На ранних стадиях, когда ещё ропп был чёть-ли не весь на асме, был такой прикол что тот начинал генерить неправильные пакеты до синхронизации.

Полагалось Что проблема состоит именно в задержке данных от библиотеки (ТЕ идёт запрос на генерацию пакета, а тут бац уже поменлось значения Синка пока мы генерим).

Но видимо проблема спрятана более глубоко если всё-таки пишет
Standing by plugin
ТЕ, данное действие вызывает сама Кор, а не плаг тупит

Скажу Чесно. Я за всё время не набльюдал ни одного глюка. Странно.
Хуже того, может быть это однвременно глюк и плагина и Коры
Можеть быть такое?

[Dec 9 10:30:38 2006] Sent Sync
Проблемы начались после посылки этого синка....

[Dec 9 10:30:39 2006] Sent attack by plugin: E5 D2 00 00
[Dec 9 10:30:39 2006.45] [ 97/100] You attack Monster PecoPeco's Egg (2) - Dmg: 46 (delay 55.2)
этот пакет правильный - атакуем

[Dec 9 10:30:40 2006] Sent attack by plugin: E5 D2 00 00
[Dec 9 10:30:40 2006.57] [ 97/100] You attack Monster PecoPeco's Egg (2) - Dmg: 45 (delay 55.2)
этот пакет правильный - атакуем

Вот отсюда следущие пакеты атаки - проигнорированы (неверные?)
Тоесть это сбой в плугине
[Dec 9 10:30:41 2006] Sent attack by plugin: E5 D2 00 00
[Dec 9 10:30:42 2006] Sent attack by plugin: E5 D2 00 00
[Dec 9 10:30:43 2006] Sent attack by plugin: E5 D2 00 00

[Dec 9 10:30:44 2006] Sent attack by plugin: E5 D2 00 00
[Dec 9 10:30:44 2006.31] You are sitting.
Последний пакет мог вопринятся сервером как пакет - сесть и от сервера пришло сообщение что мы сели.

[Dec 9 10:30:44 2006] Standing by plugin
[Dec 9 10:30:44 2006] Standing by plugin
[Dec 9 10:30:45 2006] Standing by plugin
[Dec 9 10:30:46 2006] Standing by plugin
[Dec 9 10:30:47 2006] Standing by plugin
[Dec 9 10:30:48 2006] Standing by plugin
[Dec 9 10:30:49 2006] Standing by plugin
[Dec 9 10:30:50 2006] Standing by plugin

Так как мы якобы сели, то Кора пытается встать, но у нее ничего не выходит - пакеты не верные

И только после синка
[Dec 9 10:30:50 2006] Sent Sync
[Dec 9 10:30:51 2006] Standing by plugin
[Dec 9 10:30:51 2006.18] You are standing.

Как выяснить - были ли посланы неверные пакеты? По дампу пакетов сможете определить ?

Добавлено: Сб дек 09, 2006 1:25 pm
Jerry
сможем

Добавлено: Сб дек 09, 2006 1:51 pm
kLabMouse
Видимо всё таки беда Внутри.
И так. Прикрути пожалуста Ету Маленькую Штучку туда куда надо.
sub SetHashData {
SetAccountId(unpack("L1",$accountID));
SetMapSync(unpack("L1",$syncMapSync));
SetSync(unpack("L1",$syncSync));

my $func;
$func = 0x89 * 0x89;
$func &= 0xFFFFFFFF;
$func += unpack("L1",$syncMapSync);
$func &= 0xFFFFFFFF;
$func += unpack("L1",$syncSync);
$func &= 0xFFFFFFFF;
$func += unpack("L1",$accountID);
$func &= 0xFFFFFFFF;
$func &= 0xF;
message "Using Function [".getHex(pack("C", $func))."] AccID: [".getHex($accountID)."] MapSync: [".getHex($syncMapSync)."] Sync: [".getHex($syncSync)."]\n";
}
Етот маленький алгоритсм определяет которая из криптофункций будет вызыватся. И с какими параметрами.

И ПЛЗ. АссАйди даш потом, иначе будут неприятности если ето заметят лАгГейма админы.

Добавлено: Сб дек 09, 2006 3:28 pm
DInvalid
kLabMouseМодератор, смотри ЛС.

Добавлено: Сб дек 09, 2006 4:23 pm
piroJOKE
Господа, это хорошо, что вы обмениваетесь пакетами в ПМ, и всё такое, но я хотел бы, чтобы вы устроили так, чтобы КМ смог воспроизвести эту ошибку на своём компьютере.

Добавлено: Сб дек 09, 2006 5:11 pm
DInvalid
piroJOKE писал(а):Господа, это хорошо, что вы обмениваетесь пакетами в ПМ, и всё такое, но я хотел бы, чтобы вы устроили так, чтобы КМ смог воспроизвести эту ошибку на своём компьютере.
Что то не так?
Ну так скажите как надо!?

Добавлено: Сб дек 09, 2006 5:42 pm
piroJOKE
КМ, вот ТЫ увидел у себя эти глюки, или всё-таки нет?

"Что то не так?" - я хочу точно убедиться, что ошибка действительно существует, и что это не глюк типа "кофликт версий" или там, кривая настройка...

Добавлено: Сб дек 09, 2006 5:47 pm
kLabMouse
Смотри
Using Function [0E] AccID: [xx xx xx xx]
далее, неправильный пакет
и мы сидим.

Видимо Функция 0E Вызывает Глюк. Ето Mysty1 хеш функция. Её для нас дописывал japplegame.
Видимо прийдётся ещё разок её перековырять, там где-то в серединке маленький баг зарылся.

Добавлено: Сб дек 09, 2006 6:16 pm
japplegame
kLabMouse писал(а):Смотри
Using Function [0E] AccID: [xx xx xx xx]
далее, неправильный пакет
и мы сидим.

Видимо Функция 0E Вызывает Глюк. Ето Mysty1 хеш функция. Её для нас дописывал japplegame.
Видимо прийдётся ещё разок её перековырять, там где-то в серединке маленький баг зарылся.
Ну а как ты объяснишь, что эта функция, как и все остальные, не давала сбоев на сотнях тысячах тестов? На вход подавались рандомные значения. И сравнивались результаты функции в эмуляторе и прямо в ragexe. А у вас тут ошибки возникают гораздо чаще.
Во-первых, чтобы достоверно утверждать об ошибке в функции 0E нужно собрать хотябы несколько десятков сбойных пакетов и посмотреть действительно ли все время сбой на этой функции. А сколько таких пакетов у вас?

Добавлено: Сб дек 09, 2006 6:23 pm
japplegame
Кстати, у меня подобных глюков в 1.6.9 нет.
Правда у меня очень хороший коннект с рРО.
Я подозреваю, что виновата все-таки рассинхронизация из-за лагов. Я подумаю на досуге, как с этим бороться.

Добавлено: Сб дек 09, 2006 6:23 pm
kLabMouse
japplegame
Я щас отправлю тебе лог. Сам посмотриш. Что-то там не так. Я спецом дал код для того чтобы видеть которая с функций сплоховала.
Прийдётся проганять ещё и ещё.... странное выходит.

Добавлено: Сб дек 09, 2006 6:27 pm
kLabMouse
japplegame

У меня тоже таких Глюков не наблюдалось. Видимо что-то не так. ХЗ-ХЗ.

Добавлено: Сб дек 09, 2006 6:40 pm
japplegame
kLabMouse писал(а):japplegame
Я щас отправлю тебе лог. Сам посмотриш. Что-то там не так. Я спецом дал код для того чтобы видеть которая с функций сплоховала.
Прийдётся проганять ещё и ещё.... странное выходит.
А чего тут странного? В ПМке один единственный сбойный пакет, и то что там именно функция 0E ни о чем не говорит. Сбойнул бы другой синк могла бы оказаться любая другая функция.
ИМХО, тот самый злополучный синк просто не дошел до сервера.
Надо подумать и изучить как офф-клиент борется с подобными вещами и сделать аналогично.

P.S. Кстати довольно легко встроить в ropp.dll систему записи логов в какой-нибудь файл. Я могу это сделать, но, думаю проблему надо искать не в dll вообще.

Добавлено: Сб дек 09, 2006 6:48 pm
DInvalid
piroJOKE писал(а):КМ, вот ТЫ увидел у себя эти глюки, или всё-таки нет?

"Что то не так?" - я хочу точно убедиться, что ошибка действительно существует, и что это не глюк типа "кофликт версий" или там, кривая настройка...
Конфликт каких версий? Конфликт какой настройки?
Какие вам нужны файлы?

Могу выложить лог за 4 часа.
Объем в архиве - 500 кб
Там много сбоев, и всегда около них используется одна и та же функция.
Канал 4 МБ\с.
Лаги - есть.

Добавлено: Сб дек 09, 2006 6:49 pm
kLabMouse
japplegame
Давай Так. Присвоим последнее значение для $syncSync только тогда когда получим ответ на пакет Синка. Тогда думаю проблема будет решена.
Если нет. То прийдётся по жёсткому пройтись во функции 0E