Manager Help

@@who

See: @net-who

@abort-shutdown

Syntax: @abort-sh*utdown [<text>]

This aborts any shutdown currently in progress (i.e., set in motion by @shutdown). All connected users are notified that no shutdown will actually occur; <text>, if given will be included in this notification.

Available to Managers with "server management" responsibilities.

Related Topics:
@shutdown -- shuts down the MOO server

@account-locks

Syntax: @account-lock <person>
@unlock-account <person>
@unlock-char <person>
@account-locks

To get lockout information about a person, including if they are locked out, use: @account-lock <person>

To get a list of all current account locks, use: @account-locks

To unlock a locked account, use: @unlock-account <person>

Account locks are generated automatically when a person tries and fails to connect more than a certain number of times. A message is posted to the *account-locks mail folder.

$login.account_lockout_thresholds - the number of incorrect connect attempts before a lockout is triggered.
An a-list in the form: { {number of failures, lockout duration}, {number of failures, lockout duration}, ...}
Each element gives information for an increasing "number of failures" value.

@add-class

Syntax: @add-class [<classname>]
@rm-class [<classname>]

These commands add or remove a class to be displayed by the @classes command. If no <classname> is specified, then you'll be asked to name a class.

To remove a class, the complete name of the class (not just a prefix) must be used.

To edit the descriptive line associated with a class, use the @add-class command and give the name of the class. You'll be asked if you only want to edit the descriptive line.

Syntax: @add-class-obj <what> in <classname>
@rm-class-obj <what> in <classname>

These commands add and remove object <what> from the given <classname> class, where <classname> is an unambiguous prefix for an existing @classes class.

Related Topics:
@classes -- display classes of objects, and the objects in each class

@add-class-obj

See: @add-class

@add-class-object

See: @add-class

@add-owner

NOTE: Managers with "ownership transfers" responsibility can use this with objects owned by others.

Also see: @add-owner in Builder Help

@announce

See: @shout

@bad-email

Syntax: @bad-email

Lists all non-VSPO characters that have no email address set.

Note that if a character has no email address set, and
$local.email_address_required is true, then when that person connects
they are shown the $local.email_missing_text message. This message
generally should tell them to use @registerme to set a new email
immediately.

If a person has a bad email address, it usually becomes apparent when
the MOO tries to mail them something and it bounces. You can then
use:

  @register <who> ""

to set a blank email address for the person, and they'll receive the
appropriate warnings when they connect. Their @notes will also be
marked with the date, so you can tell how long they've been without
an email address using the "@notes <who>" command.

@bday

See: @birthday

@birthday

Syntax: @birthday <person>

Synonym: @bday <person>

Displays the person's recorded real age, and offers you the chance to change the recording. This is generally set during the character application and acceptance process.

Available to Managers with "character applications" responsibility.

@blacklist

Syntax: @redlist [<domain or subnet> [commentary]]
@blacklist [<domain or subnet> [commentary]]
@graylist [<domain or subnet> [commentary]]
@spooflist [<domain or subnet> [commentary]]

Syntax: @unredlist [<domain or subnet> [commentary]]
@unblacklist [<domain or subnet> [commentary]]
@ungraylist [<domain or subnet> [commentary]]
@unspooflist [<domain or subnet> [commentary]]

With no argument, the current contents of the corresponding list are printed.
Otherwise, the specified domain or subnet is added to or removed from the list and mail will be sent to $site_log.

If the given domain or subnet has subdomains/subsubnets that are already on the list, you will be prompted as to whether you want to remove them. Note that adding an entry for a particular domain or subnet effectively adds all subdomains/subsubnets, so unless there's some reason for keeping an explicit entry for a particular subdomain, chances are you will indeed want to remove them. One reason to keep an explicit entry for a subdomain would be if you intended to unlist the full domain later but wanted to be sure you didn't unlist the subdomain in the process.

