Technical

== Config ==
The +config system allows players to use their own private settings ranging from colors to personal alerts. This allows them to set their own private color scheme for many features on this game, such as the BBS display or custom colors that they see in place of defaults for many things. Options are set account-wide if you are bound to one.
See Also: help ansi()
=== Managing +config ===
 +config - List all Available options by category and current values. 
 +config <category>/<option>=<value> - Sets an option. Set to nothing to 
 clear/reset to default.
 +config/name <player>=<color> - Change what color you see a character's 
 name as in speech. 
 +config/group <group>=<color> - Change what color you see a group as. 
 +config/channel <channel>=<color> - Change what color you see a channel 
 as. 
 
 Validation is performed on entries, so don't worry about anything 
 exploding.
=== Types ===
 BOOL - 1 for True/Enabled, 0 for False/Disabled. 
 DURATION - A length of time as accepted by stringsecs function. Example: 
 5d 10m for 5 days and 10 minutes. 
 COLOR - A Color code as accepted by the ansi() function. 
 TZ - A Timezone. Check help timezones. These are CASE SENSITIVE so beware.
== Pueblo ==
Pueblo is an extra feature that lets Pueblo-compatible clients support special text features. Namely, clicking on text that shows up on your screen.
Transformers: The Dark Eras is a Pueblo-enhanced world. While it is hardly necessary, it is nevertheless handy.
MUSHclient enables Pueblo by default. It can be turned off or otherwise modified by going to your client's configuration. In MUSHclient, that's Game > Configure > MXP/Pueblo (also accessible via ctrl+alt+U).
We highly recommend turning off local echo text and custom link colors as we use our own colors and otherwise all you will see is hyperlink blue.
Pueblo is detected and enabled upon connection to the MUSH. If you change whether it is on or off in your client, you will not see the results until you disconnect and reconnect that character.
== Charset ==
=== Commands ===
 +charset - Display most special characters the game supports. 
== Key ==
The +key System builds on built-in @locks by creating 'Key Types' - simple names that can represent groups of people, or specified circumstances (such as races, approval status, group membership, etc) in which someone would pass a lock. Note: Staff 'pass' all Key Types and can do whatever they need with them (they are considered owners, handlers, etc.).
See Also: help @lock, help locktypes
=== Concepts ===
 Key Types - Master Types, referred to as <keys> in the help below, must be
 short words such as WIZARD or VAMPIRE or UNION. Each can have many options
 set to determine who can use and administrate it. 
 Owner - The OWNER of a Key Type has full control over its configuration. 
 Handler - Handlers are players approved to assign Holdership of a Key. 
 They also pass the Key themselves. 
 Holders - Key Holders are individuals approved to 'pass' a key. This is in
 ADDITION to anyone who passes config options. 
Each Key Type is a THING with two @locks set on it: The Basic lock representing passing it and Enter for Holders.
=== Viewing Key Types ===
 +key - List all Key Types. 
 +key <key> - Show info about a Key Type. 
=== Managing Key Types ===
 +key/make <name> - Creates a new Key Type owned by you. 
 +key/chown <key type>=<player> - Changes ownership of a Key Type. Owner 
 only. 
 +key/auth <key>=<player> - Authorize a player to control key holders. 
 Owner only.
 +key/revoke <key>=<name> - Revokes authorization for controlling key 
 holders. Owner only.
 +key/add <key>=<name> - Add player to the Holders list. Handler/Owner 
 only. 
 +key/rem <key>=<name> - Remove player from Holders list. Handler/Owner 
 only.
=== Locks ===
 +lock[/<locktype>] <target>=<list of key names> - Sets a Lock via @lock on
 <target> to use the specified Key types. See built-in helpfilse for more 
 information. User: locks are acceptable. If a <locktype> is not specified 
 it will set a Basic lock. As an example: +lock Exit=WEREWOLF VAMPIRE MAGE 
 would make the exit passable by anyone with a WEREWOLF, VAMPIRE, or MAGE 
 key. Locks set to nothing are unlocked. 
