smaug1.8/area/imc/
smaug1.8/boards/
smaug1.8/councils/
smaug1.8/deity/
smaug1.8/doc/mudprogs/
smaug1.8/gods/
smaug1.8/houses/
smaug1.8/log/
smaug1.8/vault/
#HELPS

-1 IMC~
IMC (Inter-Mud Communication) provides a way for muds to connect together and
share various services: chat channels, tells, notes, who listings, and so on.

The available mortal-level IMC commands are as follows. See the help topics
for each of these for more information.

- IMCLIST : get a list of active muds that are connected to IMC.
- RCHAT   : send a message on the common chat channel.
- RWHO    : send a who request to a mud.
- RTELL   : send a tell to someone on another mud.
- RREPLY  : reply to a rtell from someone on another mud.
- RQUERY  : ask for information of some type from another mud.
- RBEEP   : "beep" another player. Use sparingly.
- RWHOIS  : find someone on IMC
- RFINGER : get information about a player on another mud
- ISTATS  : get some (interesting?) stats about IMC.
- RCHAN   : show which channels you are listening to, and modify that state.

There is also provision for inter-mud notes/mail; see 'IMC NOTES'.

IMC2 was written by Oliver Jowett <oliver@sa-search.massey.ac.nz>, aka
Spectrum. Mail me if you're interested in connecting to the IMC network.
The source code is available at ftp://sa-search.massey.ac.nz/pub/mud/imc2/
The IMC2 home page is at http://sa-search.massey.ac.nz/-oliver/imc2/
(- = tilde)
~

0 IMCLIST~
Syntax:  imclist                  - get a list of active muds on IMC
         imclist direct           - get a list of directly connected muds
         imclist config           - see the local IMC config
         imclist routes           - See the current routes for everyone.

'imclist' lists active muds on IMC. It lists all the muds which this mud knows
about on the IMC network, and when they were last heard from. The 'route'
section is mainly for diagnostics, and indicates the route that your mud will
send packets via to get to another mud.

'imclist direct' shows direct connections from your mud to other muds.

'imclist config' shows the local IMC configuration and state.

See also: IMC RQUERY
~
0 IMCFLAGS~
o  client: only accept connections from this mud, don't ever try to connect
o  noauto: don't try to connect on startup
o  reconnect: automatically try to reconnect every 30 minutes if a connection
   is lost to this mud (2 minute delay for the first attempt).
o  broadcast: if a packet is destined for this mud specifically, then broadcast
   it anyway. Normally in this case the packet is sent only to the mud; if
   there is a faster or more reliable link to the mud elsewhere you probably
   want to use this option as a backup.
o  deny: don't _ever_ allow connections to this mud. Useful if (for 
   example) a mud is crashing due to an IMC bug, and you need to cut it off.
o  new: temporary flag used in hubswitching, should never be set manually
o  hub: all connections which are hub connections will be given this flag,
   when a hub, or a mud acting as a hub, is detected.
o  noswitch: sometimes it is not desirable to switch to a specific hub.
   it may be unstable, on the other side of the world, on the other side
   of a firewall or have a very slow or troublesome internet connection.
   creating an entry in the config file with the NOSWITCH and NOAUTO flags
   will keep the hub from being used in the hub switching process.

The "IMC SET connection FLAGS flag" acts as a toggle, that is you use
the same command to turn the flag off, as you did to turn it on. 

example:

turn flags on:
   imc set BadHub flags noswitch noauto - dont hubswitch to this one.
turn flags off:
   imc set BadHub flags noswitch noauto - it's fixed, go ahead and hub switch.
   
~
0 RCHAT RIMM RCODE~
These channels are obselete, use ICE instead.
~

0 RWHO~
Syntax:  rwho <mudname>               - ask for a who listing from another mud

'rwho' asks the given mud for a 'who' listing of its current players. Depending
on the network, it may take several seconds to get a response. You should use
the mud abbreviation listed in 'imclist' when issuing a rwho.

See also: IMC IMCLIST RQUERY RWHOIS
~

0 RWHOIS~
Syntax:  rwhois <playername>          - find a player on IMC

'rwhois' asks all muds on IMC for a player with the given name. You should not
include a @mudname section - just the playername. Replies will be returned
from those muds who have a player by that name connected.

See also: IMC RWHO RFINGER
~

0 RFINGER~
Syntax:  rfinger <player@mudname>     - get information about a player

'rfinger' asks the specified mud for information about the specified player.
The information you will get back (and even its existance) depends on the
remote mud, but will typically give at least their last login time.

See also: IMC RWHO RWHOIS
~

0 RTELL RREPLY~
Syntax:  rtell <player@mudname> <message>    - send a 'tell' to another player
         rreply <message>                    - send a 'tell' to the last player
                                               to send you a rtell

