Commands
Players, chat and mail
modules/players.yml and modules/chat.yml
Private messages#
| Command | Permission |
|---|---|
/msg <player> <message> |
chorus.chat.msg |
/reply <message> |
chorus.chat.reply |
/rtoggle |
chorus.chat.reply |
/msgtoggle |
chorus.chat.toggle |
/ignore <player|list> |
chorus.chat.ignore |
/socialspy |
chorus.chat.spy |
/reply answers whoever you last spoke to, in either direction.
/rtoggle chooses which end of a conversation /reply answers. It only matters when one is
interrupted: you write to Anna, Ben writes to you, and /r has to pick.
Message text reaches chat as plain text, so a player cannot smuggle colour codes or formatting into somebody else's screen.
Turning messages off#
/msgtoggle turns private messages off entirely. /ignore <player> turns off one person and
remembers it between sessions; /ignore list shows who.
Either way the sender is told the same thing — that the player is not taking messages — so being ignored is never announced.
chorus.chat.ignore.bypass reaches anybody regardless.
Social spy#
chat:
spy-enabled: true/socialspy shows staff a copy of everybody else's private messages. spy-enabled: false
stops it working for everyone, permission or not.
Mail#
| Command | Permission |
|---|---|
/mail read |
chorus.mail.use |
/mail send <player> <message> |
chorus.mail.send |
/mail sendall <message> |
chorus.mail.all |
/mail clear |
chorus.mail.use |
Letters for players who were not online to hear it said. Whoever they are for is told how much is waiting the next time they log in, and reading marks the whole inbox as seen.
/mail read <player> needs chorus.mail.read.others and leaves the inbox unread, because
staff looking into a complaint should not change what the player is about to see.
mail:
keep-days: 60
inbox-size: 50
page-size: 8
max-length: 256| Key | What it does |
|---|---|
keep-days |
Letters older than this are dropped at startup. 0 keeps them for ever. |
inbox-size |
The most one player may have waiting. A sender is told when the inbox is full rather than having the letter quietly dropped. |
page-size |
How many one page shows. Maximum 20. |
max-length |
Anything past this is cut off. |
There is a [Mail] service sign too — see
Utility, signs and powertools.
Players#
| Command | Permission |
|---|---|
/afk [reason] |
chorus.players.afk |
/seen <player> |
chorus.players.seen |
/playtime [player] |
chorus.players.playtime |
/whois <player> |
chorus.players.whois |
/list |
chorus.players.list |
/nick [player] <name|off> |
chorus.players.nick |
/realname <nickname> |
chorus.players.realname |
/ptime <day|night|reset> [player] |
chorus.players.ptime |
/pweather <clear|rain|reset> [player] |
chorus.players.pweather |
Away#
players:
auto-afk-minutes: 5
kick-after-minutes: 0
broadcast: true| Key | What it does |
|---|---|
auto-afk-minutes |
Minutes of standing still before a player is marked away on their own. 0 leaves /afk as the only way in. |
kick-after-minutes |
Minutes away before an away player is disconnected. 0 never kicks anyone. |
broadcast |
Tells everyone else when somebody goes away or comes back. |
Nicknames#
players:
max-nick-length: 16Counted in letters rather than colour codes.
/nick <name> renames yourself, /nick off puts it back. /nick <player> <name> needs
chorus.players.nick.others, and colour codes need chorus.players.nick.colour.
/realname <nickname> finds the username behind one.
Looking players up#
/seen shows when a player was last online. chorus.players.seen.address adds the address and
any accounts sharing it.
/whois shows everything known about a player. chorus.players.whois.ip adds the address.
/playtime on somebody else needs chorus.players.playtime.others.
GeoIP#
players:
geoip:
enabled: false
endpoint: 'https://ipapi.co/%address%/country_name/'Adds the country to /whois, for whoever holds chorus.players.whois.country.
There is no country in a player's connection. The only way to know is to ask a service outside this server, which means sending that player's address to it. That is a real decision, so it is off until you turn it on. Answers are kept until the next restart.
Personal time and weather#
/ptime and /pweather change what one player alone sees. On somebody else they need
.others.
Config reference#
# modules/players.yml
enabled: true
players:
auto-afk-minutes: 5
kick-after-minutes: 0
broadcast: true
max-nick-length: 16
geoip:
enabled: false
endpoint: 'https://ipapi.co/%address%/country_name/'
commands:
defaults: ...
afk: ...
seen: ...
playtime: ...
whois: ...
list: ...
nick: ...
realname: ...
ptime: ...
pweather: ...# modules/chat.yml
enabled: true
chat:
spy-enabled: true
mail:
keep-days: 60
inbox-size: 50
page-size: 8
max-length: 256
commands:
defaults: ...
msg: ...
reply: ...
socialspy: ...
msgtoggle: ...
ignore: ...
mail: ...
rtoggle: ...Permissions#
| Permission | Effect |
|---|---|
chorus.chat.msg |
/msg |
chorus.chat.reply |
/reply and /rtoggle |
chorus.chat.toggle |
/msgtoggle |
chorus.chat.ignore |
/ignore |
chorus.chat.ignore.bypass |
Messages from this player are never ignored |
chorus.chat.spy |
/socialspy and receiving the copies |
chorus.mail.use |
/mail |
chorus.mail.send |
Sending mail |
chorus.mail.all |
/mail sendall |
chorus.mail.read.others |
Reading another player's mail |
chorus.players.afk |
/afk |
chorus.players.seen |
/seen |
chorus.players.seen.address |
Adds the address and shared accounts |
chorus.players.playtime |
/playtime |
chorus.players.playtime.others |
On another player |
chorus.players.whois |
/whois |
chorus.players.whois.ip |
Adds the address |
chorus.players.whois.country |
Adds the country, when GeoIP is on |
chorus.players.list |
/list |
chorus.players.nick |
/nick |
chorus.players.nick.others |
Renaming another player |
chorus.players.nick.colour |
Colour codes in a nickname |
chorus.players.realname |
/realname |
chorus.players.ptime / .others |
/ptime |
chorus.players.pweather / .others |
/pweather |
