SA Course: IRC Basics and Operators

From Wikipedia of the Dark Brotherhood, an online Star Wars Club
I may never come back, and I just want someone to know.
This article contains text from a former Shadow Academy course. It is no longer in use, and is preserved here for historical purposes only and should not be used/referenced.

IRC Basics

Introduction

This course seeks to establish for you the basic understanding required to use IRC. IRC is a legacy platform used as a primary form of communication between members due to the ubiquity of its clients and the stability of its service. This course will primarily focus on IRC Terminology and basic commands.

What is IRC?

IRC, which stands for Internet Relay Chat, is a type of real time messaging and discussion forum used as one of the primary forms of communication by the Dark Jedi Brotherhood. Much like what other instant messaging services offer, IRC allows its users to instant message with individuals and share files, but with the exception of also having chatrooms in the form of “channels”. Therefore a user could log onto the network, and begin messaging other known users or at the same time join a channel to speak with the group of users in that channel.

For the Dark Jedi Brotherhood, IRC offers our club an important aspect as you can use IRC to chat individually AND with other members of your house, clan, or the DJB in a group discussion where other programs are limiting on one or both of these components. Furthermore, this provides an important connection for the various types of members of our club since writers would not have access to in-game communication that the gamers would.

How does someone connect to IRC?

There are a number of options available to IRC users on how to connect, but they are divided into two specific categories:

  • Program-based IRC
  • Web-based IRC

A Program-based IRC means the user downloads a specific program designed to access the IRC system. However, these program vary due to operating systems, user interface design, programming language, and whether they are offer free or at a cost. This course will teach you how to use mIRC as it covers most of the operating systems in use.

  • Other courses are available in the Communications Department that discuss what programs members can use based on their operating system. Furthermore, they detail the benefits and negatives of each program and discuss installation & setup.*

Web-based IRC is the other category. It groups a series of java-based programs that run through your internet browser. Rather than installing one of the IRC programs, a user only has to go to the URL location and can log into the server through one of their browser programs and it will connect them to the network. However, this does have the downside of lack of customization and may be blocked by personal firewalls. A number of Undernet servers and the Dark Jedi Brotherhood itself offer java-based programs for your use.

You can find some of the web-based IRC servers here:

mIRC

The suggested program that most Windows users prefer is mIRC. It is the most stable and reliable windows based IRC program, and still receives regular updates. It can be found here.

When using mIRC, it will prompt you to donate in order to buy your license, we recommend this as it helps support the client and also helps to keep it up to date. Once you have clicked through, you will need to setup your Login.

As you will note, mine is rather short. The login has to be unique to you, so many common ones are already taken. Your user name cannot have ' or @ in it. So think wisely when creating it. It is not permanent, and can be altered as you wish. Mine has a ` in it in order to achieve the effect of a '.

Now for your servers. Select Servers under Connect.

As you can see, my server list is out of date. However, one of the benefits of using mIRC with Undernet is the ability to select the Random EU or US server. This pings Undernet for the most reliable server attached to that continent and then connects you to it. I strongly suggest selecting the random, as it allows you to not have to keep your servers manually up to date.

Highlight the random server and click Select. Left click on Connect, then click on the Connect button.

Once you have clicked Connect, you will get your status screen. When it has completed the login process, it will look like the above screenshot. As you can see, Undernet actually selected a variant of the IX Undernet server for me, and connected me on my first attempt.

From here, you may execute the basic IRC commands to join #DB or your unit channel. MIRC supports favorites, so you can automate that if you wish.

Mibbit

On the DJB Website we have a Mibbit client installed for you to use so that if you do not wish to install a client, or if you are using a Mac or Linux computer, you can still interact with others on IRC. Here you can find the link to it.

  • It functions exactly the same, only it is all automated. Type in your preferred username and click connect and then it looks like this.*

What does the DJB use?

While there are many Networks available to connect to on the IRC system, not all of them are public or available to the club. Furthermore, an individual on one network would not be able to communicate with another user on a different network - much the same as if you were on different “gaming servers”. Therefore it is very important that when attempting to connect with other members of the Dark Jedi Brotherhood that we all use the same network; Undernet has been selected for our club to use.

