Return Home  







spacer

 

spacer
operator's guide
Administering an IRC channel -- everything you ever wanted to know.

By: GeneVann
(editing/additions)

NOTE: Special thanks are due to donkeynut, pipeguy, and PipeStem for their efforts in contributing to this document. All your hard work and long hours are appreciated, guys.

Table of Contents
Introduction
Who (or What) are #Pipes OPs?
What OPs Have to Know
Channel Maintenance
How IRC Works
A Guide to the Mode Command
Kicking and Banning
How Hackers Take Over Channels (And Action You Can Take)



I. Introduction

This guide describes the duties and responsibilities of #Pipes channel operators, or OPs, and the requirements for becoming one. It may also be helpful to the user who wants to learn more about how the channel, SorceryNet, and IRC work in general. By necessity, a lot of this information is quite technically oriented.

With OPs having and applying this technical knowledge, none of the regular users have to be distracted, and can simply have fun on the channel. In the final analysis, that's what #Pipes is all about: having fun, making friends, and learning more about our mutual favorite pastime. OPs spend a considerable amount of time in side chats helping others with questions or problems, as well as maintaining the channel for the enjoyment of all.
Three things are expected out of every good channel operator, and these will be covered in detail with the rest of this document:

1.) Be helpful and friendly to other users (especially new people).

2.) Use judgement and discretion to kick and/or ban users when necessary.

3.) Report anything worthy of note to higher channel administration. (SOP or above.)
BACK TO TOP


II. Who (or What) are #Pipes OPs?

Internet Relay Chat channels are owned by their Founders, controlled by their SOPs (Super Operators), and managed by their AOPs (Auto Operators). IRC is not a democracy. The rules of any channel are the rules of the "management" in that order: Founder, MiniFounder, SOP, AOP and User. BigJack, GeneVann, and Pipeguy are the Founders on #Pipes. Our MiniFounder is Donkeynut. Our SOPs are Hanszoo, JillVann, and PipeStem.

Founders set the operating policies and procedures for the channel, and choose the SOPs. The Founders and the SOPs together choose the AOPs, have the ability to remove persons from the AOP list, and can add persistent offenders to the auto-kick list. All OPs on #Pipes have the power to change the channel topic and modes, as well as to kick and ban when necessary.

An "@" is not a status symbol, nor does it convey any right to kick/ban others without good cause. Be they Founder, MiniFounder, SOP, or AOP, an "@" does not mean that someone is more popular, or "better", or more of a pipe and tobacco nut than anyone else. To the contrary, it is simply an unpaid job . . . a mechanism to make certain that the channel is protected, that it remains a place where hobbyists can come to enjoy themselves, and that those who need assistance get it, allowing everyone else to relax and have fun.

There are a limited number of AOP slots which can be filled. When slots become available, the SOPs select and train candidates to fill them. Then, upon approval by the SOPs, they are added to the AOP list on a temporary basis, generally lasting four to six weeks. After this qualifying period, if the new OP's performance meets expectations, their temporary AOP status is converted to "regular".

The selection is based on a number of criteria, including the amount of time the candidate spends on the channel; overall demeanor; willingness and ability to help newcomers; familiarity with IRC commands, SorceryNet services, and their particular client software; and knowledge about our hobby. Both SOPs and AOPs serve at the pleasure of the Founders. Just as easily as OP privileges are awarded, they can be taken away with but a few clicks of the mouse. Founders may, at any time, add or remove channel members with either designation. OPs have been removed from #Pipes for misbehavior and for non-participation.

Any OP absent from the channel long enough to lose nick registration will be automaticaly removed from the AOP list. Unless there are pre-approved extenuating circumstances, the person will have to go through the entire AOP process again to regain OP status (when there is a slot available) including selection, training, approval, the probationary period, and evaluation.

The channel has been set to OpGuard, or Secure Ops, to provide additional channel protection and to ensure that those who are opped have a working understanding of channel commands and functions. OpGuard means that no temp ops will be allowed, and only those on the AOP list will be opped by ChanServ. If a person is inadvertently opped who is not on the AOP list, that individual will be de-opped by ChanServ. Should ChanServ be offline or lagged, it is the responsibility of all OPs to make certain that only those designated as OPs be opped in the channel.

