Blokada błędnych wiadomości
R3X
22.08.2011
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()
Orpheu
Załączone pliki
dram
22.08.2011
Użytkownik dram edytował ten post 22.08.2011 16:50
R3X
22.08.2011
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 )
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?
R3X
22.08.2011
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
sekio 17.02.2012
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...
Użytkownik benio101 edytował ten post 27.10.2012 08:37
Dodanie znacznika CODE
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
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
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.
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
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
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.