=== Config ===
=== Configuring Keys ===
 +key/config <key>/<option>=<value> - Changes an option for a Key Type. 
 Owner Only. Blank values clear the option. Options include: 
 builder - Set to 1 means Builders always pass this lock. 
 approved - Set to 1 means you must be approved to MAYBE pass the 
 lock (you must still pass one of the other checks.) Note: Admin and
 Builders are always considered 'approved for play'. 
 CLASS - Set this to a list of Class names (nWoD/Exalted games only)
 and anyone who is one of them will pass the lock. 
 GROUP - Set to a list of group names (entered by a space seperated 
 list of group aliases) and anyone who's a member of any group and 
 passes their LOCK auth will pass the lock. 
 KEY - Set to a list of other key names, anyone who passes one will 
 pass the lock. 
 CATEGORY - Set to a simple category name to group the Key under for
 display purposes. 
== Room Objects ==
Players are allowed - and encouraged - to create their own rooms. Most rooms on the game were created using @dig, making them full-fledged Rooms. @dig however, requires admin powers to use, because of how easily it can mess up the game's rooms if misused. However, there is another way to create what are essentially 'rooms.'
Players may make Objects, place these in a room, give them a room description and allow others to enter them. They work in almost all ways like a true Room, save that they can be personalized, restricted, and so on. The following is a basic tutorial on how these work.
CONCEPT EXPLANATION: Targeting objects and DBrefs. All things - rooms, players, exits, and so on - have a DBREF, or 'Database Reference.' It is like an ID code. When you use commands such as 'look <name>' PennMUSH checks to see if there is anything of that name in the same location as you. You could, in theory, also use look #800 to look at object #800. Such things are interchangeable for code purposes. Some words can be used to substitute things-- such as 'me' or 'here.' 'me' will always be YOUR dbref, which is why &short-desc me=<your short desc> works. here will refer to your current location. For the purposes of this tutorial, <target> will refer to the object's name or DBREF (if you are outside it or have it in your inventory) or using here (if you are inside it.)
 @create <name>- this will make an object and place it in your inventory.
 @nuke <name or DBREF> - this will destroy an object. Using just once will mark it for destruction, which can be undone with @undestroy <name or dbref> if it is typed quickly. Using twice will annihilate object. This cannot be undone.
 @set <target>=ENTER_OK - this will set a flag on the object that will allow other people to enter it. Using !ENTER_OK instead will remove the flag. (You may always enter your own objects.)
 inventory - this will show what's in your inventory.
 drop <target> - this will remove an object from your inventory and place it in the room.
 get <target> - this will retrieve an object, if you have permission.
 @lock/Basic <target>=me - this will prevent other players from picking up and walking off with your object.
(IMPORTANT: see +help +key for more advanced tricks!)
 @desc <target>=<text here> - the same as @describe'ing yourself. This will be what others see if they look at or are inside the object. You may also use @idesc for 'internal description,' in which case @desc will be seen by those looking at the object, rather than being both the external description and a room description.
 &IC <target>=1 - this will enable +pot to work in an object.
You may only have a few objects in existence at once. If you have lost track of them:
 @search - this will show all objects you own and their DBREFs.
 @tel <target>=me - this will retrieve an object.
Using them:
 enter <target> - this will enter an object as though it were a room.
 leave <target> - This will leave the object.
== Color == 
 +colors - Shows all color names for 256-bit ANSI features. This will show a list of all xterm color codes, which may be used in ANSI strings to output colored text. See help ansi() in-game for PennMUSH's hard-coded ANSI syntax instructions.
In order to see Colors you must have the ANSI, COLOR, and ideally COLOR256 (also known as XTERM256) flags enabled on your character. Most, but not all clients support 256-bit colors. To set these flags if they are not already set:
 @set me=ANSI COLOR COLOR256
For the best in-game experience, we recommend that you use a 256-bit color enabled client, such as MUSHclient or Potato.
== Connection Issues ==
Every now and then, someone joins the game who might have problems staying connected. The following advice will help you if that problem matches this symptom: you type nothing for a minute or two, and the game stops sending you text-- when you type something, it suddenly says you're disconnected.
This is a problem typical of those behind NAT (Network Address Translation)... in other words, routers and large networks.
To solve this problem:
 @set me=KEEPALIVE
== Quit ==
This will tell the game to work harder to keep the connection to your character open. There is also the option of setting a timer in your client (check your client's Help files for instructions on doing so) that sends IDLE (all capitals! IDLE or idle will not work) to the game every minute or two.
This will only solve problems related to a lack of activity causing the hardware to invisibly disconnect you. There are some problems it cannot solve.
=== Commands ===
 QUIT - Disconnect safely from the game. 
Don't worry, PennMUSH saves are independent of safe logoffs. This just doesn't leave a ghost connection hanging.
Category:Help