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 ICE~
ICE - the IMC Channel Extensions protocol

ICE is a response to the cesspool-like attributes that rchat, rimm, and
even rcode have acquired over the last few months. It is IRC-ish in some
ways, but hopefully it will be used more constructively than IRC.

For a quick introduction and setup guide for ICE, see ICE-INTRO

The basic ICE structure is (greatly simplified):

. Some nodes on IMC - normally hubs - run channel daemon code that
  manages channels
. Each of these nodes maintains a list of the channels they manage, and
  the various attributes of them - who owns them, and so on
. The daemons regularly tell all muds on IMC what channels they have, and
  what their attributes are
. Based on this information, the muds on IMC decide which of their local
  users can use which ICE channels. If one mud is modified to ignore these
  restrictions, then the other muds will recognize this (since they, too,
  know the restrictions) and ignore messages from that mud.

Every channel on ICE is of the form nodename:channelname, for example a
channel called hub2:IAdmin is the channel IAdmin maintained by the node hub2.
Each mud picks which channels it is interested in (see ILIST and
ISETUP) and creates a local channel name which can be used to talk on
that channel.

Generally, any admin on a mud can create a channel on any node - although
nodes can be configured to restrict who can create channels. Whoever
creates a channel owns it, and can control who can use that channel (in
whatever way they wish). The trick, of course, is to persuade the admins
of other muds that your channel has value. Creating and modifying a
channel is done via the ICOMMAND command.

Channels can be tuned into and out of on a player-by-player basis by
using the ICHAN command.

There are a variety of ways of controlling who can hear and use a channel
- see ICE-POLICY for more information.

See also: IMC ILIST ISETUP ICOMMAND ICHAN ICE-POLICY ICE-INTRO
~

-1 ICE-INTRO~
A Quick Introduction to ICE

This assumes that the code for IMC and ICE is installed and running, and
that you have an active connection to an IMC network.

1. ILIST. This will give you a list of possible channels to choose from.
   Pick one that you want to add, that has a policy of 'open'. Note its
   name (of the form node:channel).

2. Decide what command you want to use to speak on this channel on your
   mud. This is the channel's localname.

3. Type: ISETUP ADD <node:channel> <localname>

4. You should now be able to use the channel. Others can listen to and
   speak on the channel by using ICHAN <localname>.

5. You may wish to reconfigure the default local channel settings.
   ILIST <localname> will display them; ISETUP will change them.

6. Repeat for whatever other channels you wish to have.

See also: IMC ICE ISETUP ICOMMAND ICHAN ILIST
~

0 ICHAN~
Syntax:  ichan               - display current ICE channel status
         ichan <localname>   - toggle an ICE channel

IChan lets you show and toggle which ICE channels you are listening
to. Without arguments, it will show you the channels you belog to; with
an argument, it will turn on or off that channel.

Any channels you listen to must be locally configured first - see
ISETUP. ILIST can be used to see available channels.

See also: IMC ICE ILIST ISETUP
~

0 ICOMMAND~
Syntax:          icommand <command> <channel> [<data..>]
Common commands:  create <channel>           - create a channel
                  refresh <channel>          - refresh channel data
                  list [<channel>]           - list available commands
                  destroy <channel>          - destroy a channel
                  policy <channel> <policy>  - change channel policy
                  addop <channel> <name>     - add a channel operator
                  removeop <channel> <name>  - remove an operator
                  invite <channel> <name>    - add an invited name
                  uninvite <channel> <name>  - remove an invited name
                  exclude <channel> <name>   - exclude a name
                  unexclude <channel> <name> - remove an exclusion

ICommand is used to send commands to a channel daemon elsewhere on IMC.
It directly affects the channel itself - any changes made here will
affect all muds using the channel.

Since the actual commands are interpreted by the channel daemon, not your
mud, what is available may vary. To get a list of available commands, use
icommand list <nodename> for public commands, or icommand list
<node:channel> to see what commands you have for that channel.

icommand refresh asks the daemon to refresh your mud's information for a
channel, if it ever gets out of synx. Asking for a refresh of nodename:*
will refresh all channels on that daemon.

icommand create creates a new channel, with you as the owner
icommand destroy destroys a channel. You must own the channel.

icommand policy changes the basic policy of the channel (see ICE-POLICY).
You must be the owner.

icommand addop/removeop add and remove operators from a channel. You must
be the owner, and specify the operator's full user@mud name.

icommand invite/uninvite/exclude/unexcluded modify the invite and exclude
lists for a channel. You must be the owner or an operator on the channel.
Either a full user@mud or a simple 'mud' name (no @) can be specified.
See ICE-POLICY for more details.