rtell and rreply are the IMC equivalents of tell and reply, and work nearly
identically. To rtell, however, you need to supply both a playername and a
mudname (as shown in 'imclist'). rreply will reply to the last rtell you
received from a player - even if that player was invisible to you.

See also: IMC IMCLIST
~

0 RQUERY~
Syntax:  rquery <mudname> help         - ask for available rquery options
         rquery <mudname> <option>     - ask for information from a mud

RQuery is similar to rwho, except it requests different information from a
mud. Each mud differs in what information it supplies, but 'rquery <mudname>
help' will give you a list of options that you can ask for.

Typically at least the following are supported:

rquery <mud> who        - ask for a who listing, identical to 'rwho'
rquery <mud> info       - get general information on the mud, usually including
                          its address. This is the preferred way of finding
                          out the address of a mud on IMC - don't ask on rchat!
rquery <mud> list       - ask for a list of IMC connections, from that mud's
                          point of view. Identical to 'imclist' on the remote
                          mud.
rquery <mud> istats     - ask for some IMC statistics, identical to 'istats' on
                          the remote mud.

See also: IMC IMCLIST RWHO
~

0 RBEEP~
Syntax:  rbeep <player@mudname>     - "beep" a player over IMC

rbeep sends an audible beep to another player on another mud (the @mudname
part indicates which mud; see 'imclist'). Note that this should only be done
when you _really_ need to get their attention; abusing rbeep will usually
lead to your IMC priviliges being revoked.

See also: IMC IMCLIST
~

0 ISTATS~
Syntax:  istats                     - display use(less?) statistics

istats shows some (maybe :) interesting statistics about how much traffic your
mud is generating due to IMC.

See also: IMC IMCLIST RQUERY
~

0 RCHANNELS RCHAN RINVIS~
Syntax:  rchannels                  - display your current IMC channel state
         rchannels +<channel>       - turn on an IMC channel
         rchannels -<channel>       - turn off an IMC channel

rchannels on its own will show you which IMC channels you have access to, and
whether they are currently on or off.

rchannels with an argument will turn on or off a given IMC channel that you
have access to.

rchannels can also be used to block rtells and rbeeps if necessary.

One additional option is rinvis. rchannels +rinvis will make you totally
invisible to IMC: you cannot be contacted by rtell, rreply, or rbeep, and
you do not appear on rwho. However, you cannot use any IMC channels while
rinvis is active (you can still hear them, though). rchannels -rinvis will
reverse this state.

Immortals may allow you access to IMC channels, or revoke your access to 
them, as necessary.

See also: IMC RCHAT RBEEP RTELL
~

-1 'IMC NOTES'~
Notes (boards, mail, etc) are very mud-dependent, but in general, if they
have been connected to IMC, then you can simply write notes to player@mudname
in addition to normal 'player'.

For example, you may be able to do:

note to abcde@somemud anotherplayer immortal@someothermud

and the note would go to:
  abcde on the mud called 'somemud'
  anotherplayer on your mud
  all immortals on the mud called 'someothermud'

The 'playernames' used are interpreted by the mud that receives them, not
your mud, so be careful when writing notes to group names such as 'immortal'.

If your note cannot be delivered within 12 hours for some reason (if the
mud is down, does not exist, or refused your mail) then you will get a note
from the system telling you so.

See also: IMC
~

-1 'IMC IMMORTAL COMMANDS' RINFO~
IMC Immortal commands:

- RINFO       : A channel which the various hubs put status reports onto. Can
                be spammy at times; you may want to turn off rinfo for this
                reason.
- RSOCKETS    : displays debugging info on the current IMC connection state.
- RCONNECT    : force a connection to a directly connected mud.
- RDISCONNECT : forcibly disconnect a directly connected mud.
- RIGNORE     : ignore a player or an entire mud on IMC.
- MAILQUEUE   : show the current queue of pending inter-mud notes.
- IMC         : edit the IMC configuration for your mud (see 'IMC CONFIG')
- RCHANSET    : manage access to IMC channels/rtell/rbeep for players.
- RPING       : trace IMC connectivity

See also: IMC
~

0 RSOCKETS~
Syntax:  rsockets                   - display IMC socket usage

rsockets displays the current connection state for the direct IMC connections
that your mud has. The various fields are:

Desc  : the system-level descriptor used for this connection

Mud   : which mud this connection is for

State : how far through the connection process this connection is:
        - connecting: waiting for the other end to accept our TCP connection
        - wait1:      waiting for the password from an incoming client
        - wait2:      waiting for the server to respond to our password
        - connected:  the connection is completely 'up'

Inbuf : the size of data waiting in the input and output queues for this
Outbuf: connection.

Spam1 : spam-protection counters
Spam2 :

See also: IMC 'IMC IMMORTAL COMMANDS'
~

0 RCONNECT~
Syntax:  rconnect <mudname>                - start an IMC connection

