←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Blokada błędnych wiadomości

  • +
  • -
R3X - zdjęcie R3X 22.08.2011

Blokada błędnych wiadomości

Dołączona grafika
Narzędzie głównie developerskie, ale może się też przydać do poprawiania tych gotowych pluginów. Wyłapuje i blokuje wiadomości typu MSG_ONE i MSG_ONE_UNRELIABLE z niepoprawnym argumentem id. Mogą być one wysyłane tylko do istniejących obecnych na serwerze graczy, co nie zawsze jest sprawdzane i te, które się przedrą powodują crash serwera z podanym w opisie komunikatem

FATAL ERROR (shutting down): MSG_ONE or MSG_ONE_UNRELIABLE with no target entity


Wykryte wadliwe wiadomości są zapisywane w logu

amxmodx/logs/_msg_one.log


Oto przykładowy wynik:
L 08/22/2011 - 15:52:34: Client 0 not found for ScreenFade
L 08/22/2011 - 15:52:34: message_begin(1, 98, {0.0, 0.0, 0.0}, 0)
L 08/22/2011 - 15:52:34: write_short(4096)
L 08/22/2011 - 15:52:34: write_short(4096)
L 08/22/2011 - 15:52:34: write_short(1)
L 08/22/2011 - 15:52:34: write_byte(255)
L 08/22/2011 - 15:52:34: write_byte(0)
L 08/22/2011 - 15:52:34: write_byte(0)
L 08/22/2011 - 15:52:34: write_byte(120)
L 08/22/2011 - 15:52:34: message_end()

Dołączona grafika
Orpheu

Załączone pliki

Odpowiedz

  • +
  • -
dram - zdjęcie dram 22.08.2011

Hmm loguje też który radziecki plugin dopuścił się takiego czynu? Mógłbyś coś takiego zrobić bynajmniej wiedziałbym gdzie szukać ;P
Użytkownik dram edytował ten post 22.08.2011 16:50
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.08.2011

W logach masz numer i nazwę wiadomości (u mnie ScreenFade) oraz wszystkie przekazane parametry, na pewno na start możesz wykluczyć kilka pluginów, które na pewno nie powodują crasha :) żeby ustalić, który plugin wysłał wiadomość; musiałbym złapać hook funkcji z amxx, a do tego brakuje mi doświadczenia z Orpheu
Odpowiedz

  • +
  • -
dram - zdjęcie dram 22.08.2011

L 08/22/2011 - 21:57:12: Client 20 not found for ScoreAttrib
L 08/22/2011 - 21:57:12: message_begin(1, 84, {0.0, 0.0, 0.0}, 20)
L 08/22/2011 - 21:57:12: write_byte(11)
L 08/22/2011 - 21:57:12: write_byte(0)
L 08/22/2011 - 21:57:12: message_end()


L 08/22/2011 - 21:57:10: Client 16 not found for AmmoX
L 08/22/2011 - 21:57:10: message_begin(1, 99, {0.0, 0.0, 0.0}, 16)
L 08/22/2011 - 21:57:10: write_byte(10)
L 08/22/2011 - 21:57:10: write_byte(0)
L 08/22/2011 - 21:57:10: message_end()


L 08/22/2011 - 21:57:10: Client 16 not found for CurWeapon
L 08/22/2011 - 21:57:10: message_begin(1, 66, {0.0, 0.0, 0.0}, 16)
L 08/22/2011 - 21:57:10: write_byte(0)
L 08/22/2011 - 21:57:10: write_byte(0)
L 08/22/2011 - 21:57:10: write_byte(0)
L 08/22/2011 - 21:57:10: message_end()


L 08/22/2011 - 21:57:08: Client 2 not found for ReqState
L 08/22/2011 - 21:57:08: message_begin(1, 65, {0.0, 0.0, 0.0}, 2)
L 08/22/2011 - 21:57:08: message_end()


Przeszukałem prawie każdy plugin "można tak powiedzieć", czy są jakieś inne funkcje z fakemety które działają na wiadomościach ? NP.
(to nie jest funkcja z fakemety:O)
(i to nie prawda ;P)
set_user_health(id,150)
co w rzeczywistości(ale zaznaczam że jest to nie prawda)

da

message_begin...

Jest może taka spis takich gotowych funkcji?
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 22.08.2011

funckje modułowe pilnują parametrów i wywalają błędy przed ewentualnym wysyłaniem wiadomości do nieistniejących graczy;)

ScoreAttr to pewnie z jakiegoś VIPa, a na resztę to bym polecił Notepad++ i opcję Find in files (nie wiem jak to w polskiej wersji przetłumaczyli, coś jak'Szukaj w plikach'), która wyszuka w każdym .sma nazwy wiadomości
get_user_msgid("NAZWA")


Przydatne linki:
Dokumentacja AMXX.pl: message_const.inc
Half-Life 1 Engine Messages - AlliedModders Wiki
Half-Life 1 Game Events - AlliedModders Wiki
Odpowiedz

sekio - zdjęcie sekio 17.02.2012

