Differences between revisions 6 and 7
Revision 6 as of 2017-08-13 19:52:45
Size: 11801
Editor: Alkani
Comment:
Revision 7 as of 2017-08-14 04:45:15
Size: 12505
Editor: Alkani
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
A command is how a player (user) invokes a program, a sequence of pre-programmed instructions, to cause a specific result for the player. 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. 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.
Line 21: Line 21:
~-''Main Article: [[List of SpinDizzy MUCK System Built-In and Local Commands]]''-~ ~-''Main Article: [[Commands/BuiltIn|List of SpinDizzy MUCK System Built-In and Local Commands]]''-~
Line 23: Line 23:
Built-in commands are programs which are generally available to users of the MUCK without having to extend the exising 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. 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.
Line 30: Line 30:
~-''Main Article: [[List of SpinDizzy MUCK Global Commands]]''-~ ~-''Main Article: [[Commands/Globals|List of SpinDizzy MUCK Global Commands]]''-~
Line 32: Line 32:
Global Commands are software product packages installed beyond 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 may 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). 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).
Line 34: Line 34:
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. Or, if you need a full office productivity suite to write letters, you 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). 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).
Line 36: Line 36:
Lists of the global commands for the SpinDizzy MUCK are available by using the Global Listing Utility and calling the List command (globals #list) Lists of the global commands for the SpinDizzy MUCK are available by using the Global Listing Utility and including the List parameter (globals #list)
Line 40: Line 40:
Commands also have two distinct parts: the command keyword and the parameters. Commands have two distinct parts: the keyword and the parameters.
Line 48: Line 48:
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 may or may not be defined when calling the command. 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.
Line 50: Line 50:
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), a player's name (whisper) 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)
Line 57: Line 57:
During the composition phase, a user determines the command they wish to invoke, gather any needed parameter information, and compose the keyword and arguments into a command string by using the command's syntax. 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.
Line 59: Line 59:
For example, if a user names Violet wished to send a private message to another user named Edgar who was not in the same room as them, they would compose the following command 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:
Line 62: Line 62:
     page Edgar="Meow"      page < player | zombie >=< message | action >
}}}

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

{{{
     page Edgar=Meow
Line 66: Line 72:
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 programs to the system by pressing the "Enter" or "Return" key on their keyboard. 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.
Line 69: Line 75:
After the program has finished working with the parameters given, is returns its output to the calling player. The output will either indicate a successful execution of a command or will indicate an error. 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.
Line 71: Line 77:
Successful execution will often return a message to the player indicating that the desired action was taken or give the player the information they're requested in a particular output format. 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.
Line 73: Line 79:
Errors are often caused by inappropriate or badly-formatted parameters, insufficient parameters, referencing nonexistent objects or players, or typos. Seldom are errors caused by bugs. 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.
Line 75: Line 81:
For example, the output for the previously listed command to page a message to a user named Edgar would be the following: For example, the output for Violet to page Edgar would be the following:
Line 89: Line 95:
~-''Main Article: [[MUCK System Programming]]''-~ ~-''Main Article: [[Programming|MUCK System Programming]]''-~
Line 91: Line 97:
The library of system commands 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 lighter-weight, 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. 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.
Line 93: Line 99:
Individuals, unless they have extensive programming experience in Forth or Multi-User Forth, usually begin by writing scriptlet applications in Message Parsing Interpreter (MPI) as it is a much more forgiving language. Wizards may also promote player-submitted applications or third-party software package programs acquired from other sources. 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.
Line 97: Line 103:
~-''Main Article: [[MUCK Building]]''-~ ~-''Main Article: [[Building|MUCK Building]]''-~
Line 99: Line 105:
~-''Main Article: [[MUCK System Programming]]''-~ ~-''Main Article: [[Programming|MUCK System Programming]]''-~
Line 105: Line 111:
~-''Main Article: [[List of SpinDizzy MUCK System Built-In and Local Commands]]''-~ ~-''Main Article: [[Commands/BuiltIn|List of SpinDizzy MUCK System Built-In and Local Commands]]''-~
Line 107: Line 113:
~-''Main Article: [[List of SpinDizzy MUCK Global Commands]]''-~ ~-''Main Article: [[Commands/Globals|List of SpinDizzy MUCK Global Commands]]''-~
Line 109: Line 115:
Below is a table of some of the more common commands used on the SpinDizzy MUCK system. These commands represent a small sample of commands players use to interact with others, manage their objects, and perform other system tasks. 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.
Line 113: Line 119:
Line 116: Line 121:
|| look || Look Around|| {{{ look [ <object> | NULL ] }}}|| {{{ look Alkani }}} ||
||<rowspan=2> page ||<rowspan=2> Request Attention ||<rowspan=2> {{{ page <player | zombie> [ =<message> ]}}}|| {{{ page Alkani }}} ||
|| look || Look Around || {{{ look [ <object> | NULL ] }}}|| {{{ look Alkani }}} ||
||<rowspan=2> page ||<rowspan=2> Page User ||<rowspan=2> {{{ page <player | zombie> [ =<message> ]}}}|| {{{ page Alkani }}} ||
Line 119: Line 124:
||<rowspan=2> pose ||<rowspan=2> Show An Action|| {{{ pose <action> }}}||{{{ pose jumps up in the air! }}} || ||<rowspan=2> pose ||<rowspan=2> Act Something|| {{{ pose <action> }}}||{{{ pose jumps up in the air! }}} ||
Line 124: Line 129:
|| whisper|| Speak Privately|| {{{ whisper <player | zombie> }}}|| {{{ whisper Alkani="That was something, huh? }}} || || whisper|| Whisper User || {{{ whisper <player | zombie> }}}|| {{{ whisper Alkani="That was something, huh? }}} ||
Line 128: Line 133:
While some commands in the SpinDizzy MUCK system may not require access to detail instruction, other commands may need further detailed instructions or guidance. There are a variety of sources of help for the built-in and local commands. 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.

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: MUCK Building

Main Article: 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


References


Additional Reading


External Links


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