Server Command Reference
palaceserver-go — complete backtick command guide
How to Use Commands
All server commands are entered by prefixing them with a backtick character (`) or a single quote ('). For example: `help, `ban Alice 60, `kill Bob.
Arguments in <angle brackets> are required. Arguments in [square brackets] are optional. A pipe | means "or" — choose one of the listed values.
Rank levels
| Rank | Level | Description |
|---|---|---|
| User / Guest | 0 | All users including unregistered guests |
| Wizard / Operator | 1 | Moderator with kick/ban powers |
| God | 2 | Server administrator |
| Architect | 3 | Room & server configurator |
| Owner | 4 | Server owner — manages permissions and extensions |
| Host | 5 | Hosting-level superuser (system account) |
Owners can change which rank is required for any command using `setrank.
Identity targeting
Commands like `ban, `kill, and `killfor accept a username or a specific identity dimension:
reg:<hash>— registration keypuid:<hash>— PUID / zcodeuuid:<id>— machine UUID<IP address>— by IP (ban only)<username>— by screen name (bans all identity dimensions simultaneously)
Everyone All users
Available to all users including unregistered guests.
`help— list all commands available to your current rank, grouped by category.`help <command>— show detailed help for a specific command.`help all— list every command on the server regardless of rank.- Unique prefix matching works:
`help bancan matchbanlist.
- No arguments. Prints the server build version as a room message visible to everyone present.
`who— list users currently in your room.`roominfo— show room ID, name, occupancy, and settings.
`gotoroom <roomID>— go to the specified room (plugall). Operators use`find/`gotouserto locate users first.
- Delivers your text privately to every wizard and god currently online.
- Wizards can use
`erto jump to the room you were in when you paged. - Wizards reply with
`repage <message>.
- Sets your current navigation password. If the server challenged you for a room password, this retries entry.
- Password must be 2–31 characters.
`hide— you appear absent in global listings; wizards can still see you via`list.`hide offor`unhide— clears global hide.
`hidefrom <name>— that user will not see you in room or user lists.`unhidefrom <name>— undo for that user.
`mute <name>— hides that user's chat messages from you only (client-side).`unmute <name>— restores their messages.
`rejectesp on— block ESP (cross-room whisper) messages from other users.`rejectprivate on— block in-room private whispers.- Pass
offor omit to toggle off.
- Sends an ESP whisper back to whoever last sent you an ESP message.
`ping— ping yourself (measures your own latency to the server).`ping <user>— ping another user and display their round-trip time.
`offer [<user>]— offer your current prop stack to another user. They type`acceptto wear it.`accept [<user>]— wear the prop stack that was offered to you.- To copy another user's props without a prior offer, use the plugall
`takecommand (owner rank by default — see Owners).
`naked— strip all props from yourself.`naked <user>— strip props from another user (wizards can do this to others).
`setface <n>— change your face to expression 0–13.`setcolor <n>— change your face color 0–15.- Wizards can pass a second argument to change another user's face/color.
- No arguments. Displays the base URL where room images and props are served from.
- Lists all screen name aliases associated with the specified user's identity dimensions.
`votestart [seconds]— start a vote in your current room, optionally specifying duration.`votecancel— cancel the currently active vote.`votestatus— show the current vote tally.
- Creates a temporary member room you own. Requires the server's
memberroomsfeature to be enabled. - Manage your room with the
`r*commands below.
`tock— display the server's current local time.`reset— reset your own rate-limit counters.`plugins— list loaded server plugins and their descriptions.
- Displays the full URL to the server's browsable prop/media gallery, if the gallery feature is enabled.
- Available to all users. If the gallery is disabled the command says so.
Available to the owner of a member-created room. Use `newroom to create one.
`rpin <name>— prevent the specified user from changing rooms while in your member room.`runpin <name>— release the pin, allowing them to navigate again.
`rpropgag <name>— prevent the user from dropping or wearing props in your room.`runpropgag <name>— restore their prop access.
`rnolooseprops on— prevent anyone from dropping loose props on the room floor.`rnolooseprops off— allow loose props again.
`rnodupavatars on— block users from wearing an avatar costume already worn by someone else in the room.`rnodupavatars off— allow duplicate costumes.
- Shows all users who have been gagged, pinned, kicked, or prop-gagged in your member room.
Wizards / Operators Wizard+
Moderation tools. Requires operator (rank 1) or higher.
- A gagged user cannot send public room messages. They receive a notice when they try.
`ungag <user>— restore chat ability.
- Pinned users can still chat but cannot change rooms.
`unpin <user>— release the pin.
- Prop-gagged users cannot wear or change props until ungagged.
`namegag <name>— lock the user's current screen name; they cannot change it until released.`unnamegag <name>— release the name lock.
`pagegag <name>— the user can no longer send help-page requests to operators.`unpagegag <name>— restore paging ability.
`listgag <name>— the user is blocked from using`who,`list, and similar listing commands.`unlistgag <name>— restore listing access.
`kill <target>— disconnect and ban for the server's default death penalty duration.`killfor <minutes> <target>— disconnect and ban for a specific number of minutes.- Target can be a username,
reg:<hash>,puid:<hash>, oruuid:<id>.
`killx <user> [message]— disconnect the user and display an optional farewell message to the room. No ban is applied.`signoff <user>— force a user to disconnect immediately with no ban and no message.- Use
`kill/`killforwhen you want to apply a ban alongside the disconnect.
`ban <target>— permanently ban across all identity dimensions (name, puid, reg, uuid).`ban <target> <minutes>— ban for a fixed duration in minutes.`banip <IP>— ban a specific IP address, with optional CIDR range notation.`banip <CIDR> <minutes>— timed IP ban.`unban <id or key>— remove a ban by its ID or identity key. Get IDs from`banlist.
`banlist— display active bans with their IDs and expiry times.`purgebanlist— remove all expired (past-duration) bans from the list.
`extend <target> <minutes>— add or subtract minutes from an existing ban. Negative values reduce the ban.`comment <id> <text>— attach a freeform comment to a ban record for operator notes.
`list— show all users in current room with extended details (IP, puid, reg, flags).`glist— show all users on the entire server.- Flags:
-ddetails,-kkicked,-ooperators,-pprops,-uusers,-wwizards. - Pass a username to filter output to that user only.
`find <user>— report which room the named user is in.`gotouser <user>— navigate to that user's room.- Requires wizard (rank 1) or higher by default.
`goto <roomID>— navigate to a room by numeric ID.`er— jump to the room of the last user who paged you (emergency response).`repage <message>— send a private reply to the last user who paged you.
`roommaxocc <n>— set the maximum number of users allowed in this room.`roommaxguests <n>— cap how many guests can be in this room simultaneously.- Omit the argument to view the current limit.
- Clears the room floor of any dropped loose props and erases all paint strokes. No arguments.
- Useful for tidying up after events or when a room has been cluttered.
`move <user> <dx> <dy>— shift the user by a relative pixel offset from their current position. When whispered to a user, the username argument is inferred.`setpos <user> <x> <y>— teleport the user to exact pixel coordinates within the current room.`pinx <user> <x> <y>— pin the user at specific coordinates, preventing them from moving while held in place.
`give [<user>]— offer your current prop stack to another user in an offer/accept flow. The recipient sees the prop offer.`dress <user>— immediately copy your current prop stack onto another user without requiring acceptance. The user is dressed instantly.
- Causes the named user's avatar to display the specified chat bubble, as though they had typed it themselves.
- Useful for scripted demos, rehearsals, or guided tours. The target user sees the message attributed to them.
`userprefs <user>— display plugall-tracked statistics and flags for the named user (rate-limit counters, gag/pin/listgag state, etc.).`roomprefs— display the current room's plugall settings (loose-prop limit, dup-avatar flag, lockdown state, etc.).
`roommessage <text>(alias:`rmsg) — send a server announcement to everyone in your current room.`globalmessage <text>(alias:`gmsg) — send a server-wide announcement to all connected users.`rmsgand`gmsgare shorthand aliases for the respective commands above.
`autoannounce <text>— set the message broadcast to all users when a new user logs on.`autoannounce— show the current auto-announce message.`userlistorder alphabeticalorid— set the order users appear in room lists.`roomsay on/off— control whether users can send MSG_RMSG room messages.
`track <user>— notify you whenever the specified user logs on or changes rooms.`trackfor <minutes> <user>— track for a limited duration.`trackip <IP>— track all logons from an IP address or CIDR range.`untrack <user or IP>— stop tracking.
- Displays the country, region, and city associated with the user's IP address.
- Whisper the command to a user, or pass their name as an argument.
`dupipctl status— show current dup-IP limits and connection counts.`dupipctl limit <n>— set maximum connections from the same IP.`dupipctl reload— reload dup-IP configuration from disk.
`notifybannedusers on— wizards receive a private page whenever a banned user's connection is rejected at login (default).`notifybannedusers off— suppress these alerts.- Omit the argument to view the current status.
`analyticsor`analytics status— show analytics summary.`analytics top— top users and rooms by activity.`analytics user— per-user stats.`analytics room— per-room stats.`analytics geo— geographic distribution.`analytics peak— peak occupancy records.`analytics on/off— enable or disable analytics collection.`analytics flush— write analytics to disk immediately.`analytics reset— clear all collected analytics data.
`votesetup— configure interactive vote hotspots in your current room.`votedisable— remove all vote zones from the current room.
Gods God+
Server administration. Requires god (rank 2) or higher.
`shutdown— gracefully stop the server.`serverinfo— show running configuration summary.`reportprefs— display all current preference/setting values.
- Caps the total number of users that can be connected at once.
- Omit the argument to view the current limit.
`upgrade check— check for a newer version.`upgrade <delay>— schedule an upgrade after a delay (e.g.5m,1h).`upgrade status— show pending upgrade status.`upgrade cancel— cancel a scheduled upgrade.`upgrade rollback— roll back to the previous binary.`upgrade channel <name>— switch update channel (stable, beta, etc.).
- Passwords are stored as bcrypt hashes — never in plain text.
`wizpass disable— remove the wizard password requirement.
`nowhisper <rank>— only users at or above the specified rank can send in-room private whispers.off= no restriction.`noesp <rank>— only users at or above rank can send cross-room ESP whispers.`operatorsonly on— restrict the current room to operators only.
`memberrooms on— allow users to create member-owned rooms with`newroom.`customprops on— allow users to upload custom props to the server.
- Controls whether connections from known VPN or proxy IP ranges are allowed, challenged, or blocked.
- Use
`vpncontrolwithout arguments for built-in help.
`gatekeeper list— list gatekeeper-authenticated users.`gatekeeper bless <user>— grant a user gatekeeper access.`gatekeeper unbless <user>— revoke gatekeeper access.`gatekeeper setrank <user> <rank>— set a user's rank via gatekeeper.`gatekeeper lockdown— enable lockdown mode requiring gatekeeper auth for all logins.- Use
`gatekeeper helpfor full subcommand list.
`wordfilter list— show all active filter entries.`wordfilter add <word>— add a word to the filter list.`wordfilter remove <word>— remove a word from the filter list.`wordfilter test <phrase>— test whether a phrase would be filtered.`wordfilter action <action>— set what happens when a match is detected (warn, gag, kill, etc.).`wordfilter reload— reload filter lists from disk.
`propsafety warn <n>— warn after n prop uploads in the window.`propsafety block <n>— block uploads after n in the window.`propsafety duration <min>— set the rate-limit measurement window in minutes.
- Extended version of
`banlistshowing all ban record fields including reg, puid, uuid, and IP entries.
- Delivers the message as a private whisper to every connected user simultaneously. Unlike
`globalmessage, the text appears in each user's whisper/ESP channel rather than as a broadcast room message. - Requires god (rank 2) or higher by default.
`url <url>— set the server's public URL (shown in directory listings).`entrypage <url>— set the entry/welcome page URL.`roomsfile <path>— set the path to the rooms data file.- Omit the argument on any of these to view the current value.
`unicodename on— allow UTF-8 characters in display names (god+ by default).`roomenhancements on— enable xRom extended room descriptor support (god+ by default).- UTF-8 chat mode is controlled separately by
`unicode(architect+ by default — see Architects).
`passwordsecurity on— enforce stricter password-change security requirements.`poundcheckinterval <n>— set the registration check interval in seconds (1–5).
`pinprop on— Iptscrae/prop scripts can pin user avatars in place (default behaviour).`pinprop off— disable script-driven avatar pinning server-wide.- Omit the argument to view the current setting.
`palacepresents on— allow Palace Presents blowthru events (the live broadcast protocol used during auditorium-style presentations). This is the default.`palacepresents off— block Palace Presents blowthrus server-wide.`palacepresents query— show the current status.
`forward <roomID>— users who navigate to this room are silently redirected to the specified room ID.`forward off— remove the forward, restoring normal room entry.- Omit the argument to view the current forward setting.
- Shows all commands where
`setrankwas used to change the default rank requirement.
`geo login on— when a user connects, their country/city is broadcast to operators.`geo login off— disable login geo notifications.- Omit the argument to view the current state.
- Per-user geo lookups are available to wizards via
`geoip <user>.
- Requires the
notifyeventsextension to be enabled (`extension notifyevents on). `notifyevents— show current settings.- Events:
roommsg,painting,erasing,propdrop. - Modes:
everyonenotifies all users in the room;wizardsnotifies only operators;offdisables the notification for that event type.
Architects Architect+
Room management and deeper server configuration. Requires architect (rank 3) or higher.
`delete— delete the current room (or specify a room ID).`duplicate— create a copy of the current room.
- Adjusts the sort position of the current room in the room browser list. Pass a number to move by multiple positions.
`servername <name>— change the server's display name.`defaultroomocc <n>— set the default max occupancy for rooms that have no specific limit set.- Omit the argument on either to view the current value.
`defaultbg— show the current default background setting.`defaultbg <filename>— specify a file from the server's media folder (e.g.sunset.png) to use as the default for newly created rooms.`defaultbg reset— clear the override and revert to the server's built-in default background.
- Requires architect (rank 3) or higher by default (use
`setrank directoryto change). Preview and all subcommands use the same rank gate. `directory(no arguments) — preview JSON fields the server would publish, visitor stats, last announce status, and countdown to the next announce.`directory set <field> <value>— update one configurable field (value can be multiple words). Empty value clears the field where allowed.`directory interval N— set how often the server announces to the directory. Allowed range: 5–60 minutes. Use0to turn off timed announces (same effect as disabling the listing interval).`directory announce— push an immediate directory update (wizards/gods are paged with a system notice).`directory enabled on/off— enable listing (restores interval to last saved value, or 15 minutes if none) or disable by clearing the interval.
Configurable fields (with `directory set):
| Field | Purpose | Notes |
|---|---|---|
category | Audience / theme for the join screen and directory browse | Must be one of the server’s recognised categories (see list below). Typos are rejected with a hint. |
language | Primary language of the palace | Must match a supported language name (e.g. English, Spanish, French); the server normalises spelling. |
blurb | Short tagline | Shown on the join screen. |
description | Longer text | Shown on the directory detail view. |
website | Public web URL | If set, must start with http:// or https://. |
sysop | Operator or contact name | Displayed alongside the listing. |
address | Palace client connection string override | If set, must start with palace:// (e.g. palace://myserver.example.com:9998). Clear with an empty value to use the server’s auto address. |
Recognised category values (examples — use exact names the server accepts):
Everyone, Kids, PG, PG-13, Adults Only, BDSM, BDSM/Gor, Gor, Anime, Cartoons, Comics, Furry, Art & Creative, Pixel Art, Fantasy & RPG, Sci-Fi, Horror & Gothic, Historical, Slice of Life, Social, LGBTQ+, Support, Religious & Spiritual, Dating & Romance, Family, Gaming, Music, Movies & TV, Education, Tech, Sports, Pets, Photography
Preview-only fields (shown on `directory but supplied by the live server, not via set): server name, population, max population, provider, software version, visitors today/week, etc.
`authoring off— disable Iptscrae authoring.`authoring on <rank>— allow authoring for users at or above the specified rank.`paint on/off— enable or disable painting in all rooms.`spoof on/off— enable or disable name spoofing in scripts.
`blowthruscript on— allow Iptscrae/Lua scripts to send blowthru messages to other scripts (SIPT protocol). This is the default.`blowthruscript off— block all script-to-script blowthrus server-wide.- Omit the argument to view the current status.
`flushprops [days]— remove props from pserver.prp and HTTP media that have not been accessed in N days (defaults to`purgelimit). Props with ID below 100,000 are always kept. Props referenced by sources in`purgenotare always kept. The prop file is automatically sorted by ID after purging.`killprop— immediately remove all props you are currently wearing from the server's binary prop store (pserver.prp) and HTTP media shards. The prop file is saved afterward.
`propcontrol off— disable prop uploads.onor<rank>— restrict uploads to that rank or above.`purgelimit [days]— show or set the number of days before a prop is eligible for removal by`flushprops. 0 disables automatic purging. Default: 30. Persisted to serverprefs.json.`purgenot [looseprops,xrom,pat]— show or set which prop stores are scanned for in-use prop IDs that must be kept during`flushprops. Accepts a comma-separated list of:looseprops(room loose props),xrom(xRom scripts),pat(pserver.pat hotspot scripts). Default: all three. Persisted to serverprefs.json.`recycle <threshold>— set the guest ID recycling threshold.`propmode mixed|pchat|legacy— set the HTTP prop upload format mode.`propsecurity on/off— write prop file securely (atomic rename).
`propautopurge on— the server will automatically run`flushpropsonce per day, removing props older than the`purgelimitage threshold (default 30 days). This is the default.`propautopurge off— disable scheduled auto-purging; props will only be purged when you run`flushpropsmanually.- Omit the argument to view current status.
`paintlimit— show both current paint limits (strokes and bytes).`paintlimit strokes <N>— cap the total number of paint strokes stored per room.0= unlimited.`paintlimit bytes <N>— cap the total bytes of paint data stored per room.0= unlimited.- Default limits: 68,000 strokes, 2,448,000 bytes. Operators and above bypass these limits.
`looseproplimit [N]— show or set the maximum number of loose props allowed on any room floor (range 1–500). All operators are paged when either limit changes.
`flood <n>— set the flood protection threshold in events per second.offdisables it.`floodkill [minutes]— set how long (in minutes) a user is banned when flood protection triggers a kill. Set to0to disconnect without banning. Omit to view the current value.`poundprotect on— enable pound-sign (registration) protection against spoofed registrations.`strictprotocol on— reject clients that deviate from the Palace protocol specification.
`operatorkill on/off— allow or prevent operators from using`kill.`playerkill on/off— allow or prevent members from using`kill.`bots on/off— enable or disable cyborg script connections.
`antispam on/off— enable or disable the anti-spam system.- Use
`antispamwithout arguments or with a feature name for tunable options (rate limits, penalties, etc.).
`death— show the current default death penalty in minutes (used by`killwhen no duration is specified).`death <n>— set the default death penalty. Accepts suffixes:s,m,h,d.
`agecheck on/off— enable or disable age verification at login.`agecheck min <age>— set the minimum required age.`agecheck message— configure the age-check prompt message.`agecheck list— list users who have verified.`agecheck clear— clear the age verification list.
`chatlog on/off— enable or disable chat logging.`chatlog file <path>— set the log file path.`chatlog format <format>— set log output format.- Individual toggles:
talk,whisper,esp,page,room,events,cmds— enable/disable logging for each event type. `chatlog rotate— manually rotate the log file.
`backlog on/off— enable or disable backlog recording.`backlog retention <n>— set how many messages to retain per room.`backlog room <roomID>— view the backlog for a specific room.`backlog flush— clear all stored backlogs.`backlog status— show current backlog configuration.
`unicode on— allow UTF-8 text in chat (up to 250 runes vs 255-byte legacy limit).`unicode off— classic byte-oriented chat.- Requires architect (rank 3) or higher by default. Display names and xRom are separate commands (see Gods).
- Shows the site URL currently configured on the server. This URL is typically used as a link shown in the Palace client's connection dialog.
- To set the entry page URL use
`entrypage <url>(God rank — see Gods).
- Stored as bcrypt hash.
disableremoves the password requirement.
Owners Owner+
Ownership-level controls: permissions, extensions, and site authentication. Requires owner (rank 4) or higher.
`setrank <command> <rank>— change the minimum rank needed to use that command.`setrank <command>— view the current rank for that command.- Use
`showranksto see all overridden commands.
Rank numbers (same values the server echoes in parentheses after `setrank):
| # | Server name | Usually called |
|---|---|---|
| 0 | user | Guest / member (everyone) |
| 1 | wizard | Wizard / operator |
| 2 | god | God |
| 3 | architect | Architect |
| 4 | owner | Owner |
| 5 | host | Host (if in a server hosting environment) |
- When off, no one can log in as a wizard even with the correct password.
- Replaces the password hash for the tier with a random unusable value, so no one can log in at that rank until a new password is set (e.g. via the matching
`*passwordcommand). - Requires owner (rank 4) or higher by default.
- Stored as bcrypt hash.
disableremoves the password requirement.
- Stored as bcrypt hash.
disableremoves the password requirement. - Requires owner (rank 4) or higher by default.
`extension list— show all available server extensions and their status.`extension <name> on/off— enable or disable a specific extension.
`managementapi on/off— enable or disable the HTTP management API.`managementapi addkey <key>— add an API key for authenticated access.`managementapi delkey <key>— revoke an API key.`managementapi status— show API status and active keys.
`rules on/off— require or not require users to accept rules before entering.`rules add <text>— add a rule line.`rules list— show the current rules text.`rules accepted— list users who have accepted.`rules reset <user>— force a user to re-accept rules on next login.`rules resetall— require all users to re-accept.`rules timeout <seconds>— set how long a user has to accept rules.`rules killtime <seconds>— set how long before a non-accepting user is kicked.
`siteauth on/off— enable or disable external site authentication.`siteauth authurl <url>— set the authentication endpoint URL.`siteauth mode <mode>— set the authentication mode.`siteauth scope <scope>— set who must authenticate.`siteauth attempts <n>— max auth attempts before kick.`siteauth timeout <seconds>— auth timeout window.`siteauth status— show current configuration.`siteauth user <user>— show auth status for a specific user.
`mediagallery on— enable the/galleryHTTP page that lets visitors browse all uploaded props and images. This is on by default.`mediagallery off— disable the gallery page.- Omit the argument to view current status and the gallery URL.
- All users can view the gallery URL with
`mediagalleryurl.
`mediaupload— show your personal media upload URL.`mediaupload bless <user>— grant a connected user upload access by adding their identity to the bless list. Can also be used by whispering`mediaupload blessdirectly to the user.`mediaupload bless list— show all currently blessed users.`mediaupload unbless <N>— remove blessed entry #N (number from the bless list).`mediaupload blessrank— show the current minimum rank required to run bless/unbless subcommands.`mediauploadblessrank <rank>— set who can use bless/unbless:wiz(default),god,architect, orowner. Requires owner rank and is not setrankable.
- Requires the plugall extension to be enabled.
- Requires owner (rank 4) or higher by default (use
`setrank taketo change).
`emotes— show current emote status and permission settings.`emotes on/off— enable or disable custom emote support for clients that advertise emote capability.`emotes upload-permission <rank>— set the minimum rank that can upload custom emotes (member,wizard,god,architect, orowner).`emotes manage-permission <rank>— set the minimum rank that can manage (approve/remove) emotes. Cannot be set below wizard.- Requires owner (rank 4) or higher by default.
- Broadcasts a warning to all connected users, then re-launches the server process using the same binary and configuration. Equivalent to a process restart without requiring shell access.
- Requires owner (rank 4) or higher by default.
- To stop the server entirely, use
`shutdown(God+). To schedule a rolling upgrade restart, see`upgrade.
Hosts Host only
System-level superuser commands. Requires host (rank 5). These are typically reserved for the server hosting environment.
- Re-reads
/etc/passwd_palacewithout restarting the server.