Trochę odkopie temat ale ten błąd reqstate pojawia sie na amxx z wyłączonymi wszystkimi pługami , wiec nie mam pojecia jak to usunąć
Odpowiedz

  • +
  • -
ToRRent - zdjęcie ToRRent 18.02.2012

mi też wywala to regstate jak na serwie siedzi ponad 10 graczy
Odpowiedz

  • +
  • -
Lukes1992 - zdjęcie Lukes1992 26.10.2012

L 10/20/2012 - 12:30:22: [ORPHEU] Invalid function structure "MessageBegin"
L 10/20/2012 - 12:30:22: [AMXX] Displaying debug trace (plugin "msg_one_catch.amxx")
L 10/20/2012 - 12:30:22: [AMXX] Run time error 10: native error (native "OrpheuCreateFunction")
L 10/20/2012 - 12:30:22: [AMXX]	[0] orpheu_stocks.inc::OrpheuGetEngineFunction (line 34)
L 10/20/2012 - 12:30:22: [AMXX]	[1] msg_one_catch_891360.sma::plugin_init (line 21)

Często wywala te błędy...
(27.10.2012 08:37):
Kod w postach (np. źródło pluginu) umieszczaj w odpowiednich tagach (code/php/spoiler itp), a powyżej 200 linijek tylko w załączniku lub na wklejce.

Użytkownik benio101 edytował ten post 27.10.2012 08:37
Dodanie znacznika CODE
Odpowiedz

  • +
  • -
Lacostii - zdjęcie Lacostii 24.07.2013

żeby ustalić, który plugin wysłał wiadomość; musiałbym złapać hook funkcji z amxx, a do tego brakuje mi doświadczenia z Orpheu

 

Próbuję zidentyfikować błąd w którymś z pluginów już od długa i bez efektu. Jeśli przez minione prawie 2 lata posiadłeś wiedzę tajemną o Orpheu to byś zastanowił się nad modernizacją tego pluginu, na pewno ja i wielu by na tym skorzystało.


Użytkownik Lacostii edytował ten post 24.07.2013 01:55
Odpowiedz

Angel of Death - zdjęcie Angel of Death 25.07.2013

Podpisuje się pod prośbą, ułatwiło by nam to życie ;)

Odpowiedz

  • +
  • -
Shaxu - zdjęcie Shaxu 30.07.2013

Również bym bardzo prosił . . .

Odpowiedz

Angel of Death - zdjęcie Angel of Death 18.08.2013

Odświeżam temat, czy znajdzie się ktoś kto potrafił by edytować plugin tak by pokazywał on z którego pluginu zostaje wysłana błędna wiadomość?
Bardzo by nam to pomogło, szczególnie posiadaczom COD Mod'a gdzie przeszukiwanie setek plików (czasem bez skutku) jest bardzo uciążliwe ;)

Odpowiedz

  • +
  • -
Lacostii - zdjęcie Lacostii 11.11.2013

Sygnatury w załączniku są nieaktualne dla nowego HLDS'a 6027, bez wrzucenia ich są takie error logi:

L 11/11/2013 - 05:23:19: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20131111.log")
L 11/11/2013 - 05:23:19: [ORPHEU] Invalid function structure "MessageBegin"
L 11/11/2013 - 05:23:19: [AMXX] Run time error 10 (plugin "msg_one_catch.amxx") (native "OrpheuCreateFunction") - debug not enabled!
L 11/11/2013 - 05:23:19: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

A po wrzuceniu ich serwer w ogóle nie wstaje.

Odpowiedz

  • +
  • -
PiraT - zdjęcie PiraT 13.11.2013

Nie dodałeś wszystkich plików. Sygnatury pobierz.

Odpowiedz

  • +
  • -
Lacostii - zdjęcie Lacostii 14.11.2013

Nie dodałeś wszystkich plików. Sygnatury pobierz.

Nie rozumiesz tego co napisałem. Przeczytaj posta.

 

Zbędnie w sumie dodałem logi, gdy sygnatur brak, ale to niczemu nie szkodzi. Sygnatury nie wyglądają na skomplikowane, ale ich edycja wymaga wiedzy, więc byłbym wdzięczny jakby się ktoś pokusił o poprawę by działały dla nowego HLDS ;).


Użytkownik Lacostii edytował ten post 14.11.2013 00:49
Odpowiedz

  • +
  • -
gustlik - zdjęcie gustlik 01.01.2014

Witam pomógłby mi ktos bo bo mam ten plugin msg_one i cały czas w tym logu _msg_one.log spamuje mi cos takiego 

 

na serwie mam wgranego codmoda 

 

Spoiler

Odpowiedz

kamil323 - zdjęcie kamil323 01.01.2014

to będziesz tak miał niewiem ja też tak mam

Odpowiedz

Wytępiony - zdjęcie Wytępiony 02.01.2014

To znaczy że masz jakiś błąd i powinieneś go naprawić większość codów itp. serwerów ma taki błąd przez co często wywala crashe z powodu błedu msg.

Odpowiedz