PDA

Просмотр полной версии : [Скрипт] AntiCrashReport Aion для 2.1 (сибирь)


Tr0y
26.02.2011, 13:12
Приветствую читеры и читерихи сегодня я расскажу как избавится с 95% вероятностью от крашрепорт/crashreport (окно с ошибкой и последующем закрытии клиента), и я похоже нашел в чем причина - это сами игроки... :forward:

Скрипт убирает всех игроков из виду, т.е. мы заблокируем приходящие пакеты о перемещении и появлении новых игроков клиенту и тем самым уменьшим шанс появления сендлога, у меня сендлогов при крафте уже 3 неделю нет.

Я блокировал приходящий от сервера пакет на респаун (появление) и на перемещение окружающих игроков, блокируя пакеты по их ID

Вот что получилось:

// Для 2.0
procedure Init; //Вызывается при включении скрипта
begin end;

procedure Free; //Вызывается при выключении скрипта
begin end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if fromserver and
// 35 50 F2 на передвиение других игроков, приходит от сервера
// 1C 50 DB на респаун/появление игроков, приходит от сервера
// 12 34 56 00 свой ID
((pck[1]= #$35) AND (pck[2]= #$50) AND (pck[3]= #$F2))or // это перемещение другого игрока?
(((pck[1]= #$1C) AND (pck[2]= #$50) AND (pck[3]= #$DB))and // это появление/респ?
(NOT((pck[16]= #$12) AND (pck[17]= #$34) AND (pck[18]= #$56)))) // наш ид
then
begin
pck := ''; // блокируем пакет
end;
end.



// Для 2.1
procedure Init; //Вызывается при включении скрипта
begin end;

procedure Free; //Вызывается при выключении скрипта
begin end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if pck='' then exit;
try
if fromserver and
((pck[1]= #$34)or // перемещение игрока?
(pck[1]= #$1F))and // появление игрока?
(NOT((pck[16]= #$12) AND (pck[17]= #$34) AND (pck[18]= #$56))) // наш ид
then
begin
pck := ''; // блокируем пакет
end;
except // тихо обрабатываем возможные ошибки при чтении
exit;
end;
end.


Есть нюанс, если телепортироватся, то наша моделька игрока пропадает и нельзя не использовать умения и двигаться. Я это исправил по следующему, я добавил свой ИД в исключения на блокирование, и все будет ОК, вам нужно только добавить свой ид в исключения, чтобы пакет этот не блокировался и вы не исчезали при телепорте(тп)...
Ид не обязательно свой всписывать, можно просто включить скрипт на время крафта, тогда все существующие игроки и их перемещения "заморозятся" только у вас в клиенте, т.о. исключая случаи "выпадения" сендлогов, но тогда вам не желательно ТПшится куда либо с вкл. скриптом, т.к. при ТП ваша моделька тоже пропадет и спасет только релог или поможет 1 пакет на сервер 67 57 04 - он обновит всю обстановку около вас.

Скрипт не завершенный, можно блокировать еще уйму пакетов, уменьшая появление сендлога до 100%!

Пакет на таргет оранжевый и выглядит примерно так:
Для 2.0
CE 55 6D 44 D1 00 00 00, где 44 D1 00 00 ид вашей цели

Для 2.1
B5 57 72 44 D1 00 00 00, где 44 D1 00 00 ид вашей цели

Выделите себя и измените строку на исключаемый ид тут 3 пары цифер:

(NOT((pck[16]= #$12) AND (pck[17]= #$34) AND (pck[18]= #$56))))

Например, если пакет на таргет
2.0 - CE 55 6D 44 D1 00 00 00,
2.1 - B5 57 72 44 D1 00 00 00,
тогда строка будет вида:

(NOT((pck[16]= #$44) AND (pck[17]= #$D1) AND (pck[18]= #$00))))


Можно даже не вносить изменения в скрипт, но тогда при любом телепорте внутри города будете "пропадать", где поможет релог с откл. скриптом.

Прикрепил файл скрипта, кидаем в папку л2пх ...\SCRIPTS, запускаем скрипт в программе выбрав "Автоматизация -> Скрипты" и поставив галочку напротив скрипта. Галочка показывает активен ли скрипт.

Тыкаем спс если сендлоги в городе исчезли или заметно сократились /problem

Удачи!

З.Ы. Обновил скрипты, для каждой версии свой скрипт:

Mongol
26.02.2011, 13:57
На осадах поможет от лагов?

Tr0y
26.02.2011, 14:11
На осадах поможет от лагов?

Скрипт блокирует пакеты от сервера на перемещение и появление игроков...

Будет пустая локация с мобами ) ТЫ никого не увидишь, включая их ники (клиент вообще не занет, что там есть игроки, т.к. мы блокировали эти приходящие пакеты)...
Зато остальные тебя видят как обычно.

JIEgOKOJI
26.02.2011, 14:34
Вылеты не из-за игроков , а из-за того что клиент\сервер иногда посылает неверные\неполные пакеты

Tr0y
26.02.2011, 14:49
Вылеты не из-за игроков , а из-за того что клиент\сервер иногда посылает неверные\неполные пакеты

Незнаю, таковых я не обнаружил, зато у меня с 99% исчезли сендлоги при крафте в элизиуме... Тест длится уже 5 дней и ниодного сенлога я не поймал, делайте выводы, а раньше каждые 2-40 минут был сендлог...

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

С скриптом мы имеем:
+ к FPS, т.к. нету игроков
+ нету сенлогов
+ просто в устоновке аля "скачай и запусти"

- Не можем выделить рядостоящего, т.к. его нету (релог с выкл. скриптом в помощь)
- Если не вписали свой ИД в исключения, то наша моделька тоже исчезает при телепортации

Не хочешь - не используй /facepalm

~=FANTOM^SsS=~
26.02.2011, 14:49
Вылеты не из-за игроков , а из-за того что клиент\сервер иногда посылает неверные\неполные пакеты
Из-за этого дисконекты, а вылеты скорее всего из-за игроков.

JIEgOKOJI
02.03.2011, 09:48
~=FANTOM^SsS=~ Именно вылеты идут тогда когда от сервера идёт неверный\неполный пакет.

Викторрррр
13.03.2011, 12:08
Всем привет, спасибо за скрипт, пользовался с удовольствием, но теперь на TerAion обнову кинули и не работает!
Как печально та, кто б новый кинул, а то эти сэндлоги просто пипец(((
За ранее спасибо)

Tr0y
14.03.2011, 20:31
Первый пост обновлен, если будут вопросы или замечания/критика, все приемлю )
Файлы скриптов обновил немного и добавил для 2.1 (оба были протестированы)

Викторрррр
14.03.2011, 21:55
Спасибо больше, чтоб я без тебя делал))))

bitka1981
31.03.2011, 06:08
автор спасибо я как раз из-зи критов не хотел крафт качать а теперь с радостью)

don1500
01.04.2011, 21:11
Автор скажи а не проще в хлапе отключить прием пакетов от сервера? Или ты в клиенте пакетом блокируеш приём этих пакетов??!

Вот только так и не понял как запускаеться скрипт? Просто добалением в хлапу и гг поставлением галочки?) Весь скрипт облазил так и не увидил где кнопка прописана? и какая?

speran
04.04.2011, 11:23
Автор скажи а не проще в хлапе отключить прием пакетов от сервера? Или ты в клиенте пакетом блокируеш приём этих пакетов??!

Вот только так и не понял как запускаеться скрипт? Просто добалением в хлапу и гг поставлением галочки?) Весь скрипт облазил так и не увидил где кнопка прописана? и какая?

Ну я так понимаю, ты просто их видеть не будешь, а идти они будут.А так он их блокирует скриптом.


И ещё хотелось бы узнать.Если сендлоги из-за игроков.То получается на осадах всех кидать должно, потому что там такая толпа и такие лаги начинаются, просто жесть.Может кто знает как их исправить.Ну или хотябы вырубить показ своих на карте или оптимизировать.А то мля 5мб в сек инет, а лаги просто жесть.

Tr0y
24.04.2011, 11:04
В клиенте есть функция отключения показа моделек + ников игроков своих и чужих...

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

Timon351
24.04.2011, 11:41
сразуже не отходя от тела))) За это бан можно получить или это ни как не отслеживается? а то ну ооочень в баню не хочется

Tr0y
25.04.2011, 20:29
сразуже не отходя от тела))) За это бан можно получить или это ни как не отслеживается? а то ну ооочень в баню не хочется
Сразу сообщу данный скрипт ничего не отправляет, он только анализирует/слушает сетевой трафик игры, находит в нем нужные пакеты и запрещает им "проходить" в клиент, запрещает 2 вида приходящих пакетов (см. первый пост)...

Вот схематичная модель всей этой "канители": Aion <-> l2phx <-> Internet <-> Server, l2phx - тут как "посредник" в пакетном уровне...

Забанить могут... если вы сами скажите и/или на стороне клиента стоит некая "защита"(аля "GG"), которая может увидеть запущенной l2phx, но тут уже не от меня и скрипта зависит, а от ваших "рук" (умения "прятать свое добро по полкам"). Сами скрипты и их описание выше, все открыто для ВАС уважаемые, хотите "сварите", хотите "зажарьте" /problem

Ну если все просуммировать из вышесказанного, за данный скрипт забанить не могут (т.к. он не меняет/отправляет пакеты на сервер/клиент), т.к. он только "слушает" соединение, запрещая "нужные" пакеты от сервера и ни в коем образом не вмешивается/влияет на игровой процесс/пакетный уровень игры в целом у окружающих вас игроков. Т.е. скрипт только у вас локально делает такую штуку (не дает ВАШЕМУ клиенту "знать", что рядом бегают др. игроки).

Приятно слышать, что кому то помог :hd: я рад :d