Admin RPC Requests

These are additional RPC requests which an administrator might want to use. The idea is that a server (and its referees) would only accept these RPCs from a JID which (bare-)matched an "administrator JID", set at server startup time.

These are not part of the Volity spec. However, they will be required for an administrator to manage parlors hosted on volity.net. So the Perl and Python game libraries both support all of these RPCs.

Possible additions: admin.log_level, to change the logging level? Would have to have a rough correspondence between Perl and Python logging levels. Also a way for the web control panel to view logs.

Parlor RPCs

admin.status()
Return a struct of summary information.
online boolean
is the server online?
startup_time string
when was this parlor started?
startup_at string
how long ago was this parlor started?
last_new_table string
how long ago was a table started?
tables_running int
how many tables are currently open?
tables_started int
how many tables have been opened since the parlor began running?
admin.list_tables()
Return a list of referee JIDs.
admin.list_bots()
Return a list of bot JIDs from all the tables of this parlor.
admin.online(bool)
Set the server online or offline. When offline, the server rejects new_table requests (but allows existing games to continue).
admin.announce(string)
Have all referees send this message (as a groupchat) to their tables.
admin.shutdown()
Immediately shut down the parlor and all referees; end the parlor process.
admin.restart()
Immediately shut down the parlor and all referees, then relaunch the parlor process.
admin.graceful_shutdown()
Log out the parlor, but keep its active referees alive. Shut down the parlor process after all of its referees have met their natural ends.
admin.graceful_restart()
Log out the parlor, but keep its active referees alive. Launch a new server process, which will log in as the new active parlor. Shut down the original parlor process after all of its referees have met their natural ends. (This is a "graceful" restart, in the Apache sense.)

Referee RPCs

admin.status()
Return a struct of summary information.
agentstate string
process activity state ("running" is normal operation)
state string
the Volity referee state
players int
the number of players (including bots)
bots int
the number of bots
startup_time string
when this table was started
startup_at string
how long ago this table was started
last_activity_at string
how long ago there was any game activity
games_completed int
how many games have been completed at this table
admin.players()
Return a list of player JIDs at the table.
admin.bots()
Return a list of bot JIDs at this table.
admin.seats()
Return a struct of lists.
allseats
the IDs of all seats in the game configuration.
reqseats
the IDs of all required seats.
occupiedseats
the IDs of all occupied seats.
gameseats
the IDs of all seats involved in the current game. (Only present if a game is in progress.)
admin.seat(seatid)
Return a struct of details about a seat and who is sitting there.
id string
the seat ID.
required bool
whether this is a required seat.
ingame bool
whether this seat is involved in the current game.
players list
a list of the players currently in this seat.
history list
a list of the players who have sat in this seat at any time in the current game.
admin.announce(string)
Send this message (as a groupchat) to the table.
admin.shutdown()
Shut down the referee immediately.