Parametry do STATS
stats | info | opis |
---|---|---|
? | serwery | lista podłączonych serwerów |
a,A | konfiguracja iauth | |
b,B | B-linie | służą do informowania klientów, którego serwera mają użyć, jeśli bieżący jest przepełniony |
c,C | C-linie oraz N-linie | które serwery mogą się z danym serwerem łączyć (małe 'c' oznacza łącze kompresowane gzipem) |
d,D | #define | wkompilowane w serwer różne stałe wpływające na zachowanie serwera |
f,F | lista fd | dokładne info o połączeniach TCP (tylko dla ircopów) |
h,H | H-linie, L-linie oraz D-linie | opisują, które serwery mogą przedstawiać nam inne serwery, a które mogą być tylko liśćmi |
i,I | I-linie | dostęp do serwera; małe 'i' to dostęp z restrykcjami; wykorzystywana jest pierwsza pasująca I-linia |
k | tklinie | tymczasowa blokada wejścia na serwer |
K | K-linie | blokada wejścia na serwer |
l,L | klienci | lista podłączonych klientów; wielkie 'L' pokazuje IP zamiast nazwy; można użyć maski; bez parametru pokazuje listę wszystkich podłączonych klientów (oczywiście tylko ircopom) |
o,O | O-linie | lista ircoperatorów; małe 'o' oznacza operatora lokalnego |
p,P | pingi | statystyki pingów do serwerów |
q,Q | Q-linie | kwarantanny; praktycznie nie są używane, służą do odcinania innych serwerów |
r,R | użycie systemu | zużycie pamięci, procesora, sygnały etc. |
s,S | S-linie | serwisy |
t,T | statystyki | o połączeniach, klientach, serwerach, przesyłanych bajtach i mnóstwo innych |
u,U | uptime | czas życia serwera |
v,V | V-linie | ograniczenia przyjmowania serwerów w zależności od wersji |
x,X | listinfo | tylko w trybie DEBUG, informacje o listach |
y,Y | Y-linie | klasy użytkowników |
z,Z | zużycie pamięci | "Z" oblicza rzeczywiste (tylko dla ircopów); "z" podaje przybliżone wyniki |
Objaśnienia STATS d
skrót | nazwa | opis |
---|---|---|
HUB | HUB | czy serwer może być hubem |
MS | MAXSERVERS | maksymalna liczba podłączonych serwerów |
LQ | LISTEN QUEUE | maksymalna liczba połączeń oczekujących na porcie na obsłużenie przez ircd (parametr do funkcji listen()) |
MXC | MAXCONNECTIONS | maksymalna liczba połączeń do serwera |
TS | TIMESEC | czas oczekiwania między sprawdzeniami socketów przy braku ruchu |
HRD | HANGONRETRYDELAY | opóźnienie przy próbie szybkiego podłączenia się do świeżo odsplitowanego serwera |
HGL | HANGONGOODLINK | szybkie podłączenie (j.w.) jest wykonywane tylko wtedy, gdy łącze wcześniej było utrzymane dłużej niż HGL |
WWD | WRITEWAITDELAY | czas oczekiwania na zakończenie write() |
ATO | ACCEPTTIMEOUT | czas oczekiwania na zakończenie fazy autoryzacji (DNS i iauth) |
KCTL | KILLCHASETIMELIMIT | liczba sekund po zmianie nicka, w ciągu których KILL działa jeszcze na stary nick |
DCTL | DELAYCHASETIMELIMIT | czas ochrony nicka (NickDelay) i kanału (ChannelDelay) w przypadku splitu (słynne "Nick/channel is temporarily unavailable") |
LDCTL | LDELAYCHASETIMELIMIT | czas ochrony !kanałów |
CF | CLIENT_FLOOD | maksymalna liczba bajtów, które klient może wysłać w krótkim czasie do serwera bez rozłączenia za flood |
MCPU | MAXCHANNELSPERUSER | maksymalna liczba kanałów, na które może wejść użytkownik; kanały lokalne się nie liczą, chyba że już jesteśmy na MCPU kanałach |
H | HOSTLEN | maksymalna długość nazwy hosta |
N | NICKLEN | ...nicka |
U | USERLEN | ...loginu |
R | REALLEN | ...info ($IRCNAME) |
T | TOPICLEN | ...topica i komentarzy w KICK, PART etc. |
C | CHANNELLEN | ...nazwy kanału |
P | PASSWDLEN | ...hasła (do I-linii) |
K | KEYLEN | ...klucza na kanał |
BS | BUFSIZE | wielkość bufora na naprawdę różne rzeczy ;) |
MXR | MAXRECIPIENTS | nieużywane |
MXB | MAXBANS | maksymalna liczba (w sumie) banów/I/e na kanale |
MXBL | MAXBANLENGTH | maksymalna długość bana/I/e na kanale |
PY | MAXPENALTY | maksymalna kara w postaci opóźnienia przetwarzania poleceń klienta |
ZL | ZIP_LEVEL | stopień kompresji łącza |
CM | CLONE_MAX | maksymalna liczba połączeń z jednego IP w ciągu czasu CP |
CP | CLONE_PERIOD | czas (w sekundach) do sprawdzania CM |
DC | DELAY_CLOSE | opóźnienie (w sekundach) rozłączenia sesji TCP odrzuconych połączeń |
AC | auto connect | czy serwer będzie próbował się podłączyć do innych |
CA | client accept | czy serwer będzie przyjmować połączenia od klientów |
S | split | czy serwer jest w stanie splitu |
SS | split servers | liczba serwerów, poniżej której serwer przełącza się w split |
SU | split users | liczba użytkowników, poniżej której serwer przełącza się w split |
CCL | CLIENTS_CHANNEL_LEVEL | typ informacji wysyłanych na &CLIENTS |
Objaśnienia STATS i
stats i warszawa.irc.pl *** I 127.0.0.1 * <NULL> 0 666 FN *** I 194.145.96.12 <NULL> akson.sgh.waw.pl 0 128 - *** I unknown@194.145.96.0/20 <NULL> <NULL> 0 0 R
Od lewej: pola "adres IP", potem "hasło" "nazwa hosta", "port", "klasa użytkownika" oraz flagi.
Jeśli I:line jest na hasło, to pokazywana jest '*', jeśli nie ma hasła, to '<NULL>'; hasło trzeba podać przy próbie połączenia się z serwerem (jeśli pasujesz do tej I:linii). Pole "port" określa, dla których portów ta I:linia jest aktywna; jeśli jest puste, 0 lub -1, to oznacza wszystkie porty. Pole "klasa" określa, pod którą Y:linię będą podlegać użytkownicy z tej I:linii (tam są m.in. zdefiniowane limity).
Flagi mogą być następujące:
- R - na klientów nakładany jest +r (restricted);
- D - restricted dla klientów bez odwrotnego DNS;
- I - restricted dla klientów bez identa;
- E - wyjątek od K:linii;
- N - nie pokazuje nazwy hosta (bany działają poprawnie);
- M - ignoruje nazwę hosta (tak jakby jej w ogóle nie było);
- F - jeśli podano błędne hasło, to nie odrzuca klienta, tylko przechodzi do sprawdzania następnej I:linii.
Teraz najistotniejsze: pola "adres" i "nazwa". Pola te określają, którzy użytkownicy mogą się podłączyć do danego serwera. Działa to tak (ircd 2.11), że serwer sprawdza, czy "user@host" klienta pasuje do pola "nazwa" oraz czy adres IP klienta pasuje do pola "adres"; jeśli tak, to klient jest wpuszczany. W przeciwnym wypadku serwer przechodzi do sprawdzania kolejnej I:linii. Jeśli klient nie pasuje do żadnej z nich, to oczywiście jest odrzucany. UWAGA: Jeżeli pole "nazwa" jest puste, to klient będzie widoczny na IRC jako nazwa hosta lub adres IP, jeśli nazwa hosta klienta nie będzie dostępna.
Brak identa jest dla serwera IRC jednoznaczny z nazwą użytkownika "unknown".
Objaśnienia STATS l
stats l Beeth *** Beeth[chopin@jantar.sgh.waw.pl] 0 46706 3490 4442 200 408479
Po kolei liczby te oznaczają: sendQ, otrzymane linie, otrzymane bajty, wysłane linie, wysłane bajty, sekundy podłączenia do serwera.
Przy serwerach możemy też zobaczyć porty, na których nasłuchują:
stats l warszawa.irc.pl *** hub2.irc.pl 0 60 10 40 74 :40 *** warszawa.irc.pl[0.0.0.0@333.12.345.56.6667] 0 11 67 21 73 :40 *** warszawa.irc.pl[0.0.0.0@333.123.45.67.5999] 0 0 0 0 0 :40 *** warszawa.irc.pl[0.0.0.0@333.123.44.67.6666] 0 82 48 96 26 :40 *** warszawa.irc.pl[0.0.0.0@333.123.45.67.6667] 0 12 76 18 52 :40 *** warszawa.irc.pl[0.0.0.0@333.123.45.67.6668] 0 36 29 59 16 :40
Pierwsza linia to serwer, do którego jest podłączony (na końcu oczywiście jak długo). Kolejne to lokalne IP (w przykładzie zmyślone) i porty, na których nasłuchuje serwer. Widać z tego wyraźnie, że do hub2.irc.pl link jest od uruchomienia serwera :-)
Możesz też zobaczyć coś w stylu:
*** [unknown@213.241.38.99] 0 0 0 0 0 1
Są to klienci będący w trakcie podłączania się do serwera.
Objaśnienia STATS p
stats p *** hub2.irc.pl[*@hub2.irc.pl] 14 6 68 2170568 *** hub.irc.pl[*@hub.irc.pl] 14 13 70 670
Po kolei liczby te oznaczają: numer kolejny (sequence #) ostatnio wysłanego (udp) pinga, liczba otrzymanych odpowiedzi, średni czas odpowiedzi w ms, preferencja wyboru do autoconnecta (AC wykonywany jest do serwera z najmniejszą preferencją). IRCD pamięta dane (pingi) z ostatnich 20 minut.
Objaśnienia STATS y
*** Y 0 300 0 16000 2000000 12.2 24.2 13
Po kolei liczby te oznaczają (liczby z przykładu): numer klasy (0), częstość pingowania przez serwer (w sekundach) (300), częstość prób podłączania (dotyczy tylko serwerów) (0), maksymalna liczba klientów mogących się znaleźć w tej klasie (16000), maksymalna wielkość kolejki dla każdego klienta (2000000), limit lokalny (12.2), limit globalny (24.2) i liczbę korzystających z tej klasy użytkowników (13).
Limit lokalny dotyczy klientów tylko na danym serwerze, limit globalny przegląda wszystkich użytkowników w całej sieci. Limity są w postaci x.y, gdzie x oznacza maksymalną liczbę klientów z tego samego IP, a y maksymalną liczbę klientów z danego user@IP. Uwaga: brak identa traktowany jest jak user "unknown".