Differences between revisions 8 and 9
Revision 8 as of 2017-08-14 05:44:12
Size: 12810
Editor: Alkani
Comment: CAA - Continued Editing and Polishing
Revision 9 as of 2017-08-14 05:49:32
Size: 12866
Editor: Alkani
Comment:
Deletions are marked like this. Additions are marked like this.
Line 127: Line 127:

Line 146: Line 144:
Line 152: Line 151:
[[GettingStarted|A Player's First Day]]
Line 156: Line 154:
No References Available
Line 159: Line 158:
[[GettingStarted|A Player's First Day]]
Line 163: Line 164:
Line 165: Line 167:
No External Links Available

Peer Review Required

This article requires peer review and evaluation before being finalized. This check is to ensure that the article is appropriate for its intended audience and the scope of the topic at hand.

Commands


Commands are how players (also referred to as users) on the SpinDizzy MUCK interact with the system, other players, and themselves. There are two types of commands available on the SpinDizzy MUCK: built-in commands and global commands. This page serves as the starting point for learning more about commands and programs on the SpinDizzy MUCK.

Table of contents:

Overview


A command is how a player (user) invokes a program -- a sequence of pre-programmed instructions -- to cause a specific result. In the case of the SpinDizzy MUCK, commands are how players (users) interact with the system, other users, and their own objects. Commands may accept information as an input (parameters), and will almost always return results (output) of the operations they are programmed to execute. There are two types of commands available on any MUCK system, including SpinDizzy: built-in commands and global commands.

Built-in Commands

Main Article: List of SpinDizzy MUCK System Built-In and Local Commands

Built-in commands are programs which are generally available to users of the MUCK without having to extend the existing software or include additional software program packages. This is similar to how some computer operating systems provide certain command-line and graphical-user applications and functionality by default, such as a text editor or a web browser.

For example, in the Windows operating system, Notepad (notepad.exe), Task Manager (taskmgr.exe), and Command Prompt (cmd.exe) are basic programs included as part of the default install. In Linux and BSD distributions, and many flavors of UNIX (such as HPUX or AIX), your system distribution is likely to be installed with Stream Editor (sed), and a command line processor such as Korn Shell (ksh) or Bourne Again Shell (bash).

Lists of the built-in commands for the SpinDizzy MUCK are available in the MUCK system by using the Help (help) command.

Global Commands

Main Article: List of SpinDizzy MUCK Global Commands

Global Commands are software product packages installed in addition to the built-in software packages. These software programs often provide additional functionality to users, such as efficiently listing all of the properties of an object (lsprop), or having a text-user interface to edit all player attributes at once (editplayer). Sometimes these software programs extend or provide better functionality compared to already installed programs, such as the Find Everyone program (find) providing additional information and being inclusive of player puppets (also known as zombie objects) compared to the built-in Who Is Here program (who).

For example, in the Windows operating system, Notepad (notepad.exe) doesn't provide all of the functionality that Notepad++, a third party software text editor designed for programming, may provide. Additionally, if a Windows user needs a full office productivity suite to write letters, they may install Microsoft Office 2016 or LibreOffice to provide that additional functionality. In Linux and BSD distributions, and many flavors of UNIX, this would be akin to installing additional packages, such as a database (PostgreSQL), a window manager (XFCE), or a development environment (Eclipse).

Lists of the global commands for the SpinDizzy MUCK are available by using the Global Listing Utility and including the List parameter (globals #list)

Structure


Commands have two distinct parts: the keyword and the parameters.

The Keyword

The keyword is the part of the command which instructs the MUCK system to execute a specific program. On a MUCK system, a link is created between a keyword and a software package program, which is how the system knows that a specific keyword should call a particular program in a software package. Command keywords can generally have alphanumeric characters (a-z, A-Z, 0-9), and some special characters (@,.,?,>,<,/,\,+,-,_ just to name a few). Command keywords also generally support shortening of their words to conserve keystrokes. For example, Teleport (@teleport) can be used as either @teleport, @tel, or @t.

Examples of command keywords are drop, @name, and +read.

Parameters

Command parameters, or arguments, are additional pieces of information which help a program perform actions according to a player's specifications. Some commands do not take any parameters, such as the System Uptime (uptime) command, while other commands are entirely dependent on parameters in order to do anything, such as the Create Object (@create) command. Additionally, some commands also have optional parameters, which are not required to be defined when calling the command.

Examples of command parameters are an object's name (@create) a player's old password and new password (@password), a room name or database reference (@teleport), and a player's name (whisper)

Command Lifecycle


Commands have three distinct phases in which they operate: composition, execution, and return.

Composition

During the composition phase, a user determines the command they wish to invoke, gathers any needed parameter information, and composes the keyword and arguments into a command string by following the guidelines for the command's syntax.

For example, a player named Violet wishes to send a private message to another player named Edgar. Edgar is not located in the same room as Violet is, so she cannot whisper them. She would, instead, use the Page User command, which has the following usage guideline when using it to speak to far away:

     page < player | zombie >=< message | action >

Following the guideline would result in Violet composing a command string that resembles the following:

     page Edgar=Meow

Execution

During the execution phase, a user submits a command to the SpinDizzy MUCK system to be executed. The command keyword calls the underlying linked program assigned to it, then processes and forwards the parameters along to the underlying program. Players submit commands to the system by pressing the "Enter" or "Return" key on their keyboard.

Return

After the program has finished working with the parameters given, it returns its output to the player. The output will either indicate a successful execution of a command or will indicate an error.

Successful execution will often return a message to the player indicating that the desired action was taken and give the player some information associated with the success. Sometimes, the command may simply return information; the implication is that the information returned is indicative of success.

Error messages are sometimes returned instead of success. If a command returns an error, it will often give the reason for the error. Most errors are caused by inappropriate, badly-formatted, or insufficient parameters, referencing nonexistent objects or players, or typos. Seldom are errors caused by bugs.

For example, the output for Violet to page Edgar would be the following:

        You page, "Meow" to Edgar.

The output would have looked like the following to Edgar:

        Violet pages, "Meow" to you.

Extending the Command Sets


Main Article: MUCK System Programming

The command library can be extended in a number of ways: players may compose their own programs using either Multi-User Forth (MUF), an advanced programming language often requiring additional, elevated privileges, or Message Parsing Interpreter (MPI), a lightweight, userspace-oriented, LISP-like evaluative language, for their own spaces; system Wizards may download and implement global-scope programs for use by all individuals on the MUCK system.

Individuals, unless they have extensive programming experience in Forth or Multi-User Forth, usually begin by writing applications and scriptlets in Message Parsing Interpreter (MPI). Message Parsing Interpreter (MPI) is a much more appropriate language, especially for individuals who have never before written software programs. Wizards may also promote player-submitted applications or third-party software package programs acquired from other sources for global use.

Restrictions


Main Article: SpinDizzy MUCK Building

Main Article: SpinDizzy MUCK System Programming

Some software program packages have restrictions on who may run them. For example, some commands, like the Database Dump (@dump), Player Create (@pcreate), and Reset Environment (@armageddon) commands may only be executed by individuals bearing a Wizard bit. Likewise, some programs can only be utilized by individuals designated as Builders or MUCKers.

Common Commands


Main Article: List of SpinDizzy MUCK System Built-In and Local Commands

Main Article: List of SpinDizzy MUCK Global Commands

Below is a table of some of the more common commands used on the SpinDizzy MUCK system. These commands represent a small sample of what players use to interact with others, manage their objects, and perform other system tasks.

Examples below presume that a player named Player is interacting with Alkani, another player.

Common Commands

Command

Use

Syntax

Example

look

Look Around

 look [ <object> | NULL ] 

 look Alkani 

page

Page User

 page <player | zombie> [ =<message> ]

 page Alkani 

 page Alkani="Hey!"

pose

Act Something

 pose <action> 

 pose jumps up in the air! 

 : <action> 

 :jumps up in the air! 

say

Say Something

 say <phrase> 

 say May I have some more? 

 "<phrase> 

 "May I have some more?

wherare

Show Occupied Public Rooms

 whereare 

 whereare 

whisper

Whisper User

 whisper <player | zombie> 

 whisper Alkani="That was something, huh? 

Getting Help


While some commands in the SpinDizzy MUCK system may not require access to detailed instructions, other commands may need further detailed instructions or guidance. There are a variety of sources of help for the built-in and local commands.

For Built-in Commands

Built-in commands leverage the Help System (help) built in to the SpinDizzy MUCK system software. You can get program help by category (help category) or alphabetically (help alpha) or by a specific command.

For example, to get help for the Drop command (drop), you would use "help drop" generally have help available through the Help (help) built-in command.

For Global Commands

Global commands have a separate help system that varies by programmer implementation. Because Global program packages are implemented by disparate groups of people, there is no single interface for getting help. However, a good place to start is by using the Global Listing Utility (globals), getting a listing of global software programs (globals #list or globals #page), and viewing the entry for the global command you want help with.

For example, if you want help for the Throw Object command (throw), you would view the global program package entry for it using "globals throw".

General Assistance

If you have a question that can't be answered by the documentation included with the commands themselves, consider asking a local Builder or MUCKer. Additionally, you can also ask local Help Staff for assistance, or one of the SpinDizzy Wizards. Wizards and Help Staff are generally knowledgeable on most topics related to the SpinDizzy MUCK and can usually be of great assistance.

See Also


List of SpinDizzy MUCK System Built-In and Local Commands

List of SpinDizzy MUCK Global Commands

References


No References Available

Additional Reading


A Player's First Day

SpinDizzy MUCK Building

SpinDizzy MUCK System Programming

External Links


No External Links Available

Commands (last edited 2017-11-02 09:14:09 by Alkani)