All users should have their nicknames registered with NickServ and have the KILL switch set on; all OPs on #Pipes must have registered nicks. NickServ maintains a database of registered users by nickname, and Services will not allow anyone who is unregistered to have OP status. You must identify to NickServ with your password every time you come online in order for Services to recognise you.
BACK TO TOP


III. What OPs Have to Know

OPs on #Pipes are expected to know their particular clients/scripts and how to use them. If you choose to run an add-on script, YOU are responsible for having all switches set correctly and controlling it. If your script floods or disrupts the channel, you are subject to being kicked, just like you would react to disruptions by a user. Please learn your script before using it on #Pipes.

Familiarity with SorceryNet services and IRC commands is also a necessity. SorceryNet services are explained at http://www.sorcery.net and IRC commands are detailed at http://www.irchelp.org. In particular, OPs need to know and be able to use the following commands, both in this manual format and in any automated features incorporated in their own clients and/or scripts:

/nickserv help
/nickserv register [password] [email address]
/nickserv set kill on/off
/nickserv set passwd [newpassword]
/nickserv access list
/nickserv access add/del [mask]
/nickserv info [nick]
/nickserv acc [nick]
/nickserv identify [password]
/nickserv identify [nick] [password]
/nickserv ghost [nick] [password]
/nickserv drop [nick]
/chanserv help
/chanserv access [#channel] [nick]
/chanserv op/deop [#channel] [nick]
/chanserv unban [#channel] me
/chanserv info [#channel]
/chanserv aop [#channel] list
/memoserv help
/memoserv send [nick] [message]
/memoserv list
/memoserv read [memo number]
/memoserv del [memo number]
/memoserv purge
/kick [#channel] [nick] [message]
/mode [#channel] +b/-b [mask]
/mode [#channel] +o/-o [nick]
/mode [#channel] [+/-letter designation]
/topic [#channel] [message]
/names [#channel]
/who [mask]
/whois [nick]
/whowas [nick]
/ping [nick]
/links
/server [servername.sorcery.net]
/motd
BACK TO TOP


IV. Channel Maintenance

The goal of all OPs is to provide a forum for friendly communications with a minimum of disruption. Helping others with questions or problems is a primary duty, as is maintaining a pleasant atmosphere for chatting. OPs should demonstrate the friendliness and restraint typical of pleasant company, while at the same time maintaining order in the channel and protecting it from abuse. Gentlemanly (or ladylike) conduct is expected of all channel members, OPs and users alike.

When considering a kick/ban, use common sense. If a newbie unintentionally causes problems due to ignorance of acceptable behavior on #Pipes or IRC, warn the offender; if someone is simultaneously on a sex channel, ask the person to drop it. Educate him or her in a private, side chat. Make sure the person has seen the #Pipes newcomer's guide, and if not, DCC it, or refer the person to this guide at:

http://www.vann.net/pipes/new.htm

In the event that this approach does not work, a kick is warranted, or perhaps even a kick/ban if circumstances deem it necessary.
When someone comes on the channel for the obvious purpose of causing a disruption, such as a kid using profane language, a quick kick/ban is justified. Examples of others who have been quickly kick/banned include illegal drug users, software pirates, racists, and those on offensive channels. In the event of persistent abuse -- and especially in the case of ban evasions -- provide channel and side chat logs, and ask an SOP to add the offender to the a-kick list.

More aggressive actions are needed to defend against channel takeover attempts. Defending a channel requires knowledge of how IRC works, channel modes, ways to set different kinds of ban masks, and defense techniques, all of which are summarized below. Although an understanding of most of this material is required, some of it is rather technical and is included below mainly for your information only.
BACK TO TOP


V. How IRC Works

IRC is a collection of networked servers, to which so-called "clients" (such as mIRC) can connect and then interact with other clients connected to the same or other IRC servers. Every "person" you see on IRC is a client of some server. Typically, servers run 24 hours a day, 7 days a week, waiting for clients to connect. Clients, on the other hand, typically run only when a user wishes to use IRC, although there are exceptions to this rule, specifically, bots.

A server is a computer running a server program which is connected to a large number of other machines running server programs (usually just called servers). It relays what you type to the other servers, and it relays what users on those other servers type to you. Each server keeps a list of what is going on in each channel its users are on, and when a user on any server changes anything on that list, that user's server notifies all the other servers of the change.

Servers link up via the Internet and send lots of traffic out to each other. When net traffic gets heavy (not just IRC traffic, but all net traffic) then the links get overloaded and break. This is called a "netsplit." When someone netsplits, it looks something like this:

*** Signoff: Thoth (eff.org dewey.cc.utexas.edu)

This indicates that the connection between eff.org and dewey.cc.utexas.edu is the one that broke down, and that you are on the eff.org side of the netsplit, while Thoth was on the dewey.cc.utexas.edu side. This does NOT mean that Thoth is necessarily on dewey or that you are necessarily on eff.org., just that Thoth was on that side of the split and you were on this side.

When a link between your server and another server breaks, then anything done on your server won't be relayed to that server, and anything done on that server won't get back to you -- at least not until the net rejoins.

When a server splits it no longer knows what the other servers have been up to, and other servers don't know what has happened to it while it was split. So, the split server could have new OPs that were made while it was split, or new bans, or new users. When the server rejoins, it updates everyone on what has been going on, which is why you will see something like:

*** Mode change "+o Thoth" on channel #abcd by dewey.cc.utexas.edu

That was the server dewey.cc.utexas.edu "synching" its information with everyone else's and telling everyone it had a new OP. Sometimes, the server updates don't work, and servers persist in seeing their own view of reality. For example, picture this:

*** Mode change "+o Thoth" on channel #abcd by dewey.cc.utexas.edu
*** Mode change "-o Thoth" on channel #abcd by SilverOz

A server, in this case dewey, opped Thoth. Then SilverOz immediately deopped him. SilverOz most likely deopped him before her server had a chance to tell Thoth's server that SilverOz was an OP. If Thoth also tried to deop SilverOz, from Thoth's perspective, the whole incident looked very different:

*** Mode change "+o SilverOz" on channel #abcd by eff.org
*** Mode change "-o SilverOz" on channel #abcd by Thoth

So, the eff.org side sees SilverOz as opped and Thoth as deopped; the dewey side sees the exact reverse. The dewey side will now ignore anything that SilverOz does that requires ops, and the eff.org side will likewise ignore anything Thoth does that requires ops. The message you'll receive will look like this:

(Thoth types:)
/mode * +b *!*zjohnsto*@*scu.edu.au
/kick * silveroz Go away

(Thoth sees:)
*** Mode change "+b *!*zjohnsto*@*scu.edu.au" on channel #abcd by Thoth
*** Not channel operator
*** SilverOz has been kicked off channel #abcd by Thoth (Go away)
*** Not channel operator

SilverOz would not even see the ban or the kick, since her server doesn't acknowledge Thoth's ops as legitimate. Thus, people who are connected to one server may see bans and OPs that people connected to another server can't, even though all those people can see each other and are talking. When that happens the server is said to be "desynched." Note here that SilverOz would still be able to see everything Thoth says on channel, even though Thoth thinks he kicked her off. Because he kicked her off, whenever she tries to send text to channel, she will get a message that says:

*** Can't send to channel (from dewey.cc.utexas.edu)

Since Thoth's server doesn't think she's on the channel, it won't relay what she says to Thoth. But, since SilverOz's server thinks she's on the channel, it will relay whatever it sees Thoth saying to her. Note also that SilverOz can leave the channel on her side and rejoin. From Thoth's perspective, she will join the channel even though he banned her, because her server will inform all other servers that she joined. Thoth's server will simply accept that as a fact without checking the ban list.
BACK TO TOP


VI. A Guide to the Mode Command

Modes are the parameters of a channel; they define what can and can't be done. (Users can have modes, too, but the effects of a particular mode are different.) THE #PIPES CHANNEL IS TO REMAIN SET AT +tn. Any other mode should be immediately removed, unless set by one of the channel SOPs for some special reason.

+n means "no notices" This stops people or bots from sending notices or messages to a channel from outside. Our channel should *always* be set +n, to stop low-lifes from flooding it.

+t means "topic" When this is set, only OPs can change the topic.

+i means "invite only" Anyone who wants to join the channel has to be invited by a channel OP. This is really only used on #Pipes as part of a defense against people actively trying to take the channel. (This is different than a user +i mode, which makes a user "invisible" to someone outside performing a /names command.)

+p means "private" If a channel is set +p, the actual name will be hidden from view, but the /list command will show that a private channel exists. Also, when someone does a /whois on a user, the fact they are on that channel will not be revealed, but it will be obvious that they are on *some* channel. This mode is not used on #Pipes.

+s means "secret" The channel won't be available to anyone using the /list command, nor will it show in the listing of channels for a person when a /whois is performed on them. This mode is not used on #Pipes, either.

+k means "key" It makes a key, or password, required to enter the channel, and again is not used on #Pipes.

+l sets a user "limit" No one else can join the channel when that number has been reached.

+m means "moderated" If a channel is set +m, only OPs or people whom an OP has set +v can talk on channel. This is a useful way of dealing with an attack by floodbots.

+v means "voice" This mode simply gives someone on a +m channel permission to send text to the channel, even if he or she is not an OP. (All OPs automatically have permission to speak.)

+o means "operator" In #Pipes, an OP can set the +o mode for users on the AOP list when ChanServ is lagged or down. Making a user +o gives the user operator status on the channel. Making a user -o removes operator status. Never OP anyone based on his/her nick only. Make sure you know the person(s) you are opping, and that they are on the AOP list before setting +o.

To give someone ops, use the mode command:
/mode #Pipes +o SilverOz

To de-op them:
/mode #Pipes -o SilverOz

You can op or de-op up to 3 people at once:
/mode #Pipes +ooo SilverOz Tangent Agatha
/mode #Pipes -ooo SilverOz Tangent Agatha

Note that the number of "o"s has to match the number of people.

+r means a registered channel This is not a mode that OPs can change. When you join the channel, expect to see it as "+tnr". If you are the first one to join the channel, type in an appropriate topic and set the mode to +tnr; the +r is automatic.
BACK TO TOP


VII. Kicking and Banning

To kick someone off the channel, use the /kick command. You can only kick one person at a time. You can add a comment the person will see when they are ejected, such as: /kick #Pipes SilverOz You were warned not to do that!

To prevent an abuser from returning to the channel, you need to ban him before you kick him. That way, he can't jump back on channel during the interval before the ban takes effect. When you ban someone in preparation for a kick, it stops him from speaking or changing his nick. A ban disappears when the channel becomes empty.

In order to set a ban, you must know the address of the user. To find out this information; use the /whois command. Depending on what client you are using, or what scripts and filters you are running, it will give you output that looks something like this:

<nick> is user@host.suffix (although here on SorceryNet, you will find this information to be encrypted.)
<nick> using servername.sorcery.net
<nick> has been idle # seconds, signed on Day Date Time


Wildcards are used in setting in bans, and are symbols that stand in for a character or group of characters.

? means "any single character" (this is generally somewhat useless)
* means "any group of characters"

Some users can change their user name as easily as the rest of us change our nicks. This means you will have to ban their entire host, or possibly their entire domain, to keep them off the channel.

Basically, there are four types of bans you can put on a user: Nick Ban, User@Host Ban, Site Ban, and IP Ban. These are numbered 1 – 4, and are detailed below. (There are more types of bans, but we will only cover the main four here.)

1.) The "Nick" Ban
The correct format for a nick ban is: /mode #Pipes +b nick!*@*

This bans anyone with the nick "nick." For example, /mode #Pipes +b SilverOz!*@* will ban anyone with the nick SilverOz from the channel. Of course if they change their nick, they can slide right past the ban. This ban is pretty useless against people, but can be used to get rid of bots, which usually don't change their nicks. It can also be used to get rid of an idle user you have kicked who has auto-rejoin set on, and immediately comes back on channel. In that case, ban them, then unban about 5 minutes later.

2.) The "User@Host" Ban
The correct format for a user@host ban is: /mode #Pipes +b *!*user*@*host.suffix

This is your standard, everyday ban. It bans all nicks (*!) from their username (*user*), from all machines in their domain. For example, to ban SilverOz who is zjohnsto@scu.edu.au, you would type: /mode #Pipes +b *!*zjohnsto*@*scu.edu.au

3.) The “Site” Ban
The format for an effective site ban is: /mode #Pipes +b *!*@*host.suffix

This bans everyone from a particular domain or machine, no matter who they are, or what their nick. For example, if you wanted to ban SilverOz and everyone from SCU, you would type: /mode #Pipes +b *!*@*scu.edu.au

Then it wouldn't matter who the person was; if they are on an scu machine, they will be banned. You can also ban users from particular machines at a site, so if you wanted to ban users from alsvid.scu.edu.au but not angus.scu.edu.au, you'd type: /mode #Pipes +b !*@alsvid.scu.edu.au. Bans with a domain mask should only be used when you are certain that no other channel member uses that same domain or that the situation at hand warrants banning an entire domain.

4.) The "IP" Ban
Some servers don't give the machine name when you do a /whois; instead, they give a series of numbers. A numeric address is actually the person's IP address, and sometimes simply banning the whole IP address is good enough. For example: /mode #Pipes +b *!*zjohnsto*@203.2.20.1
If the person being banned actually has access to other hosts on that network, or can change to another IP address that they own, it gets more complex. There are three basic types of addresses that you can get when you register a network: Class A, Class B, and Class C.

A Class C network is a small network, with no more than 255 hosts on it, and is the most common you should see. In a Class C network address only the last number will change. If you knew SilverOz was on a Class C network, you could do a site ban on her with: /mode #Pipes +b *!*zjohnsto@203.2.20.*

A Class B network is larger, with up to 65,535 hosts, and the last two components of the address can differ. For a Class B you would use: /mode #Pipes +b *!*zjohnsto@203.2.*

Class A is 16,777,215 hosts and all three of the final components can change. There are only 255 Class A networks, all owned by large corporations. Many networks, especially the larger ones, are subnetted, which means that even if the hacker is on a large network, the piece they are on can probably be banned simply by wildcarding the last part of the address.

Networks from 128-191 are Class B. Networks from 192-223 are Class C. Treat everything else as Class A.

You can ban by setting /mode #Pipes +b *!*zjohnsto*@203.2.20* but that will ban people from 203.2.202.4 for example, quite likely a completely different domain. The moral: include the ending period when banning by IP address. Now you know more than you ever wanted to about IP network addressing.

It's possible and desirable to make your kicks and bans more efficient. For instance, you should always deop a user (a hacker, for instance) before you ban him. Why? Because if you don't, the user could deop you or kick you first. This task is made simpler by combining modes. For example, to remove Thoth from the channel, you could do the following:

<Commands entered by SilverOz:>
/mode #Pipes -o+b thoth *!*thoth*@*intercon.com
/kick #Pipes thoth Get out and stay out

<Seen on the screen:>
*** Mode change "-o+b thoth *!*thoth*@*intercon.com" on channel #Pipes by SilverOz
*** Thoth has been kicked off channel #Pipes by SilverOz (Get out and stay out)

The mode-change command effectively de-opped Thoth first and then instantaneously banned him.

To check what bans are on the channel, type: /mode #Pipes b
To clear old bans, you have to remove them *exactly* as they were written; cutting and pasting is invaluable for this. If you make a mistake, the system won't warn you . . . it will tell you the ban is removed, even when it hasn't been. You must get the ban exactly right. To clear a ban:

/mode #Pipes -b [ban pattern]. For example, to clear the ban *!*zjohnsto*@*scu.edu.au you would type: /mode #Pipes -b *!*zjohnsto*@*scu.edu.au

Sometimes you ban someone, and he comes right back onto the channel anyway. This could be that you didn't ban them properly in the first place. But if the ban looks OK, then there may be another reason.

1.) Too many bans: A channel can only hold 20 bans at a time. If you try and ban someone and there are already 20 bans up, then you won't get a mode changed message, you won't get anything at all. If that happens, clear one or more bans, and try again.

2.) Similar bans: If there is already a ban in place that is similar to the one you are trying to place, then yours won't work. Remove the bad or redundant ban, and try again. How similar is similar? Well, a ban is deemed "too similar" if the nickname portion or the user and host portion of the ban match the parameters of any other already existing ban.

3.) Split servers: When a split server rejoins, all the people on the split server join the channel on the other server, period. Bans do not matter.

4.) Desynched servers: This is a nasty problem. If a server becomes desynched, then a hacker can get on the channel on that server because the ban you just placed won't be in the split server's memory. Thus, the hacker can leave and rejoin at will, and to you it looks like the hacker joined, ban or no ban.
BACK TO TOP


VIII. How Hackers Take Over Channels (And Action You Can Take)

Time for a little soapbox sermon on IRC takeovers and counter-strategy. Channel takeovers happen. Why? Bored dweebs with way too much free time, looking for "thrills." Those who feel channel OPs have insulted or annoyed them. People just seeing if they can. OPs have the duty to defend our channel. Here are some basic things to keep in mind.

* There are no absolute rules. Every rule allows for a common sense exception. Use your judgment and be very careful. Think about what you are doing. Take your time and do things right -- but take your time with haste. ;-)

* Don't op someone unless you're sure he REALLY is who you think he is. Never op someone based solely on his nick, or even his user@host. One of the simplest ways a hacker takes over a channel is to use the nick of someone he knows is an OP when services are down. Then he joins and pretends to be that person. He asks for ops, saying it's a borrowed account, or just waits for someone to op him, and then quickly kick/bans everyone else. The moral is to ALWAYS do a /whois, and perhaps even a /nickserv acc [nick], before opping someone. Many scripts with auto-op features will op based on the user@host. Beware of using a script to auto-op people, because usernames can be faked as easily as nicks.

* Always de-op people who come in with server ops from netsplits. You can always re-op them later. If someone comes in with server ops, you de-op them, they leave the channel, and a few minutes later, back they are again, opped . . . ban them. Once is an accident, twice is hacking. To get opped twice like that, they would either have had to deop you on their server, which is bad, or they would have had to leave the channel and rejoin again during the split -- a lot of effort to go to, and for not much good purpose, except to grab ops. Of course, if you are sure you know the user, use discretion . . . /msg him or her and see what is going on.

* If the channel is under a really heavy attack, make it +i. This is effective especially when the problem is due to a desynched server. In this case, you have ops on one half of IRC and the hackers have ops on the other half. The solution is simple, at least in theory. If you have ops on your side, make the channel +i. Then kick everyone off. Finally, leave and come back QUICKLY. You will be reopped on all servers, because your server will perceive you as being the only person on the channel -- everyone else was kicked off, as far as your server is concerned.

Make sure all OPs who rejoin are mode +i themselves, and then get them to change nicks. Also, ban all accounts or hosts that you think are dangerous. This will prevent everyone except people who slide in from a split from figuring out who the OPs are on channel (unless there's a spy on channel). Why all the effort to prevent people from finding out the nicks of the OPs? To prevent nick collisions. Of course, making the channel +i means that no one can join the channel unless they know the alternate nicks of the OPs, so it will disrupt normal channel activities quite a bit.

Nick collisions are typical channel takeover mechanism. If someone on a split server chooses the nick you are using, when the servers rejoin you are both always automatically /killed (kicked off of IRC) by one another's server. Hackers are okay with this, because they make sure the thing that is taking your nick is just a bot. Obviously, when you were killed, you lost ops, so you were no longer in a position to defend the channel.

If the hacker successfully collides every OP on the channel, then nobody is around to deop him when he gets opped by the server. Since he's the only OP, he wins . . . sort of. Why sort of? Well, this kind of thing always happens when the net is unstable. Thus, he may successfully collide everyone, only to split off again. If you can regain ops during that interval and change your nick, you have a chance to avoid getting collided again. The smarter hackers, though, often have spies -- either their own clients or someone else's -- sitting on the channel on your side of the split, telling the hacker who the OPs are.

Here's what to do about it:

1.) Make yourself +i. Don't make it easy for the hacker to display the OPs' nicknames.

2.) Always, always, deop server ops. They can be redone; the hacker becoming the only OP on channel is not so easily undone.

3.) Change your nickname often during channel attacks.

4.) Kick off all suspicious accounts. Make the channel +i if necessary.

5.) Put a client on the split server, if possible, or at least on the same side of the split as the split server. Have that client join the channel on that side and keep you informed about what is going on there. It's better if it's an account the hacker won't know is yours.

6.) Bear in mind: If you kick the hacker with the mistaken idea that he will then not see what you say or the nicks you give yourself, think again! Not only will this not have that effect, but you will not even be able to tell when he splits off again, at least not easily. The only time that your nick matters is when there is a split, so change your nick *after* the hacker splits off again.

7.) Be creative and think. A good hacker already knows you will do these things. Try to think like the hacker thinks. How would YOU go about taking over a channel?

8.) Be persistent. If you hang in there long enough, eventually you will get the channel back.
BACK TO TOP


spacer

 
  main | information | roster | statistics | java chat