See `help blacklist' for a description of the functions of these lists.

@boot

User-bouncing verb. Think first!

Syntax: @boot <who> [with] [message]
Disconnects <who> from the MOO;
the optional [with] [message] displays whatever text you choose
to the person before disconnecting him.

@builder

Syntax: @builder <name> [with/using <quota>]

Change the parent of <name> to $builder. If you provide a numerical starting quota, it will be assigned to the user instead of $builder.ownership_quota (this will also automatically send mail to $quota_log).
You may choose to send <name> a MOOmail notification of its status gain (you'll be prompted with a yes/no). Two message properties on $wiz get printed in the course of using this verb. @builder_victim is what the user sees and @builder is what the room the user is in sees (which excludes the @builder'ing wizard).
If you add a "new_builder_txt" property to yourself and fill it with additional text for the MOOmail notification it gets appended (please insert the appropriate blank lines and such yourself).

Syntax: @unbuilder <name>
The @unbuilder command is available to revoke a person's builder status.

Available to Managers with "builder management" responsibility.

@checkpoint

See: @dump-database

@chown

Syntax: @chown <object> [to] <owner>
@chown <object>.<propname> [to] <owner>
@chown <object>:<verbname> [to] <owner>

Changes the ownership of the indicated object, property or verb.

Verb ownership changes are fairly straightforward, being merely a matter of changing the verb_info() on a single verb.

Changing an object ownership includes changing the ownership on all +c properties on that object. Note that @chown will not change the ownership of any other properties, nor will it change verb ownerships. Use @grant if you need to do a more complete ownership change. The quota of the former owner is increased by one, as is the quota of the new owner decreased by one.

Changing a property ownership is truly hairy. If the property is +c one should not be doing this, unless it is to correct a past injustice which caused the property to be owned by the wrong person. In the case of -c properties, the property ownership is changed on all descendent objects (currently, if +c instances of a -c property are found in the traversal of all of the descendants, these are not changed, being deemed sufficiently weird that they should be handled on a case-by-case basis...).

If there's any justice, a future version of the server will prevent occurrences of (1) +c properties being owned by someone other than the object owner (2) -c properties with different owners on descendant objects (3) -c properties that are +c on some descendants.

NOTE: Managers with "Ownership Transfers" responsibility can @chown objects, but not verbs or properties. Managers with "Technical Support" responsibility can @chown all three. Neither can @chown objects, verbs, or properties that are wizard-owned.

@chown-group

Syntax: @chown-group <gnum> to <new-owner>

Used to set a new owner for a VSPO group.

@connect-places

Syntax: @connect-places <who>

Shows the recorded places <who> has connected from, and the last place connected from.

@connectlog

Syntax: @connectlog <summary|log|clear|enable|disable|who> for <names>
@connectlog who - to see a list of who is being tracked.

Keeps track of connection times for people if tracking has been enabled for them. Saves data for the last 60 disconnections.
Options:
  summary - all recorded connections arranged by date
  log - all recorded connections, listed individually with timestamp
  clear - clear the connection log records
  enable - start tracking connections for a person
  disable - turn off connection logging for a person
  who - list all people with connection logging currently enabled
If connect_idler() is active, it will also track time idle.

@create-character

Syntax: @create-c*haracter <*char msg number> [as|for <name>]
@create-c*haracter <*char msg number> from|on *undecided [as|for <name>]

Synonyms: @created

This will move an application from the *character-request-pool (*char) list, or *undecided list, to the *created list and therebye mark it as accepted. As an addition, it triggers a @make-player command and parses the application to set the .age and .notes of the new character with the information provided in its application.

Notification is optionally sent to the applicant.

If the applying character was a VSPO his/her character will get converted to a regular one (while the notes etc get set like in the case of a newly created character).

Examples:
@created 4
  Create the character from application 4 on
  *character-request-pool.
@created 6 as JoeBob
  Create the character from application 4 on
  *character-request-pool with the name JoeBob, irregardless of the
  name requested in the application.
@created 8 from *undecided
  Create the character from application 4 on *undecided.

Available to Managers with "character applications" responsibility.

Related Topics:
applications -- overview of the application processing system
@reject-character -- reject a character application (aka "@rejected")
@undecided-- mark a character application as "undecided" (aka "@unsure")
@searchapplications -- search all applicaiton-related mail folders for
               specified text

@created

See: @create-character

@dbsize

Syntax: @dbsize

@dbsize goes through the entire database, counting the valid and invalid objects, giving a summary at the end. This information can be useful, but because this command is cpu intensive, it should be used sparingly.

@del-owner

NOTE: Managers with "ownership transfers" responsibility can use this with objects owned by others.

Also see: @del-owner in Builder Help

@denewt

Syntax: @denewt <who> [commentary]

Synonyms: @unnewt
           @get-better

@denewt reverses the effects of @newt, removing the person from $login.newted (and also from $login.temporary_newts if appropriate).

Mail is sent to $newt_log including any commentary you provide. E.g.,

  @denewt Twit He promises not to do it again.

@detoad

See: @untoad

@dump-database

Syntax: @dump-database
Aliases: @dumpdb, @dump-db, @checkpoint

Invokes the builtin dump_database(), which requests that the server checkpoint the database at its next opportunity. It is not normally necessary to call this function; the server automatically checkpoints the database at regular intervals; see the chapter on server assumptions about the database for details.

Available to Managers with "server managing" responsibility.

@dusted

Syntax: @dusted

Displays all non-wizard owned objects that carry one or more wiz-permed verbs.

@egrep

See: @grep

@expire-group

Syntax: @expire-group <group>
@expire-g <group>

Let the VSPO group <group> expire; this automatically sets its expiration deadline to whatever the current grace-period is.

Available to Managers with "VSPO management" responsibility.

Related Topics:
vspo-manager-tools -- list of commands for VSPO system management
@kill-vspo-group -- causes a VSPO group to expire immediately

@expiregroup

See: @expire-group

@gaddroom

Syntax: @gaddroom [<room>] [as <name>]
@grmroom [<room>]

  Adds or removes a room from the $local rooms database, so that any user's @go command can recognize it by the name you assign.

@ginfo

See: @ginfo in VSPO Help and @vspo-info

@grant

Syntax: @grant <object> to <who>
@grants <object> to <who>
@transfer <expression> to <who>

  Ownership of the object changes as in @chown, i.e., .owner and all c properties change hands while the previous owner's and the new owner's quotas are adjusted. In addition all verbs and !c properties owned by the previous owner change ownership as well. Finally, for !c properties, instances on descendant objects change ownership as when @chowning the properties individually.
  The @grants command does the same as @grant but may suspend. The @transfer command works like @grant, but will accept a list of objects to transfer (eg. @transfer {#2323, #2353} to Hildegard)

Available to Mangers with "ownership transfers" responsibility.

@graylist

See: @blacklist

@grep

For wizards and MOO Technician managers, the following forms are also available for doing full-db searches

         @grep <pattern>
         @grep <pattern>
         @egrep <pattern> from [#]<n>
         @egrep <pattern> from [#]<n>

the first two search all objects in the database while the last two search the range [#<n>..max_object()]

Additional topics:
@grepcore -- performs a @grep limited to core objects
@who-calls -- searches the whole DB looking for calls to the specified verb

Also see: @grep in Programmer Help

@grepcore

Syntax: @grepcore <pattern>
@who-calls <verbname>

@grepcore pattern is @grep pattern in {all core objects}. Core objects are computed for you by #0:core_objects().

@who-calls greps for the verbname + "(", hoping to catch it as a verb call. Currently @who-calls does not allow you to restrict the search as @grep does. (Volunteers?)

@grmroom

See: @gaddroom

@guests

Syntax: @guests [<n>]

Prints out the log of guest connections, indicating connect/disconnect times and where they came from. If a numeric argument n is given, then only the last n entries in the log are consulted (useful for when the full log is rather long) - note that connections and disconnections are separate entries so the actual printed listing will be about half this length.

Available to any Manager.

Alternate: @guests now

Prints out in @who format all connected guests. In place of the location field is the current connect site.

@idle-boot-protect

Normally, non-wizards are automatically booted after a certain time of inactivity unless they are listed in $local.idle_boot_protect. The @idle-boot-protect command can be used to add, remove, or list who is on this list.

Use: @idle-boot-protect .. to list who can be idle indefinitely,
      @idle-boot-protect <whoever> .. to add someone, or
      @idle-boot-protect !<whoever> .. to remove someone

@kill-vspo-group

Syntax: @kill-vspo-group <group>

This command immediately expires the VSPO group, recycling all the VSPOs in it.

Available to Managers with "VSPO management" responsibility.

Related Topics:
vspo-manager-tools -- list of commands for VSPO system management

@killtasks

See: @tasks

@last-connected

Syntax: @last-connected
@last <number>
@last <name> [..<name>]]
@last wiz

May be abbreviated as: @last

Displays the last <number> connections to the MOO (default 10), or the current connection information for the provided user names sorted by their .last_connect_time values.

You might notice the similarity to the common unix command "last". Don't forget however, that @last can't give you absolute data, since usually there is no connection log (like wtmp on most unix systems) kept inside MOOs. What you really get is the connect information about the <number> most recently connected people, not the connect information about the <number> most recent logins. If <number> exceeds the connection list of the last week a "wtmp" start time is displayed at the bottom of the list.

If "wiz" is the given argument, then @last is called for all wizards.

@make-guest

Syntax: @make-guest <adjective>

This creates a new guest character. For example,
  @make-guest Loud
creates a child of $guest, owned by $hacker, named Loud_Guest and with aliases Loud and Loud_Guest.

See also `help @make-player'.

