Basics
Controls
- Arrow Keys, WASD, Num Pad: Movement. Supports 8 directions. Home, End, Page Up, Page Down also work for diagonal movement. Holding Shift will hold the player in place and rotate on the spot.
- Mouse Left Click: Varies depending on Build Setting. 'Select' can allow a tile or group of tiles to be selected. 'Draw' will place selected tile from build menu or hotbar. Many other features as well like menu navigation.
- Mouse Right Click: Opens a context menu when used on hotbar, entities, and objects in the 'selection info'
- Numbers 0-9: Shortcut to any hotbar item.
- Spacebar: Place selected hotbar item under you.
- R: Swap between 'Select' and 'Draw' modes.
- F: Copies tile mouse is hovering over ('Draw' mode only).
- Ctrl + Z: Undo last action such as drawing or deleting tiles.
- Enter: Selects the chat box, or sends a message.
- Escape: Deselect current selection or chat box.
- Ctrl + Move: Offsets your avatar from center. /offset can be used to reset.
Useful Commands
/me textSends text formatted as an action.
For example: "/me waves hi" becomes "* Player waves hi."
/ooc textPosts a message that's marked as being out-of-character (OOC).
For example: "/ooc Hello" becomes "[OOC] Player: Hello."
/spoof textSends text formatted to narrate something happening.For example: "
/spoof A skeleton appears" becomes "
* A skeleton appears (by Player)."
/tell username textSends a private message to someone. You may click on a private message to reply to it quickly.
/whereare , /waList public maps that have users on them, and topics if they are set. Also includes buttons to teleport to these locations.
/nick nameChange your display name.
/userdesc text , /look userYou can set a character description through /userdesc text which other players can read by using /look name. It's also possible to do by selecting and attempting to edit another player.
/publicmapsList all public maps. Also includes buttons to teleport to these locations.
/whoList all users on the map.
/sethome , /homeAllows you to set your current location as your "home", which you can teleport to with /home.
/roll xdice ysidesRolls x many dice each with y many sides then displays the total number.
There's many more commands documented
on GitHub, and in the other tabs. Don't worry though, you rarely need most of them.
Registration & Account
A registered account allows users to save character information and create maps, and more.
/register username passwordRegisters your account under said username and password if not logged in.
/login username passwordCan be used as an alternative way to login.
/changepass passwordChanges password to new password if logged in.
Chat
BBCode reference
Tilemap Town uses BBCode for text formatting, just like many forums.
Style |
Raw |
Post |
Plain |
text |
text |
Italics |
[i]text[/i] |
text |
Bold |
[b]text[/b] |
text |
Underline |
[u]text[/u] |
text |
Strikeout |
[s]text[/s] |
text |
Superscript |
x[sup]text[/sup] |
xtext |
Subscript |
y[sub]text[/sub] |
ytext |
Large |
[large]text[/large] |
text |
Small |
[small]text[/small] |
text |
Monospace |
[tt]text[/tt] or [code]text[/code] |
text |
No Parse |
[noparse][b][i]text[/i][/b][/noparse] Displays all bbcode in the tag as plain text. |
[b][i]text[/i][/b] |
Color |
[color=#]text[/color] Where # can be replaced by a color like red, pink, teal, etc. |
red pink teal |
Specific Size |
[size=#]text[/size] where # is text size in pixels. Must be a number from 4 to 40. |
Smallest Size to Largest Size |
Hyperlink |
[url=link]text[/url] Attaches the link to the text. Links open in new tabs. [url]link[/url] works too. |
text |
Command |
[command]cmd[/command] Given a valid command, it creates a button other users can click in chat. Commands do not use / at the start. Especially useful for creating signs that offer teleports, to act as warps. |
[command]roll 2 2[/command] This would create a button that upon clicked rolls 2 dice with 2 sides each. |
Chat commands
/clearClears chat log.
/tell username textSends a private message to someone. You may click on a private message to reply to it quickly.
/roll xdice ysidesRolls x many dice each with y many sides then displays the total number.
/privateroll xdice ysidesRoll dice but results are shown just to you.
/me textSends text formatted as an action.
For example: "/me waves hi" becomes "* Player waves hi."
/ooc textPosts a message that's marked as being out-of-character (OOC).
For example: "/ooc Hello" becomes "[OOC] Player: Hello"
/spoof textSends text formatted to narrate something happening.For example: "
/spoof A skeleton appears" becomes "
* A skeleton appears (by Player)"
/status , /status name (desc), /away (desc)Set your status, and you can provide an optional status message. You can use whatever word you want as a status, but the web client recognizes away, busy, ic, rp, iic (Interested in being In Character), lfrp (Looking For RolePlay), and ooc.
/away message is a shortcut for /status away message.
/status or /away on their own will clear your status.
/ignore user , /unignore user , /ignorelistCan be used to add or remove users from your ignore list. Ignored users cannot send you direct messages or send requests. /ignorelist can be used to view the full list.
/watch user , /unwatch user , /watchlistCan be used to add or remove users from your watch list. This is sort of like a friends list, and future client versions will allow you to easily which of your friends are online. /watchlist can be used to view the full list.
/topic message, /topic, /cleartopicIf allowed, sets a message as the current map's "topic", which can signal what people are currently talking about, or what event is going on, and this topic will show up when entering the map as well as in /whereare.
/topic can be used to get the current topic. /cleartopic will manually clear the topic, and this will also happen automatically when no users are on the map.
/exportlogsSave a plain text file of your chat log.
/oops Put the most recent text you tried to send back into the chat bar, so that you can have another attempt at a command.
/timeDisplays the server time and date.
Finding people
/findiic Finds players with their status set to iic (Interested in being In Character) or lfrp (Looking for RolePlay).
/whoLists all users on the map.
/entitywhoLists all entities on the map, not just limited to users.
/gwhoLists all users on the server
/whereare , /waList public maps that have users on them, and topics if they are set. Also includes buttons to teleport to these locations. /wa c will add coordinates to each player.
/last usernameLists the last time the user logged in.
/offlinequeue usernameView what messages you have queued up for when that user logs in. /offlinequeue username clear will clear the queue.
Avatar / Account
Setting up a custom player graphic
You can use custom player graphics on Tilemap Town! If you register an account you can upload PNGs directly to the server (click the Files button) but an alternative is to use an image hosting site. Currently the server is set up to accept images from Imgur, ImgBB and Postimages. Additional image hosts can be added on request, as long as they are set up properly.
For creating the actual image you'll use for your character, there are templates available on GitHub. Player animation frames are 32x32 and the bottom center will be aligned with the bottom center of the tile you're standing on. The width and height of the image is used to determine how many animation frames and directions the player graphic has, so pick a template that matches your needs.
You can use /userpic your_image_url_here to set your avatar to a URL. Make sure this is actually a link to the PNG file itself, and not just to a webpage that has the image on it. For example, you want https://i.imgur.com/aQlAIjk.png and not https://imgur.com/aQlAIjk. On Imgur this can be done by right-clicking on the image and copying its link.
Player Customization
/nick nameChange your display name.
/userdesc text , /look userYou can set a character description through /userdesc text which other players can read by using /look name. It's also possible to do by selecting and attempting to edit another player.
/userpic presetSets your player graphic to one of the preset avatars. This includes: bunny, cat, hamster, fire, snail, turtle, and invisible.
/userpic x ySets your player graphic to a tile (x,y) in the potluck tileset.
/userpic tileset x ySets your player graphic to a tile (x,y) in any tileset you like.
/userpic linkSets your player graphic to an image link; must be a site that is specifically allowed by the server. See "Setting up a custom player graphic" above.
/savedpiclist set name urlSets up a shortcut to switch to a particular player image URL quickly.
/savedpic nameSwitch to a picture that was previously saved with /savedpiclist set.
/savedpiclist del name , /savedpiclist clearDeletes a saved player image shortcut. Using /savedpiclist clear will remove all saved shortcuts.
/savedpic , /savedpiclist , /savedpiclist list2Presents a bunch of buttons you can click on to switch between the different player image URLs you have saved. Using list2 will list as text (for clients that can't use buttons)
/offset x y , /roffset x y , /offsetMoves your avatar off-center horizontally right x pixels and vertically down y pixel. Values range from -32 to 32. /roffset is relative and will add the values to your current offset. /offset 0 0 or /offset will reset your offset to (0,0)
/userflags add flag , /userflags del flag, /userflagsUsing add will add said flag, del will delete said flag, and /userflags by itself will list your current flags. Valid flags include:
- bot: Marks this user as a bot
- hide_location: Sets user's location to private so they will not show up in /whereare and similar commands.
- hide_api: User will not show up on the API, which includes the list for who's currently online on the main page.
- no_watch: Disables watching the user.
- secret_pic: Prevents checking the user's pic and desc remotely.
Morphs
Morphs let you store a name, player graphic, description, tags, and a collection of saved player images under a name, and quickly switch between these with a single command. This lets you store multiple characters or forms and swap between them easily.
/morph nameSwitches to a different morph.
/morphlist set nameStores all of your current information to a morph with a given name, overwriting it if it already exists..
/morphlist del name , /morphlist clearDeletes a morph with said name. Using /morphlist clear will remove all morphs.
/morph , /morphlist , /morphlist list2Lists all morphs as quickswap buttons. Using list2 will list it as text (for clients that can't use buttons)
Registration & Account
A registered account allows users to save character information and create maps, and more.
/register username passwordRegisters your account under said username and password if not logged in.
/login username passwordCan be used as an alternative way to login.
/changepass passwordChanges password to new password if logged in.
Map / Teleports
Teleport
/coordsDisplay your coordinates.
/tpa user , /mjoin userRequest to teleport to user.
/tpahere user , /msummon userRequest a user teleport to you.
/tpherecommandGet a command you can paste to other people (or put on a sign) that will allow them to teleport to your current location.
/tpaaccept userCommand to accept teleport requests. This command is also use for other kinds of requests, like giving someone items.
/tpdeny user , /mdecline userCommand to decline teleport requests.
/tpcancel user , /mcancel userCancels all teleport requests you made towards a specific user.
/publicmapsList all public maps. Also includes buttons to teleport to these locations.
/defaultmapTeleports you to the default map.
/map mapID (x y)Teleport to a specific map. X and Y are optional and will teleport you to a specific tile coordinate on said map.
/gobackGo back to the ma pyou were previously on.
/sethome , /homeAllows you to set your current location as your "home", which you can teleport to with /home.
Map management
/mymapsLists all maps you are the owner of.
/newmapGenerates a new map and map ID number (if registered).
/mapidLists the map ID of the current map you are on.
/mapname nameRenames the map you are on.
/mapdesc textChanges the description of the map.
/mapowner userTransfers ownership of the map to someone else.
/mapsize x yResizes the map to be x tiles wide and y tiles high. Caution: extends/shrinks maps by moving the right and bottom edge of the map.
/mapedgelink edge mapIDAllows maps to be linked to another. Edge should be a number from 0 to 7 indicating a direction starting from east and moving clockwise. none is a valid mapId and will remove the link.
/mapspawnSets starting position to the tile you are on.
/mapdefaultfloor tileSets default ground tile. Set to grass tile by default.
/mapwallpaper url (type)Sets a wallpaper for the map. Wallpapers are images overlaid on a map and replaces the default floor (unless over_turf is enabled, which makes the wallpaper overwrite all ground tiles). Multiple types can be accomplished by putting them in a line (example: /mapwallpaper url center repeat repeat_x repeat_y offset=8,8). Wallpaper options include: absolute, center, repeat, repeat_x, repeat_y, over_turf, offset=x,y (where x and y are the offset in pixels). /mapwallpaper none will remove a wallpaper.
/mapmusic urlSets background music for the map. You can use MOD, S3M, XM, IT, or MPTM formats. /mapmusic none will remove music that was previously set.
/mapprivacy typeSets map privacy. The types are:
- public: Map is listed publicly through commands like /publicmaps. Anyone can join by default.
- unlisted: Map is not listed publically but anyone can join by default.
- private: Map is not listed and users must be explicitly given permission to join.
Map Permissions
/permlistLists default and user permissions.
/mapbuild on/offEnables or disables building on the map by people who aren't the owner.
/grant permission target , /deny permission target , /revoke permission targetAdjust map premissions for a particular 'target'. Permissions can be set to allow (with grant), disallowed (with deny), or map default (with revoke). The 'target' can be:
- user : Changes permissions on that specific user.
- !default : Default map permissions. Any user who joins will have these permissions enabled (unless denied).
- !guest : Applies to all unregisted guests to add further restrictions. Works with Deny & Revoke only.
- group:groupid : Applies to all members of a group. Works with Grant & Revoke only. (replace groupid with the ID number of said group)
The permissions that can be granted or denied include:
- entry: Allowed to teleport to the map
- build: Allowed to build
- sandbox: Allowed to edit or delete other peoples' objects freely ()
- admin: Allowed to use admin commands
- map_bot: Allowed to use /listen
- bulk_build: Allowed to use builk-build protocol commands (BLK)
- object_entry: Allowed to bring non-player entities here
- persistent_object_entry : Allowed to bring non-player entities here persistently (otherwise, they'll be sent home when the map unloads)
- modify_properties: Allowed to modify properties of the map or other enity
- remote_command: Allowed to make the entity do a command
- modify_appearance: Allowed to modify certain properties of the map
- list_contents: Allowed to get a list of the entities on the map remotely
- set_owner_to_this: Allowed to set the owner of their entities to this entity
- set_topic: Allowed to change the topic on this map
Saving and Other Features
/savemapSaves any changes made to the map. Normally this happens automatically when the map is unloaded, but this guarantees the map changes are safe.
/mapdisablesave on/offEnable or disable map saving temporarily.
/mapexportDownload the current map.
Other
Rides
/carry userOffer to carry a user. Carried users overlap and move on top of the user that's carrying them whenever the ride moves.
/carryme userRequests a user to carry you.
/hopon userCommand to accept being carried.
/carrywhoLists who you are carrying.
/ridewhoShows who you are riding.
/followme userOffer for a user to follow you. The following user will move to the last tile the leading user was at.
/followyou userRequest to follow another user.
/followmap user , /followyoumap userOffer to teleport to other maps when the other user does.
/syncmove userOffer to sync movement with a user. When synced, if either player moves then both move to the same position.
/dropoff user , /rideendStops carrying, leading, or syncing with a specific user. /rideend will end all interactions at once.
/hopoffStop riding, following, or syncing.
Inventory
/giveitem user item typeOffers a user an item from your inventory (or at the very least loaded somewhere). For give types there are:
- transfer: Moves the item to the user's inventory and assigns them as the owner.
- move: Moves the item to the user's inventory without changing ownership.
- copy: Puts a copy in the user's inventory without removing it from your inventory.
- tempcopy: Gives a copy that's marked as temporary (even if already marked)
/getturfCreates an inventory item that is a copy of the ground tile you are on.
/getobjCreates inventory items that are copies of every object you are on.
Permissions
/requestpermission user permissionRequests that the user grants you a temporary permission(s). Permissions can be revoked manually or automatically revoked when either is logged out. Permissions include:
- move: Teleport user around the current map.
- move_new_map: Teleport user between maps.
- minigame: Act on your control inputs, and/or show you a custom hotbar
- set_owner_to_this: Set you as the owner of any inventory item belonging to the user.
- modify_appearance: Allows you to change the user's name, description, avatar, and/or tags
Miscellaneous
/playmusic urlStarts playing tracker music from a given URL
/stopmusicStops whatever music is currently playing
/undodelUndoes your most recent delete
/releasekeysIf a script is currently acting on your inputs, this command will cancel it out.
/disconnectDisconnect yourself from the server.
Groups
The main purpose of groups is to allow granting a permission to every user within a group, and tie the permission to group membership.
/newgroupCreates a new group.
/namegroup id textRename a group (owner only).
/descgroup id textChange the description of a group (owner only).
/changegroupowner id userTransfer ownership from you to another user.
/deletegroup idDeletes a group (owner only).
/joingroup id (password)Join a group. A password may be needed if set.
/joinpassgroup id passwordSets a password for joining the group. If left blank, unsets the password.
/ownedgroupsDisplays all groups you own.
/mygroupsDisplays all groups you are a part of.
Entities
Entities are player objects, inventory items, and anything else that can exist on a map that isn't part of the map data itself. All players are considered entities and it's possible to make NPC entities that players can move and use commands on. There is a utility command name
/entity which can do a variety of actions on entities, with
/e as a shortcut.
/e id, /e id infoGets info of entity, such as properties and contents.
/e id locateDisplays where the entity is.
/e id tagsDisplays tags associated with the entity.
/e id addtag tag_group tag value , /e id addtag_root tag valueAdd a tag to an entity.
/e id deltag tag_group tag , /e id deltag_root tagDelete a tag from an entity.
/e id grant permission id , /e id deny permission id , /e id revoke permission id Sets permissions (see Map section for info). There is also tempgrant & temprevoke to temporarily grant permissions that will be gone when either entity unloads.
/e id temprevokeallRevokes all temporary permissions given through tempgrant.
/e id temprelease userRemove a temp permission given to the entity/user.
/e id summonTeleports entity to the tile you are on.
/e id move x y (direction), /e id rmove x y (direction)Moves entity to tile (x,y) on the current map. Direction optional. Using rmove will relatively move it, adding x and y values to it's current coordinates.
/e id do commandEntity will be issued a command to use. For example /e id do map mapnumber x y will teleport the entity to tile (x,y) on the associated map with the corresponding mapnumber.
/e id saveSaves any changes that have happened to the entity. Normally this happens automatically, but this is provided just in case.
/e id deleteDelete an entity that belongs to you.
/deletemytempitemsDeletes all temporary entities that belong to you.
/deletemytempitems all/here/inventoryDeletes all temporary entities that belong to you, in a specific area.
Bots and listening
Bots can listen to events happening on a map and receive messages as if they were there. See
the protocol document for more info.
/listen category,category,... map_id,map_id,... , /unlisten category,category,... map_id,map_id,... Sets the bot to listen to a specific category of event on a given map id. Bot must have been granted the map_bot permission for the map in question, though remote_chat is also acceptable for the chat and chat_listen categories specifically. The categories to listen in on are:
- move: MOV
- build: PUT, DEL, BLK; will send an initial MAI and MAP
- entry: WHO; will send an initial WHO
- chat: MSG
- chat_listen: sends WHO messages when users start and stop listening to chat on this entity; refer to the protocol document for more info
/unlisten will make the bot stop listening.
/kicklisten category,category,... map_id,map_id,... username,username,...Makes some amount of users stop listening to some amount of categories on some amount of maps
/listenersList all remote clients listening into the map.
/keep_entities_loaded (id,id,id...)Creates a list of enties to keep loaded. Using /keep_entities_loaded will reset the list.
/test_entities_loaded id,id,id...Tests if specific entities are loaded.
/message_forwarding set entity_id,entity_id,entity_id... (MAP,MAI,PRI ...)Sets messaging forwarding properties. See the protocol document for more info.