Server Bot Guide
Ratbot & Roombot
Note: Ratbot and Roombot are simulated Palace users injected by the server (no TCP connection). Operator backtick commands are documented in detail in the Server Command Reference. This page focuses on how each bot behaves and what you type in-room versus at the prompt.
Prefixes
- Backtick (
`) commands — wizard or member commands typed as`command …(see the command reference). - Room chat — normal public lines everyone sees; bots observe these without blocking your message.
- Whispers — client private messages to another user ID; wizards may use avatar
`give; anyone can use roombot tells.
Quick comparison
| Ratbot | Roombot | |
|---|---|---|
| Purpose | Trivia game (Triviabot) or Wheel of Fortune. | Persistent companion: greets, optional weather/dice/karma/tells, etc. |
| Who enables | Wizards toggle per-room permission `ratbotsallowed; any member may run `ratbot on when allowed. | Wizards only (`roombot). |
| Persistence | On/off and mode reset on server restart; ratbotsallowed and global ratbot avatar are saved in serverprefs.json. | Active rooms, settings, karma, tells, seen list, and chat stats (stats) persist across restarts in roombotprefs.json (per-room keyed). |
| Shut down | Activator or wizard turns off; auto-off if activator leaves and no trivia players remain. | Wizard turns off; stays up when the room empties. |
Ratbot Member + wizard
Ratbot appears as either Triviabot (trivia mode) or Ratbot (Wheel of Fortune). It broadcasts greetings when people enter, runs its game mode in room chat, and uses the same fake-user machinery as other palace bots.
`ratbotsallowed on | off
Wizard: allow or forbid ratbot in this room (persisted)
- Must be used while standing in the target room.
- Members cannot use
`ratbot onuntil the room is allowed. - Turning off saves the restriction and, if ratbot is running, attempts to shut it down (wizard may force-off).
`ratbot …
Control ratbot in your current room
`ratbot— status: active or not, current mode, whether ratbots are allowed here, and usage line.`ratbot on— spawn the bot (requiresratbotsallowed). You become the activator; only you or a wizard can`ratbot off.`ratbot off— remove the bot (activator or wizard).`ratbot mode triviaor`ratbot mode wof— switch between Triviabot and Wheel of Fortune. Aliases:triviabot,wheel,wheeloffortune. If ratbot is already active, it re-announces with the new name and restarts the appropriate game engine.`ratbot triviafile list— list.dbfiles under the server’sratbot/data directory with question counts.`ratbot triviafile <filename>— pick the trivia database for this room (e.g.general.db). Blocked while a trivia game is in progress. If Triviabot is on but idle, the next game reloads immediately.
# Wizard allows games, member starts trivia bot
`ratbotsallowed on
`ratbot on
# Switch to Wheel of Fortune
`ratbot mode wof
Whisper `give — ratbot avatar
Wizards only: copy your prop stack onto the active ratbot (global, persisted)
- Same mechanism as giving to roombot: whisper the bot (target its fake ID) with
`give(wizard-only; see command reference). - Saved as the global ratbot avatar in
serverprefs.json; reapplied whenever ratbot starts in any room.
Behaviour
- Proximity flee: if you walk within about 200 pixels of the bot, it jumps to another spot inside the room walk bounds (derived from the room background image when possible).
- New users: the bot sends
MSG_USERNEWto arrivals and broadcasts a short greeting. In trivia mode it also sends a hint line about typingplayorjoin.
Triviabot — room chat
Plain text; not backtick commands
- Join / leave:
playorjointo enter;outorstopto leave (works in any phase). - Flow: idle → waiting (30 s start countdown) → rounds of multiple-choice questions (answer with
A,B,C, orD) → bonus round with numeric bets then one more A–D answer. - Scoring: early correct answers rank for bonus points; wrong answers cost points. Bonus wins/losses depend on your bet.
- Trivia files are classic Palace TriviaDB text (questions start with
Q.; choices afterA.–D.; correct choice marked with*). - Default file if none set:
general.dbunderratbot/. - If the activator disconnects and no joined players remain, the bot may auto-shutdown.
Wheel of Fortune — room chat
Say keywords; current player picks letters
- Type
helpfor a short keyword list whispered back:spin,vowel,solve,play,out,recap,money, etc. play/joinandstop/outtoggle whether you are in the rotation.- On your turn:
spinthe wheel, buy avowel($250), guess consonants,pass, orsolve(then type the phrase). Single letters are interpreted in context as consonant or vowel guesses. money/recapshow scores. Puzzles load fromratbot/wof_puzzles.jsonon the server.- WOF observes the same chat hook as trivia; replies may be delayed slightly so they order after your line.
Roombot Wizard
Default display name RoomBot (customizable). Stays configured per room through restarts. When active, users in the room see the bot as a normal avatar (ID 30000 + room ID).
`roombot …
Wizard-only configuration (current room)
`roombot— show state, toggles, position, colorscroll, and full usage.`roombot on/`roombot off— activate or deactivate (farewell line, then removal when off).`roombot name <name>— set label (max 31 characters); re-announces if active.`roombot say <message>— bot speaks in public chat (requires active bot; message length capped for protocol).`roombot greet on/off— public entry greetings.`roombot greetprivate <message>— encrypted private greet (MSG_XWHISPER) ~6 seconds after sign-in to the mansion, first room only; use%sfor the user’s name.`roombot greetprivate disableclears it.`roombot weather enable/disable— allowweather <ZIP>in chat (5–6 digit US-style codes; server fetches from wttr.in).`roombot insult enable/disable— allowinsult <name>lines (playful randomized lines).`roombot gaming enable/disable— dice and playing-card draws in chat.`roombot colorscroll— cycle avatar color every 30 s while on.`roombot colorscroll <secs>sets step delay (clamped; very fast cycles may not write every step to disk).`roombot colorscroll offstops it.`roombot move <x> <y>— set position (integers); broadcasts move if active.`roombot stats/`roombot stats <user>— post room activity summary publicly, or whisper a per-user card (same as thestatschat triggers).
# Typical setup
`roombot on
`roombot name Welcome Wagon
`roombot greet on
`roombot weather enable
`roombot gaming enable
Public & private greetings
Timing and “seen” logic
- Last-seen is tracked globally (normalized nickname). Every room entry updates it after the bot decides what to say.
- First room after you sign in to the server: if greet is on, after about 1–2 s the bot picks a random welcome, or “welcome back” / long-absence text based on whether you were seen within 24 hours or longer ago.
- Later rooms on the same session: if greet is on, after ~2–3 s it may say a shorter welcome-back (again based on 24 h / long absence).
- Greetprivate only fires on the first room after sign-on (unless you reject private messages).
- Tells queued for you are delivered when you reach your first room after connecting (see below).
Room chat triggers
When roombot is active in your room
- Karma (always on):
topic++,topic--,karma topic— topic names normalized; scores persist per room. - Seen list: the word
seenalone (leading`stripped) causes the bot to whisper your last-seen report privately. - Stats:
statsprivately whispers you a 6–10 line summary of room activity (most active this week/month, longest messages, streaks, peak hour, peak occupancy, longest silence, unique chatters, most common greeting) so the command never spams the room.stats <user>whispers a per-user card. Whisperingstatsto another user in the same room is intercepted by roombot: the whisper is not delivered, and you are privately whispered back with that user's stats card (usestats <other>to override the subject). Guest sessions are excluded from the counts; writes are debounced (30 s) and flushed on roombot-off or server shutdown. - Weather (if enabled): line starts with
weatherfollowed by exactly 5–6 digits (ZIP). - Insult (if enabled):
insult SomeName— bot roasts the name in public chat. - Gaming (if enabled):
drawcard,draw card,draw a card, orroll …dice such asroll d20,roll 2d6,roll a d100(up to 100 dice). - Easter eggs: asking who built the bot, or complimenting it, produces a canned reply.
# Examples (features must be enabled where noted)
palace++
karma palace
weather 94102
roll 3d6
seen
stats
stats alice
Whisper to Roombot
Tell relay, same mini-games
- Tell relay: whisper
tell <nickname> <message>. The target must appear in the bot’s seen database. Multi-word names resolve by longest match against seen users. Delivery is whispered when the recipient next connects and enters their first room. tell off/tell on— opt out or back in to receiving tells (persisted).- Karma, weather, insult, dice, drawcard work from whispers the same way as public chat when those features apply.
- Avatar: whisper
`giveto roombot (while active) to copy your props onto it; persists for that roombot — wizard only.
See also
- Server Command Reference — full
`command list - Server overview