org.starhope.appius.sys.op
Class OpCommands

java.lang.Object
  extended by org.starhope.appius.sys.op.OpCommands

public class OpCommands
extends Object

This class contains operator commands that act upon the game world. These are usually accessed by typing a '#' plus the command name into a public message.

The command name required is the (all-lower-case) method name without the leading op_ prefix. For example, the method named op_mem is actually typed as "#mem".

Author:
brpocock@star-hope.org

Constructor Summary
OpCommands()
           
 
Method Summary
private static String assertValidWarnReason(String warnReason, AbstractUser u)
          assert that a warning (kick, ban) reason code is valid
static void exec(Room room, AbstractUser u, String commandString)
          Execute a staff command found with a leading # on it.
static String fingerInfo(AbstractUser u, AbstractUser pasivo)
          get “finger” information about any user
private static String getConfKey(String string)
           Convert the user-provided configuration key string into a real key string found in the configuration Properties.
private static String getDiamond(int x, int y, int delta)
          Get a diamond surrounding a pixel in the polygon format for setting up place zones in the client
static Method getHook(AbstractUser u, String command)
          Find a character-specific operator command for a specific user.
private static void givehead_toRoom(AbstractUser u, Room room, String taker, int itemNumberInt)
          Give an item to everyone in a given room.
private static void headcount_all(AbstractUser u, Room room)
          Perform the #headcount #all subcommand, givng a headcount of users in all zones.
private static void headcount_highwater(AbstractUser u, Room room)
          perform the #headcount #highwater subcommand, providing the high-water mark of logins for the server since boot
private static void headcount_members(AbstractUser u, Room room)
          Get a headcount of the number of users online in a given zone, broken down into free, paid, and staff users.
private static void headcount_rooms(AbstractUser u, Room room)
          broken-out handler for #headcount #rooms; see op_headcount(String[], AbstractUser, Room) Get a headcount of the number of users online in a given zone, broken down into by room population.
static void hook(Room room, AbstractUser u, String speech)
          call the operator script hook for a particular character
static void op_$(String[] words, AbstractUser u, Room room)
           Execute a command script
static void op_addevent(String[] words, AbstractUser u, Room room)
          Add a GameEvent to a Zone