As part of the Undernet network, there are a number of servers available to connect based out of different locations around the world. While any server will connect you, so long as you are using an Undernet server, you may wish to use one that is closer to your location so you have a better connection to the network.

Some example servers:

Once a user is connected to an Undernet server, they can then being messaging other users on the network or they can then join a *Channel* for group discussion. In the Dark Jedi Brotherhood there are a number of channels available for use ranging from our main club channel to unit or society channels. A list of currently active DJB channels can be found below:

To join any of these, just enter: ~/join #channelname~

For example: ~/join #db~

How to talk?

So you have joined the network & server, now what? No matter which IRC device you are using the same commands are available:

In channel

~/join #channelname~ will open up a new window with the channel you have decided to join. Typically, on the left you will see the chat window, which upon entry will announce: you are now in the channel, what is the channel topic (if there is one, sometimes netsplits reset the channel topic) and when it was last set & by whom. On the right side of the screen, you will see a list of users in the same channel as you. To begin chatting with them, click on the text box at the bottom of the chat window, write your message, and press enter to send it to the channel.

Private Messaging

Should you know of an individuals nickname, which is their user name, you direct message them using the command: ~/msg nick message~

For example: ~/msg Solari Hi buddy, how are you today?~

This is useful for chatting with individuals outside of the group channels, which you can also access by right clicking their name, selecting message from the menu, and then typing your text. Depending on your program settings your individuals will either open a new chat window or will show in your current window. The default is a new window.

Basic Commands

There are a number of other commands that you may wish to use. Below is a list of several commons commons but note that it is not a complete list of available commands.

* /whois [name] - brings up basic information about the user
* /query - another way to start a private converation with someone
* /nick [new name] - changes your username
* /me [action] - emote, actions, ect
* /ignore [name] - adds a name to your ignore list
* /ignore -d - clears your ignore list

What does the + and @ mean?

When you join a channel, you may notice that some users have a symbol in front of their names and are listed at the top of the channel. What this denotes is that these users have additional rights in the channel:

+Username (for example, +Solari): These users have the right to speak in the channel when it is moderated (locked). Most DJB channels are kept open except when meetings are happening or trivia events have reach the tie-breaker round and only a select few are able to add to the chat.

@Username (for example, @Solari): These users are the Operators of the channel. A brief bit on them has been included from the old IRC course.

Operators are gods, they can determine everything in the channel. When an operator asks you to do or cease something, you comply or risk being kicked out of the channel. Operators can be recognized in the right-hand user listing by the "@" in front of their nicks (or screen names, though this term generally applies to individual chat programs like AIM).

Code of Conduct

The Dark Covenant acts as the legal manifesto of the club. It not only details the rights that members have in our club but also touches on specific articles of conduct that are deemed unacceptable. While it is highly recommended that you take the time to read the Dark Covenant, below are some excerpts from it on unacceptable conduct.

Excerpts from Dark Covenant

* Discrimination - No Member Shall Discriminate Against Another Member in regards to promotions, medal awards, praise and acknowledgement, or positions on the basis of real-life political affiliation, gender, race, color, age, disability, creed, heritage, nationality or sexual orientation.
* Sexual Favors - No member shall accept, promote or solicit sexual favors in exchange for elevation, award, citation, or other honor
* Crude Behavior - No member shall engage in crude behavior in any mode of communication. Crude behavior includes but is not limited to: the excessive use of swear words; provocative speech; excessive sexual discussions; and unabated insults toward another's real-life political affiliation, nationality, gender, race, color, age, disability, creed, heritage, or sexual orientation.
* Verbal Abuse - No Member Shall Engage in Excessive Verbal Abuse of another, including, but not limited to: insults regarding a member's real-life political affiliation, gender, race, creed, heritage, nationality or sexual orientation; character assassination; or unjust use of Brotherhood resources to attack another through defamatory statements.
* Disreputable Behavior - No member shall partake in any action that brings disrepute unto themselves, the Brotherhood as a whole, or any Clan, House, Battle Team, or individual member. Actions include those done by a member, either within or outside traditional Brotherhood activities and communication channels, that reflect the above parties, such as: treason, acts to sabotage, stealing of property, or any conduct forbidden by these articles.
* Harassment - No Member Shall Engage in Persistent Harassment or torment, or outrageous attacks on any other member. This includes statements and actions taken to attack a member's real-life political affiliation, family or significant other, gender, race, color, age, disability, creed, heritage, nationality, or sexual orientation. This article extends to cover harassment through the distribution of personal information, the creation of groups or modes of communication for the purpose of attacking the member, and unwanted contact with the member through non-internet means of communication. Harassment punished under this article must be to the extent and of the form that would injure a reasonable person of normal sensibilities; mere mocking does not suffice.


