Jakie cvar'y lepsze oraz jak nie pokaz...
Lacostii
12.12.2012
1. Słyszałem, że jak zbyt duża ilość cvarów na serwerze to tym gorzej, bo może to negatywnie wpływać na jego działanie.
Wtedy do was pytanie, lepiej jest nasze wartości dla pluginów umieszczać jako domyślne w kodzie sma i kompilować niż dawać je do amxx.cfg, jest różnica ? A może lepiej w ogóle usunąć cvary i w kodzie pluginu umieścić wartości ?
2. Na serwerze chcąc uniknąć spamu zbindowanymi /sklep , /menu itp. co zrobić w kodzie pluginu, ażeby działał on dalej poprawnie, ale w czacie nie wyświetlał żadnych wiadomości o wpisywanym poleceniu.
Na przykład gdy jest tak, to wyświetla. Trzeba coś tu dopisać lub coś innego zrobić by nie pokazywało ich ?
register_clcmd("say /sklep", "Sklep");
register_clcmd("say /shop", "Sklep");
register_clcmd("say_team /sklep", "Sklep");
register_clcmd("say_team /shop", "Sklep");
Czekam na odpowiedzi.
Pozdrawiam
K!113r
12.12.2012
http://darkgl.amxx.p...rywanie-komend/
lub zwracasz na końcu tej funkcji PLUGIN_HANDLED (lecz w tym rozwiązaniu blokujesz komendę dla innych pluginów) lub PLUGIN_HANDLED_MAIN (nie blokuje komendy dla innych pluginów)
GwynBleidD
13.12.2012
AztekHQS 13.12.2012
Lacostii
13.12.2012
A ten błąd mi się właśnie pojawia.Błąd pojawia się gdy serwer operuje zbyt dużą ilością CVARów (są one tworzone przez pluginy, im więcej pluginów bądź im bardziej rozwinięte/ciężkie pluginy) .
K!113r
13.12.2012
Gość_21977_* 15.12.2012
Nie uwzględnia tego dość sporo monitorów serwerów, czy list serwerów, przez co dochodzi do zapytań, które nie mają końca, co skutkuje zawieszeniem się aplikacji, tudzież forum czy serwera.
Dlatego nie istnieje "nadmierna liczba cvarów", lecz nieumiejętne pozyskiwanie informacji o nich.
GwynBleidD
15.12.2012
Gość_21977_* 15.12.2012
@edit:
valve jednoznacznie wskazuje na możliwość wystąpienia konieczności wysłania kojejnych żądań, ponadtoSteam uses a packet size of 1400 bytes + IP/UDP headers. If a request or response needs more packets for the data it starts the packets with an additional header in the following format:
orazThe challenge number can either be set to -1 (0xFF FF FF FF) to have the server reply with S2C_CHALLENGE, or use the value from a previous A2S_SERVERQUERY_GETCHALLENGE request.
zChallenge values are required for A2S_PLAYER and A2S_RULES requests, you can use this request to get one.
Note: You can also send A2S_PLAYER and A2S_RULES queries with a challenge value of -1 (0xFF FF FF FF) and they will respond with a challenge value to use (using the reply format below).
Edited by benio101, 15.12.2012 10:40.
GwynBleidD
16.12.2012
Dalej jest informacja o challenge number, czyli konieczność pobrania ID, a następnie wysłania go z żądaniem konkretnego statusu (bądź statusów, challenge może być użyty kilka razy, jest to coś takiego jak sesja w przeglądarce...).
Nie widzę więc tu nigdzie mowy o konieczności wysyłania kolejnego zapytania. Nigdy się nie spotkałem z tym, żeby przyszła mi część cvarów i musiałbym wysłać jeszcze jedno żądanie, żeby reszta przyszła. Zawsze przychodzą wszystkie, ewentualnie pocięte na kawałki i czasem spakowane (raz w serwerze source spotkałem się z kompresją).
Lacostii
17.12.2012
Chciałbym jedynie uzyskać najlepszą odpowiedź na pytanie pierwsze, jak najlepiej korzystać z cvarów?
a) mieć je w amxx.cfg
mieć je w innym pliku z konfiguracjami
c) w pluginie ustawić domyślne cvary
d) pozbyć się w ogóle cvarów i w pluginie ustawić bezpośrednio wartości
e) Nie ma różnicy
Możecie ponumerować odpowiedzi od najlepszej do najgorszej
Po udzieleniu odpowiedzi można zamknąć temat,
dziękuję.
Gość_21977_* 18.12.2012
może w przypadku jego zmiany pomiędzy kolejnymi paczkami danych rozmiaru 1400 bajtów + headersy,
powodować dla listy graczy (A2S_PLAYER) bądź cvarów (A2S_RULES0 (w praktyce CS na HLDS tylko dla cvarów),
zapytanie błędne (czyt. z nieaktualnym challenge number). Wtedy, oczekując danych, a niektóre popularne
pluginy, bądź serwery / fora, czekają na uzyskanie odpowiedzi bez timeouta, co spowodować może
crash serwera, bądź nieskończone ładowanie się strony, tudzież forum danej serwerowni.
I zwróciłem na to uwagę, bo przyglądałem się niedawno temu problemowi.
@edit:
Dla algorytmów z zaimplementowanym timeoutem, otrzymamy
wynik false positive, wskazujący na niedostępność serwera HLDS.
Dla algorytmów bez timeouta, otrzymamy wspomniany błąd trzeciego rodzaju.
Edited by benio101, 18.12.2012 04:48.