Archived copy of
http://routing.chatnet.org:80/operfaq.txt as of
2001-08-14 · original content, not edited ·
ChatNet Old StuffChatNet OperFAQ v1.7-------------------A Helpful Guide for IRCops.
The Opers Golden Rule: If you are unsure of what you are doing, then
DON'T DO IT!! Ask someone for help!
Compiled 2/10/00 Last Revision 04/01/01
Maintained and revised by shr|ke <markus@alias.chatnet.org>
Send corrections, additions, changes, etc to that email address.
(and yes EMAIL them, dont msg me on IRC or I'll forget about it :P)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
K9
--
NOTE: IrcOps have no special priviledges on K9, so don't try.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ChatWorld
---------
The ChatWorld Golden Rule: DON'T abuse or you may have your O:line =
pulled or maybe your server even juped.
Usage: /msg ChatWorld <command> <syntax>
or in channel with ChatWorld in it: cw <command> <syntax>
Example: <shr|ke@#nuthouse> cw gline *test@test.org 12h This is a test.
ChatWorld commands:
Level USER (Local Opers 'n Users):
----- ---- -----------------------
CWINFO : Basic Information about =
ChatWorld, like it's creators.
COMMANDS : Shows all commands the User can =
use at his level.
HELP <command> : Shows help for special commands =
(e.g. cw help opers)
OPERS : Gives number of how many current =
Opered clients and their nicks
TOGGLEMSG : Toggles ChatWorld to displaying =
to you via Notice or Privmsg
USE : Shows how often the CW Commands =
have been used since last restart.
USERLOAD : Shows how many users are on each =
server
USERS : Shows how many users are on the =
network and the max on record by ChatWorld
VERSION : Chatworld Version information
VERIFY <nick> : Checks the level of the nickname =
specified to see if it's an Oper or regular User.
Level CSERVICE:
----- ---------
CHANINFO <channel> : Shows channel modes, clients =
(number of ops and voiced clients), topic, and current bans.
MAP <n/c/p/m/l> : Same as your /map with a few =
additions.
n =3D Server NumChar
c =3D Client Count
p =3D Percent of total clients
m =3D Maximum allowed clients
l =3D 'Lag', shows the last ping =
time
OPMSG <message> : Sends a message to all the =
Opered up clients, basically a replacement for /operwall if you know =
what that is.
SAY <channel> <message> : Well, kinda self explanatory ;) =
Makes CW say whatever you put in the specified channel.
Level OPER (locals):
----- ---- ---------
GLIST <*user@host> : Displays Gline(s) matching =
search string
INFO <nick> : Gives the same info as SPEW but =
only for a single, specified nick.
EXCEPTLIST or ELIST : Shows what hosts are exempt from =
the Clone warnings
LOGON : Invites you to #administration
Level OPER:
----- -----
BROADCAST : This command displays a message =
to EVERY user on ChatNet. *DON'T* do this unless 100% necessary.
CHANINFO <channel> : Shows channel modes, clients =
(number of ops and voiced clients), topic, and current bans.
CHANOP <channel> : This command will op you in any =
channel. Don't use this in a channel with K9 present unless lagged or =
broken.
CLEARMODE <channel> : ALL modes are removed from =
specified Channel! USE WITH CARE!=20
EXCEPTLIST or ELIST : Shows what hosts are exempt from =
the Clone warnings
FORCEPING <server mask> : Resets CW internal Ping Timer =
(normally 120 secs.) to send out a ping to all or specified server(s)
GCHAN <channel> <timecode> : G-Lines every user in the given =
<channel> for the specified amount of time. NOTE: timecode can be in =
s/m/h/d (second/minute/hour/day). Max. Gline time is 14d.
GLINE <user@host> <timecode> <reason> : Bans the user@host from the =
network for the specified amount of time for the reason shown. NOTE: =
timecode can be in s/m/h/d (second/minute/hour/day). Max. Gline time is =
14d.
GLIST <*user@host> : Displays Gline(s) matching =
search string
GPURGE <mask> : Removes all glines with the =
given mask, where normally you'd have to remove every single one via =
RGLINE.
INFO <nick> : Gives the same info as SPEW but =
only for a single, specified nick.
INVITE <channel> : This command will invite you to =
any channel. Can only be used to invite YOURSELF somewhere, not someone =
else.
JUMP : Jumps CW to another Hub. Check =
C/N Lines before, and only use if really really necessary.
JUPE <server> <reason> : DON'T use this command unless =
admin approved and there is VERY good reason behind it. This will unlink =
the server and won't allow it to relink until the jupe is removed by =
routing committee.
KICK <nick> <channel> <reason> : same as your /kick command, just =
ChatWorld does it for you.
KILL <nick> <reason> : same as your /kill command, just =
ChatWorld does it for you.
KILLCHAN <channel> : Kills every user in the channel. =
I don't suggest using this ever.. unless there's a VERY good reason. =
NOTE: Does not kill Services
LASTCMDS : Shows you a list of who did what =
command with CW, whether in msg or in open channel.
LOCK <channel> (*) : Makes CW join specified Channel, =
and 'locks' the channel, setting the channel +sntib *
LOCKED : Shows you a list of all locked =
channels which were locked via the LOCK Command.
LOGON : Invites you to #administration
MASSKILL <*user@host> <reason> : Mass kills everything matching =
the user@host you specified and glines for 5 minutes. Try to verify with =
SPEW first please.
MAP <n/c/p/m/l> : Same as your /map with a few =
additions.
n =3D Server NumChar
c =3D Client Count
p =3D Percent of total clients
m =3D Maximum allowed clients
l =3D 'Lag', shows the last ping =
time
MBROADCAST <mask> <message> : Sends a message to all connected =
clients, matching the given mask via NOTICE.
MODE <channel> <-/+ parameters> : Sets any mode for any channel.
OPMSG <message> : Sends a message to all the =
Opered up clients, basically a replacement for /operwall if you know =
what that is.
PINGS <server mask> : Shows the latest ping times to =
all or specified server(s)
RGLINE <*user@host> <reason> : Removes GLine matching the =
*user@host. DON'T do this unless YOU set the GLine or you have =
permission from the person who did.
SAY <channel> <message> : Well, kinda self explanatory ;) =
Makes CW say whatever you put in the specified channel.
SLIST : Shows current suspensions on CW
SPEW <(*user@*host) or (*user@host)> : Shows all clients connected with =
the matching string. Use this before a MASSKILL to make sure it's legit.
SCAN <*user@host> : Just like SPEW, but shows you a =
number of how many Users from the given user@host are online instead of =
info about every single user.
STATS : Shows how much data CW =
received/sent and some other weird junk :P
SUSPEND <nick/host> : Used to suspend an abusive Oper =
from his/her CW Access (if necessary). NOTE: Use of this command is =
logged, so dont go around suspending everyone except you and think =
you're god now :P
UNLOCK <channel> : Unlocks a previously locked =
channel (see LOCK Command)
UNSUSPEND <nick/host> : Take a wild guess..
NOTE: Mostly every of the above mentioned commands will send out a =
wallop which ever user who is mode +w can see, so be careful what you =
do, or you might end up getting some weird msg's ;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Other IRCop commands - Local and Global Opers
----- ----- -------- - ----- --- ------ -----
NOTE: Some commands may be limited to Global opers only, ask your server =
admin if your a local oper if any/all of these apply for you.
NOTE: DON'T abuse or you may have your O:line pulled or maybe your =
server even juped.
Usage: /<command> <syntax>
Example: /kill Zeus Stop Abusing your Opers ;/=20
IRCOp Basic Commands:
OPER <nick> <password> : Oper yourself up (if ya don't =
know this then please ask your admin to remove your o:line immediately)
KILL <nick> <reason> : Forces a user to disconnect from =
the network.
REHASH : Forces the server to reread the =
ircd configuration file
RESTART : Restarts the server
WALLOPS <message> : Displays a message to anyone with =
the +w flag. NOTE: Normal users can give themselves the +w flag so be =
careful what you say.
There are more commands displayed throughout the rest of the FAQ in the =
appropriate section.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Routing - For Global Opers Only
------- - --- ------ ----- ----
Learn this inside and out since a bad command can break the net apart.
Pre-Routing
-----------
To see the way the servers are currently connected use either the /links =
or=20
/map command. The /map command provides a more visual representation of
the was everything is connected.
The comparison :
A /map :
Indianapolis.IN.US.ChatNet.Org
`-Detroit.MI.US.ChatNet.Org
`-Cupertino.CA.US.ChatNet.Org
|-Sudbury.ON.CA.Chatnet.org
|-PrinceGeorge.BC.CA.ChatNet.Org
|-Portland.OR.US.ChatNet.Org
| `-k9.chatnet.org
|-SanJose.CA.US.ChatNet.Org
`-Frogn.NO.EU.ChatNet.Org
|-Paris.FR.EU.ChatNet.Org
|-Coimbra.PT.EU.ChatNet.Org
|-Istanbul.TR.EU.ChatNet.Org
`-ChatWorld.ChatNet.Org
A /links :
Indianapolis.IN.US.ChatNet.Org (0) P10 > Ride The Lightning
Detroit.MI.US.ChatNet.Org (1) P10 The Abyss
Cupertino.CA.US.ChatNet.Org (2) P10 [216.227.125.10] ChatNet In =
Silicon Valley
Frogn.NO.EU.ChatNet.Org (3) P10 ChatNet Norway, Frogn
ChatWorld.ChatNet.Org (4) P10 [127.0.0.1] And you are reading this?
Istanbul.TR.EU.ChatNet.Org (4) P10 [212.174.107.11] =
irc.verisoft.net.tr / IstanbuL
Coimbra.PT.EU.ChatNet.Org (4) P10 [193.137.213.90] ChatNet's IBERIC =
Server (PORTUGAL
Paris.FR.EU.ChatNet.Org (4) P10 [213.39.28.54] [ChatNet France] =
www.Planet-Work.fr
SanJose.CA.US.ChatNet.Org (3) P10 InetKing ChatNet Server
Portland.OR.US.ChatNet.Org (3) P10 Nu Tech ChatNet Server
k9.chatnet.org (4) P9 [205.238.31.9] k9 ircd v4.6 (PPro) By Nu Tech =
Soft
PrinceGeorge.BC.CA.ChatNet.Org (3) P10 206.108.32.100 - Ph34r Canada, =
Eh?!=20
Sudbury.ON.CA.Chatnet.org (3) P10 Unitz Online ChatNet Server
How to read a /map
--- -- ---- - ----
There are two types of servers: leafs and HUBS. HUBS allow other =
servers, both=20
HUBS and leafs to connect to them thus forming the network. Some HUBS =
allow=20
client connections and others don't. Leafs allow client connections for =
people to come
and chat.
On the /map, the first server listed is the one you are on with your =
client.
Servers with branches coming off of them are the HUBS while servers =
without are
the leafs. For example :
Indianapolis.IN.US.ChatNet.Org <-- LEAF
`-Detroit.MI.US.ChatNet.Org <-- HUB + LEAF
`-Cupertino.CA.US.ChatNet.Org =20
|-Sudbury.ON.CA.Chatnet.org
|-PrinceGeorge.BC.CA.ChatNet.Org
|-Portland.OR.US.ChatNet.Org
| `-k9.chatnet.org <-- K9 is a LEAF
|-SanJose.CA.US.ChatNet.Org
`-Frogn.NO.EU.ChatNet.Org <-- HUB
|-Paris.FR.EU.ChatNet.Org
|-Coimbra.PT.EU.ChatNet.Org
|-Istanbul.TR.EU.ChatNet.Org
`-ChatWorld.ChatNet.Org <-- CW is a LEAF too
If you follow the branches of the map down you can see what servers are=20
connected to what HUBs. For example, in the picture above,
Cupertino.CA.US.ChatNet.Org is currently connected to: =
Detroit.MI.US.ChatNet.Org, Sudbury.ON.CA.ChatNet.Org, =
PrinceGeorge.BC.CA.ChatNet.Org and so on..
Frogn.NO.EU.ChatNet.Org is currently connected to: =
Coimbra.PT.EU.ChatNet.Org, Istanbul.TR.EU.ChatNet.Org and so on...
That is a basic explaination of how to read a /map.
Before doing any moving of servers be sure to do a /uping command. =
Upings=20
show lag and packet loss (if any) to the specified HUB. If you are =
checking=20
your server's uping times use the command:
/uping HUB's_server_name
For example if you're on Indianapolis.IN.US.ChatNet.Org and want to =
check your upings=20
to Detroit.MI.US.ChatNet.Org, you would type :
/uping Detroit.MI.US.ChatNet.Org 7007 20
And receive a response similar to :
-Detroit.MI.US.ChatNet.Org- Sending 20 pings to =
Rockhill.SC.US.ChatNet.Org[165.166.177.25] port 7007
-Detroit.MI.US.ChatNet.Org- 64 63 63 63 63 66 64 64 62 64 62 64 63 68 63 =
62 63 66 65 73
-Detroit.MI.US.ChatNet.Org- UPING Stats: sent 20 recvd 20 ; min/avg/max =
=3D 62/64/73 ms
62 ms =3D the minimum ping time
64 ms =3D the average ping time
73 ms =3D the maximum ping time
The lower all these are the better but the average and maximum times =
count the most.
Be sure to use the /uping <server> 7007 20 command for the most exact =
results.
The standard ping count (if you do /uping <server>) is 5 pings.
NOTICE: There might be 1 or more packets lost during the sent due to =
firewalling, so as long as you get back most of the packets, its ok.
-To uping servers you are not on use :
/uping leaf_server HUB_server
Example:
/uping Paris.FR.EU.ChatNet.Org Frogn.NO.EU.ChatNet.Org
Upings can be wildcarded for ease. The previous example could have been
done :
/uping *ris.FR* Frogn*
Upings can also be done in numbers greater than five. To do this use : =
/uping leaf_server HUB_server <# of upings (20 max)>
Example: =20
/uping Paris* Frogn* 20
If you're upinging servers from the server you're on, you'll also need =
to include the port such as :
/uping HUB_server <port> <# of upings (20 max)>
All upings use port 7007. Example :
/uping Detroit* 7007 20
Actual Moving of Servers
------ ------ -- -------
Rule #1 - NEVER squit services. Your O:line could be pulled, or your =
server juped.
Rule #2 - If you don't understand routing don't touch anything.
Rule #3 - Re-read rules one and two.
(Added note : Please don't depend on your scripts for routing. Everyone
should know the commands by hand if you're going to do any routing.=20
Scripts can do unexpected things sometimes...)
-- Moving your own server --
First use a /wallops message to announce your intention so all Opers
are aware :
/wallops I'm going to move <server> to <hub> due to lag.
Then you need to disconnect from your current HUB :
/squit currentHUB <REASON> -Be sure to include a reason.
Then reconnect at the new HUB :
/connect newHUB <port>
On ChatNet our server port for connections is 4400.
Example :
Someone on Indianapolis wants to reroute. It's current HUB (see map =
above)
is Detroit.MI.US.ChatNet.Org. The Indi* oper finds =
Cupertino.CA.US.ChatNet.Org to be the
best uplink so the oper does :
/wallops Moving Indi* to Cupertino* due to lag.
/squit Detroit* Lagged to HUB
/connect Cuper* 4400
-- Moving another server you're not on (Remote routing) --
Usually let active opers on that server move it themselves. The steps =
are
generally the same :
First do a /wallops message to announce what you're going to do :
/wallops Moving Indi to Cuper
Then disconnect the leaf from the hub :
/squit <leaf> <leafs_Current_HUB> <REASON>
Then reconnect it at the new HUB :
/connect <leaf> <port> <newHUB>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stats Info - Local and Global Opers
----- ---- - ----- --- ------ -----
Doing a /stats <letter> can show information about your server. Doing a =
/stats <letter> <server> can show information about another server.
Example : /stats c Indi*
What stats you can do :
C : Shows what the server can connect to.
H : Shows what servers are allowed to be HUBs for the server.
I : Shows what clients can connect to the server.
K : Shows what user@hosts are banned from connection to the server.
P : Shows available connection ports on the server.
M : Shows Memory allocation monitoring (if enabled).
L : Shows connection usage information.
O : Shows Operator lines for IRCops.
U : Shows U:lines which give services it's "power".
W : Shows the userload for your server.
Y : Shows connection class information.
Z : Nothing you need to worry about :-)
d : Nothing you need to worry about :-)
m : Nothing you need to worry about :-)
t : Shows general server information.
u : Shows uptime for the server.
v : Shows the v:lines that you have defined.
NOTE: Due to the new ircd, only opers can request /stats unless =
otherwise defined in the Server Configuration.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
User Modes - Local and Global Opers
---- ----- - ----- --- ------ -----
Set by doing /mode <yournick> +mode
Removed by doing /mode <yournick> -mode
Example : /mode `Markus -w
i : Invisible (makes yourself invisible to anybody that does not know =
the exact spelling of your nick)
w : Wallops (receive wallops)
o : IRC-operator status (can only be set by IRC-ops with the OPER =
command)
s : Receive server notices
g : Global IRC-op (Global Opers only, obviously) (not quite sure, asked =
a few people and got diff. Responses. I'll try to investigate more here =
;)
c : Shows clients connecting and disconnecting to your server
n : Shows someone doing a /whois on you
x : Replaces the first section of your hostname (before the first .) =
with a random number
NOTE: Opers still see the real hostname.
d : sets you 'deaf' meaning you cant receive ANY messages in a channel =
anymore, the only things you will see are /msg's or /notices
=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Oper Conduct - Local and Global Opers
---- ------- - ----- --- ------ -----
-Wallops
Wallops is used for making network announcements such as routing =
changes
and changing network conditions. Remember, Users set +w can read =
wallops and
we should be careful.
-Assistance
IRCops are to help users whenever possible. If you don't know the =
answer
to a question, say so. Users get more frustrated with silence. If at =
all
possible refer them to another person for help. If everyone is busy =
helping
others or doing other things please help when you can. Everyone =
appreciates
the extra help given.
-Problem Users
Users breaking policy should be warned of the violation. If they =
continue
to be a problem a /kill should be used. If they persist a gline should =
be
the next step. G:lines should be as specific as possible. Never
G:line an entire domain unless it is critical.
-NetSplits
If servers split due to various reasons they should reconnect on their =
own
but you can manually reconnect them. Read the routing section for =
details
on how to perform routing and be 100% sure you know what you're doing.
-Language
Never use profanity unless completely necessary in wallops, kill =
messages,
or G:line messages. Swearing at the users also reflects poorly upon =
all of
us so be curteous.
-Clients
Try to know the most you can about your particular client and if =
possible
learn the basic commands of other clients so that you can assist users =
no
matter what client they are using.
-Services
Services are restricted to Oper/Admin usage only. Learn the functions =
of them.
-Other IRCops
Not everyone will get along; it's a fact of life. This doesn't need to
be expressed in public though. Killing or G:lining other IRCops or =
making
degrading comments in wallops is considered bad behavior. If you have =
a
problem with someone use the /msg command or the /ignore command. Not
the /kill command.
-Clones=09
Current ChatNet policy allows 20 connections per user@host. Anything =
over
20 is breaking policy and should be warned, then killed if the number
is not brought to 20 or less. In cases such as mass clones (example:
anything over 20) a G:line is most likely in order. 21 connections =
could
be an accident with one or more clients being ghosted so warn =
first.
There are some IP's that are exempt from the cloning, so check =
that!
(NOTE: CW warns when connections from one user@host hit 21, =
however, if
you see a User with 5 - 10 - 15 clones, all with weird =
names,
and he's obviously someone who wants to ctcp flood others =
or
do any bad stuff with his bots, feel free to =
warn/kill/Gline
them before they do any harm, even if they're below the =
clone
limit.)
-G:Lining
When g:lining a user, watch out if he's on a static IP or a =
dialup connection.
If he is on a static IP, gline *@host.com, if he's on a dialup, =
please g:line
*ident@*.host.com, or for a numeric IP *ident@255.255.255.*
Otherwise the user just has to disconnect and reconnect to his =
ISP, and will
be given a new IP Adress, which makes it very easy for them to =
evade the g:line.
Also, don't gline Dialup connections for longer than 1 day, =
because a 14d g:line
on a dialup connection is pretty pointless.
-Other Oper Items
-Always ask if unsure about something.
-Only use /kill and G:lines when necessary and be sure it's valid.
-Use reasons in routing, kills, G:lines, etc. Foul language should not =
be
used. The reason should make it clear to all what happened.
-Try to know all the HUBs for each leaf, either by memory or make notes =
if
needed. Doing a /stats C on each server gives the necessary =
information.
-Have fun on ChatNet. Opers are users too.