Aside from the Covenant, there is also a certain expectation of users in an official Dark Jedi Brotherhood channel and these have been listed below. It should be pointed out though that while these expectations below are for main club channels, Clan and Independent House channels are allowed to operate on their own expectations so long as they do not conflict with the Covenant rules above.

IRC Expectations

Expected Demeanor of Operators
  • Enforce the rules, but more so, be a pillar of the rules, lead by example
  • Do not be overzealous in enforcing the rules of the Channel, give fair warning before taking any action.
  • If you are Away, please mark yourself so in your name, or deop yourself.
  • Do not topic-flood
Expected Demeanor of All
  • Do not flood, overuse colors, use autogreets, scripts or anything else that is annoying
  • Respect all other members of the channel
  • Keep personal arguments and fights to private messages
  • Do not publicly demean someone for your own benefit.
  • Do not swear excessively
  • If someone tells you to stop doing something with good reason, respect their wishes

More information on the Code of Conduct for users using DJB communications (specifically IRC) can be found in the IRC Guidelines.

Conclusion

This course has covered what IRC is, how to use it both as an installed program and from the web, and the conduct you are expected to observe while using it. Further knowledge awaits you in the IRC Operators course, which you will need to be come an Operator for your House or Clan.

IRC Operator Studies

Introduction

Before attempting this course, please be advised that this course will not explain the basics of IRC communications. This course is aimed at explaining the advanced IRC functions. We will discuss Operator status and its surrounding topics, such as X-access, X-commands, and CService.

In this course you will learn what is expected of a channel operator, how to most efficiently utilize X and what the different levels of X-access mean. We will also consider CService, Channel registration and how to prevent having to re-register your channel.

A quote from the Communications Basics notes:

Some users in channels have additional rights. Operators are gods, they can determine everything in the channel. When an operator asks you to do or cease something, you comply or risk being kicked out of the channel. Operators can be recognized in the right-hand user listing by the "@" in front of their nicks (or screen names, though this term generally applies to individual chat programs like AIM).

That @ is typically gained by having a leadership position in the unit the channel belongs to. In #ShadowAcademy, the Headmaster and his Praetor have it. In #db, Consuls and Dark Councillors have it. For units (clans and independent houses), it is up to the summit of each unit to decide. Some make everyone an Operator and some limit it to a small group of individuals. Some even let X, an Undernet bot program, be the only one with ops and handle everything through this bot.

The previous IRC courses explained the essentials of what an Operator could do. Note that this status comes with responsibility. Operators can have their status revoked for abusing their administrative options.

Note: there are no set guidelines in the Dark Jedi Brotherhood about how a channel should be run. However, general rules of courtesy are accepted throughout the Brotherhood and should be practiced. Generally, Clan and House summits have power to set and enforce the rules for their channels. There are only a few channels in the DB which are 'official', and these are also explained in the Communications Basics course. The primary official channel for the Brotherhood is #db.

What can an Operator do?

Basic functions, such as kick, ban, voice, and op were briefly addressed in the Basics course. There are also a few other things that Operators can do, like changing channel modes for example. Please note that typing the name of a channel into a command is not mandatory for all X commands in most IRC clients, as they assume that the command is intended for the channel you are currently watching. However, if your command is intended for channel other than the one open on your screen, or if you are using a client that requires a specific channel to be identified for a command, then the channel you want to affect must be typed after the initial command and before any other text in the command.

Operator Commands

  • /ban [hostname]= ban (prevents people from joining the channel)
  • /v [nick]= voice (gives the user the Voiced status)
  • /o [nick]= operator (gives the user the Operator status)
  • /topic [content]= sets topic
  • /kick #[channel] [nick] [reason]= kick (removes person from the channel (until they rejoin)

Personal Modes

/mode [nick] +[letter]

  • "i" = invisible — cannot be seen without a common channel or knowing the exact name
  • "x" = hides your IP (basically, if someone does a whois on you, no IP will be visible. This only works when signed into X)
  • "w" = receives wallops

The following commands: /operwall, /wallops (message) send a message to all operators on IRC. They were originally publically visible and intended to be used for disaster announcements and the like, but have been abused to the point where now they are operator only. source

Channel Modes

  • "s" = secret channel (server will pretend the channel doesn’t exist. Also, when you are /whois-ed by someone not in said channel, the system will not indicate in any way that you are inside it)
  • "p" = private channel (same as secret channel but less hidden (don’t enable “p” and “s” at the same time))
  • "n" = no outside messages (you can’t send messages into the channel without being inside it)
  • "m" = moderated (only operators or those with voice access can talk in the channel)
  • "i" = invite only (only if invited by an operator, can you join the channel)
  • "t" = restricted topic (only operators can set/alter the topic)
  • "l" = limited users (limit the amount of people that can be in your channel at the same time)
  • "k" = channel key (set a password for the channel (only with password can you enter))
  • "R" = registered (shows that a channel is registered with CService (even if X is not present))

It is standard practice in the Brotherhood to implement secret (“s”), no outside messages (“n”) and restricted topic (“t”) in all official channels.

General Information

All these commands (not the personal ones) are done with the following syntax:

/mode #[channel-name] +[letter] [add-ons required for the command]

Changing the + to a - will remove a channel mode.

Note: for banning, a hostname is required. This can be found by doing a Whois on someone. The hostname is the part with the nickname, followed by a possible username, then a @, and the rest is information on how someone is identified on his / her network. This can be an IP, or several other things. This differs per ISP.

The following are the usual guidelines on banning. Please note that there can be exceptions to this, but these exceptions are decided on a case-by-case basis by those with the most authority in a channel.

  • Warning
  • Warning kick
  • Short ban (usually a timed ban)
  • Longer ban (implemented by a channel operator)
  • A CoJ (with regards to official channels) / Unit Summit (with regards to unit channels) ban.
    • This is a more official version of the longer ban, inasmuch as it has been implemented, not just by the channel operator but by an official club authority. Technically this is very similar to the “longer ban”, but worse: With a CoJ-ban, expect charges to be brought. With a Unit Summit ban, said summit will vote/discuss such a ban before implementing it. It means you’ve been officially sanctioned by said leadership for your actions.
  • A permanent ban (rare, but they exist)

An example: If I wanted to change the topic to 'No Humping Allowed!' in #db, I would use the following command:

/topic #db No Humping Allowed!

If someone still proceeds to hump, a warning kick is given:

/kick #db Humper No Humping Here!

The person still goes on, ignoring the previous warning. A ban is next:

/ban #db `Humper!Hump@ISP.IP`

Followed by a kick to remove the user permanently:

/kick #db Humper No Humping Here! You were warned.

The ban can be removed later.

X

X is the primary tool for maintaining channels registered with Undernet. It can be used to automatically set modes on given users (who must have an X/CService account for this to work), set channel modes, prevent loss of Operator status in the channel, keep channel settings saved, and prevent the loss of channels to others.

Registering with X

CService is the power behind X. Without a CService account you cannot command X, nor register a channel or help register a channel.

`

Logging in with X

After registering, open IRC. Then, use the following command to log in:

/msg `x@channels.undernet.org` login [nickname] [password]

To change your password, or view more information, go to http://cservice.undernet.org/live and log in there.

Most IRC programs allow for automatic logins, under the heading of “perform”. This was discussed in the previous IRC courses.

Access levels

There are several levels of X access, ranging from 0 to 500. This might seem extreme, but there are a few levels that grant specific power with X. A high level user, with an access level of at least 400, will have to grant you access before you can use the commands (in other words, simply registering will not give you operator status).

  • 500 = Channel Owner
  • 450 = Highly trusted members (user with access to channel settings. In case of Manager not logging on for 21 days, access level 450 and higher vote new manager from their midst)
  • 400 = User with access to Clearmode and user statuses.
  • 200 = User with access to advanced Kick and Status commands
  • 100 = User with access to Op, Deop, and Suspend commands
  • 75 = User with access to Ban, Unban and Op commands
  • 50 = User with access to Kick and Topic commands
  • 25 = User with access to Voice commands
  • 1 = Registered user
  • 0 = Everyone

All commands are fully explained in the following segment.

Using X

The following command is used to call upon X:

/msg x [channel] [command] [additional arguments]

A full list of commands, per access level, can be found here. The most important commands, those you will use time and time again, are listed below.

Access level 1 and above:

Using X to learn about your channel:

  • /msg x access #[channel] => shows the entire channel access list
  • /msg x access #[channel] [pattern] => shows the access level of all usernames matching wildcard pattern
  • /msg x access #[channel] [username] => shows the access level of a single person
  • /msg x access #[channel] [=nickname] => alternate way of showing the access level of a single person
  • /msg x access #[channel] -min [level] => shows only users above the given level.
  • /msg x access #[channel] -max [level] => shows only users below the given level.
  • /msg x access #[channel] -op => shows only users with the auto-op flag.
  • /msg x access #[channel] -voice => shows only users with the auto-voice flag.
  • /msg x access #[channel] -none => shows only users without any auto-mode flags.
  • /msg x access #[channel] -modif => shows who last modified the access listing.

You can combine these as well to get very specific results. As you can see, there are 3 areas in which you have to pick a setting: [pattern | username | =nickname], [-min [level] | -max [level] and [-op | -voice | -none]. Thus we can have 77 different combinations:

  • /msg x access #[channel] [pattern or username or =nickname] “-min [level] or -max [level]” -modif “-none or -voice or -op”
Access level 25 and above:

Using X to voice and devoice:

  • /msg X voice #[channel] [nick]
  • /msg X devoice #[channel] [nick]
Access level 50 and above:

Using X to kick and set topics:

  • /msg X kick #[channel] [nick][reason]
  • /msg X topic #[channel] [topic]
Access level 75 and above:

Using X to ban and unban:

  • /msg X ban #[channel] [nick!*@* | *!*userid@host] [duration] [level] [reason]
    • Banning via X penetrates hostmasks, so banning someone’s nickname via X, also bans that person’s actual host. By just banning the nick, X will ferret out the `*!*userid@host`. There are levels of X-bans: 1-74 = Prevents the user from having ops (+o) on the channel. 75-500 = Prevents the user from joining the channel.
  • /msg X unban #[channel] [nick | *!*userid@host]
    • You can only remove bans set at your access-level or lower. You have access lvl 75, ban was set at lvl 200, too bad, you can’t remove it.
Access level 100 and above:

Using X to op/deop, invite, suspend/unsuspend:

  • /msg X op #[channel] [nick]
  • /msg X deop #[channel] [nick]
  • /msg X invite #[channel]
  • /msg X suspend #[channel] [username] [duration: m|h|d] [level]
  • /msg X unsuspend #[channel] [username]

Suspension removes the person’s X access rights for a set period of time (m = minutes, h = hours, d = days). You can only suspend people of a lower access level than yourself and you have to set the level at which to suspend (leave this blank and X will use your level).

Access level 200 and above:

Using X to secure a channel:

  • /msg X status #[channel]

This command displays all channel flags and settings, channel modes, the number of users and ops in the channel, currently authenticated users for the channel, and whether X is on the channel or not. a) Currently authenticated users are shown in a "username/nickname [level]" format. b) A user's nickname will only be shown if that user is currently on the channel, otherwise only their username and level are displayed. The ability to see channel modes is extremely helpful in case the channel: is locked up (channel modes +i, +l, and/or +k) or has a key (+k), X will display the current channel key. You may use the invite command to have X invite you into the channel, overriding all current channel modes to join the channel. At this access level you can’t be truly removed from the channel without being suspended as well.

Access level 400 and above:

Using X to manage the channel’s userlist:

  • /msg X adduser #[channel] [username] [access]
  • /msg X remuser #[channel] [username]

You can’t add/remove a user at your own access level or higher.

  • /msg X clearmode #[channel] => Removes all channel modes (you don’t have to be in the channel to do this)
  • /msg X modinfo #[channel] [automode] [username] [op | voice | none] => Alters the user’s automode setting (auto-op, auto-voice or none)
  • /msg X modinfo #[channel] [access] [username] [value] => Change a user’s access level (can’t make it same or higher than your own)
Access level 450 and above:

Using X to run the channel:

  • /msg X join #[channel] => X joins channel
  • /msg X set #[channel] autotopic [on|off] => X will reset the topic to the channel description every 30 minutes
  • /msg X set #[channel] description [text] => Sets the channel description
  • /msg X set #[channel] mode => sets current channel modes as default (X will reset these every time he joins channel)
Access level 500:

Using X to do whatever you want:

  • /msg X set #[channel] autojoin [on|off] => X automatically joins channel (after split or d/c)
  • /msg X set #[channel] massdeoppro [0-7] => This determines how many de-ops a member can perform within 15 seconds. If the member goes over this number, he will be de-opped and suspended for 5 minutes by X.

Channel Registration

Here we will look at how to (re-)register a channel, how to prevent the loss of your registration. This is important since only registered channels have X access. All unit channels as well as the official DB channels are registered.

How to Register a Channel

Quote from CService:

Channel registration is not meant as a means to start a new channel. It is meant to give stability to existing channels. If you are first starting a new channel, then just start using your channel and give it time to see if a reasonable userbase develops to justify registration. Your channel must be open and active for a reasonable amount of time before you apply. Channel registration application is not a right, but a privilege granted subject to conditions.

You can only hold the ownership of one channel at a time. As a channel owner, you cannot register another channel, you can however support a registration started by someone else.

Let’s now consider the actual registration though. First, the prospective channel owner, needs to fill out a specific CService form. Listed below is a copy of the CService information relating to registering an channel:

  • You need to have 5 DIFFERENT supporters (people, not just 5 different usernames) to register a channel. Make sure all your supporters are active members of your channel and that they all agree to support you as manager. If any of the people who you list as a supporter indicates they do not support your channel, you will lose the right to register any channel for 3 days.
  • Your supporters must go to the web page and indicate whether they support your application or not or /msg X support #channelname (YES or NO). If all of your supporters do not respond within 3 days, your application will be rejected.
  • During the registration period, Channel Service will be checking to insure all your supporters are really users of the channel and are actually joining it. They need to be logged into X before they join so that they will be counted. Repeat: PLEASE BE SURE YOUR SUPPORTERS LOG INTO X BEFORE THEY JOIN THE CHANNEL OTHERWISE THEY WILL NOT BE COUNTED.
  • You are responsible for your Channel Ops whether you are online or not. Please be careful who you give access to. Abuse by your channel ops, whether you are there or not, can result in X being removed from the channel.
  • If you feel your channel qualifies for registration go to http://cservice.undernet.org/live/ and FOLLOW all instructions.
  • NOTE: Filling out this application does NOT constitute registering your channel. It is only applying to register.The entire registration process takes about 10 days. Should your application be rejected for any reason, it cannot be altered by CService. You must reapply using this form. You may wish to print the completed form before submitting to retain the data.
  • You should track the progress of your application every few days. Go to the registration page at http://cservice.undernet.org/live/ and select Check application. Enter your channel name and enter or click on go baby.

Losing a Registration

CService Quote:

Channel Services regularly monitors all registered channels for activity. If a registered channel is not active, X will be removed from the channel. Channel managers are expected to be active in the channel. If you are gone for more than 21 days, X can be removed from the channel or in very active channels, a new channel manager can be elected by the high level ops. If you know you are going to be gone for more than 3 weeks, appoint a temporary manager and have Channel Services set them up. Forms are available on the web page and #cservice is there to help you.

All channel management functions can be performed via the CService website.

Conclusion

As an Operator, you are expected to adhere to a higher Code of Conduct. You set the example. Use your powers wisely or you may lose your status. CService and X are very handy tools, everything you can do as an operator, someone with X access can do without a visible @. X is a defense against having your channel hijacked from under you.

This course was based on the original IRC Channel Operator Studies. It also uses information publicly available on the CService website as well as third party sources.