See also: IMC ICE ICE-POLICY
~

0 ISETUP~
Syntax: isetup add <ice-channel> <localname>   - add a channel
        isetup delete <localname>              - delete a channel
        isetup rename <oldname> <newname>      - rename a channel
        isetup format1 <localname> <format>    - change format1 on a channel
        isetup format2 <localname> <format>    - change format2 on a channel
        isetup level <localname> <level>       - set channel level

ISetup allows you to change the local configuration of an ICE
channel. None of these commands have a lasting effect on the channel's
configuration on other muds.

ISetup add begins the configuration of a channel. It connects the
specified ice-channel (of the form nodename:channelname) to a local name.
For example: isetup add hub2:IAdmin IAdmin. The local name is also the
command used to speak on the channel.

When the channel is added, various default values are filled in for
format1, format2, and level.

ISetup delete removes this link. It does not affect the channel itself;
it just deletes the local configuration link for the channel.

ISetup rename changes the local name of a channel. It does not affect the
channel name itself for other muds - just the command used locally to
access it.

ISetup format1 and format2 change how a channel is displayed locally.
Each format string must have exactly two %s's within it (this is checked
for) - the first will be replaced by the speaker's name, the second by
whatever they say. Format1 is used for normal speech, format2 for emotes.
See ILIST for more information.

ISetup level sets the minimum level necessary on your mud to hear or use
the channel.

See also: IMC ICE ILIST
~

0 ILIST~
Syntax:  ilist               - list all known ICE channels
         ilist <channel>     - list details on one ICE channel

IList displays information on channels active on ICE.
Without arguments, it will produce a display similar to:

Name            Local name      Owner           Policy
hub2:IAdmin     IAdmin          Nemon@AR        open
hub2:ICode      ICode                                    (inactive)
hub2:test       (not local)     Nemon@ARtest    private

This shows the canonical name (eg. hub2:IAdmin), the local name (eg IAdmin
- which can be used as an abbreviation in ISETUP, and which is also
the command to speak on that channel), the owner of the channel (eg.
Nemon@AR), and the channel's policy (see ICE-POLICY).

If a channel is not configured locally, it will have (not local) for its
local name.

If a channel is configured locally, but is not actually active on IMC, it
will have an (inactive) flag on it.

IList with a channel name will provide detailed information on that
channel. For example:

Channel hub2:IAdmin:
  Local name: IAdmin
  Format 1:   (IAdmin) %s: %s
  Format 2:   (IAdmin) %s %s
  Level:      102

  Policy:     open
  Owner:      Nemon@AR
  Operators:  Drylock@AR
  Invited:    NiceGuy@SomeMud
  Excluded:   SomeMud

This displays the channel name, local name, policy, and owner, as above. It
also displays:

- the minimum level needed on your mud to see the channel

- the format for displaying messages from the channel. These can contain
  any color codes etc. that your mud uses.

  Format1 is the string displayed when someone speaks normally on the
  channel - the first %s is replaced by their name, the second %s by what
  they say.

  Format2 is a similar string for emotes. Again the first %s is their name,
  the second %s the text of their emote.

- any operators for the channel. This can only be changed by the owner of
  the channel. Operators can modify the 'invited' and 'excluded' fields
  via the ISETUP command.

- the invited and excluded people on the channel. See ICE-POLICY for
  more details.

See also: IMC ICE ISETUP ICOMMAND ICE-POLICY
~

-1 ICE-POLICY~
ICE Channel Policies

Channels can have one of three policies - open, closed, and private. They
also have one owner, and zero or more operators (assigned by the owner).
They also have an include and exclude list (which can specify both
individual players ['user@mud'] and entire muds ['mud']), which can be
modified by the owner and the operators.

- Open. The channel can be accessed by all muds on the network (it is a
  broadcast channel). People on the exclude list cannot use the channel,
  with the exception of people also on the invite list. This means, for
  example, if an entire mud is excluded and one player is invited, that
  player can use the channel, but the rest of the mud can't.

- Closed. The channel can be accessed by all muds on the network (it is a
  broadcast channel), but by default they will not hear or be able to use
  it. People on the invite list can use the channel, with the exception of
  people also on the exclude list.

- Private. Identical to closed, except that the channel is actually only
  physically sent to those muds that are on the invite list. This is good
  for channels specific to a small group of muds, and not of interest to
  the majority of the network.

See also: IMC ICE ICOMMAND
~

0 $~

#$