Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[AMXX] Diagnozowanie problemów z pluginami


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
9 odpowiedzi w tym temacie

#1 R3X

    Godlike

  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 23.08.2011 22:54

*
Popularny

Diagnozowanie problemów z pluginami

Zdecydowana większość problemów z pluginami zostawia po sobie wyraźne ślady. Ich odnalezienie i interpretacja to połowa sukcesu w walce z niedziałającym dodatkiem.

1. Stan pluginu
Podstawową informacją o pluginie jest to czy się w ogóle załadował. Najłatwiej to sprawdzić wpisując w konsoli:

amx_showrcon amxx list


Efektem będzie listing podobny do tego:
Dołączona grafika

Wszystkie pluginy mają status running, więc wszystkie zostały poprawnie załadowane. No i pozytywnie :)
Innym, równie dobrym statusem jest debug, to jest takie running, ale przygotowane na błędy

Mniej przyjemniej jest kiedy ilość przeczytanych pluginów nie zgadza się z ilością załadowanych. Częsty problemem jest status bad load
Dołączona grafika
Oznacza to tyle, że w katalogu plugins/ nie ma wskazanego w plugins.ini pliku.
(W skrajnych przypadkach plik może istnieć, ale nie uprawniać serwera do odczytu. Ustawienie chmodu 644 załawiłoby sprawę.)

Inny kiepskim przypadkiem jest status error. Pojawia się wtedy, gdy przetwarzanie pluginu zostanie przerwane, np. za pomocą funkcji set_fail_state
Dołączona grafika
jeśli komunikat jest niejasny, niezrozumiały jedynym wyjściem jest zajrzenie do źródła pluginu i sprawdzenie przyczyny

Rzut okiem i mam winowajcę
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	if(5 > 2)
		set_fail_state("nie chce mi sie");
}
W tym przypadku to tylko głupi żart programisty, zwykle problemy są o wiele poważniejsze.

Jest jeszcze stan paused i stopped, są one związane z komendą amx_pausecfg w plikach konfiguracyjnych oraz funkcją (un)pause() w pluginach. W takim przypadku należy sprawdzić wszystkie wczytanie configi, zwykle są to: amxx.cfg z configs, server.cfg z cstrike/ i configs/maps/NAZWAMAPY_LUB_PREFIX.cfg oraz upewnić się, że żaden plugin nie zatrzymuje naszego niedziałającego dodatku.


2. Logi
Gdy mamy pewność, że plugin został załadowany przyszedł czas na szperanie w plikach. Logi, czyli zapisy czynności, są zapisywane w folderze addons/amxmodx/logs/.

Logi zwyczajne są nazywane w formacie L<RRRRMMDD>.log a logi błędów error_<RRRRMMDD>.log. Informacje o problemach mogą się pojawić i w jednych i w drugich. Zgłoszone błędy całkowicie wyjaśniają powód problemów tylko kiedy plugin ma status debug. Aby wymusić ten stan należy w plugins.ini dopisać debug po nazwie pluginu, np.
test.amxx debug
W stanie running komunikaty są okrojone i nie lokalizują konkretnie źródła błędu, natomiast w debugu mamy informacje o ścieżce wywołania, czyli co i w której linijce po kolei się wykonywało zanim wystąpił problem. Ścieżka sięga ostatniej funkcji wywołanej przez moduł.

3. Komendy nie reagują
Problem występuje zwykle, kiedy 2 pluginy dostarczają takie same komendy. W tej sytuacji zwycięzca bierze wszystko: pierwszy plugin na liście plugins.ini przetworzy komendę i zablokuje ją, przez co żaden inny plugin nie zostanie nawet o niej poinformowany. Rozwiązaniem jest zmiana kolejności ładownia albo zmiana nazw komendy. Istnieją pluginy, które blokują więcej komend niż przetwarzają, np. blokują wszyskie komendy say z / na początku. Takie pluginy powinny znajdować się na samym końcu listy.
  • +
  • -
  • 17

