Rules & Commands
Core rules
- Dual-client: up to 2 clients per player (a main plus a vendor/support). Multi-box armies are not allowed.
- Blocked: no-delay, bots, and third-party tools, enforced by Gepard Shield (two clients per machine, unique-ID bans, GRF encryption).
- Travel: the Cirrus Warper covers dungeon entrances and Town Warp to 23 towns plus the Midgard Expedition Camp (2,500z local, 4,000z far Midgard, 12,000z overseas). Butterfly Wings are town-only, and the Kafra Card opens storage (no teleport), so Priest Warp Portal stays relevant for the places the warper does not serve (deep dungeon floors, and your own memo points). Glast Heim's entrance can be memoed; interior dungeon floors cannot.
- Language: a profanity filter covers public chat (all channels, party, guild, clan), shop and chat-room titles, character, party and guild names, guild position titles and the guild notice, and pet and homunculus names, in English, Filipino, Malay and Indonesian. A message containing a blocked word is not sent, and only you see a red notice explaining why. Whispers are not filtered.
- Dead Branch summons despawn on their own after about an hour, so abandoned spawns never linger.
- Exploits: abusing bugs (including deliberately causing server lag or crashes) is a permanent ban. Found one? Report it to staff instead.
MVP & mini-boss rules
- MVPs and mini-bosses are Free For All. The strongest claim on a boss is damage. Kill-steal protection does not apply to boss monsters. Teleport-hunting with Fly Wings is allowed and always will be: it is core classic MVP play.
- Do not force a boss that another player is actively fighting to teleport (rude-attack abuse). Note that on CirrusRO your damage credit survives a boss teleport (bosses never regenerate), so this steals nothing; it only wastes everyone's time. Doing it anyway is punishable.
- Do not portal-park. Deliberately luring a boss onto a map portal, spawn point, or NPC and leaving it there to kill arriving players is punishable. This rule has no retaliation exception. (Bosses cannot be dragged to other maps on CirrusRO, and a boss that wanders near a portal on its own is not a violation; the rule targets deliberate parking.)
- Do not block map portals with Ice Wall or any other obstruction.
First offense: jail and a warning. Repeats: ban. Report with a screenshot showing the minimap. Server logs let staff verify what happened, and so do the graves: MVPs and rare mini bosses both leave one, naming who killed them and when.
Player commands
Every account can use these from day one. Type a command in the normal chat line.
Info
| Command | What it does |
|---|---|
@commands / @charcommands |
List every command you can use. |
@help |
Show help for the commands. |
@rates |
Show the server's EXP, drop, and other rates. |
@uptime |
How long the server has been running. |
@servertime |
The current server time (GMT+8). |
@showdelay |
Toggle the "there is a delay after this skill" pop-up. |
@exp |
Show your current base and job EXP progress. |
@showexp |
Toggle the floating EXP-gained numbers on each kill. |
@showzeny |
Toggle floating zeny-gained numbers. |
@mobinfo <name or id> |
Monster stats, element, size, race, and drop list. Example: @mobinfo poring. |
@iteminfo <name or id> |
Item details: type, weight, effect, NPC price. |
@whodrops <item> |
Which monsters drop an item, and at what rate. |
@whereis <monster> |
Which maps a monster spawns on. |
@hominfo |
Your homunculus's stats and intimacy. |
@homstats |
Your homunculus's stat growth per level. |
@jailtime |
Your remaining jail time (nothing if you are not jailed). |
@rested |
Check your banked Cirrus Rested EXP. |
@kc <MobID> |
Track how many of a monster you have killed; the total sticks between sessions. @kc last tracks the one you just killed, @kc lists your counts. See Kill Count and EXP Meter. |
@expmeter |
Your average Base and Job EXP per hour for the session. See Kill Count and EXP Meter. |
@kcauto |
Your lifetime kill total for the monster you just killed, no setup needed. @kcauto <MobID> for any monster. Counts account-wide and has been counting automatically since August 8, 2026. |
Quality-of-life
| Command | What it does |
|---|---|
@refresh |
Resync your character with the server (fixes a stuck screen or invisible players). |
@noask |
Auto-decline deal, party, guild, and friend requests. Type it again to turn off. |
@noks |
No-kill-steal: protect the monsters you are fighting from others. |
@autoloot [rate] |
Auto-pick-up drops. Optional rate (0 to 100) loots only items at or below that drop chance, e.g. @autoloot 10 for rares only. No number toggles all loot on or off. |
@alootid <item> |
Auto-loot only a specific item (or a short list). @alootid reset clears it. |
@autoloottype <type> |
Auto-loot a whole item category (healing, usable, etc.). @autoloottype with no type shows the list. |
@autotrade |
Keep your vending shop open after you log out (use it while vending). |
@langtype <n> |
Switch the language of some system messages. |
@request <message> |
Send a message to every GM who is online, from anywhere. Use it for help, a stuck character, or a bug report. Please do not spam it. |
@arealoot |
Toggle area loot on or off. While on, clicking one item on the ground also picks up everything in a 3x3 around the clicked item. The usual rules still apply: loot priority timers, weight, and inventory space. Blacksmiths keep the bigger vacuum, Greed still covers 5x5. |
Your command settings are saved
@autoloot, @alootid, @autoloottype, @arealoot, @noask, @noks, @showexp,
@showzeny, @showdelay and @langtype are remembered per account. They stay set
after you log out, and they apply to every character on that account, so you only need to
type them once.
Chat channels
| Command | What it does |
|---|---|
@join <#channel> |
Join a channel, e.g. @join #trade. |
@channel |
Manage channels: @channel list, @channel create, @channel bindto, @channel leave. See Chat channels below for the full how-to. |
Announcements
| Command | What it does |
|---|---|
@announce |
Show your announcement settings. |
@announce <category> |
Toggle one category of global broadcasts for yourself: mvp, card, steal, refine, welcome, enchant. Example: @announce mvp. |
@announce off / @announce on |
Hide or show all categories at once. Your choice is remembered between logins, and staff notices always come through. |
Client
Typed in the client itself (note the ! prefix, not @):
| Command | What it does |
|---|---|
!ping |
Show connection statistics (latency). |
!vsync |
Remove the 60 FPS cap. |
Note
Travel, storage, healing, and radar-style commands are intentionally left out to keep the classic feel, no free warps, no map-wide player radar, no self-heal.
Kill Count and EXP Meter
Three personal tracking tools, all free. @kc and @expmeter are per character; @kcauto
counts across your whole account.
Kill Count (@kc)
Pick which monsters you want to count. From then on, every one you kill is tallied, and the total sticks between sessions, so you can track a long grind (cards, MVP attempts, a quest turn-in) over days.
| Command | What it does |
|---|---|
@kc <MobID> |
Start counting a monster. Run it again on one you already track to just see its count. |
@kc last |
Start counting the monster you just killed (handy when you don't know its ID). |
@kc |
List every monster you track, with its total. |
@kc reset <id> / @kc reset all |
Set a count (or all of them) back to 0, keep tracking. |
@kc stop <id> |
Stop tracking one monster. |
@kc clear |
Stop tracking everything. |
@kc help |
Show the command list in-game. |
- Find a Monster ID with
@mobinfo <name>(for example@mobinfo poring). - You can track up to 20 monsters at once. Stop one to make room if you hit the cap.
- What counts: ordinary field and dungeon monsters. What never counts (the engine handles their deaths specially): monsters inside instances (Endless Tower, Sealed Shrine, Orc's Memory, Nidhoggur), the Bio Lab MVPs, the roaming summon copies of the Bio Lab 99s (their normal spawns DO count), the Niflheim Lord of Death invasion, and arena/event monsters.
- In a party, one player gets the count per kill - the same player who gets loot priority
(highest total damage), not whoever lands the killing blow.
@kcautodoes count the monsters in that list, so use it for instance and Bio Lab kills.
Lifetime Kills (@kcauto)
@kc only counts from the moment you switch it on, which is no help once you have already been
farming something for a week. @kcauto answers the other question, "how many of these have I
ever killed?", with no setup at all.
| Command | What it does |
|---|---|
@kcauto |
Lifetime total for the monster you just killed. |
@kcauto <MobID> |
Lifetime total for any monster, by ID. |
- Always on, nothing to start. Every kill has been counted automatically since August 8, 2026. Kills before that date are not in the total.
- Account-wide: every character you own adds to the same number. (
@kcis per character.) - The total includes what you have killed this session, not just up to your last logout.
- Bare
@kcautoonly works once you have killed something since logging in; it forgets the last monster when you log out. Use@kcauto <MobID>otherwise, with@mobinfo <name>for the ID. - It counts what
@kccannot: instance monsters, the Bio Lab MVPs and other scripted bosses all land here, because this counter sits deeper in the engine than@kcdoes. - Same credit rule: in a party the kill goes to the player with the highest total damage, not the killing blow.
- What never counts: monsters removed by a script or a GM command instead of being killed, WoE barricades, and Training Dummy clones.
EXP Meter (@expmeter)
Shows your average Base and Job EXP per hour for the current session, so you can compare farming spots or gear without a stopwatch and a spreadsheet.
| Command | What it does |
|---|---|
@expmeter |
Start measuring, or, if it's already running, show your EXP per hour. |
@expmeter reset |
Restart the clock from now (use it when you move to a new spot). |
@expmeter stop |
Stop measuring. |
@expmeter help |
Show the command list in-game. |
- Give it about a minute of farming before the first reading, so the rate is steady.
- It counts all EXP: kills, quests, EXP manuals and your Rested EXP bonus.
- Each line shows your EXP per hour, how far into the current level you are, and a rough time to the next level at that pace. If you gain two or more levels inside one measurement, the number is marked approximate.
- The meter measures one play session only. Logging out stops it and clears the clock, so start it
again when you come back. (Your
@kccounts, by contrast, are saved per character.)
Chat channels
Talk beyond your local map with server-wide channels. Join one and its messages appear in your chat
window with a colored tag like [Global].
| Channel | For |
|---|---|
#global |
Server-wide chat, say hi, ask around, find people. |
#support |
New-player questions. Staff and veterans help out here. |
#trade |
Buying and selling. Keep shop chatter here, out of main chat. |
#party |
Looking for a party, or recruiting members. |
#ally |
Your guild's alliance chat (automatic once guilds ally). |
#map |
Everyone on the map you're standing on. |
You're placed in #global, #support, #trade and #party automatically.
Leave any of them, and we remember. Not interested in a channel? @channel leave #global (or any
of the four automatic channels) now works, and your choice sticks across logins, you will not be
re-added the next time you log in. Changed your mind? @join #global puts you back, and you stay in
from then on until you leave again. (#map and #ally follow your map and guild as usual.)
Using them
| To do this | How |
|---|---|
| Join a channel | type @join #global |
| Talk in it | open the whisper (PM) box, set the recipient to the channel name (e.g. #global), and type your message there. Typing #global ... in the normal chat line does not work. |
| Talk without the whisper box each time | type @channel bindto #global, then just type normally, everything you say goes to that channel. Use @channel unbind to return to local chat. |
| See all channels | @channel list |
| Make your own private channel | @channel create #myteam mypassword |
| Leave a channel (remembered) | @channel leave #global, works on any channel; your choice persists across logins until you @join it again |
Tip
There's a 1-second gap between channel messages to keep them readable. Please use #trade for
trading and #support for questions, it keeps both genuinely useful.