@make-player

Syntax: @make-player <name>[,<aliases>] <email-address>

This creates a new character having the given name and password.
If an email address is given, this information is sent off to $new_player_log.
If password is null or not given, a random password is generated.

Entries into the $registration_db are made for the e-mail address, and into the $player_db for the character name.

Note that various properties like $player.age and such aren't set by this system as they are with the @create-character command and the regular character application system.

Related Topics:
@make-guest -- make a guest character
@create-character -- use the character application system to create a
                     character from the *character-request-pool mail
                     list (a.k.a. @created).

@make-vspos

Syntax: @make-vspos <number> for <person>
Create a group of <number> Visiting Student Person Objects for <person>.
This verb will prompt for a name and description of the group.

Available to Managers with "VSPO management" responsibility.

Related Topics:
vspo-manager-tools -- tools for VSPO system management

@massmail

Syntax: @massmail <note> to <list of characters, *mail-folders, or @classes>

The @massmail command sends the text of the specified <note> to the given characters, mail-folders, or classes. The text is sent to the *email address* of all but mail-folders, unless the character doesn't have one set, in which case it is send by regular MOOmail.

If either <note> or <list of characters, *mail-folders, or @classes> is omitted, you will be prompted for an answer. In any case, you will be prompted for a subject line for the message, and for any additional recipients you wish to add to your list.

If you wish a character, mail-folder, or class to be specifically *omitted* then prefix it with a "!" character.

Users can specify that they do not wish to receive any @massmail mailings by using the "no_mass_mail" user option:
  @useroption +no_mass_mail

Currently available classes are: @everyone, @builders, @programmers, @wizards, @newbies, @professors, @vspos

Example: @massmail message to Jim *general @vspos
         @massmail to @everyone
         @massmail to @everyone !@vspos

The last example sends the mail to everyone except VSPOs.

Note that if recipients are specified explicitly, then they are sent the mail even if they are included in one of the classes specified as not to receive mail. For instance, if Jim is a VSPO, then with

  @massmail message to Jim !@vspo

Jim will still be sent a copy of the message since he was specified explicitly. However, if Jim is a @builder and a VSPO, and

  @massmail message to @builders !@vspos

Then Jim will not receive the message, since no VSPOs are to be sent a copy, and Jim wasn't specified explicitly.

@nail

Syntax: @nail <who> [<who> <who> ...]
@nail all
@unnail <who> [<who> <who> ...]
@unnail all
@squelch <who> [<who> <who> ...]
@squelch all
@unsquelch <who> [<who> <who> ...]
@unsquelch all

These commands are for temporarily restricting a person's ability to move or to speak. The "un" versions reverse the restriction. @nail prevents a person from leaving their present location, and @squelch prevents them from speaking or emoting.

If "all" appears anywhere in the <who> list, then all people in the same location as the person issuing the command are affected.

Note that they stay @nail'ed or @squelch'ed until you release them, so you don't generally want to leave this on long and risk forgetting.

@net-who

Syntax: @net-who [<who>...]
@net-who from [<host>]

Synonym: @@who

