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.
- getLogLen
-
Fetch length of log
@return Number of entries in log
- getUsers
-
Fetch all users.
- getChannels
-
Fetch all channels.
- getCertificateList
-
Fetch certificate of user.
- 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.
- effectivePermissions
-
Return users effective permissions
@param session Connection ID of user.
- 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 a user texture (now called avatar).
- getUptime
-
Get virtual server uptime.
Operations
Shows if the server currently running (accepting users).
Return Value
Run-state of server.
Start server.
Stop server.
Note: Server will be restarted on Murmur restart unless explicitly disabled
with setConf("boot", false)
Delete server and all it's configuration.
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.
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) throws InvalidSecretException
Set a configuration item.
Parameters
- key
-
Configuration key.
- value
-
Configuration value.
Set superuser password. This is just a convenience for using updateRegistration on user id 0.
Parameters
- pw
-
Password.
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 length of log
Return Value
Number of entries in log
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 certificate of user. This returns the complete certificate chain of a user.
Parameters
- session
-
Connection ID of user. See User::session.
Return Value
Certificate list of user.
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.
Return users effective permissions
Parameters
- session
-
Connection ID of user. See User::session.
- channelid
-
ID of Channel. See Channel::id.
Return Value
bitfield of allowed actions
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".
To remove a redirect pass an empty target string. 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.
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 a user texture (now called avatar).
Parameters
- userid
-
ID of registered user. See RegisteredUser::userid.
- tex
-
Texture (as a Byte-Array) to set for the user, or an empty texture to remove the existing texture.
Get virtual server uptime.
Return Value
Uptime of the virtual server in seconds