rconnect will initiate a connection to the given mud. Note that this has to
be a _directly_ connected mud (ie. a mud in the first section of imclist).
Feedback on the state of the connection will be logged to 'wiznet imc', and 
you may want to check imclist to see if it was successful.

See also: IMC 'IMC IMMORTAL' RDISCONNECT
~

0 RDISCONNECT~
Syntax:  rdisconnect <mudname>             - terminate an IMC connection

rdisconnect reverses rconnect, severing all connections to the named mud.

See also: IMC 'IMC IMMORTAL COMMANDS' RCONNECT
~

0 RIGNORE~
Syntax:  rignore                           - list current rignores
         rignore ignore  <pattern>         - ignore player(s) or mud(s)
         rignore notrust <pattern>         - don't trust player(s) or mud(s)
	 rignore delete  <pattern>         - remove a rignore

rignore ignores or restricts the access, at a mud-wide level, everything
coming in over IMC for a specified player or group of players. Currently
two possible actions are possible: ignore and notrust.

Ignore means:

- rtells/rbeeps/rwhos will be ignored, and a rtell sent back to say that the
  mud is ignoring them.
- no messages from them on rchat, rcode, etc will appear on your mud.

Notrust means:

- any rwho/rfinger/etc requests from a mud/player matching the pattern will
  be treated as if they were from a level 1 mortal - ie. wizi imms will never
  be revealed on rwho, and rtells won't see them, etc.
- any incoming channel messages from something matching the pattern are
  stripped of wizi status - they will be visible to everyone in general.

Patterns can be one of:

  player@mud              - matches a specific player at a specific mud
  *suffix                 - matches anything ending with that suffix
                            (commonly used as *@mud)
  prefix*                 - matches anything beginning with that prefix
                            (for example, player@*)
  *substring*             - matches anything containing that substring

Use with care.

See also: IMC 'IMC IMMORTAL COMMANDS'
~

0 MAILQUEUE~
Syntax:  mailqueue                         - show current IMC mailqueue

This command simply shows the current contents of the outgoing IMC mailqueue
for inter-mud notes. Due to the internal implementation of this (static
buffers - ick), only the first 8-9 entries will be shown.

See also: IMC 'IMC IMMORTAL COMMANDS' 'IMC NOTES'
~

0 RCHANSET~
Syntax:  chanset <player>             - see a players current IMC flags
         chanset <player> +<channel>  - set 'allow' flag on a player
         chanset <player> -<channel>  - set 'deny' flag on a player
         chanset <player> =<channel>  - reset allow/deny flags on a player

This command allows you to view or change a players IMC channel priviliges.
In all cases <channel> can be the name of an IMC channel (rchat, rcode, etc)
or 'rtell' or 'rbeep'.

Setting the allow flag for a channel allows that player to see and use that
channel, regardless of their level. This can be used, for example, to give
mortals with coding experience access to rcode.

Setting the deny flag for a channel prevents that player from using or
seeing that channel, even if their level normally allows them to. This can be
used as a penalty for players who abuse the IMC channels or rtell/rbeep.

Resetting the allow/deny flags simply clears them, using only the player's
level to determing whether they can use the channel.

See also: IMC 'IMC IMMORTAL COMMANDS' RCHAT RCODE RIMM RINFO
~

0 'IMC CONFIG'~
The 'imc' command is used to configure your IMC setup:

Syntax:  imc add <mudname>            - add a new IMC connection entry
         imc set <...>                - set the details of an IMC connection
         imc delete <mudname>         - remove an IMC connection
         imc rename <old> <new>       - rename an IMC connection
         imc reload                   - load a new IMC config file from disk
	 imc hubswitch                - turn off all hub switching
         imc log                      - turn off all log messages
         imc localname <name>         - set the local IMC name
         imc localport <port>         - set the local IMC port

Add, delete, and rename should be self-explanatory. The name of an IMC
connection MUST match the name which the other end is using.

Reload destroys the version of the configuration in memory, and reloads it
from disk. This is useful if you have hand-edited the config file and want
to load your changes without rebooting. 'imc reload' also reloads the
rignores file.

The set command has several forms:

imc set <mudname> all <data...>     - set all values for a mud
                  host <hostname>   - set the hostname to connect to
                  port <portnum>    - set the remote IMC port to connect to
                  clientpw <pw>     - set the case-sensitive client password
                  serverpw <pw>     - set the case-sensitive server password
                  rcvstamp <value>  - set the receivestamp
                  noforward <value> - set the noforward bitmask
                  flags <value>     - set the connection flags

The 'all' form takes a series of values:

imc set <mudname> all <host> <port> <clientpw> <serverpw> <rcvstamp>
                      <noforward> <flags>

For information on the exact details of each field, see the IMC documentation.

The localname and localport commands set the IMC name and port of -your- mud.
Use with care.

IMC HUBSWITCH requires an IMC RELOAD to take affect.

See also: IMC 'IMC IMMORTAL COMMANDS' IMCFLAGS
~
 
0 $~

#$