static void op_agent(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_askme(String[] words, AbstractUser user, Room room)
           
static void op_ban(String[] words, AbstractUser u, Room room)
           Ban a user permanently.
static void op_banhammer(String[] words, AbstractUser u, Room room)
           Ban an IP address from connecting.
static void op_beam(String[] words, AbstractUser u, Room room)
           Beam yourself to a different room.
static void op_build(String[] words, AbstractUser u, Room room)
           Create a new room in the current zone.
static void op_census(String[] words, AbstractUser u, Room room)
          Simply reference a range of users, for testing purposes.
static void op_clearbadge(String[] words, AbstractUser u, Room room)
           Clear badges off of the map interface.
static void op_clearcache(String[] words, AbstractUser u, Room r)
          Forcibly clear all cachés
static void op_clearevent(String[] words, AbstractUser u, Room room)
           Clear a GameEvent from a Zone.
static void op_clearvar(String[] words, AbstractUser u, Room room)
           Clear a room variable.
static void op_cloneroom(String[] words, AbstractUser u, Room r)
          clone a room
static void op_createroom(String[] words, AbstractUser u, Room room)
          WRITEME: Document this metho WRITEMEd brpocock@star-hope.org
static void op_dbcpinfo(String[] words, AbstractUser u, Room room)
           Get DBCP information.
static void op_dress(String[] words, AbstractUser u, Room room)
           Force a character to wear a specific clothing item.
static void op_drop(String[] words, AbstractUser u, Room room)
          find an item in your inventory based upon the item ID # and destroy (drop) it
static void op_dropkick(String[] words, AbstractUser u, Room room)
           Silently remove the named user from the game by disconnection.
static void op_dumpthreads(String[] words, AbstractUser u, Room room)
           Dump debugging information including all running threads to a server-side file.
static void op_enablepathfinder(String[] words, AbstractUser u, Room room)
          Temporary test routine for testing pathfinders on users
static void op_evacuate(String[] words, AbstractUser u, Room room)
           Evacuate all users from your current Zone into another Zone.
static void op_filter(String[] words, AbstractUser u, Room room)
           
static void op_finger(String[] words, AbstractUser u, Room room)
           Finger a user account.
static void op_flush(String[] words, AbstractUser u, Room room)
          Attempt to flush the pending database records to the database (if any).
static void op_game(String[] words, AbstractUser u, Room room)
           Send a command into the operator command interpreter for a running game (if that game provides one)
static void op_getconfig(String[] words, AbstractUser u, Room room)
           Get a Appius configuration variable.
static void op_getevents(String[] words, AbstractUser u, Room room)
           List GameEvents in your current Zone.
static void op_getmotd(String[] words, AbstractUser u, Room room)
          Retrieve the current Message Of The Day as a server message
static void op_getschedule(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_getschedulefor(String[] words, AbstractUser u, Room room)
          Get scheduled events for a particular class (scheduled by that class)
static void op_getuvar(String[] words, AbstractUser u, Room room)
           Get a user variable.
static void op_getuvars(String[] words, AbstractUser u, Room room)
           Get all user variables for a given user.
static void op_getvar(String[] words, AbstractUser u, Room room)
           Get a room variable.
static void op_getvars(String[] words, AbstractUser u, Room room)
           Get all room variables.
static void op_give(String[] words, AbstractUser u, Room r)
          give a gift
static void op_givehead(String[] words, AbstractUser u, Room room)
           Give an inventory item to a user.
static void op_goto(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_grant(String[] words, AbstractUser u, Room room)
          Grant an item to a user.
static void op_headcount(String[] words, AbstractUser u, Room room)
           Get headcount information about the running system.
static void op_inv(String[] words, AbstractUser u, Room room)
           Get inventory items for a particular user.
static void op_kick(String[] words, AbstractUser u, Room room)
          Kick a user offline for a certain reason
static void op_king(String[] words, AbstractUser u, Room room)
           Apply a gift membership to an user.
static void op_liftban(String[] words, AbstractUser u, Room room)
           Lift the ban upon a user.
static void op_loadlists(String[] words, AbstractUser u, Room room)
           Reload the censorship lists.
static void op_mem(String[] words, AbstractUser u, Room room)
           Display some memory usage and other debugging type information as an pop-up message.
static void op_metronome(String[] words, AbstractUser u, Room room)
           Display information about or micromanage the metronome.
static void op_motd(String[] words, AbstractUser u, Room room)
           Set the message of the day.
static void op_mute(String[] words, AbstractUser u, Room room)
           
static void op_nuke(String[] words, AbstractUser u, Room room)
          Forcibly disconnect everyone in a room.
static void op_parentapproves(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_ping(String[] words, AbstractUser u, Room room)
           Ping the server, to force a neutral administrative message reply.
static void op_place(String[] words, AbstractUser u, Room room)
           Add a Place to a room.
static void op_purgephysics(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_push(String[] words, AbstractUser u, Room room)
          WRITEME
static void op_put(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_rc(String[] words, AbstractUser u, Room room)
          Run an RC (RunCommands) script.
static void op_reboot(String[] words, AbstractUser u, Room room)
           Forces appius to restart.
static void op_reloadconfig(String[] words, AbstractUser u, Room room)
           Reloads configuration properties.
static void op_retire(String[] words, AbstractUser u, Room room)
           Forces a zone to retire.
static void op_run(String[] words, AbstractUser who, Room where)
          Run an arbitrary Java routine through an uploaded Runnable or RunCommands class
static void op_saveroomvars(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_scotty(String[] words, AbstractUser u, Room room)
           Forces a user into another room.
static void op_setavatarcolors(String[] words, AbstractUser u, Room room)
           Sets the base an extra color of a user's avatar.
static void op_setbadge(String[] words, AbstractUser u, Room room)
           Set the badge on a room.
static void op_setconfig(String[] words, AbstractUser u, Room room)
           Set a config property.
static void op_setstafflevel(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
static void op_setuvar(String[] words, AbstractUser u, Room room)
           Set a user variable.
static void op_setvar(String[] words, AbstractUser u, Room room)
           Set a room variable.
static void op_shanghai(String[] words, AbstractUser u, Room room)
          Force a client into a different room and zone
static void op_shout(String[] words, AbstractUser u, Room room)
           Speak in another zone.
static void op_spawnzone(String[] words, AbstractUser u, Room room)
           Create a new zone.
static void op_speak(String[] words, AbstractUser u, Room room)
           Allows a user to speak.
static void op_stfu(String[] words, AbstractUser u, Room room)
           Silences a user.
static void op_testcensor(String[] words, AbstractUser u, Room room)
           Test a message with the censor, displays the filter result.
static void op_time(String[] words, AbstractUser u, Room room)
           Displays a message with the current time in Eastern Standard Time.
static void op_unbuild(String[] words, AbstractUser u, Room room)
           Destroys a room.
static void op_v(String[] words, AbstractUser u, Room room)
           Forces a user to say a message.
static void op_verbosebugs(String[] words, AbstractUser u, Room r)
          Set verbose bug backtrace reporting on or off
static void op_wall(String[] words, AbstractUser u, Room room)
           Sends an pop-up message to everyone in the zone.
static void op_wallops(String[] words, AbstractUser u, Room room)
           Sends an pop-up message to all staff members in the zone.
static void op_wallzones(String[] words, AbstractUser u, Room room)
           Sends an pop-up message to all everyone in every zone.
static void op_warn(String[] words, AbstractUser u, Room room)
           Warn a user about breaking a rule.
static void op_whatis(String[] words, AbstractUser u, Room room)
           Displays information about an item.
static void op_whereami(String[] words, AbstractUser u, Room room)
           Return an administrative message with the name of the Zone in which the player is currently standing.
static void op_whereis(String[] words, AbstractUser u, Room room)
           Find out in what what room a character is standing, if s/he is logged in at the moment.
static void op_who(String[] words, AbstractUser u, Room room)
           Displays a list of everyone currently in a room.
static void op_whoami(String[] words, AbstractUser u, Room room)
           Cause the character to speak his/her name in the current room.
static void op_whoareyou(String[] words, AbstractUser u, Room room)
           Ask the server who it is.
static void op_zoom(String[] words, AbstractUser u, Room room)
          WRITEME: Document this method brpocock@star-hope.org
private static void scottyZoneTeleport(AbstractUser u, String greenBabesHouse)
           
static void sendAdminMessage(Room room, AbstractUser anybody, String string)
          Deprecated. Use AbstractUser.acceptMessage(String, String, String) instead.
private static void sendUserErrorMessage(AbstractUser u, String cmd, Throwable throwable)
          WRITEME: Document this method brpocock@star-hope.org
private static void setvar_replace(String[] words, AbstractUser u, Room room)
          WRITEME: document this method (brpocock@star-hope.org, Mar 5, 2010)
private static void whereis_atRoom(AbstractUser u, Room room, String roomMoniker)
          Get the list of users in a room.
private static void whereis_everyone(AbstractUser u, Room room)
          Get the list of users in the current zone.
static void z$z(AbstractUser u)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpCommands

public OpCommands()
Method Detail

assertValidWarnReason

private static String assertValidWarnReason(String warnReason,
                                            AbstractUser u)
                                     throws NotFoundException
assert that a warning (kick, ban) reason code is valid

Parameters:
warnReason - the supplied warning reason code
u - the user providing the code (who may get an error response)
Returns:
the reason code, if valid
Throws:
NotFoundException - if the code is not valid

exec

public static void exec(Room room,
                        AbstractUser u,
                        String commandString)
Execute a staff command found with a leading # on it.

Parameters:
room - the room in which the operator command should be executed
u - the user executing said command
commandString - the command to be executed, beginning with '#'

fingerInfo

public static String fingerInfo(AbstractUser u,
                                AbstractUser pasivo)
get “finger” information about any user

Parameters:
u - who's asking
pasivo - who's being fingered
Returns:
a string describing some operator-useful info about that user

getConfKey

private static String getConfKey(String string)

Convert the user-provided configuration key string into a real key string found in the configuration Properties. The only purpose of this right now is to provide for the ~a shorthand for org.starhope.appius. Thus, for example, the user can type #setvar ~a.debug true and this will translate into #setvar org.starhope.appius.debug true instead.

This also now has ~t for com.tootsville and ~e for com.empiresoftheair for shorthand.

Parameters:
string - a configuration key string
Returns:
the real configuration key string

getDiamond

private static String getDiamond(int x,
                                 int y,
                                 int delta)
Get a diamond surrounding a pixel in the polygon format for setting up place zones in the client

Parameters:
x - the centre point's x ordinate
y - the centre point's y ordinate
delta - the radius of the diamond from the centre
Returns:
the polygon string

getHook

public static Method getHook(AbstractUser u,
                             String command)
Find a character-specific operator command for a specific user.

Parameters:
u - the user in question
command - the command or macro name
Returns:
a method implementing that command

givehead_toRoom

private static void givehead_toRoom(AbstractUser u,
                                    Room room,
                                    String taker,
                                    int itemNumberInt)
Give an item to everyone in a given room. Invoked via givehead_toRoom(AbstractUser, Room, String, int) using @ ROOM-MONIKER notation.

Parameters:
u - WRITEME
room - WRITEME
taker - WRITEME
itemNumberInt - WRITEME

headcount_all

private static void headcount_all(AbstractUser u,
                                  Room room)
                           throws org.json.JSONException,
                                  NumberFormatException
Perform the #headcount #all subcommand, givng a headcount of users in all zones.

Parameters:
u - The user requesting this headcount
room - The room in which that user is standing.
Throws:
org.json.JSONException - if the JSON data can't be encoded or decoded
NumberFormatException - if some data can't be interpreted

headcount_highwater

private static void headcount_highwater(AbstractUser u,
                                        Room room)
perform the #headcount #highwater subcommand, providing the high-water mark of logins for the server since boot

Parameters:
u - the user requesting the headcount
room - the room in which that user is standing

headcount_members

private static void headcount_members(AbstractUser u,
                                      Room room)
Get a headcount of the number of users online in a given zone, broken down into free, paid, and staff users. From among the non-staff members, give a total of public users, and the ratio of paid vs. free members.

Parameters:
u - The user requesting this headcount
room - The room in which that user is standing.

headcount_rooms

private static void headcount_rooms(AbstractUser u,
                                    Room room)
                             throws org.json.JSONException
broken-out handler for #headcount #rooms; see op_headcount(String[], AbstractUser, Room) Get a headcount of the number of users online in a given zone, broken down into by room population.

Parameters:
u - The user requesting this headcount
room - The room in which that user is standing.
Throws:
org.json.JSONException - WRITEME

hook

public static void hook(Room room,
                        AbstractUser u,
                        String speech)
call the operator script hook for a particular character

Parameters:
room - the room in which the user is standing
u - the user's name
speech - the command sequence

op_$

public static void op_$(String[] words,
                        AbstractUser u,
                        Room room)
                 throws IOException

Execute a command script

Usage:

#$ SCRIPT

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
IOException - if the script can't be loaded

op_addevent

public static void op_addevent(String[] words,
                               AbstractUser u,
                               Room room)
Add a GameEvent to a Zone

Add a GameEvent to a Zone. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use: #addevent [EVENTNAME]

Examples
#addevent LaserTagGame
#addevent PropsWeather
#addevent ShaddowFalls
#addevent Tootlympics

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_clearevent(String[], AbstractUser, Room), op_getevents(String[], AbstractUser, Room)

op_agent

public static void op_agent(String[] words,
                            AbstractUser u,
                            Room room)
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME

op_askme

public static void op_askme(String[] words,
                            AbstractUser user,
                            Room room)
                     throws org.json.JSONException
Throws:
org.json.JSONException

op_ban

public static void op_ban(String[] words,
                          AbstractUser u,
                          Room room)
                   throws NotFoundException,
                          PrivilegeRequiredException

Ban a user permanently. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#ban [REASONCODE] [LOGIN]

Examples
#ban obs.rude pil

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
NotFoundException - if the reason code given is invalid
PrivilegeRequiredException - if the user lacks privileges
See Also:
op_kick(String[], AbstractUser, Room), op_warn(String[], AbstractUser, Room)

op_banhammer

public static void op_banhammer(String[] words,
                                AbstractUser u,
                                Room room)
                         throws UnknownHostException

Ban an IP address from connecting.

Bans can be listed using #banhammer #list

Bans can be lifted using #banhammer #-ip IP-ADDRESS (or hostname)

A ban can be placed with #banhammer #+ip IP-ADDRESS or #banhammer #+ip HOSTNAME or #banhammer #user USERNAME. In the latter case, the user's connected IP address is used. This is expected to be the most common usage.

Parameters:
words - the first word is a subcommand; one of #+ip, #-ip, #user, or #list. For #+ip, #-ip, or #user, an additional parameter is needed.
u - the user issuing the ban
room - the room in which the operator is found
Throws:
UnknownHostException - if the IP address or hostname specified can't be identified

op_beam

public static void op_beam(String[] words,
                           AbstractUser u,
                           Room room)
                    throws org.json.JSONException,
                           PrivilegeRequiredException

Beam yourself to a different room.

Syntax for use
#beam [ROOM]

Examples
#beam tootSquare

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
org.json.JSONException - if the data can't be formatted for some reason
PrivilegeRequiredException - if so

op_build

public static void op_build(String[] words,
                            AbstractUser u,
                            Room room)

Create a new room in the current zone. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#spawnroom [MONIKER] [TITLE] [SWF]
#spawnroom [MONIKER] [TITLE]

NOTE: Uses tootCastleJoust.swf as default. This can be set after the room has been created by setting the 'f' room variable.

Examples
#spawnroom tootCastleJoust2 Joust2 tootCastleJoust.swf
#spawnroom tootCastleJoust2 Joust2

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_census

public static void op_census(String[] words,
                             AbstractUser u,
                             Room room)
                      throws PrivilegeRequiredException
Simply reference a range of users, for testing purposes. Takes an optional low and high point, or runs 0…250000. (250,000) This will assert free or paid member status, restore default free items, and seriously strain the caché and database subsystems.

Parameters:
words - optional low and high points of the range to be referenced.
u - God
room - God's room
Throws:
PrivilegeRequiredException - if someone other than God tries to call this routine

op_clearbadge

public static void op_clearbadge(String[] words,
                                 AbstractUser u,
                                 Room room)

Clear badges off of the map interface. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#clearbadge [LOGIN] [ROOM].

Login Room

Examples
#clearbadge snowcone tootSquare
#clearbadge snowcone #all
#clearbadge snowcone #here
#clearbadge #me #all
#clearbadge #me #here

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_clearcache

public static void op_clearcache(String[] words,
                                 AbstractUser u,
                                 Room r)
                          throws com.whirlycott.cache.CacheException,
                                 PrivilegeRequiredException
Forcibly clear all cachés

Parameters:
words - none
u - operator
r - room operator is in
Throws:
com.whirlycott.cache.CacheException - if the caché subsystem throws an exception
PrivilegeRequiredException - if (u) is not a developer

op_clearevent

public static void op_clearevent(String[] words,
                                 AbstractUser u,
                                 Room room)

Clear a GameEvent from a Zone. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#clearevent [EVENTNAME]

Examples
#clearevent LaserTagGame
#clearevent PropsWeather
#clearevent ShaddowFalls
#clearevent Tootlympics

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_addevent(String[], AbstractUser, Room), op_getevents(String[], AbstractUser, Room)

op_clearvar

public static void op_clearvar(String[] words,
                               AbstractUser u,
                               Room room)

Clear a room variable. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#clearvar @[ROOM] [VARIABLE] [VALUE]
#clearvar [VARIABLE] [VALUE]

See op_setvar(String[], AbstractUser, Room) to set a variable.

Examples
#clearvar @tootsSquareWest anim~ropes 2
#clearvar anim~ropes 2

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_setvar(String[], AbstractUser, Room), op_getvar(String[], AbstractUser, Room)

op_cloneroom

public static void op_cloneroom(String[] words,
                                AbstractUser u,
                                Room r)
                         throws PrivilegeRequiredException
clone a room

Parameters:
words - moniker of the new room
u - user cloning the room
r - room to be cloned, in which the user must currently be standing
Throws:
PrivilegeRequiredException - if the user doesn't have Designer level privileges, at least

op_createroom

public static void op_createroom(String[] words,
                                 AbstractUser u,
                                 Room room)
                          throws PrivilegeRequiredException,
                                 NotReadyException
WRITEME: Document this metho WRITEMEd brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME
NotReadyException - WRITEME

op_dbcpinfo

public static void op_dbcpinfo(String[] words,
                               AbstractUser u,
                               Room room)
                        throws PrivilegeRequiredException,
                               NotFoundException,
                               SQLException

Get DBCP information. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#dbcpinfo

Examples
#dbcpinfo

Parameters:
words - ignored
u - user requesting the info
room - the room in which the user is standng
Throws:
PrivilegeRequiredException - WRITEME
NotFoundException - WRITEME
SQLException - WRITEME

op_dress

public static void op_dress(String[] words,
                            AbstractUser u,
                            Room room)
                     throws NumberFormatException,
                            DataException

Force a character to wear a specific clothing item. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#dress [LOGIN] [ITEM] [optional: COLOUR]

Examples
#dress flappyperry 1337

Parameters:
words - login name, item ID, and optional colour string (see Colour.Colour(String))
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
DataException - if the colour is bad
NumberFormatException - if the colour is bad

op_drop

public static void op_drop(String[] words,
                           AbstractUser u,
                           Room room)
find an item in your inventory based upon the item ID # and destroy (drop) it

Parameters:
words - the item# to be destroyed
u - the user dropping the item
room - the room in which the user is standing

op_dropkick

public static void op_dropkick(String[] words,
                               AbstractUser u,
                               Room room)

Silently remove the named user from the game by disconnection. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#dropkick [LOGIN]

Examples
#dropkick flappyperry

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_dumpthreads

public static void op_dumpthreads(String[] words,
                                  AbstractUser u,
                                  Room room)

Dump debugging information including all running threads to a server-side file. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#dumpthreads

Examples
#dumpthreads

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_enablepathfinder

public static void op_enablepathfinder(String[] words,
                                       AbstractUser u,
                                       Room room)
Temporary test routine for testing pathfinders on users

Parameters:
words - true or false
u - who
room - where

op_evacuate

public static void op_evacuate(String[] words,
                               AbstractUser u,
                               Room room)

Evacuate all users from your current Zone into another Zone. Will error if the Zone specified does not exist. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#evacuate [ZONE]

Examples
#evacuate dottie

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_filter

public static void op_filter(String[] words,
                             AbstractUser u,
                             Room room)
Parameters:
words - see op_testcensor(String[], AbstractUser, Room)
u - see op_testcensor(String[], AbstractUser, Room)
room - see op_testcensor(String[], AbstractUser, Room)
See Also:
op_testcensor(String[], AbstractUser, Room)

op_finger

public static void op_finger(String[] words,
                             AbstractUser u,
                             Room room)

Finger a user account. Return interesting details in an administrative message. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#finger [LOGIN]

Examples
#finger mouser

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_flush

public static void op_flush(String[] words,
                            AbstractUser u,
                            Room room)
Attempt to flush the pending database records to the database (if any). Reports back how many remain pending after the sweep. Does not affect the ongoing background sweep process, which will continue to run normally.

Parameters:
words - optionally, a single integer defining how many records to attempt to flush. Defaults to 100.
u - operator
room - ignored

op_game

public static void op_game(String[] words,
                           AbstractUser u,
                           Room room)

Send a command into the operator command interpreter for a running game (if that game provides one)

Usage: #game gameClass (strings...)

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing. The GameEvent must be attached thereunto.

op_getconfig

public static void op_getconfig(String[] words,
                                AbstractUser u,
                                Room room)

Get a Appius configuration variable. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#getconfig [PROPERTY]

Examples
#getconfig org.starhope.appius.requireBeta

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_getevents

public static void op_getevents(String[] words,
                                AbstractUser u,
                                Room room)

List GameEvents in your current Zone. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#getevents

Examples
#getevents

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_addevent(String[], AbstractUser, Room), op_getevents(String[], AbstractUser, Room)

op_getmotd

public static void op_getmotd(String[] words,
                              AbstractUser u,
                              Room room)
Retrieve the current Message Of The Day as a server message

Parameters:
words - ignored
u - user placing request
room - room in which the user is standing

op_getschedule

public static void op_getschedule(String[] words,
                                  AbstractUser u,
                                  Room room)
                           throws PrivilegeRequiredException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME

op_getschedulefor

public static void op_getschedulefor(String[] words,
                                     AbstractUser u,
                                     Room room)
                              throws PrivilegeRequiredException,
                                     ClassNotFoundException
Get scheduled events for a particular class (scheduled by that class)

Parameters:
words - Specify the class's full, canonical name
u - the user invoking
room - the room in which the user is standing
Throws:
PrivilegeRequiredException - if the user doesn't have at least moderator privilege level
ClassNotFoundException - is the class requested can't be found (probably a typo)

op_getuvar

public static void op_getuvar(String[] words,
                              AbstractUser u,
                              Room room)

Get a user variable. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#getuvar [LOGIN] [VARIABLE]

User Name

Examples
#getuvar mouser d
#getuvar #me d

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_setuvar(String[], AbstractUser, Room), op_getuvars(String[], AbstractUser, Room)

op_getuvars

public static void op_getuvars(String[] words,
                               AbstractUser u,
                               Room room)

Get all user variables for a given user. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#getuvars [LOGIN].

User Name

Examples
#getuvars mouser
#getuvars #me

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_setuvar(String[], AbstractUser, Room), op_getuvar(String[], AbstractUser, Room)

op_getvar

public static void op_getvar(String[] words,
                             AbstractUser u,
                             Room room)

Get a room variable. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#getvar @[ROOM] [VARIABLE]
#getvar [VARIABLE]

Examples
#getvar @tootsSquareWest anim~ropes
#getvar anim~ropes

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_setvar(String[], AbstractUser, Room), op_clearvar(String[], AbstractUser, Room), op_getvars(String[], AbstractUser, Room)

op_getvars

public static void op_getvars(String[] words,
                              AbstractUser u,
                              Room room)

Get all room variables. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#getvars [ROOM]
#getvars

Examples
#getvars tootsSquare
#getvars

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_setvar(String[], AbstractUser, Room), op_clearvar(String[], AbstractUser, Room), op_getvar(String[], AbstractUser, Room)

op_give

public static void op_give(String[] words,
                           AbstractUser u,
                           Room r)
                    throws NumberFormatException,
                           org.json.JSONException,
                           AlreadyExistsException
give a gift

usage: #give ITEM# USER

WRITEME

Parameters:
words - item# to be given, and recipient
u - the giver
r - room in which the giver is standing
Throws:
NumberFormatException - if the item# given is not a number
org.json.JSONException - WRITEME
AlreadyExistsException - WRITEME

op_givehead

public static void op_givehead(String[] words,
                               AbstractUser u,
                               Room room)
                        throws PrivilegeRequiredException

Give an inventory item to a user. Must have staff level 1 (STAFF) to use this command.

NOTE: #grant and #givehead are identical.

Syntax for use
#givehead [ITEM] [LOGIN]
#grant [ITEM] [LOGIN]

Examples
#givehead 1337 louis
#grant 1337 louis

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
PrivilegeRequiredException - requires staff level permissions

op_goto

public static void op_goto(String[] words,
                           AbstractUser u,
                           Room room)
                    throws PrivilegeRequiredException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME

op_grant

public static void op_grant(String[] words,
                            AbstractUser u,
                            Room room)
                     throws PrivilegeRequiredException
Grant an item to a user. See op_givehead(String[], AbstractUser, Room)

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
PrivilegeRequiredException - if the user doesn't have sufficient privileges

op_headcount

public static void op_headcount(String[] words,
                                AbstractUser u,
                                Room room)

Get headcount information about the running system. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#headcount #all
#headcount #members
#headcount #room

Examples
#headcount #all
#headcount #members
#headcount #room

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
headcount_all(AbstractUser, Room), headcount_highwater(AbstractUser, Room), headcount_rooms(AbstractUser, Room), headcount_members(AbstractUser, Room)

op_inv

public static void op_inv(String[] words,
                          AbstractUser u,
                          Room room)
                   throws PrivilegeRequiredException

Get inventory items for a particular user. By default, this will bring up only the active items — e.g. clothing being worn, and so forth.

To get all active inventory for an user: #inv LOGIN

To get all inventory for an user, active or inactive (this may be very long!): #inv LOGIN #all

To get inventory of a particular type, active or inactive: #inv LOGIN #type TYPE

The type strings accepted are those accepted by Commands.do_getInventoryByType(JSONObject, AbstractUser, Room) ; this means that both the $SPECIFIC-TYPE and TYPE-SET-NAME forms are accepted. The list of specific types might include e.g. $Hair, and a type-set-name might be something like clothing. The set of available type-set-names is specified in the configuration file.

Parameters:
words - User name, and optional tag #all to show all items instead of just active, or optional tag #type and a type string for items of a specific type. For item types, refer to Commands.do_getInventoryByType(JSONObject, AbstractUser, Room) — note that this supports only a single item type (or type-set)
u - user calling this command
room - the room in which that user is standing
Throws:
PrivilegeRequiredException - if the user lacks staff privileges to invoke this command

op_kick

public static void op_kick(String[] words,
                           AbstractUser u,
                           Room room)
                    throws NotFoundException
Kick a user offline for a certain reason

Kick a user offline for a certain reason. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use: #kick [REASONCODE] [LOGIN]

Examples
#kick obs.rude pil

Reason Codes:

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
NotFoundException - if the warning reason code is not valid
See Also:
op_warn(String[], AbstractUser, Room), op_ban(String[], AbstractUser, Room)

op_king

public static void op_king(String[] words,
                           AbstractUser u,
                           Room room)
                    throws org.json.JSONException

Apply a gift membership to an user. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#king [DAYS] [LOGIN]

Examples
#king 2 flappyperry

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
org.json.JSONException - if something can't be cast into a JSON packet underlying

op_liftban

public static void op_liftban(String[] words,
                              AbstractUser u,
                              Room room)
                       throws PrivilegeRequiredException,
                              NotFoundException

Lift the ban upon a user. Must have staff level 2 (MODERATOR) to use this command.

NOTE: In order to un-ban a user, you must key in the literal word “yes” as the third parameter, and supply the ban reason as the first. This is to avoid accidentally lifting a ban.

Syntax for use
#liftban [BANREASON] [USER] yes

Examples
#liftban app.mail flappyperry yes

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
PrivilegeRequiredException - if the user lacks PrivilegeRequiredException
NotFoundException - if the warning reason code is not valid

op_loadlists

public static void op_loadlists(String[] words,
                                AbstractUser u,
                                Room room)

Reload the censorship lists. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#loadlists

Examples
#loadlists

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_mem

public static void op_mem(String[] words,
                          AbstractUser u,
                          Room room)

Display some memory usage and other debugging type information as an pop-up message. Must have Designer privileges to use this command.

Syntax for use
#mem

Examples
#mem

Parameters:
words - command parameters (not used)
u - invoking user
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_metronome

public static void op_metronome(String[] words,
                                AbstractUser u,
                                Room room)

Display information about or micromanage the metronome. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#metronome [OPTION]

Options

Examples
#metronome #rate
#metronome #last
#metronome #start
#metronome #stop
#metronome #restart
#metronome #tick

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_motd

public static void op_motd(String[] words,
                           AbstractUser u,
                           Room room)

Set the message of the day. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#motd [MESSAGE...]

Examples
#motd I am setting the message of the day

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_mute

public static void op_mute(String[] words,
                           AbstractUser u,
                           Room room)
Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_stfu(String[], AbstractUser, Room)

op_nuke

public static void op_nuke(String[] words,
                           AbstractUser u,
                           Room room)
                    throws PrivilegeRequiredException
Forcibly disconnect everyone in a room.

Parameters:
words - the name of the room to be nuked
u - The user (operator) executing this instruction
room - The room to be nuked
Throws:
PrivilegeRequiredException - WRITEME

op_parentapproves

public static void op_parentapproves(String[] words,
                                     AbstractUser u,
                                     Room room)
                              throws PrivilegeRequiredException,
                                     GameLogicException,
                                     ForbiddenUserException,
                                     AlreadyExistsException,
                                     NotReadyException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME
GameLogicException - WRITEME
ForbiddenUserException - WRITEME
AlreadyExistsException - WRITEME
NotReadyException - WRITEME

op_ping

public static void op_ping(String[] words,
                           AbstractUser u,
                           Room room)

Ping the server, to force a neutral administrative message reply. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#ping

Examples
#ping

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_place

public static void op_place(String[] words,
                            AbstractUser u,
                            Room room)
                     throws PrivilegeRequiredException

Add a Place to a room. This command supports the basic types of event Places, and adds them to the room in the given WHERE place. WHERE can be a diamond-shaped area around the operator issuing the command (using #here, #here-tiny, or #here-big), or can be an explicitly-issued polygon string. The event region ID will be automatically assigned.

 Usage:
 #place WHERE #item ITEM-NUMBER
 #place WHERE #room MONIKER
 #place WHERE #vitem PAID-ITEM-NUMBER
 #place WHERE #item2 ITEM-NUMBER PAID-ITEM-NUMBER
 #place WHERE #exit MONIKER
 #place WHERE #mini MINIGAME-MONIKER
 #place WHERE #walk
 WHERE := #here | #here-tiny | #here-big | x,y~x,y~x,y~x,y polygon list
 
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME

op_purgephysics

public static void op_purgephysics(String[] words,
                                   AbstractUser u,
                                   Room room)
                            throws PrivilegeRequiredException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME

op_push

public static void op_push(String[] words,
                           AbstractUser u,
                           Room room)
WRITEME

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME

op_put

public static void op_put(String[] words,
                          AbstractUser u,
                          Room room)
                   throws PrivilegeRequiredException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME

op_rc

public static void op_rc(String[] words,
                         AbstractUser u,
                         Room room)
                  throws PrivilegeRequiredException,
                         InstantiationException,
                         IllegalAccessException,
                         ClassNotFoundException
Run an RC (RunCommands) script. Both the “system run commands” (“run”) method and the “new zone run commands” (“newZone”) method will be executed; the

Parameters:
words - class name
u - user
room - room
Throws:
PrivilegeRequiredException - user must be dev level
InstantiationException - class can't instantiate
IllegalAccessException - class can't instantiate
ClassNotFoundException - probably a typo on class name

op_reboot

public static void op_reboot(String[] words,
                             AbstractUser u,
                             Room room)

Forces appius to restart. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#reboot

Examples
#reboot

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_reloadconfig

public static void op_reloadconfig(String[] words,
                                   AbstractUser u,
                                   Room room)

Reloads configuration properties. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#reloadconfig

Examples
#reloadconfig

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_retire

public static void op_retire(String[] words,
                             AbstractUser u,
                             Room room)

Forces a zone to retire. This will disconnect anyone currently in the zone. Use #evacuate to move users to another zone. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#retire [ZONE]
#retire

Examples
#retire dottie
#retire

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_run

public static void op_run(String[] words,
                          AbstractUser who,
                          Room where)
                   throws ClassNotFoundException,
                          InstantiationException,
                          IllegalAccessException
Run an arbitrary Java routine through an uploaded Runnable or RunCommands class

Parameters:
words - WRITEME
who - WRITEME
where - WRITEME
Throws:
ClassNotFoundException - WRITEME
InstantiationException - WRITEME
IllegalAccessException - WRITEME

op_saveroomvars

public static void op_saveroomvars(String[] words,
                                   AbstractUser u,
                                   Room room)
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME

op_scotty

public static void op_scotty(String[] words,
                             AbstractUser u,
                             Room room)
                      throws org.json.JSONException,
                             PrivilegeRequiredException

Forces a user into another room. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#scotty [LOGIN] [ROOM]

Examples
#scotty mouser tootSquareWest

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
org.json.JSONException - if something can't be done
PrivilegeRequiredException - if so

op_setavatarcolors

public static void op_setavatarcolors(String[] words,
                                      AbstractUser u,
                                      Room room)
                               throws NumberFormatException,
                                      DataException

Sets the base an extra color of a user's avatar. Colors should be passed in HTML format (see below). Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#setavatarcolors [LOGIN] [BASE] [EXTRA]

Instantiate a Colour object based upon the CSS, HTML, or JSON style of colour string.

Examples
#setavatarcolors mouser #000000 #ffffff
#setavatarcolors mouser rgb(0,0,0) rgb(255,255,255)

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
DataException - if the colour is bad
NumberFormatException - if the colour is bad
See Also:
Colour.Colour(String)

op_setbadge

public static void op_setbadge(String[] words,
                               AbstractUser u,
                               Room room)

Set the badge on a room. Must have staff level 4 (DESIGNER) to use this command on another character. Staff level 2 (MODERATOR) can use the command with the #me parameter.

NOTE: Rooms that don't directly appear on the map will not have visible badges, but the badges can still be set.

Syntax for use
#setbadge [LOGIN] [ROOM] #setbadge

Login Room

NOTE: Using #setbadge with no parameters will assume default values which are identical to typing #setbadge #me #here

Examples
#setbadge snowcone tootSquareWest
#setbadge #me tootSquare
#setbadge snowcone #here
#setbadge #me #here

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_setconfig

public static void op_setconfig(String[] words,
                                AbstractUser u,
                                Room room)

Set a config property. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#setconfing [PROPERTY] [VALUE]

Examples
#setconfig org.starhope.appius.requireBeta true

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_getconfig(String[], AbstractUser, Room)

op_setstafflevel

public static void op_setstafflevel(String[] words,
                                    AbstractUser u,
                                    Room room)
                             throws PrivilegeRequiredException,
                                    GameLogicException
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME
Throws:
PrivilegeRequiredException - WRITEME
GameLogicException - WRITEME

op_setuvar

public static void op_setuvar(String[] words,
                              AbstractUser u,
                              Room room)

Set a user variable. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#setuvar @[LOGIN] [VARIABLE] [VALUE...] #setuvar [VARIABLE] [VALUE...] #setbadge

NOTE: Using #setconfig without an @[LOGIN] parameter will apply the changes to the user issuing the command.

Examples
#setuvar @mouser d = 254~376~254~376~SE~1267735566759
#setuvar d = 254~376~254~376~SE~1267735566759

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_getuvar(String[], AbstractUser, Room), op_getuvars(String[], AbstractUser, Room)

op_setvar

public static void op_setvar(String[] words,
                             AbstractUser u,
                             Room room)

Set a room variable. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#setvar #replace [VARIABLE] [FIND] [REPLACE]
#setvar @[ROOM] [VARIABLE] [VALUE...]
#setvar [VARIABLE] [VALUE...]

WARNING: SETTING ROOM VARIABLES TO INVALID VALUES CAN CAUSE UNEXPECTED RESULTS. DOUBLE CHECK ALL VALUES BEING SET FOR CORRECTNESS.

Use #replace to change a room variable from one value to another.

Examples
#setvar @tootsSquareWest anim~ropes 2
#setvar anim~ropes 2

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
op_clearvar(String[], AbstractUser, Room), op_getvar(String[], AbstractUser, Room), Room.setVariable(String, String)

op_shanghai

public static void op_shanghai(String[] words,
                               AbstractUser u,
                               Room room)
                        throws org.json.JSONException
Force a client into a different room and zone

Parameters:
words - space-delimited: USER ZONE ROOM
u - the user doing the Shanghai:ing
room - the room where the kidnapper is
Throws:
org.json.JSONException - if something can't work in JSON

op_shout

public static void op_shout(String[] words,
                            AbstractUser u,
                            Room room)

Speak in another zone. This is intended for using operator commands in a remote zone, not normal chat messages. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#shout [ZONE] [ROOM] [COMMAND...]

Examples
#shout dottie tootSquareWest #wall Hello Everyone
#shout dottie tootSquare #retire

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_spawnzone

public static void op_spawnzone(String[] words,
                                AbstractUser u,
                                Room room)

Create a new zone. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#spawnzone [ZONE]

Examples
#spawnzone Cupcake

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_speak

public static void op_speak(String[] words,
                            AbstractUser u,
                            Room room)

Allows a user to speak. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#speak [LOGIN]

Examples
#speak flappyperry

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_stfu

public static void op_stfu(String[] words,
                           AbstractUser u,
                           Room room)

Silences a user. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#stfu [LOGIN]

Examples
#stfu flappyperry

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_testcensor

public static void op_testcensor(String[] words,
                                 AbstractUser u,
                                 Room room)

Test a message with the censor, displays the filter result.

Syntax for use
#testcensor [MESSAGE]

Examples
#testcensor This message will be filtered and the result will be displayed.

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_time

public static void op_time(String[] words,
                           AbstractUser u,
                           Room room)

Displays a message with the current time in Eastern Standard Time. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#time

Examples
#time

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_unbuild

public static void op_unbuild(String[] words,
                              AbstractUser u,
                              Room room)
                       throws NotFoundException

Destroys a room. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#unbuild [ROOM]

Examples
#unbuild tootUniversity

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
NotFoundException - if the room doesn't exist

op_v

public static void op_v(String[] words,
                        AbstractUser u,
                        Room room)
                 throws org.json.JSONException,
                        NotFoundException

Forces a user to say a message. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#v [LOGIN] [MESSAGE...]

Examples
#v flappyperry I like to cause trouble in tootsville

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
org.json.JSONException - if the speech can't be represented in JSON somehow
NotFoundException - WRITEME
See Also:
Commands.do_speak(JSONObject, AbstractUser, Room)

op_verbosebugs

public static void op_verbosebugs(String[] words,
                                  AbstractUser u,
                                  Room r)
Set verbose bug backtrace reporting on or off

Parameters:
words - single word "true" or "false"
u - the user affected
r - the room in which the user is standing

op_wall

public static void op_wall(String[] words,
                           AbstractUser u,
                           Room room)

Sends an pop-up message to everyone in the zone. Must have staff level 4 (DESIGNER) to use this command.

Syntax for use
#wall [MESSAGE...]

Examples
#wall This message will go to everyone in the zone I am in.

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_wallops

public static void op_wallops(String[] words,
                              AbstractUser u,
                              Room room)

Sends an pop-up message to all staff members in the zone. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#wallops [MESSAGE...]

Examples
#wallops This message will go to all other staff members in this zone.

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_wallzones

public static void op_wallzones(String[] words,
                                AbstractUser u,
                                Room room)

Sends an pop-up message to all everyone in every zone. Must have staff level 8 (DEVELOPER) to use this command.

Syntax for use
#wallzones [MESSAGE...]

Examples
#wallzones This message will go to everyone in every zone.

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_warn

public static void op_warn(String[] words,
                           AbstractUser u,
                           Room room)
                    throws NotFoundException

Warn a user about breaking a rule. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use: #warn [REASONCODE] [LOGIN]

Examples
#warn obs.rude pil

Reason Codes:

  • PER.MAIL = Don't share personal information like eMail addresses!
  • PER.NAME = Don't share personal information like your real name!
  • PER.PASS = Don't share personal information like passwords!
  • PER.CHAT = Don't share personal information like chat and instant messaging \ information!
  • PER.LOCA = Don't share personal information like your location!
  • PER.AGES = Don't share personal information like your age!
  • PER.BDAY = Don't share personal information like your birth date!
  • BUL.MEAN = Don't be mean!
  • OBS.RUDE = Don't be rude!
  • OBS.FOUL = Don't use foul words!
  • NET.CHTR = No cheating!
  • APP.PARN = You need your parent's permission in order to chat in Tootsville.
  • APP.MAIL = You need to confirm your eMail address in order to chat in Tootsville.
  • APP.AGES = Lying about your birth date is against the law!

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
NotFoundException - if the warning reason code is not valid
See Also:
op_kick(String[], AbstractUser, Room), op_ban(String[], AbstractUser, Room)

op_whatis

public static void op_whatis(String[] words,
                             AbstractUser u,
                             Room room)
                      throws NumberFormatException,
                             NotFoundException

Displays information about an item. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#whatis [ITEM]

Examples
#whatis 1337

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
NotFoundException - WRITEME
NumberFormatException - WRITEME

op_whereami

public static void op_whereami(String[] words,
                               AbstractUser u,
                               Room room)

Return an administrative message with the name of the Zone in which the player is currently standing. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#whereami

Examples
#whereami

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_whereis

public static void op_whereis(String[] words,
                              AbstractUser u,
                              Room room)

Find out in what what room a character is standing, if s/he is logged in at the moment. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#whereis [LOGIN]

Login
  • User Name of a specific user
  • #everyone for a the location of every user in the zone.
  • @[ROOM] for the location of every user in the specified room.

Examples
#whereis snowcone
#whereis #everyone
#whereis @tootSquare

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
See Also:
whereis_atRoom(AbstractUser, Room, String), whereis_everyone(AbstractUser, Room)

op_who

public static void op_who(String[] words,
                          AbstractUser u,
                          Room room)
                   throws PrivilegeRequiredException,
                          NotFoundException

Displays a list of everyone currently in a room. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#who [ROOM]
#who

NOTE: Leaving off the ROOM parameter will default to displaying for the room the command was initialized in.

Examples
#who tootSquare
#whereis

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.
Throws:
PrivilegeRequiredException - if the user calling isn't a staff member
NotFoundException - if the chosen room does not exist

op_whoami

public static void op_whoami(String[] words,
                             AbstractUser u,
                             Room room)

Cause the character to speak his/her name in the current room. Appears as dialogue in the form: “Hello, my name is NAME”. Must have staff level 1 (STAFF) to use this command.

Syntax for use
#whoami

Examples
#whoami

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_whoareyou

public static void op_whoareyou(String[] words,
                                AbstractUser u,
                                Room room)

Ask the server who it is. This command should return version information on some of the critical classes used in the game server. Must have staff level 2 (MODERATOR) to use this command.

Syntax for use
#whoareyou

Examples
#whoareyou

Parameters:
words - The command parameters (whitespace-delimited list) provided after the # command name
u - The user invoking the operator command
room - The room in which the user is standing (as a room number). This can be -1 under certain circumstances.

op_zoom

public static void op_zoom(String[] words,
                           AbstractUser u,
                           Room room)
WRITEME: Document this method brpocock@star-hope.org

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME

scottyZoneTeleport

private static void scottyZoneTeleport(AbstractUser u,
                                       String greenBabesHouse)
Parameters:
u - who is going
greenBabesHouse - the Zone to which to go

sendAdminMessage

@Deprecated
public static void sendAdminMessage(Room room,
                                               AbstractUser anybody,
                                               String string)
Deprecated. Use AbstractUser.acceptMessage(String, String, String) instead.

Send an administrative message to a user. See User.acceptMessage(String, String, String) for the preferred version.

Parameters:
room - The room in which the user is standing
anybody - The user to receive the administrative message
string - The administrative message to be sent

sendUserErrorMessage

private static void sendUserErrorMessage(AbstractUser u,
                                         String cmd,
                                         Throwable throwable)
WRITEME: Document this method brpocock@star-hope.org

Parameters:
u - user invoking error
cmd - command
throwable - exception

setvar_replace

private static void setvar_replace(String[] words,
                                   AbstractUser u,
                                   Room room)
WRITEME: document this method (brpocock@star-hope.org, Mar 5, 2010)

Parameters:
words - WRITEME
u - WRITEME
room - WRITEME

whereis_atRoom

private static void whereis_atRoom(AbstractUser u,
                                   Room room,
                                   String roomMoniker)
Get the list of users in a room. Implementation of #whereis @roomMoniker

Parameters:
u - the user issuing the request
room - the room in which the user is standing
roomMoniker - the moniker of the room for which the user wants the list of users

whereis_everyone

private static void whereis_everyone(AbstractUser u,
                                     Room room)
Get the list of users in the current zone. Implementation of #whereis #everyone

Parameters:
u - the user issuing the request
room - the room in which that user is standing

z$z

public static void z$z(AbstractUser u)
Parameters:
u - user