#2 Kusek

    z Wikipedii

  • Power User

Reputacja: 445
Wszechobecny

  • Postów:1655
  • Imię:Krystian
  • Lokalizacja:Nowa Dęba
Offline

Napisano 23.08.2011 22:57

też chciałem kiedyś coś podobnego zrobić, bardzo ładnie opisane :)
  • +
  • -
  • 0

#3 A może sma?

    Godlike

  • Power User

Reputacja: 539
Wszechwiedzący

  • Postów:1464
  • GG:
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 23.08.2011 23:30

Warto dodać, że jest cvar:
// Plugin Debug mode
// 0 - No debugging (garbage line numbers) // wyłączone debugowanie
// 1 - Plugins with "debug" option in plugins.ini are put into debug mode // debugowanie pluginów które mają dopisane debug w plugins.ini
// 2 - All plugins are put in debug mode // debugowanie wszystkich pluginów
// Note - debug mode will affect JIT performance // Debugowanie zmniejsza w jakimś tam stopniu (zależnie od pluginu) wydajność serwera
//
// Default value: 1 // Domyślna wartość: 1
amx_debug 1
odpowiadający za debugowanie pluginów. Jeżeli ktoś go przypadkowo zmienił może mieć problem z uzyskaniem error logów :P

Użytkownik A może sma? edytował ten post 23.08.2011 23:31

  • +
  • -
  • 1

#4 Scotty

    Zaawansowany

  • Użytkownik

Reputacja: 24
Życzliwy

  • Postów:125
  • Lokalizacja:miasto
Offline

Napisano 28.08.2011 11:06

warto też dodać że gdy jest badload to może też znaczyć że nie ma jakiegoś modułu, pare razy się z tym spotkałem
  • +
  • -
  • 0

#5 A może sma?

    Godlike

  • Power User

Reputacja: 539
Wszechwiedzący

  • Postów:1464
  • GG:
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 28.08.2011 11:22

Oraz wtedy, gdy plugin korzysta z natywu, który nie jest zarejestrowany w żadnym innym pluginie (nie istnieje)
  • +
  • -
  • 0

#6 Fili:P

    Koleżeński

  • Power User

Reputacja: 752
Guru

  • Postów:1679
  • GG:
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Radom
Offline

Napisano 07.09.2011 06:31

Dziękuję, wreszcie będę coś wiedział na ten temat ^^
  • +
  • -
  • 0

BMXers.pl - Portal o tematyce BMX


#7 BaQStiC

    Supra Team

  • Power User

Reputacja: 108
Zaawansowany

  • Postów:628
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Ck / Wroc
Offline

Napisano 07.09.2011 14:39

Najs dżob...

R3X i wszystko jasne :)
  • +
  • -
  • 0

#8 Skull3D

    Wszechmogący

  • Zbanowany

Reputacja: 102
Zaawansowany

  • Postów:651
  • Imię:Andrzej
  • Lokalizacja:AMXX.PL
Offline

Napisano 12.09.2011 18:06

R3X mógłbyś napisać jeszcze co zrobić jak wgramy plugin a serwer nie chce się właczyć bo pokazuje się teraz o wiele więcej takich tematów niż poprzednio.

#9 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 13.09.2011 17:32

R3X mógłbyś napisać jeszcze co zrobić jak wgramy plugin a serwer nie chce się właczyć bo pokazuje się teraz o wiele więcej takich tematów niż poprzednio.

blokadę włączenia serwera może wymusić serwer przez komendy lub po prostu brak wgranych plików wymaganych do włączenia (mówię tutaj np. o modelach, spritach)

Użytkownik LKZ (funfel) edytował ten post 13.09.2011 17:33

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#10 wall moldings

    Nowy

  • Pijawka

Reputacja: 0
zer0.

  • Postów:1
Offline

Napisano 05.07.2016 20:07

:)


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych