server

# Differences

This shows you the differences between two versions of the page.

 — server [2006/10/06 00:38] (current) Line 1: Line 1: + # \$EPIC: server.txt,​v 1.9 2006/10/06 00:38:30 jnelson Exp \$ + ======Synopsis:​====== + __server__ \\ + __server__ [​|<​server refnum>] \\ + __server__ [+|-][<​server name>] \\ + __server__ [-add]  ​      [see below] \\ + __server__ [-delete ] + __server__ [-update ​] + + ======About irc servers:​====== + The nexus of irc is the server, also known as "​ircd",​ which comes in + different classes, such as "​irc2.8",​ "​irc2.9",​ "​EFNext",​ "​ircu2.8"​ + "​ircu2.9",​ "​hybrid5",​ "​hybrid6",​ "​hybrid7",​ "​dreamforge",​ "​bahamut",​ + and a huge list of others. ​ The above list classifies the most likely + types of servers you will encounter. ​ There are some irc-like ​ + implementations,​ most of which have been devised for microsoft windows + operating systems. ​ EPIC does not promise to work on any server that + diverges significantly from traditional irc (which these servers usually + do) and so we will not consider these servers at all in this discussion. + + At the most basic level, all unix irc servers in widespread use have a + direct lineage to one common ancestor, ircd2.8. ​ Therefore, the features + provided by ircd2.8 are portable to all irc servers. ​ This includes the + ability to join channels, to send messages to other users, to set topics, + channel and user modes, to kick users from channels, and the like.  How- + ever, through the course of time many extensions have been added to the + ircd software, and a particular set of extensions to ircd are distributed + as a software package and typically are used by an entire network. ​ Each + server "​class"​ defines a loose set of extended functionality that is + available to the user whenever you use that class of server. ​ That server'​s + extensions may not be available on other servers, or it may be available + in a different way. + + ======How EPIC gets your server list:====== + How does EPIC know what servers you want to use?  EPIC always tries + to keep a server list, even if it contains only one server. + + The contents of the server list will always contain: + * All servers, if any, you list on the command line. + * The value, if any, of the **IRCSERVER** environment variable. + + If the server list is still empty *or* if you use the -a command line + option, then EPIC will read the "​servers file", which is: + * The value of the **IRC_SERVERS_FILE** environment variable, if any. + * Otherwise the value of #define SERVERS_FILE (usually ircII.servers) + + The "​servers file" can be an absolute path or start with a tilde (for + home directory expansion), but if it is neither, then the file will be + looked for in the IRCLIB directory, which is: + * The value of the **IRCLIB** environment variable, if any + * The value of #define IRCLIB in config.h + + If all of the above fails, EPIC will use the value of + #define DEFAULT_SERVER_LIST which is there only as a failsafe and not + as a useful default server list. + + ======About server descriptions:​====== + See [[server description]] for more information about server descriptions + and server refnums. + + ======Referring to servers:​====== + See [[referring to servers]] for more information about how to refer to your + servers once you've added them to the server list. + + ======About servers and windows:​====== + Windows and servers have a many-to-one relationship. ​ Each window is + always connected to exactly one server at a time; no more and no less. + You can have as many windows connected to a server as you want.  ​ + + You can have as many servers open as you want.  A server is automatically + opened when the first window is connected to it.  There is always one + window connected to every open server; a server is automatically closed + when the last window is disconnected from it. + + ======Description:​====== + The __SERVER__ command manages EPIC's server list, letting you add, + remove, connect, or disconnect servers as you need to. + + ======Options:​====== + | /​SERVER ​                        | Show the server list. | + | /SERVER -DELETE  ​  | Remove server <​refnum>​ (or <​desc>​) from server list. \\ Fails if you do not give it a refnum or desc. \\ Fails if server does not exist. \\ Fails if server is open. | + | /SERVER -ADD <​desc> ​            | Add server <​desc>​ to server list. \\ Fails if you do not give it a <​desc>​ | + | /SERVER -UPDATE <​refnum>​ <​desc>​ | Change server <​refnum>​ changing any fields to new values specified in <​desc>​. ​ \\ You cannot update a server that is open.| + | /SERVER + ​         | If the server'​s state is "​CLOSED",​ change it to "​RECONNECT"​. \\ This allows the server to reconnect if windows are pointed to it. \\ Note: server reconnection is asynchronous | + | /SERVER - ​         | Unconditionally close a server connection \\ Note: server disconnection is synchronous! | + | /SERVER +                       | Switch windows from current server to next server in same group | + | /SERVER -                       | Switch windows from current server to previous server in same group | + | /SERVER  ​          | Switch windows from current server to another server. | + + ======Note:​====== + As the colon is already used by EPIC as an argument seperator, IPv6 + adresses need to be surrounded in square brackets [] to prevent the + colons from being interpeted. + + ======Examples:​====== + To change to a new server, irc.foobar.com,​ on port 6668: + /server irc.foobar.com 6668 + /server irc.foobar.com:​6668 + + To change to a new server and register with the nickname "​JoeBob":​ + /server irc.foobar.com:::​JoeBob + + To switch to the next, or previous, server in the same group + /server + + /server - + + To associate a new server, irc.booya.net,​ to your current window: + /server +irc.booya.net + + To delete server 5 from your list: + /server -delete 5 + + To add server "​irc.foo.com"​ on port 6667 with nick "​blah"​ to your list: + /server -add irc.foo.com:​6667::​blah + + To connect to an SSL server: + /​server irc.foobar.com:::::​IRC-SSL
server.txt · Last modified: 2006/10/06 00:38 (external edit)