Differences between revisions 2 and 3
Revision 2 as of 2017-08-13 18:41:45
Size: 9096
Editor: Alkani
Comment:
Revision 3 as of 2017-08-13 18:44:48
Size: 10761
Editor: Alkani
Comment:
Deletions are marked like this. Additions are marked like this.
Line 115: Line 115:
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.

== 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.

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 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.

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 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.

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 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).

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).

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

Structure


Commands also have two distinct parts: the command 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 may or may not 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), 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, gather any needed parameter information, and compose the keyword and arguments into a command string by using the command's syntax.

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:

     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 programs to the system by pressing the "Enter" or "Return" key on their keyboard.

Return

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.

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.

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.

For example, the output for the previously listed command to page a message to a user named 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 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.

Individuals, unless they have extensive programming experience in Forth or Multi-User Forth, usually begin by writing scriptlet applications in Message Parsing Interpreter (MPI). MPI is a much more accessible language. Wizards may also promote player-submitted applications or third-party software package programs acquired from other sources.

Restrictions


Main Article: MUCK Building

Main Article: MUCK System Programming

Some software program packages have restrictions on who may set them up and 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 commands players use to interact with others, manage their objects, and perform other system tasks.

Getting Help


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.

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)