@net-who without any arguments prints all connected users and hosts.
If one or more <who> arguments are given, the specified users are
printed along with their current or most recent connected hosts. If
any of these hosts are mentioned on $login.blacklist or
$login.graylist (see `help blacklist'), an annotation appears.

With a `from...' argument, this command consults $site_db and prints
all people who have ever connected from the given host or host
substring. Substring can include *'s (e.g. @net-who from *.foo.edu).

@newpassword

Syntax: @newpassword <character> is [<newpassword>]

Sends a new password to a person. Asks you if you want to e-mail it.

@newproject

See: @projects

@newt

Syntax: @newt <who> [commentary]

The @newt command temporarily prevents logins on a given character.
It works by adding the person to $login.newted, which is checked by $login:connect(). This is the LambdaCoreOct94 version.

You must give either the character's full name or its object number.
Also, this command does not let you @newt yourself.

Mail will be sent to $newt_log, listing the character's .all_connect_places and including any commentary you provide. E.g.,

  @newt Twit did real annoying things.

As with @toad and @programmer, there are messages that one may set

@newt [%n @newts %d (%[#d])]
  Printed to everyone in the room in which the victim is being @newted.
  If you're worried about accidentally newting yourself in the process of
  setting this message, you can't (see above).

@newt_victim []
  Printed to the victim.
  This is followed by $login:newt_registration_string().

See `help @toad' if you need something more drastic.

@newted

See: @newts

@newts

Syntax: @newts
@newted

Lists all people currently newted, either temporarily or indefinitely.

@nobanish

See: @notag

@notag

Syntax: @notag
@notag <person>
@notag -<person>
@notag !<person>
@nobanish
@nobanish <person>
@nobanish -<person>
@nobanish !<person>

These commands are used to display or edit the list of people whose
ability to @tag and/or @banish have been restricted. Omitting a
<person> lists the people currently restricted. Specifying a
<person> adds them to the list. Using !<person> or -<person> removes
them.

@password

Notes for Managers:

Use @newpassword to send someone a new password. You will be asked if you want to e-mail it.

Also see: @password in General Help

@peepeditor

Managers and wizards using this command can view sessions even if they haven't been published. However, the person is still informed that you are "looking over their shoulder."

Also see: @peepeditor in General Help

@professor

Syntax: @professor <person>

Used to check if <person> has their "professor" property set, indicating they are a professional teacher. Also gives you the opportunity to change the setting.

Available to Managers with "character applications" responsibility.

@professors

See: @whoprofessors

@programmer

Syntax: @programmer <who>

Sets the programmer flag on the indicated person and sends mail to $new_prog_log.

If the person is not already a descendant of $prog, we @chparent him/her to $prog.

If object-quota is enabled, then the person's quota is increased by the difference between $wiz_utils.default_programmer_quota and .default_builder_quota.

There are messages that one may set to customize how the granting of a programmer bit looks to the victim and to any onlookers. After all, this is a seminal event in a MOOer's life... Thus we have

@programmer [%d is now a programmer.]
  Displayed to everyone in the room with the victim being @programmer'ed.

@programmer_victim [You are now a programmer.]
  Displayed to the victim.

These are pronoun subbed with victim == dobj.

Syntax: @unprogrammer <who>
The @unprogrammer command is used to revoke a person's progbit.

Available to Managers with "programmer management" responsibility.

@projects

Syntax: 1) @projects
2) @projects <user>
3) @project <existing-project-name>
4) @project <new-project-name>

1) Displays the full list of registered projects of all wizards.
2) Displays the list of projects registred by <user>.
3) Allows you to rename a project of yours or to change its status.
4) Initiates a new project and calls @newproject eventually.

        a) @newp*roject <new-project-name>

Registers a new project under your name. Prompts for an object status.

        b) @removep*roject/@rmp*roject <existing-project-name>

Removes one of your registered projects.

        c) @removep*roject/@rmp*roject <existing-project-name> for <who>

Removes a project belonging to <who>.

Note that <existing-project-name> can be abbreviated and doesn't need to
be typed out full length. @newproject prompts the registration of your new
project to all connected wizards but you.

@quota

 - - - - - - - - - - - - - - - - - - - - - - - - - -

Syntax: @quota <who> is <number> [<reason>]
@quota <who> is [+/-]<change> [<reason>]";
@quota <who> is --<number> [<reason>]";
(to set a negative quota absolutely

This second and more interesting form of the verb sets a person's quota to the given number, or adjusts it by the given delta. Mail will be sent to $quota_log; the message will include the <reason> if such is given.

Available to Managers with "builder management" responsibility.

Also see: @quota in Builder Help

@readlog

Syntax: @readlog <person>

  Displays the last 20 lines of the log of someone who's been
@witness'ed, presumably because of their violating some aspect of the
manners policy as described in the "help manners" text. Note that
the log is erased when they disconnect unless @tag is also used.

Related commands (all of which are available to all MOO users):

@witness -- begins logging someone's text
@tag -- forwards the log to the *witness mail folder
@ban -- disconnects guests who have been @witness'ed

@recycle

Notes for Managers:

Syntax: @recycle! <object>

The first version (plain old @recycle) has a number of security features. It will display the object's name, whether the object in question is not owned by you, whether it in turn owns objects, and whether it is parent to any objects. It will ALWAYS await a second confirmation (yes/no type of prompt).

The exclamation-mark version omits all these security checks and thus works like $builder's @recycle. Be cautious, though, and don't use @recycle! unless you're sure about what you're doing!

Also see: @recycle in Builder Help

@redlist

See: @blacklist

@register

Notes for Wizards and Managers

Syntax: @register <person> <email-address>

Use the @register command to change someone's e-mail address.

Note that there is a @register command for $wizards to set someone's
email address, and a @register command on $player so that guests and
VSPOs can request characters. Two completely different commands, but
they have the same name since $wiz:@register is from L'ambdaCore and
wizards never would need the $player version.

Also see: @registerme

@registerme

Notes for Wizards and Managers

Syntax: @register <person> <email-address>

Use the @register command to change someone's e-mail address.

Also see: @registerme in General Help

@reject-character

Syntax: @reject*-character <*char msg number>
@reject*-character <*undecided msg number> from|on *undecided

Synonym: @rejected

Mark an application as rejected and move it from *char to *rejected. This will automatically send a rejection email message to the applicant.

There is a set of rejection texts available to send, and you will be asked which to use. These appear on $local as properties named `<reason>_nope_txt' where each text has a different <reason>. There are also `nope_header_txt' and `nope_footer_txt' properties that are always added before and after the <reason> text, respectively.

If you have a property on your character named `rejection_mail' and it contains text, you will be given a `personal' option for the rejection letter's <reason> section, and can select that to include your prepared text.

Substitutions, in $string_utils:substitute list format, are stored in $local.nope_txt_substitutions.

Available to Managers with "character applications" responsibility.

Related Topics:
applications -- overview of the application processing system
@create-character -- create a character based on an application (aka
                     "@created")
@undecided -- mark a character application as "undecided" (aka "@unsure")
@searchapplications -- search all applicaiton-related mail folders for
               specified text

@rejected

See: @reject-character

@removeproject

See: @projects

@request

Related topics for wizards and managers:
@register -- the $manager:@register command sets the email address for a specified character
@register -- the $player:@register command is an alias for @request.

Also see: @request in General Help

@rm-class

See: @add-class

@rm-class-object

See: @rm-class

@rmproject

See: @projects

@searchapplications

Syntax: @searchapp <list> for <name|e-mail|anything>

Example: @searchapp *created for JohnDoe

  Searches all the mail lists associated with the character application system for the given string. The mail lists are $request_pool, $created_chars, $rejected_chars, $undecided, and typically named *character-request-pool, *created, *rejected, *undecided, and respectively.

Available to Managers with "character applications" responsibility.

Related Topics:
applications -- overview of the application processing system
@create-character -- create a character based on an application (aka
                     "@created")
@undecided -- mark a character application as "undecided" (aka "@unsure")
@reject-character -- reject a character application (aka "@rejected")

@seeklastmod

Syntax: @seeklastmod [<number of hours>] [for <person[s]>]

Searches the database for objects and verbs that have been modified in last
number of hours (default is 12) by person(s) named. [if they are named]
If you are just interested in objects that have been created, use @seeknew

Related Topics:
@seeknew - search for objects created recently

@seeknew

Syntax: @seeknew [<number of hours>]
Searches the database for objects created within the last number of hours
Default is 24. It checks the object's .creation_date property.

Related Topics:
@seeklastmod - search for objects or verbs recently modified

@sendhome

Syntax: @sendhome <what>

Sends <what> to whatever home seems most appropriate. Checks object for a send_home verb first, otherwise sends it to a place appropriate for the type of object.

Available to any Manager.

@serverlog

Syntax: @serverlog [<string>]

Enters a comment into the server log.

If no string is given, you are prompted to enter one or more lines for an extended comment.

@setoption

Syntax: @setoption-<class> <who>
@setoption-<class> <who> to <option-setting>
@setop-<class> <who>
@setop-<class> <who> to <option-setting>

This command allows managers and wizards to view and set the various options values on characters other than themselves. <class> must be a valid options class, taken from one of: mail, edit, display, web, user, prog

Example: @setoption-mail Jane to +netmail

The <option-setting> may be any value that is valid in a regular option setting command.

If "to <option-setting>" is omitted, then all the option settings for the specified class are listed.

@shout

Syntax: @shout <text>
@announce <text>

Broadcasts the given text to all connected people. Displays
"<person> shouts..." or "<person> announces..." depending on the verb
form used.

Available to all Managers.

@shutdown

Syntax: @shutdown [in <m>] [<text>]

This is the friendly way to do a server shutdown; it arranges for the actual shutdown to take place `m' minutes hence (default two). Shutdown is preceded by a sequence of warnings to all connected people. Warnings are likewise given to anyone who connect during this time. <text>, if given is included in these warning messages, perhaps as an explanation for why the server is being shut down.

Shutdown may be aborted at any time by using @abort-shutdown.

Available to Managers with "server management" responsibility.

@spooflist

See: @blacklist

@squelch

See: @nail

@tags

Syntax: @tags
@tags on <person>

Shows the taggings recorded for the specified <person>. Omitting <person> shows all tags currently recorded (may be long!).

@tasks

Syntax: @tasks [<users>|<object:verb>|all]
@killt*asks <user>|<object:verb>

@tasks can be used to evaluate the number of tasks on the MOO (total) or for a specific user or verb. It displays:

  a) the number of currently queued tasks (no arguments)
  b) the number of tasks of a certain programmer (<user>)
  c) the number of tasks queued for a certain verb (<object:verb>)
  c) a list of users with the associated number of tasks,
     sorted by task-quantity (all)

@killtasks offers a drastic way to kill the tasks of a specific user or verb, after a yes/no type of question confirmation.

Related Topics:
@forked -- listing forked tasks
@kill -- killing a particular forked task

@temp-newt

Syntax: @temp-newt <person> for <duration>

Example: @temp-newt goober for 1 week

Newts someone (disallows connections) for the given <duration>. Essentially the same as @newt, but if they try to connect and the duration is over, they're removed from the list of newted people and allowed to connect.

@toad

Syntax: @toad <who> [graylist|blacklist|redlist]
@toad! <who>
@toad!! <who>

Resets the player flag of <who> (thus causing <who> to be booted), resets the .programmer and .wizard flags, chowns the character object to $hacker, and removes all of its names and aliases from $player_db.

You must give either the character's full name or its object number.
Also, this command does not let you @toad yourself.

In some cases you may wish to add the person's last connected site to the site graylist, blacklist or redlist - see `help blacklist' - in order to invoke various kinds of blocking on that site (e.g., if character creation is enabled, you may want to enter the person on the blacklist to keep him or her from immediately creating a new character). Specifying one of the listnames `graylist', `blacklist' or `redlist' will do this.

@toad! <who> is synonymous with @toad <who> blacklist
@toad!! <who> is synonymous with @toad <who> redlist

There are messages that one may set to customize toading. After all, a toading is (supposed to be) a rare event and you will doubtless want to put on a good show. Thus we have

@toad [%n @toads %d (%[#d])]
  Printed to everyone in the room in which the victim is being @toaded.
  If you're worried about accidentally toading yourself in the process of
  setting this message, see above.

@toad_victim [Have a nice life...]
  Printed to the victim.

These are pronoun_subbed with victim == dobj.

@transfer

See: @grant

@trend-db

Syntax: @trend-db

@trend-db looks at the information stored after each successful
Checkpoint and lists the date and size of the database at that
checkpoint.

Useful to see if there are any trends in database growth or loss that
need to be checked into.

Available to Managers with "server management" responsibility.

@unblacklist

See: @blacklist

@unbuilder

See: @builder

@undecided

See: @unsure

@ungraylist

See: @blacklist

@unlock-account

See: @account-locks

@unlock-character

See: @account-locks

@unnail

See: @nail

@unnewt

See: @denewt

@unprogrammer

See: @programmer

@unredlist

See: @blacklist

@unspooflist

See: @blacklist

@unsquelch

See: @nail

@unsure

Syntax: @unsure <*char msg number>

Synonyms: @undecided

When you're not sure what to do with a specific application but want to mark it as already read and want others to read it and decide, use this command to move an application from *character-request-pool (*char) to *undecided.

Applications in *undecided can be accepted with @create-char.

Available to Managers with "character applications" responsibility.

Related Topics:
applications -- overview of the application processing system
@create-character -- create a character based on an application (aka
                     "@created")
@reject-character -- reject a character application (aka "@rejected")
@searchapplications -- search all applicaiton-related mail folders for
               specified text

@untoad

Syntax: @untoad <object> [as <name>,<alias>,<alias>...]

Synonym: @detoad

Turns the object into a registered character.
If the name/alias... specification is given, the object is also renamed.
In order for this to work, the object must be a descendant of $player but not a registered user character and the new object name (or the original name if none is given in the command line) must be available for use as a person's name. As with ordinary user character @renaming, any aliases which are unavailable for use as character names are eliminated.

If the object is a descendant of $guest, then it becomes a new guest character.
Otherwise the object is chowned to itself. In the latter case, it is advisable to check that the .password property has something nontrivial in it.

If the object is a descendant of $prog, then its .programmer flag is set.
Note that the .wizard flag is not set under any circumstances.

@verify-owned

Wizards and Managers with "Technical Support" responsibility are additionally to use the form "@verify-owned <who>" to verify the owned_object property of someone else.

Also see: @verify-owned in Builder Help

@vspo-info

Syntax: @vspo-info <group>
Alias: @ginfo

Lists some information about the specified VSPO group, including when
it was created, by whom, for what purpose, how many VSPOs are in it,
and when it expires.

Note that this Manager command shares the same name as the VSPO
Feature @ginfo command, but this one has the syntax "@ginfo <group>"
while the VSPO Feature one uses "@ginfo <group> is <info-text>" as
its syntax.

Available to Managers with "VSPO management" responsibility.

@vspos

Syntax: @vspos

Lists all connected VSPO characters.

Available to Managers with "VSPO management" responsibilities.

Related Topics:
vspo-manager-tools -- summarized tools available for VSPO system managers

@who-calls

See: @grepcore

@whoprofessors

Syntax: @whoprofessors

Synonyms: @whoprofs
          @professors

Gives @who-style listing of all connected people with their "professor" property set (which indicates they are a professional teacher).

It also goes through all characters and gives a count of the total number with their "prof" property set.

Available to any Manager.

@whosemail

See: @wm

@witnessed

Syntax: @witnessed

Returns a list of all currently connected people who are being logged (generally through the @witness command).

@wm

Syntax: @wm|wm <string>
@wm+ <string> (verbose output..shows processing progress - spammy)

Synonyms: @whosemail

This verb scans all users' .email and .all_connect_places for strings matching the given argument.

Available to Managers with "character applications" responsibility.

@zapobject

Syntax: @zap <object>
Marks or unmarks an object for recycling during the next unthemely object purge.

access-restrictions

The various ways to control access to a person's MOO character are
summarized below. See the help text on individual items for details.

@password -- change a character's password
@boot -- disconnects a connected person from their MOO character (no
         lasting effects)

The color list system allows you to tag or block various activities
based on the domain name (or i.p. number) of the connection.
----
graylist -- details the color list system
blacklist -- (same)
redlist -- (same)
@graylist -- mark a site for wizard notification on
              connect/disconnect and tag @@who list
@blacklist -- block guest access from a site
@redlist -- block any access from a site
@spooflist -- block character applications (but not guest access)
              from a site

Account locks are usually automatically generated, when someone tries
to connect to an account and fails repeatedly.
----
@account-lock -- show account lock status for a character
@unlock-character -- unlock a characters account before it was
                     scheduled
@unlock-account -- (same)

Newting is a mechanism to temporary block connections to a person's
MOO character.
----
@newt -- block connection to a character indefinitely
@newted -- list people whose connection to their character is
              blocked by @newt'ing
@newts -- (same)
@temp-newt -- set a specific duration for blocking connection to a
              character
@unnewt -- restore character for connections
@denewt -- (same)

Toading is a mechanism for removing a MOO character completely from
the database, rendering them an ordinary object (that happens to be
derived from $player). It does not recycle all their owned objects,
however.
----
@toad -- make someone into a toad
@untoad -- restore their player bit and entry in the $player_db

applications

There are three commands for processing character requests. All applications initially are sent to the *character-request-pool (*char) mail list where they are open to all wizards to read. Character application evaluation requires one of three options: accept an application, reject it, or place it on a pile of undecided cases. There are three mail lists to hold each of the three sets of processed applications: *created, *rejected and *undecided.

Accepting a request (with @create-character) will create the new character and set the notes, birthdate and hometown on the newly created character object. If the application was done by a VSPO, his/her character will be converted into a regular player object. In either case, the application will be moved to *created.

To subscribe initially to the character application system mail folders, use:
  @subscribe $request_pool
  @subscribe $created_chars
  @subscribe $rejected_chars
  @subscribe $undecided
Note that once you are subscribed to them you can refer to them as *char, *created, *rejected, and *undecided.

Rejecting or being indecisive about an application will move it to the respective mail folders, i.e. *rejected or *undecided. Applications are moved to *undecided as indication that others should evaluate the application.

Related Topics:
@create-character -- create a character based on an application (aka
                     "@created")
@undecided -- mark a character application as "undecided" (aka "@unsure")
@reject-character -- reject a character application (aka "@rejected")
@searchapplications -- search all applicaiton-related mail folders for
               specified text
@make-player -- create a registered character, bypassing the usual
                application process. This is NOT generally
                recommended, since there will be several
                characteristics unset on the resulting character.
                Don't use this unless you're sure you know what you
                are doing.

blacklist

The Site Blacklist

$login maintains three lists of hosts/domains to support user registration schemes and blocking of connections from highly untrusted hosts:

  .redlist - all connections from these sites are disabled
  .blacklist - character creation and guest logins are disabled
  .graylist - advisory list of potential trouble spots (putting a site on the
                .graylist merely annotates it in @net-who listings).
  .spooflist - guests from these sites cannot use @request to request
                a character

The lists are kept in a special format so it is highly recommended that you
either use $wiz:@*list/@un*list or the following verbs to query/update the
respective lists rather than bash them directly:

  $login:*listed (host) is host is on .*list?
  $login:*list_add (domain or subnet) add domain or subnet to .*list
  $login:*list_remove(domain or subnet) remove domain or subnet from .*list

where `*' is one of `black', `red', `gray', or `spoof'.

One may either specify a domain name (e.g., "baz.edu") or a numeric IP address (e.g., "36.0.23.17"). Domain names match all hosts underneath that domain, so, e.g., puting "baz.edu" on a list effectively adds "x.bax.edu" for all x as well.
Likewise, an incomplete numeric address, e.g., "128.42" will match that entire subnet, in this case all hosts whose IP numbers have the form "128.42.m.n" for arbitrary integers m and n.

One may also give a domain name containing a wildcard ("*"), e.g., "fritz*.baz.edu", in which case all hostnames matching in the sense of $string_utils:match_string() are considred to be on the list. Wildcard matching should be avoided since it is more time-consuming.

It should be noted that, since there is no direct access to the domain name service from within the MOO, it is possible for a host to be blacklisted or redlisted via its domain name, and yet have someone be able to connect from that host (and, in the case of a blacklisted host, create a character) - this can happen if the name service is down and connection_name() on that character's connection thus has given the numeric IP address rather than the domain name. Similarly, if you list a host by IP number alone, it will still be possible to get in via the site's domain name. Thus to be completely assured of shutting out a site, you need to list it both by domain name and IP number.

character-messages

Messages on $manager

@newt_victim []
@newt $wiz is [%n @newts %d (%[#d])]
@programmer $wiz is [%d is now a programmer.]
@programmer_victim [You are now a programmer.]
@toad_victim [Have a nice life...]
@toad $wiz is [%n @toads %d (%[#d])]
@builder $wiz is [%d has just been made a builder by %n.]
@builder_victim [You have just been made a builder by %n.]
@checkpoint_started [**** Checkpoint started (at %{time}) ****]
@checkpoint_finished [Property not found]
@checkpoint_failed [**** WARNING: CHECKPOINT FAILED *****]
@next_checkpoint [ Next checkpoint scheduled for: %{next}]

See 'help $wiz:checkpoint_started_msg' for details of special substitutions within the checkpoint messages.

Also see: character-messages in General Help

graylist

See: blacklist

manager-index

@@who@graylist@registerme@unredlist
@abort-shutdown@grep@reject-character@unspooflist
@account-locks@grepcore@rejected@unsquelch
@add-class@grmroom@removeproject@unsure
@add-class-obj@guests@request@untoad
@add-class-object@idle-boot-protect@rm-class@verify-owned
@add-owner@kill-vspo-group@rm-class-object@vspo-info
@announce@killtasks@rmproject@vspos
@bad-email@last-connected@searchapplications@who-calls
@bday@make-guest@seeklastmod@whoprofessors
@birthday@make-player@seeknew@whosemail
@blacklist@make-vspos@sendhome@witnessed
@boot@massmail@serverlog@wm
@builder@nail@setoption@zapobject
@checkpoint@net-who@shoutaccess-restrictions
@chown@newpassword@shutdownapplications
@chown-group@newproject@spooflistblacklist
@connect-places@newt@squelchcharacter-messages
@connectlog@newted@tagsgraylist
@create-character@newts@tasksmanager-index
@created@nobanish@temp-newtmanager-info
@dbsize@notag@toadmanager-summary
@del-owner@password@transfernews
@denewt@peepeditor@trend-dbredlist
@detoad@professor@unblacklistserver-tools
@dump-database@professors@unbuilderspooflist
@dusted@programmer@undecidedtag-tools
@egrep@projects@ungraylistuser-management
@expire-group@quota@unlock-accountvspo
@expiregroup@readlog@unlock-charactervspo-manager-tools
@gaddroom@recycle@unnail
@ginfo@redlist@unnewt
@grant@register@unprogrammer

manager-info

Various information gathering and dissemination tools for wizards and managers. Note that not all managers have access to every command on this list.

@@who -- @who listing with connection site info
@net-who -- (same)
@guests -- @who listing of all guests
@vspos -- @who listing of on-line VSPOs
@professors -- lists people on-line with "professor" property set (aka @whoprofs)
@wizards -- @who listing of wizards
@managers -- list of on-line managers
wizs - abbreviated list of connected wizards
@last -- displays the latest connections to the MOO
@whosemail -- scans all users' .email and .all_connect_places for a
           string

@connectlog -- establish and manage connection tracking on a person
@connect-places -- list all places someone (recently) connected from

@userstats - lists the cumulative number of character accessing the MOO in history

@witnessed -- returns a list of all connected people being logged
@tags -- Displays the recorded @tags on a person
@readlog -- read the last 20 lines of the log being kept on a
            @witness'd person

@peepeditor -- look that who is in an editor and the text they're
               editing

@seeknew -- find objects created within the last specified amount of
            time
@seeklastmod -- find objects and verbs modified within the specified time period

@squelch -- prevent everyone in the room from being able to speak
@unsquelch -- release the speech impediment of those in the room
@nail -- prevent everyone in the room from being able to move
@unnail -- release the people in the room to move if they wish

@shout -- send a message to every connected MOO users

@tasks -- special varient of @forked useful during forkbombs (when
          you should NOT use @forked)

@dbsize -- counts number of objects lost by the $recycler system

These search the MOO verbs for a target.
----
@grep -- check all verbs in the MOO (or a specific list of objects) for a string
@egrep -- like @grep but uses a regular expression instead of a plain string
@killgrep -- kills a running @grep/@egrep search
@grepcore -- like @grep but only checks @corify'd objects
@who-calls -- looks for verbs that call a verb you specify

manager-summary

The following commands, arranged by Manager responsibility, are available to Managers:

All Managers
@peepeditor -- see what someone is working on in an editor
@projects -- list or edit manager/wizard projects
@newproject -- add a new manager/wizard project
@rmproject -- remove a manager/wizard project
@shout -- broadcasts the given text to all connected people
@announce -- same, but as an "announcement"
@sendhome -- move an object to somewhere more appropriate
@zapobject -- Marks or unmarks an object for recycling during the next unthemely object purge
@seeknew -- Searches the database for objects created within the last specified hours

Administration and Policy
@massmail -- send mail to all characters or specified types

Character Applications
applications -- summary of the character application system
@create-character -- create a character based on an application (aka
                     "@created")
@reject-character -- reject a character application (aka "@rejected")
@undecided -- mark a character application as "undecided" (aka "@unsure")
@searchapplications -- search all applicaiton-related mail folders for
               specified text
@register -- change a person's email address

VSPO Management
@make-vspos -- Creates a VSPO group
@expiregroup -- sets a VSPO group to expire after standard warning time
@kill-vspo-group -- causes a VSPO group to expire immediately
@chown-group -- change the owner of a group
@vspo-info -- reports various info about a VSPO group
@vspos -- Lists all VSPO characters currently connected

Builder Management
@builder -- make someone a builder
@quota -- change a person's quota

Programmer Management
@programmer -- give someone programmer permissions (a progbit)

Rooms and Exits
@add-exit -- same as Builder versions but you don't need to
@remove-exit -- own the exit or the room
@add-entrance --
@remove-entrance --
@gaddroom -- add a room to the global room list on $local
@grmroom -- similar, but remove it
note: @rename and @addalias/@rmalias for exits are accessible

Server Management
@shutdown -- shut down the MOO server
@abort-shutdown -- abort an impending shutdown
@dump-database -- force an immediate backup (checkpoint)

Ownership Transfers
@chown -- change non-wizard-owned object ownership, including +c properties
@grant -- change non-wizard-owned object ownership including all verbs and props
@transfer -- like @grant but for a set of objects specified
@add-owner -- same as Builder but for object Manager doesn't own
@del-owner -- same idea
@recycle -- Managers do NOT have direct @recycle ability, but must
               first @grant or @chown the object to themselves

Access Restrictions
(the commands below have been implemented, but not all commands relating to access restrictions have been moved from $wiz yet)
@net-who -- currently conncted people, including host site
@readlog -- read last 20 lines of log for someone @tag'd
@connect-places -- show recent hosts person has connected from
@witnessed -- list who is currently @witness'd
@newts -- list who is newted temporarily or indefinitely
@idle-boot-protect -- list or modify set of people not booted if idle
@tags -- list all people @tag'd and reason
@bad-email -- list non-VSPO characters with no email address set
@denewt -- allow a person access to their character again
@last -- report last few people who connected, or last connection time of a particular person
@boot -- close a person's connection to the MOO
@detoad -- set the playerbit to 1 on a $player object
@blacklist -- prevents guest connections from a particular site
@graylist -- have connections from a site marked in the @@who list, and inform wizards and access managers when they connect
@redlist -- don't allow any connects from a site (including registered characters)
@spooflist -- prevent guests from a site from @request'ing characters
@unblacklist -- removes a site
@ungraylist -- removes a site
@unredlist -- removes a site
@unspooflist -- removes a site
@noban -- restrict who can use the @ban command
@notag -- restrict who can use the @tag command
@account-locks -- list all people with locked accounts
@account-lock -- list details of account lock for a single person
@unlock-account -- unlock a locked user account
@connectlog -- track recent connections to a character
@register -- change a person's email address
@nail -- restrict a person from changing locations (reversed with @unnail)
@squelch -- restrict a person from speaking or emoting (reversed with @unsquelch)
@temp-newt -- restrict access to a character for a set amount of time
@newt -- make a person's character temporarily inaccessible to them
@toad -- remove the player-bit from a character

Technical Support
  Note that in addition to the commands below, many routine MOO commands
  give essentially wizardly access to Managers responsible for "technical
  support." This enables them to edit and modify most anything in the MOO
  except for things that are wizardly or wizard-owned.
@tasks -- list queued tasks (like @forked but succinct)
@forked -- list queued tasks (extensive, but vulnerable to lag problems)
@killtasks -- kill one or more running queued tasks
@dbsize -- report how many valid objects are in the MOO
@who-calls -- searches the whole DB looking for calls to the specified verb
@grepcore -- performs a @grep limited to core objects
@grep -- can perform @grep across entire MOO database
@egrep -- like @grep
@make-guest -- create a new $guest character (usually only used to set up a MOO)
@serverlog -- enter a line into the MOO's server log
@make-player -- create a character with its player-bit set (bypasses char. app. system)
@dusted -- displays all non-wizard owned objects that carry one or more wiz-permed verbs.
@chown -- change ownership of non-wizardly objects, verbs, or properties
@verify-owned -- verify someone's .owned_objects list
@add-class -- add a class to the @classes list
@rm-class -- same, but remove one
@add-class-object -- add an object to a class for @class
@rm-class-object -- same, but remove one

NOTE: MOO technician managers are also able to use @set and the Note Editor to change object property values when they don't own the property.

There is a "general restriction" system for which Managers can have immunity (see `help $perm_utils:action_restricted'). In the eduCore by default, the only general restriction is on renaming characters, and managers with character application, access restriction, and technical responsibility are excepted, and can perform this renaming on others.

news

Related topics for wizards and managers:
$news -- the MOO's news database (where $news_items are published).

Also see: news in General Help

redlist

See: blacklist

server-tools

This summarizes some server management tools. See the individual
entries for details.

@trend-db -- shows the most recent checkpoint files' sizes

@serverlog -- send a message to the server log

@shutdown -- shut down the MOO completely
@abort-shutdown -- abort an impending shutdown
@dump-database -- forces a checkpoint to be initiated ahead of schedule

@tasks -- wizard's version of @forked that isn't as vulnerable to
              forkbomb damage
@killtasks -- a wizard's version of @kill that isn't as vulnerable to
              forkbomb interference

spooflist

See: blacklist

tag-tools

The commands for managing the @tag and @banish systems are summarized
here. See the help text for the individual commands for details.

@tags -- lists all information on recorded taggings
@notag -- shows whose @tag privileges have been withdrawn, or
             specifies a person to be added or removed from the list.
@nobanish -- same as @notag but for @banish

user-management

Some commands useful for managing characters are summarized below.
See the help texts for individual entries for details.

@add-owner -- add a person to an object's additional owners list
@del-owner -- remove a person from the additional owners list

@builder -- make someone a builder
@programmer -- make someone a programmer
@professor -- check status of person's "professor" property, and
               optionally change it
@manager -- create MOO managers and control their abilities

@newpassword -- send someone a new password
@register -- set a new e-mail address for a registered character

@quota -- change a person's quota level

@readlog -- shows the last 20 lines in a @witness'd person's log

@idle-boot-protect -- marks a person as exempted from booting on
                      extended idleness
@boot -- disconnects a person from their MOO character (no lasting
         effects)

@chown -- changes the ownership of an object (but not any verb or
             property ownerships)
@grant -- transfers an object completely to a new owner, including
             properties and verbs
@transfer -- like @grant but accepts a list of objects to transfer

vspo

Related topics for managers:
vspo-manager-tools -- a summary of manager-only tools for the vspo system

Also see: vspo in Local Help

vspo-manager-tools

See: vspo-manager-tools in VSPO Help