Murmur::Server
Overview
[ "amd" ]
interface Server
Per-server interface. This includes all methods for configuring and altering
the state of a single virtual server. You can retrieve a pointer to this interface
from one of the methods in Meta.
Operation Index
- isRunning
-
Shows if the server currently running (accepting users).
- start
-
Start server.
- stop
-
Stop server.
- delete
-
Delete server and all it's configuration.
- id
-
Fetch the server id.
- addCallback
-
Add a callback.
- removeCallback
-
Remove a callback.
- setAuthenticator
-
Set external authenticator.
- getConf
-
Retrieve configuration item.
- getAllConf
-
Retrieve all configuration items.
- setConf
-
Set a configuration item.
- setSuperuserPassword
-
Set superuser password.
- getLog
-
Fetch log entries.
- getUsers
-
Fetch all users.
- getChannels
-
Fetch all channels.
- getTree
-
Fetch all channels and connected users as a tree.
- getBans
-
Fetch all current IP bans on the server.
- setBans
-
Set all current IP bans on the server.
- kickUser
-
Kick a user.
- getState
-
Get state of a single connected user.
- setState
-
Set user state.
- sendMessage
-
Send text message to a single user.
- hasPermission
-
Check if user is permitted to perform action.
- addContextCallback
-
Add a context callback.
- removeContextCallback
-
Remove a callback.
- getChannelState
-
Get state of single channel.
- setChannelState
-
Set state of a single channel.
- removeChannel
-
Remove a channel and all its subchannels.
- addChannel
-
Add a new channel.
- sendMessageChannel
-
Send text message to channel or a tree of channels.
- getACL
-
Retrieve ACLs and Groups on a channel.
- setACL
-
Set ACLs and Groups on a channel.
- addUserToGroup
-
Temporarily add a user to a group on a channel.
- removeUserFromGroup
-
Remove a user from a temporary group membership on a channel.
- redirectWhisperGroup
-
Redirect whisper targets for user.
- getUserNames
-
Map a list of User::userid to a matching name.
- getUserIds
-
Map a list of user names to a matching id.
- registerUser
-
Register a new user.
- unregisterUser
-
Remove a user registration.
- updateRegistration
-
Update the registration for a user.
- getRegistration
-
Fetch registration for a single user.
- getRegisteredUsers
-
Fetch a group of registered users.
- verifyPassword
-
Verify the password of a user.
- getTexture
-
Fetch user texture.
- setTexture
-
Set user texture.
Operations
bool isRunning()
Shows if the server currently running (accepting users).
Return Value
Run-state of server.
Start server.
Stop server.
Delete server and all it's configuration.
int id()
Fetch the server id.
Return Value
Unique server id.
Add a callback. The callback will receive notifications about changes to users and channels.
Parameters
- cb
-
Callback interface which will receive notifications.
See Also
- removeCallback
Remove a callback.
Parameters
- cb
-
Callback interface to be removed.
See Also
- addCallback
Set external authenticator. If set, all authentications from clients are forwarded to this
proxy.
Parameters
- auth
-
Authenticator object to perform subsequent authentications.
string getConf(string key)
Retrieve configuration item.
Parameters
- key
-
Configuration key.
Return Value
Configuration value. If this is empty, see Meta::getDefaultConf
Retrieve all configuration items.
Return Value
All configured values. If a value isn't set here, the value from Meta::getDefaultConf is used.
void setConf(string key, string value)
Set a configuration item.
Parameters
- key
-
Configuration key.
- value
-
Configuration value.
void setSuperuserPassword(string pw)
Set superuser password. This is just a convenience for using updateRegistration on user id 0.
Parameters
- pw
-
Password.
LogList getLog(int first, int last)
Fetch log entries.
Parameters
- first
-
Lowest numbered entry to fetch. 0 is the most recent item.
- last
-
Last entry to fetch.
Return Value
List of log entries.
Fetch all users. This returns all currently connected users on the server.
Return Value
List of connected users.
See Also
- getState
Fetch all channels. This returns all defined channels on the server. The root channel is always channel 0.
Return Value
List of defined channels.
See Also
- getChannelState
Fetch all channels and connected users as a tree. This retrieves an easy-to-use representation of the server
as a tree. This is primarily used for viewing the state of the server on a webpage.
Return Value
Recursive tree of all channels and connected users.
Fetch all current IP bans on the server.
Return Value
List of bans.
Set all current IP bans on the server. This will replace any bans already present, so if you want to add a ban, be sure to call getBans and then
append to the returned list before calling this method.
Parameters
- bans
-
List of bans.
Kick a user. The user is not banned, and is free to rejoin the server.
Parameters
- session
-
Connection ID of user. See User::session.
- reason
-
Text message to show when user is kicked.
Get state of a single connected user.
Parameters
- session
-
Connection ID of user. See User::session.
Return Value
State of connected user.
See Also
- setState
- getUsers
Set user state. You can use this to move, mute and deafen users.
Parameters
- state
-
User state to set.
See Also
- getState
Send text message to a single user.
Parameters
- session
-
Connection ID of user. See User::session.
- text
-
Message to send.
See Also
- sendMessageChannel
Check if user is permitted to perform action.
Parameters
- session
-
Connection ID of user. See User::session.
- channelid
-
ID of Channel. See Channel::id.
- perm
-
Permission bits to check.
Return Value
true if any of the permissions in perm were set for the user.
Add a context callback. This is done per user, and will add a context menu action for the user.
Parameters
- session
-
Session of user which should receive context entry.
- action
-
Action string, a unique name to associate with the action.
- text
-
Name of action shown to user.
- cb
-
Callback interface which will receive notifications.
- ctx
-
Context this should be used in. Needs to be one or a combination of ContextServer, ContextChannel and ContextUser.
See Also
- removeContextCallback
Remove a callback.
Parameters
- cb
-
Callback interface to be removed. This callback will be removed from all from all users.
See Also
- addContextCallback
Get state of single channel.
Parameters
- channelid
-
ID of Channel. See Channel::id.
Return Value
State of channel.
See Also
- setChannelState
- getChannels
Set state of a single channel. You can use this to move or relink channels.
Parameters
- state
-
Channel state to set.
See Also
- getChannelState
Remove a channel and all its subchannels.
Parameters
- channelid
-
ID of Channel. See Channel::id.
Add a new channel.
Parameters
- name
-
Name of new channel.
- parent
-
Channel ID of parent channel. See Channel::id.
Return Value
ID of newly created channel.
Send text message to channel or a tree of channels.
Parameters
- channelid
-
Channel ID of channel to send to. See Channel::id.
- tree
-
If true, the message will be sent to the channel and all its subchannels.
- text
-
Message to send.
See Also
- sendMessage
Retrieve ACLs and Groups on a channel.
Parameters
- channelid
-
Channel ID of channel to fetch from. See Channel::id.
- acls
-
List of ACLs on the channel. This will include inherited ACLs.
- groups
-
List of groups on the channel. This will include inherited groups.
- inherit
-
Does this channel inherit ACLs from the parent channel?
Set ACLs and Groups on a channel. Note that this will replace all existing ACLs and groups on the channel.
Parameters
- channelid
-
Channel ID of channel to fetch from. See Channel::id.
- acls
-
List of ACLs on the channel.
- groups
-
List of groups on the channel.
- inherit
-
Should this channel inherit ACLs from the parent channel?
Temporarily add a user to a group on a channel. This state is not saved, and is intended for temporary memberships.
Parameters
- channelid
-
Channel ID of channel to add to. See Channel::id.
- session
-
Connection ID of user. See User::session.
- group
-
Group name to add to.
Remove a user from a temporary group membership on a channel. This state is not saved, and is intended for temporary memberships.
Parameters
- channelid
-
Channel ID of channel to add to. See Channel::id.
- session
-
Connection ID of user. See User::session.
- group
-
Group name to remove from.
Redirect whisper targets for user. If set, whenever a user tries to whisper to group "source", the whisper will be redirected to group "target".
This is intended for context groups.
Parameters
- session
-
Connection ID of user. See User::session.
- source
-
Group name to redirect from.
- target
-
Group name to redirect to.
Map a list of User::userid to a matching name.
Parameters
- List
-
of ids.
Return Value
Matching list of names, with an empty string representing invalid or unknown ids.
Map a list of user names to a matching id.
@reuturn List of matching ids, with -1 representing invalid or unknown user names.
Parameters
- List
-
of names.
Register a new user.
Parameters
- info
-
Information about new user. Must include at least "name".
Return Value
The ID of the user. See RegisteredUser::userid.
Remove a user registration.
Parameters
- userid
-
ID of registered user. See RegisteredUser::userid.
Update the registration for a user. You can use this to set the email or password of a user,
and can also use it to change the user's name.
Parameters
- registration
-
Updated registration record.
Fetch registration for a single user.
Parameters
- userid
-
ID of registered user. See RegisteredUser::userid.
Return Value
Registration record.
Fetch a group of registered users.
Parameters
- filter
-
Substring of user name. If blank, will retrieve all registered users.
Return Value
List of registration records.
int verifyPassword(string name, string pw) throws ServerBootedException
Verify the password of a user. You can use this to verify a user's credentials.
Parameters
- name
-
User name. See RegisteredUser::name.
- pw
-
User password.
Return Value
User ID of registered user (See RegisteredUser::userid), -1 for failed authentication or -2 for unknown usernames.
Fetch user texture. Textures are stored as zlib compress()ed 600x60 32-bit BGRA data.
Parameters
- userid
-
ID of registered user. See RegisteredUser::userid.
Return Value
Custom texture associated with user or an empty texture.
Set user texture. The texture is a 600x60 32-bit BGRA raw texture, optionally zlib compress()ed.
Parameters
- userid
-
ID of registered user. See RegisteredUser::userid.
- tex
-
Texture to set for the user, or an empty texture to remove the existing texture.