4 The net

4 The net
4.1 Network structure and overview
4.1.1 lusers
/lusers lists basic global and local info.
Example:
There are 9450 users and 8163 invisible on 44 servers
37 operator(s) online
2 unknown connection(s)
10025 channels formed
I have 692 clients and 2 servers

The first line should be read as 9450 visible and 8163 invisible, making a total of 17613 users online.
The number of operators includes local ops that won't show up in /who 0 o and invisible ops.
You may filter /lusers by servername:

Examples:
/lusers sandiego.ca.us.undernet.org (when beeing on sandiego) could return:
There are 301 users and 391 invisible on 2 servers
[...] I have 692 clients and 2 servers
/lusers *.no.eu.Undernet.org when beeing on sandiego could return:
There are 355 users and 237 invisible on 1 servers
[...] I have 0 clients and 0 servers
Meaning 355+237 users on the 1 *.no.eu.undernet.org server currently online. Ofcourse none of those users is then on the sandiego server, hence "I have 0 clients".
/lusers *.eu.undernet.org or just *.eu.* shows the total number of european users.



4.1.2 map
An ircu-only command that gives a nice view of how the servers is connected to each other. Blocked on Undernet
Syntax: /map

Example:
Part of the net as seen from Oslo-R:
P:Oslo-R.NO.EU.Undernet.org (0s) [2050 clients]
|-Y:Oslo1.NO.EU.Undernet.org (5s) [875 clients]
`-F:Gothenburg.Se.Eu.Undernet.org (0s) [4 clients]
|-Q:Amsterdam-R.NL.EU.Undernet.org (57962s) [1 clients]
|-7:Graz.AT.EU.Undernet.org (1s) [2535 clients]
|-D:Caen.FR.EU.Undernet.org (3s) [921 clients]
`-O:Flanders.BE.EU.Undernet.org (0s) [1710 clients]
`-AN:Brussels.Be.Eu.Undernet.org (4s) [40 clients]

Same part of the net as seen from Caen:
D:Caen.Fr.Eu.UnderNet.org (0s) [924 clients]
`-F:Gothenburg.Se.Eu.Undernet.org (0s) [4 clients]
|-Q:Amsterdam-R.NL.EU.Undernet.org (57959s) [1 clients]
|-7:Graz.AT.EU.Undernet.org (12s) [2764 clients]
|-O:Flanders.BE.EU.Undernet.org (0s) [1704 clients]
| `-AN:Brussels.Be.Eu.Undernet.org (1s) [39 clients]
`-P:Oslo-R.NO.EU.Undernet.org (0s) [2051 clients]
`-Y:Oslo1.NO.EU.Undernet.org (0s) [873 clients]

Oslo1 is connected to Oslo-R, lulea is connected to Oslo-R and Amsterdam. e.t.c
It is possible for a server to be configured so that it won’t show up on /map.
The letters before the servername correspond to numeric nicks in the server-server protocol, and dosn’t tell us anything worthwile. That however does the ping-time and the number of clients following the servername!

Notice the tree structure. There is only one path between two given servers and no loops. Those with more than one connection to other servers are called hubs, the others leafs. The tree is a fundamental property of irc networks as we know them. It makes them less robust then the internet it's on top of but is advantageous for propagating messages. other structures may be more robust and but we risk loosing the common "world" in which all users and channels reside, and then we may as well sit around in our own private microsoft network-chatrooms. (http://www.msn.com/) For a discussion of the disadvantages of the tree or star topology, see http://www.newnet.net/nnmeshed.html.

4.1.3 links
LINKS displays the same information as map, but in another format, and with extra sauce.. uhm extra data! LINKS is a common IRC-command. The server mask option can sort out hosts like *.eu.undernet.org (all european hosts) Blocked on Undernet
Syntax:
/LINKS [[] ]

Example:
/LINKS *.nl.eu.undernet.org displays every server in Netherland.

An output of /LINKS in mIRC might look like this:
SanDiego.CA.US.Undernet.org (0) P10 CONNECTnet UUnet/MCI server
Dallas-R.Tx.US.Undernet.org (1) P10 Dallas Undernet Hub
Dallas.Tx.US.Undernet.org (2) P10 [127.0.0.1] Dallas Metroplex IRC Client Server
Los-Angeles-R.CA.US.Undernet.Org (2) P10 [198.245.27.2] Internet Chat Systems IRC Server
los-angeles.ca.us.undernet.org (3) P10 [198.245.24.80] Decade Communications IRC Server
Uworld.undernet.org (3) P9 [198.245.24.240] Cordinator
auckland.nz.undernet.org (3) P10 [202.14.100.6] Internet Company of New Zealand
protocol.undernet.org (3) P10 [198.245.24.190] [protocol.undernet.org] Software
Chicago-R.IL.US.Undernet.org (2) P10 [206.54.224.160] Nap Net Chicago IRC Hub
ann-arbor.mi.us.undernet.org (3) P10 [irc.cic.net] "Use the source, luke"

The number in parenthesis is the hopcount, P10 is the current server-server protocol and Sandiego was the server that replied to LINKS. The tree-structure is depicted by preceding spaces, probably making links output easier to handle for a script than maps’ output. (4.1.2)

4.1.4 list, with extensions
Syntax: /LIST gives you a list of the channels on the net and let your client to the filtering
Ircu has implemented an extended list-command that let you filter in ways the built-in lister in mIRC and other clients won’t let you. Help for this command is brought up with "/raw list help" and I quote:

Usage: /QUOTE LIST parameters
Where parameters is a space or comma seperated list of one or more of:
>min_users ; Show all channels with more than min_users.
CC>min_minutes ; Channels that exist more than min_minutes.
TT>min_minutes ; Channels with a topic last set more than min_minutes ago.
Example: LIST <3,>1,C<10,T>0 ; 2 users, younger than 10 min., topic set.

Example:
/raw list >20,C>120 will bring up channels that have existed more than 2 hours and has more than 20 users. When it's finished, you would in mIRC rightclick in "channels", apply match and hide parameters, and press "apply". We see that ircu does not support filtering on channelnames or topics, that is a purely client-side feature.

u2.10.11.rc.1 and above supports "/list stop". This aborts a listing in progress. "/raw /list" while listing will have the same effect.

4.1.5 trace

With parameter:
/TRACE nick is used to look at the path between you and another nick.

Example: Beeing on the Oslo-server, typing "/trace Concord":
Link u2.10.00.bans3 Concord lulea-r.se.eu.undernet.org
Link u2.10.00.bans3 Concord Amsterdam.NL.EU.undernet.org
Link u2.10.00 Concord Regensburg.DE.EU.undernet.org
Link u2.10.00 Concord Baltimore-R.MD.US.Undernet.Org
Link u2.10.00 Concord Chicago-R.IL.US.Undernet.org
Link u2.10.00 Concord ann-arbor.mi.us.undernet.org
User 5 Concord[quail-2.slip.uinb.edu] 18

What it shows is that a message from me to Concord has to go through 6 server-server connections, before getting to his server. (giving hopcount=6) The last line tells he's in class 5 on his server, and beeing idle 18 seconds. (u2.10.00 is the servers’ ircu-version)
Compare with the "/who Concord" reply: "Concord H conc@quail-3.slip.uinb.edu :6 Cristopher Watson" :6 means he have a hopcount of 6, relative to you.

Note that each line is sent from its respective server and this is a great way to hunt down where the lag in a connection between you and your friend is. Say if the Regensburg line is shown, and it takes a long time before the Baltimore line is printed, it means the connection between Regensburg and Baltimore is lagged. Then you consult /map (4.1.2) to find a server away from the Regensburg-Baltimore link. If this dosn’t turn up the lag, it could be sitting between him and his server, in case the difference between a “/whois nick nick” (2.6) and a ping would give you his lag.


Without parameter:

Typing /trace with no parameter will give you something on the form:
Serv
Possibly displayed on more than one line.

Where:
class
Class the server is in
nS
Number of servers reached via this link
nC
Number of clients reached via this link
name
Name of the server linked
ConnBy
Who established this link
last
Seconds since we got something from this link
age
Seconds this link has been alive

Example:
Beeing on sandiego, the start of the /trace reply look like this:
Serv 10 41S 20227C Dallas-R.Tx.US.Undernet.org[208.145.192.1] *!*@SanDiego.CA.US.Undernet.org 1 250589

The connection is in connection class 10 (See Y-lines 5.1.5) 41 servers are reachable via this link, resulting in 20227 reachable clients.
The link is to Dallas and was established by Sandiego itself. It’s 1 second since we heard from the server and the link has been active for 250589 seconds. (About 3 days)

The rest of the output will be likewise lines for other server-server connections (if any) possibly followed by
lines identifying operators. (Oper 1001 TNTgal[some.address.here] 6, would mean operator TNTgal in class 1001 idle 6 secs)
Buggy as it may be, people in the action of logging in on the server shows up too.
The latter part of the /trace output may seem awkward, but it helps to know that an operator typing /trace would list all people on his server, we’re just watching the censored edition.



4.2 Specific server
4.2.1 motd
Brings up your servers' "Message Of The Day". (The text you get each time you log in) As of ircu2.10.05, the server could be configured not to send the MOTD by startup, but who wouldn’t want to?
"/motd fullservername" brings you the MOTD of a remote server. On Undernet, there is supposed to be a small MOTD
on every server that is sent when it receives a remote MOTD-query. This is done to preserve bandwidth.
It’s easy to show different MOTD to different people according to their address. For instance one in the native language. In ircu2.10 you may also do this according to their connection class (5.1.5)

4.2.2 time
Shows the time, according to the servers' clock, and hours away from GMT
Syntax: /time [servername if remote]
Example: Thursday July 27 2000 -- 17:57 -06:00
This server is located 6 hours behind GMT. If you debug, you’ll find that the server also sends a line with a number in the unixtime format. as mentioned in stats-g (5.1.2) This isn’t displayed in mIRC. If your machines’ timezone setting is correct, your script could use that line to calibrate your systemclock.
4.2.3 admin
Returns administrative info.
Syntax:
/admin or just /admin for your own irc-server.
It could be used with wildcards, but returns only first matching server.

Example:
Administrative info about London.UK.eu.Undernet.org
Aladdin Internet's IRC server
Undernet IRC Server
sam@salabim.co.uk

4.2.4 help
Syntax: /raw help
This sends "HELP" to the server, giving a list of commands it will understand.
See 4.1.4 for /raw list help

4.2.5 info
Version and copyright info, along with credits to those who have contributed to the coding of the IRC-software.
/INFO server is disallowed but it's the same on all servers anyway.


4.2.6 version
Returns the version of the serversoftware running. Use /version servername for remote queries.
It can include wildcards, but returns only first matching. Makes for a shorter command. E.g /version london*.

Example:
u2.10.10.09. SanDiego.CA.US.Undernet.org B9eEFfIKlMOopStUW
This one is running ircu version 2.10.10.09 The letters at the end is its server-options. (4.2.7)


4.2.7 Decoding serveroptions in "version"
Serveroptions are those letters at the end of a version-reply. They indicate various settings. Few of them affects us, but it’s nice to know what they mean, isn’t it? :-)

Terms used
An IRC-operator can be set to two levels, with the modes FLAG_OPER or FLAG_LOCOP set. You can spot an OPER by the uppercase O in the /stats o (5.1.4) reply, and a LOCOP by the lowercase. A LOCOP dosn't get his mode propagated to other servers and so is not seen by the rest of the net as an operator and therefore cannot act on clients connected to other servers, e.g killing.
Local clients is both users and the connection to a nearby server in the net.
I will use the terms OPER and LOCOP so as not to confuse with "local operator" which could mean any operator stationed on your irc-server. The term "remote operator" in this guide means an OPER on a server other than yours.

Valid Serveroptions in ircu2.10.11
A
Assertion checks enabled
B or b
The size of the bufferpool.
C
CMDLINE_CONFIG is defined
D
DEBUGMODE is defined
e
LOCOPS can use /REHASH
E
Opers can use /REHASH
f
Operators can set modes on local channels
F
Operators bypass the no. of channels limit
H
HUB is defined
i
Show operators invisible users local to the server
I
Show OPERS all invisible users.
k
Opers can use /KILL on local clients.
K
Opers can use /KILL on any client
l
Operators can walk through modes on local channels
M
IDLE_FROM_MSG is defined
O
server has defined USEONE
p
Oper passwords are crypted
P
Link paswords are crypted
Q
/stats M works
q
Server does memory allocation/dealloation checks
R
RELIABLE_CLOCK is defined
s
LOCOPS can use /RESTART
S
Opers can use /RESTART
t
OPER_REMOTE is defined
U
Server uses poll()
v
VIRTUAL_HOST is defined
W
BADCHAN is enabled
x
local BADCHAN is enabled
Y
Server uses syslog()


The meaning of the letters

When followed by [OUTDATED], it means ircu has thrown the setting overboard. It is kept here as a reference for other networks.

Assertion checks enabled A

Bufferpool b/B
If BUFFERPOOL is less than a million bytes, you get b. If it’s more, B is used.
After that, it divides the number so that only the two first digits are shown.

For nets with older ircu, here’s how it was done prior to ircu2.10.7:
---------[OUTDATED]-------------------------
MAXSENDQLENGTH M[0-9>][0-9]
Specifying 0.1Mb up to 9.9Mb of MAXSENDQLENGTH, shown as ">" when larger than 9.9Mb Default value of the "max senq. lenght" in Y: lines (5.1.5) and used for deciding RAM-allocation.

INT_BUFFERPOOL B[0-9>]
The digit represents BUFFERPOOL/MAXSENDQLENGTH and represented by ">" when larger than 9.
BUFFERPOOL = Max RAM-size of all the sendqueues, all in all.

MAXSENDQLENGHT defines the max-size of each sendqueue, and INT_BUFFERPOOL a number to multiply, giving BUFFERPOOL which is how much ram is reserved for ALL the queues.
In our example, the version-reply says "M10B8". Which gives MAXSENDQLENGTH a value of 1.0Mb and INT_BUFFERPOOL 8. INT_BUFFERPOOL * MAXSENDQLENGHT = BUFFERPOOL
8 * 1.0Mb = 8Mb

It is only a multiplier for the RAM allocation, it dosn’t tell us that there’s exactly 8 queues, but it tells the max of one single queue.
See "/stats l" (5.3.2) for a queue

For the sourcecode sniffers: INT_BUFFERPOOL is gone, BUFFERPOOL is independent and MAXSENDQLENGTH is renamed to DEFAULTMAXSENDQLENGTH in present ircu.


Chrootdir c [OUTDATED]
Server using Chroot(). Added security if running under root. All files accessed must be in directory defined as DPATH.
Standard: Not set.

cmdline_config C
allow config-file to be specified on command line. (when running the server)
Standard: Undefined

Do_id d [OUTDATED]
Maybe a "server using identd" setting. Not used in ircu anymore, but lingers on in the /version code.


Debugmode D
when having problems, the software is recompiled with this one defined. You’r unlikely to get on a server in debugmode.
Standard: Not set.

Oper_rehash E (y)
Locop_rehash e (y)
If locop_rehash are set, locops are allowed to execute the REHASH command. If only Oper_rehash are set, only Opers are allowed to do it. (This command can never be done remotely). E and e could be set both at the same time)

OPER_MODE_LCHAN f (y)
Allow operators to set modes on local channels (3.2)

OPER_NO_CHAN_LIMIT F (y)
Allow operators to bypass the maximum no. of channels allowed for a client.


HUB H
Set if server is a hub in the network tree

Show local invisible i (y)
Show all invisible I (y)

If “i” then operators can see invisible users local to the server. If “I” then OPERs can see invisible users on all servers.


OPER_KILL K (y)
Allow operators to KILL (disconnect) users.

LOCAL_KILL_ONLY k
"k" restricts OPERS to KILL users logged in on their own server.

Example:
With "k" set on sandiego.undernet.org, an OPER on that server is disallowed to kill a nick logged in on chicago.undernet.org. He can only kill users that's using sandiego. On the other hand, the chicago server might have "K" set, allowing their OPERS to kill users anywhere on the net, including sandiego.
Some networks (not Undernet) demand "k" to be set for new servers. If you find the unlikely configuration of no K-letter, it means this servers' operators can't KILL anyone, not even on their own server.

Since a LOCOP isn't recognized as operator by the other servers, he/she could never do a remote KILL anyway.


OPER_WALK_THROUGH_LMODES l (n)

let operators walk through modes on local channels


Note: in previous versions, l meant “server checks for clones”, with a number following, indicating how many connections from the same IP were allowed. see chapter 7 and the I-lines (5.1.3)


Least_idle L [OUTDATED] (but not removed from /version code)
Looks for the least idle person logged in on the server. Used for SUMMON, that can contact people on the same machine as the server. Syntax is /SUMMON [] but i assume it’s operator-only and long gone from any net.

m4_preproc m [OUTDATED]
The server reads its configuration file via another program, instead of reading it directly.
Standard: Not set.

Idle_from_msg M
Idle-time is nullified only from privmsg. (/msg and channelchatting) If not set, all but the serverping (PING? PONG!) will reset your idle-time. /notice isn't a privmsg.
Standard: Set.
Also see "Getting seconds idle" (2.6)

NO_OPER_DEOP_LCHAN o (n)
Prevent operators from beeing kicked or deoped on local channels.

USEONE O [OUTDATED]
The syntax in the I-lines (5.1.3) were changed in ircu2.10.05, removing the use of the token “ONE”.
With USEONE defined, the server admin can keep using “ONE” in the configuration, though it’s not recommended.

Npath N [OUTDATED]
NPATH is a variable containing the path to a backup file for NOTE, a utility that’s not around anymore.

Crypt_oper_password p

Oper passwords are encrypted

Standard: set

crypt_link_password P
Link passwords are encrypted (C-lines)
Standard: not set

Passwords are encrypted with makpasswd in UNIX (as used in the unix "passwd." file) They are stored in the O and C lines, but won't be visible when you say, do a "/stats O"

DEBUGMALLOC q

Server does Memory allocation/deallocation checks. This is a kind of "memory book-keeping".


MEMLEAKSTATS Q
when both DEBUGMALLOC and MEMLEAKSTATS is set, we’ll get "Q" and /stats M (5.3.7) will be working.

RELIABLE_CLOCK R
The admin sees the machine's clock as reliable and ircu is asuming he's right.

Oper_restart S (y)
Locop_Restart s
Allow local OPERS and/or LOCOPS to restart the server. Setting S restricts the command to OPERS. RESTART could never be done remotely. S/s is the same as R/r in older ircu-code. (before 2.10.01) "s" would mean all operators on the server, so a setting of S and s at the same time would be redundant and mean the same as just s.

Oper_remote t (y)
When set, it allows operators to connect to the server and gain operator status without beeing on "the same network" as the machine running the server, which means an operator could log on from a dialup-account on the internet, like any user.

IRCII_Kludge u [OUTDATED]
Controls whether or not \n is used to terminate lines.

Poll() U
Server uses Poll(). It depends on the system the server is running on if it's chosen or not.

VIRTUAL_HOST v
Turns on some gear that's used when there are two or more servers on the same machine.
Standard: not set

Valloc V [OUTDATED]
Use the valloc() function, which caused problems on some systems.
Standard: Not set.

BADCHAN W (y)
Without much ado, Undernet has added the capability of banning a channelname in ircu2.10.10. Technically this is done by stopping people from joining it.

LOCAL_BADCHAN x (n)

If this is set, any OPER can ban a channel. If it isn’t set, only uworld can carry out the ban. (x is not allowed on undernet)


Trying to join a badchan’d channel will give you the same error as if you were banned from it. The Badchan should somehow show up in the g-line list.

The Badchan feature were implemented to block channels used by viruses/trojan horses to communicate with their creator. This relies on a fixed channelname and could thus be easily overcome by the virus-writers. Blocking a channel is accomplished in several other ways not requiring special settings, but this feature may be appreciated in those networks with a policy on allowed channels, a practical impossibility for larger nets.

Unixport X [OUTDATED]
a variable used to setup a Unix domain socket to connect clients/servers to. Like port 6667 I suppose.
standard: Set.

Use_syslog Y
Server using syslog(). The server sends "vital" messages about the server through syslog. Things like system errors and events critical to the server beeing logged.
Standard: Not set.

v28PlusOnly 8 [OUTDATED]
Means the net has only 2.8 or higher server versions.

Categories



0 comments: "4 The net"

 
Copyright 2009 - Belajar Seo 2010 Blogspot Template » Wordpress Themes