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.