From db4d75198fe68eaa8016d8ede3614e8deb8ccc55 Mon Sep 17 00:00:00 2001 From: Jan Klass Date: Sun, 27 Oct 2019 20:25:12 +0100 Subject: [PATCH] Slice: Add generated slice HTML documentation 1.2.0, 1.2.7, 1.3.0 Up to now we host our slice documentation on http://mumble.sourceforge.net/slice/. However, having this additional host and service separately makes no sense other than for historic reasons; keeping the old URLs in tact. With more documentation moving to the website, it makes sense to integrate the slice documentation into the website as well. 1.2.19 still has the same slice definition as 1.2.7, so no generating necessary for that. The old site on mumble.sf.net also hosts the generated HTML for 1.2.0, 1.2.7 and (snapshot) 1.3.0. The 1.3.0 content added here is definitely of stable version 1.3.0. Fixes #60 This documentation is generated with slice2html from Ice 3.6. Ice 3.7 no longer provides this binary, and instead refers to doxygen which generates complexer HTML. This means we will have to evaluate and decide on how we want to handle this in the future. See #75. --- .../documentation/slice/1.2.0/Murmur.ice | 764 +++++++++++++++ .../slice/1.2.0/html/Murmur.html | 703 ++++++++++++++ .../slice/1.2.0/html/Murmur/ACL.html | 125 +++ .../slice/1.2.0/html/Murmur/Ban.html | 125 +++ .../slice/1.2.0/html/Murmur/Channel.html | 132 +++ .../slice/1.2.0/html/Murmur/ChannelInfo.html | 64 ++ .../slice/1.2.0/html/Murmur/Group.html | 125 +++ .../html/Murmur/InvalidCallbackException.html | 71 ++ .../html/Murmur/InvalidChannelException.html | 75 ++ .../html/Murmur/InvalidServerException.html | 61 ++ .../html/Murmur/InvalidSessionException.html | 72 ++ .../html/Murmur/InvalidTextureException.html | 65 ++ .../html/Murmur/InvalidUserException.html | 70 ++ .../slice/1.2.0/html/Murmur/LogEntry.html | 85 ++ .../slice/1.2.0/html/Murmur/Meta.html | 159 ++++ .../slice/1.2.0/html/Murmur/MetaCallback.html | 98 ++ .../1.2.0/html/Murmur/MurmurException.html | 68 ++ .../slice/1.2.0/html/Murmur/Server.html | 722 ++++++++++++++ .../html/Murmur/ServerAuthenticator.html | 172 ++++ .../html/Murmur/ServerBootedException.html | 102 ++ .../1.2.0/html/Murmur/ServerCallback.html | 147 +++ .../html/Murmur/ServerContextCallback.html | 87 ++ .../html/Murmur/ServerFailureException.html | 65 ++ .../Murmur/ServerUpdatingAuthenticator.html | 144 +++ .../slice/1.2.0/html/Murmur/Tree.html | 86 ++ .../slice/1.2.0/html/Murmur/User.html | 244 +++++ .../slice/1.2.0/html/Murmur/UserInfo.html | 72 ++ .../slice/1.2.0/html/_sindex.html | 486 ++++++++++ .../documentation/slice/1.2.0/html/index.html | 45 + .../documentation/slice/1.2.7/Murmur.ice | 836 +++++++++++++++++ .../slice/1.2.7/html/Murmur.html | 712 ++++++++++++++ .../slice/1.2.7/html/Murmur/ACL.html | 125 +++ .../slice/1.2.7/html/Murmur/Ban.html | 125 +++ .../slice/1.2.7/html/Murmur/Channel.html | 132 +++ .../slice/1.2.7/html/Murmur/ChannelInfo.html | 64 ++ .../slice/1.2.7/html/Murmur/Group.html | 125 +++ .../html/Murmur/InvalidCallbackException.html | 71 ++ .../html/Murmur/InvalidChannelException.html | 76 ++ .../html/Murmur/InvalidSecretException.html | 120 +++ .../html/Murmur/InvalidServerException.html | 61 ++ .../html/Murmur/InvalidSessionException.html | 74 ++ .../html/Murmur/InvalidTextureException.html | 65 ++ .../html/Murmur/InvalidUserException.html | 70 ++ .../slice/1.2.7/html/Murmur/LogEntry.html | 85 ++ .../slice/1.2.7/html/Murmur/Meta.html | 183 ++++ .../slice/1.2.7/html/Murmur/MetaCallback.html | 98 ++ .../1.2.7/html/Murmur/MurmurException.html | 70 ++ .../html/Murmur/NestingLimitException.html | 66 ++ .../slice/1.2.7/html/Murmur/Server.html | 774 +++++++++++++++ .../html/Murmur/ServerAuthenticator.html | 169 ++++ .../html/Murmur/ServerBootedException.html | 105 +++ .../1.2.7/html/Murmur/ServerCallback.html | 165 ++++ .../html/Murmur/ServerContextCallback.html | 87 ++ .../html/Murmur/ServerFailureException.html | 65 ++ .../Murmur/ServerUpdatingAuthenticator.html | 144 +++ .../slice/1.2.7/html/Murmur/TextMessage.html | 101 ++ .../slice/1.2.7/html/Murmur/Tree.html | 86 ++ .../slice/1.2.7/html/Murmur/User.html | 277 ++++++ .../slice/1.2.7/html/Murmur/UserInfo.html | 74 ++ .../slice/1.2.7/html/_sindex.html | 531 +++++++++++ .../documentation/slice/1.2.7/html/index.html | 45 + .../documentation/slice/1.3.0/Murmur.ice | 885 ++++++++++++++++++ .../slice/1.3.0/html/Murmur.html | 718 ++++++++++++++ .../slice/1.3.0/html/Murmur/ACL.html | 125 +++ .../slice/1.3.0/html/Murmur/Ban.html | 125 +++ .../slice/1.3.0/html/Murmur/Channel.html | 132 +++ .../slice/1.3.0/html/Murmur/ChannelInfo.html | 64 ++ .../slice/1.3.0/html/Murmur/Group.html | 125 +++ .../html/Murmur/InvalidCallbackException.html | 71 ++ .../html/Murmur/InvalidChannelException.html | 76 ++ .../Murmur/InvalidInputDataException.html | 65 ++ .../html/Murmur/InvalidSecretException.html | 121 +++ .../html/Murmur/InvalidServerException.html | 61 ++ .../html/Murmur/InvalidSessionException.html | 74 ++ .../html/Murmur/InvalidTextureException.html | 65 ++ .../html/Murmur/InvalidUserException.html | 70 ++ .../slice/1.3.0/html/Murmur/LogEntry.html | 85 ++ .../slice/1.3.0/html/Murmur/Meta.html | 183 ++++ .../slice/1.3.0/html/Murmur/MetaCallback.html | 98 ++ .../1.3.0/html/Murmur/MurmurException.html | 72 ++ .../html/Murmur/NestingLimitException.html | 66 ++ .../slice/1.3.0/html/Murmur/Server.html | 796 ++++++++++++++++ .../html/Murmur/ServerAuthenticator.html | 176 ++++ .../html/Murmur/ServerBootedException.html | 106 +++ .../1.3.0/html/Murmur/ServerCallback.html | 165 ++++ .../html/Murmur/ServerContextCallback.html | 87 ++ .../html/Murmur/ServerFailureException.html | 65 ++ .../Murmur/ServerUpdatingAuthenticator.html | 144 +++ .../slice/1.3.0/html/Murmur/TextMessage.html | 101 ++ .../slice/1.3.0/html/Murmur/Tree.html | 86 ++ .../slice/1.3.0/html/Murmur/User.html | 287 ++++++ .../slice/1.3.0/html/Murmur/UserInfo.html | 76 ++ .../1.3.0/html/Murmur/WriteOnlyException.html | 63 ++ .../slice/1.3.0/html/_sindex.html | 537 +++++++++++ .../documentation/slice/1.3.0/html/index.html | 45 + 95 files changed, 17030 insertions(+) create mode 100644 hugo/static/documentation/slice/1.2.0/Murmur.ice create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ACL.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Ban.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Channel.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ChannelInfo.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Group.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidCallbackException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidChannelException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidServerException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidSessionException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidTextureException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidUserException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/LogEntry.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Meta.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/MetaCallback.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/MurmurException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Server.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerBootedException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerCallback.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerContextCallback.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerFailureException.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/ServerUpdatingAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/Tree.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/User.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/Murmur/UserInfo.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/_sindex.html create mode 100644 hugo/static/documentation/slice/1.2.0/html/index.html create mode 100644 hugo/static/documentation/slice/1.2.7/Murmur.ice create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ACL.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Ban.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Channel.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ChannelInfo.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Group.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidCallbackException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidChannelException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSecretException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidServerException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSessionException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidTextureException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidUserException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/LogEntry.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Meta.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/MetaCallback.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/MurmurException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/NestingLimitException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Server.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerBootedException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerCallback.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerContextCallback.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerFailureException.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/ServerUpdatingAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/TextMessage.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/Tree.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/User.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/Murmur/UserInfo.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/_sindex.html create mode 100644 hugo/static/documentation/slice/1.2.7/html/index.html create mode 100644 hugo/static/documentation/slice/1.3.0/Murmur.ice create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ACL.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Ban.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Channel.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ChannelInfo.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Group.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidCallbackException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidChannelException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidInputDataException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSecretException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidServerException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSessionException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidTextureException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidUserException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/LogEntry.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Meta.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/MetaCallback.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/MurmurException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/NestingLimitException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Server.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerBootedException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerCallback.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerContextCallback.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerFailureException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/ServerUpdatingAuthenticator.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/TextMessage.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/Tree.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/User.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/UserInfo.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/Murmur/WriteOnlyException.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/_sindex.html create mode 100644 hugo/static/documentation/slice/1.3.0/html/index.html diff --git a/hugo/static/documentation/slice/1.2.0/Murmur.ice b/hugo/static/documentation/slice/1.2.0/Murmur.ice new file mode 100644 index 0000000..e6008f2 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/Murmur.ice @@ -0,0 +1,764 @@ +/** + * + * Information and control of the murmur server. Each server has + * one [Meta] interface that controls global information, and + * each virtual server has a [Server] interface. + * + **/ + +module Murmur +{ + + /** A network address in IPv6 format. + **/ + ["python:seq:tuple"] sequence NetAddress; + + /** A connected user. + **/ + struct User { + /** Session ID. This identifies the connection to the server. */ + int session; + /** User ID. -1 if the user is anonymous. */ + int userid; + /** Is user muted by the server? */ + bool mute; + /** Is user deafened by the server? If true, this implies mute. */ + bool deaf; + /** Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel. */ + bool suppress; + /** Is the user self-muted? */ + bool selfMute; + /** Is the user self-deafened? If true, this implies mute. */ + bool selfDeaf; + /** Channel ID the user is in. Matches [Channel::id]. */ + int channel; + /** The name of the user. */ + string name; + /** Seconds user has been online. */ + int onlinesecs; + /** Average transmission rate in bytes per second over the last few seconds. */ + int bytespersec; + /** Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203. */ + int version; + /** Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else. */ + string release; + /** Client OS. */ + string os; + /** Client OS Version. */ + string osversion; + /** Plugin Identity. This will be the user's unique ID inside the current game. */ + string identity; + /** Plugin context. This is a binary blob identifying the game and team the user is on. */ + string context; + /** User comment. Shown as tooltip for this user. */ + string comment; + /** Client address. */ + NetAddress address; + /** TCP only. True until UDP connectivity is established. */ + bool tcponly; + /** Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted. */ + int idlesecs; + }; + + sequence IntList; + + /** A channel. + **/ + struct Channel { + /** Channel ID. This is unique per channel, and the root channel is always id 0. */ + int id; + /** Name of the channel. There can not be two channels with the same parent that has the same name. */ + string name; + /** ID of parent channel, or -1 if this is the root channel. */ + int parent; + /** List of id of linked channels. */ + IntList links; + /** Description of channel. Shown as tooltip for this channel. */ + string description; + /** Channel is temporary, and will be removed when the last user leaves it. */ + bool temporary; + /** Position of the channel which is used in Client for sorting. */ + int position; + }; + + /** A group. Groups are defined per channel, and can inherit members from parent channels. + **/ + struct Group { + /** Group name */ + string name; + /** Is this group inherited from a parent channel? Read-only. */ + bool inherited; + /** Does this group inherit members from parent channels? */ + bool inherit; + /** Can subchannels inherit members from this group? */ + bool inheritable; + /** List of users to add to the group. */ + IntList add; + /** List of inherited users to remove from the group. */ + IntList remove; + /** Current members of the group, including inherited members. Read-only. */ + IntList members; + }; + + /** Write access to channel control. Implies all other permissions (except Speak). */ + const int PermissionWrite = 0x01; + /** Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there. */ + const int PermissionTraverse = 0x02; + /** Enter channel. */ + const int PermissionEnter = 0x04; + /** Speak in channel. */ + const int PermissionSpeak = 0x08; + /** Whisper to channel. This is different from Speak, so you can set up different permissions. */ + const int PermissionWhisper = 0x100; + /** Mute and deafen other users in this channel. */ + const int PermissionMuteDeafen = 0x10; + /** Move users from channel. You need this permission in both the source and destination channel to move another user. */ + const int PermissionMove = 0x20; + /** Make new channel as a subchannel of this channel. */ + const int PermissionMakeChannel = 0x40; + /** Make new temporary channel as a subchannel of this channel. */ + const int PermissionMakeTempChannel = 0x400; + /** Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them. */ + const int PermissionLinkChannel = 0x80; + /** Send text message to channel. */ + const int PermissionTextMessage = 0x200; + /** Kick user from server. Only valid on root channel. */ + const int PermissionKick = 0x10000; + /** Ban user from server. Only valid on root channel. */ + const int PermissionBan = 0x20000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegister = 0x40000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegisterSelf = 0x80000; + + + /** Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels. + **/ + struct ACL { + /** Does the ACL apply to this channel? */ + bool applyHere; + /** Does the ACL apply to subchannels? */ + bool applySubs; + /** Is this ACL inherited from a parent channel? Read-only. */ + bool inherited; + /** ID of user this ACL applies to. -1 if using a group name. */ + int userid; + /** Group this ACL applies to. Blank if using userid. */ + string group; + /** Binary mask of privileges to allow. */ + int allow; + /** Binary mask of privileges to deny. */ + int deny; + }; + + /** A single ip mask for a ban. + **/ + struct Ban { + /** Address to ban. */ + NetAddress address; + /** Number of bits in ban to apply. */ + int bits; + /** Username associated with ban. */ + string name; + /** Hash of banned user. */ + string hash; + /** Reason for ban. */ + string reason; + /** Date ban was applied in unix time format. */ + long start; + /** Duration of ban. */ + int duration; + }; + + /** A entry in the log. + **/ + struct LogEntry { + /** Timestamp in UNIX time_t */ + int timestamp; + /** The log message. */ + string txt; + }; + + class Tree; + sequence TreeList; + + enum ChannelInfo { ChannelDescription, ChannelPosition }; + enum UserInfo { UserName, UserEmail, UserComment, UserHash, UserPassword }; + + dictionary UserMap; + dictionary ChannelMap; + sequence ChannelList; + sequence UserList; + sequence GroupList; + sequence ACLList; + sequence LogList; + sequence BanList; + sequence IdList; + sequence NameList; + dictionary NameMap; + dictionary IdMap; + sequence Texture; + dictionary ConfigMap; + sequence GroupNameList; + sequence CertificateDer; + sequence CertificateList; + + /** User information map. + * Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'. + */ + + dictionary UserInfoMap; + + /** User and subchannel state. Read-only. + **/ + class Tree { + /** Channel definition of current channel. */ + Channel c; + /** List of subchannels. */ + TreeList children; + /** Users in this channel. */ + UserList users; + }; + + exception MurmurException {}; + /** This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to [Server::getUsers]. See [User::session] */ + exception InvalidSessionException extends MurmurException {}; + /** This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel. */ + exception InvalidChannelException extends MurmurException {}; + /** This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server. */ + exception InvalidServerException extends MurmurException {}; + /** This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server. */ + exception ServerBootedException extends MurmurException {}; + /** This is thrown if [Server::start] fails, and should generally be the cause for some concern. */ + exception ServerFailureException extends MurmurException {}; + /** This is thrown when you specify an invalid userid. */ + exception InvalidUserException extends MurmurException {}; + /** This is thrown when you try to set an invalid texture. */ + exception InvalidTextureException extends MurmurException {}; + /** This is thrown when you supply an invalid callback. */ + exception InvalidCallbackException extends MurmurException {}; + + /** Callback interface for servers. You can supply an implementation of this to receive notification + * messages from the server. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * Note that callbacks are removed when a server is stopped, so you should have a callback for + * [MetaCallback::started] which calls [Server::addCallback]. + * @see MetaCallback + * @see Server::addCallback + */ + interface ServerCallback { + /** Called when a user connects to the server. + * @param state State of connected user. + */ + idempotent void userConnected(User state); + /** Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like [Server::getState] + * to retrieve the user's state. + * @param state State of disconnected user. + */ + idempotent void userDisconnected(User state); + /** Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc. + * @param state New state of user. + */ + idempotent void userStateChanged(User state); + /** Called when a new channel is created. + * @param state State of new channel. + */ + idempotent void channelCreated(Channel state); + /** Called when a channel is removed. The channel has already been removed, you can no longer use methods like [Server::getChannelState] + * @param state State of removed channel. + */ + idempotent void channelRemoved(Channel state); + /** Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added. + * @param state New state of channel. + */ + idempotent void channelStateChanged(Channel state); + }; + + /** Context for actions in the Server menu. */ + const int ContextServer = 0x01; + /** Context for actions in the Channel menu. */ + const int ContextChannel = 0x02; + /** Context for actions in the User menu. */ + const int ContextUser = 0x04; + + /** Callback interface for context actions. You need to supply one of these for [Server::addContext]. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + */ + interface ServerContextCallback { + /** Called when a context action is performed. + * @param action Action to be performed. + * @param usr User which initiated the action. + * @param session If nonzero, session of target user. + * @param channelid If nonzero, session of target channel. + */ + idempotent void contextAction(string action, User usr, int session, int channelid); + }; + + /** Callback interface for server authentication. You need to supply one of these for [Server::setAuthenticator]. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that unlike [ServerCallback] and [ServerContextCallback], these methods are called + * synchronously. If the response lags, the entire murmur server will lag. + * Also note that, as the method calls are synchronous, making a call to [Server] or [Meta] will + * deadlock the server. + */ + interface ServerAuthenticator { + /** Called to authenticate a user. If you do not know the username in question, always return -2 from this + * method to fall through to normal database authentication. + * Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving + * the username and id so it cannot be used for normal database authentication. + * The data in the certificate (name, email addresses etc), as well as the list of signing certificates, + * should only be trusted if certstrong is true. + * + * @param name Username to authenticate. + * @param pw Password to authenticate with. + * @param certificates List of der encoded certificates the user connected with. + * @param certhash Hash of user certificate, as used by murmur internally when matching. + * @param certstrong True if certificate was valid and signed by a trusted CA. + * @param newname Set this to change the username from the supplied one. + * @param groups List of groups on the root channel that the user will be added to for the duration of the connection. + * @return UserID of authenticated user, -1 for authentication failures and -2 for unknown user (fallthrough). + */ + idempotent int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups); + + /** Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you + * want murmur to take care of this information itself, simply return false to fall through. + * @param id User id. + * @param key Key of information to be retrieved. + * @param info Information about user. This needs to include at least "name". + * @return true if information is present, false to fall through. + */ + idempotent bool getInfo(int id, out UserInfoMap info); + + /** Map a name to a user id. + * @param name Username to map. + * @return User id or -2 for unknown name. + */ + idempotent int nameToId(string name); + + /** Map a user to a User id. + * @param id User id to map. + * @return Name of user or empty string for unknown id. + */ + idempotent string idToName(int id); + + /** Map a user to a custom Texture. + * @param id User id to map. + * @return User texture or an empty texture for unknwon users or users without textures. + */ + idempotent Texture idToTexture(int id); + }; + + /** Callback interface for server authentication and registration. This allows you to support both authentication + * and account updating. + * You do not need to implement this if all you want is authentication, you only need this if other scripts + * connected to the same server calls e.g. [Server::setTexture]. + * Almost all of these methods support fall through, meaning murmur should continue the operation against its + * own database. + */ + interface ServerUpdatingAuthenticator extends ServerAuthenticator { + /** Register a new user. + * @param info Information about user to register. + * @return User id of new user, -1 for registration failure, or -2 to fall through. + */ + int registerUser(UserInfoMap info); + + /** Unregister a user. + * @param id Userid to unregister. + * @return 1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through. + */ + int unregisterUser(int id); + + /** Get a list of registered users matching filter. + * @param filter Substring usernames must contain. If empty, return all registered users. + * @return List of matching registered users. + */ + idempotent NameMap getRegisteredUsers(string filter); + + /** Set additional information for user registration. + * @param id Userid of registered user. + * @param info Information to set about user. This should be merged with existing information. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setInfo(int id, UserInfoMap info); + + /** Set texture of user registration. + * @param id Userid of registered user. + * @param tex New texture. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setTexture(int id, Texture tex); + }; + + /** 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]. + **/ + ["amd"] interface Server { + /** Shows if the server currently running (accepting users). + * + * @return Run-state of server. + */ + idempotent bool isRunning(); + + /** Start server. */ + void start() throws ServerBootedException, ServerFailureException; + + /** Stop server. */ + void stop() throws ServerBootedException; + + /** Delete server and all it's configuration. */ + void delete() throws ServerBootedException; + + /** Fetch the server id. + * + * @return Unique server id. + */ + idempotent int id(); + + /** Add a callback. The callback will receive notifications about changes to users and channels. + * + * @param cb Callback interface which will receive notifications. + * @see removeCallback + */ + void addCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + * @see addCallback + */ + void removeCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException; + + /** Set external authenticator. If set, all authentications from clients are forwarded to this + * proxy. + * + * @param auth Authenticator object to perform subsequent authentications. + */ + void setAuthenticator(ServerAuthenticator *auth) throws ServerBootedException, InvalidCallbackException; + + /** Retrieve configuration item. + * @param key Configuration key. + * @return Configuration value. If this is empty, see [Meta::getDefaultConf] + */ + idempotent string getConf(string key); + + /** Retrieve all configuration items. + * @return All configured values. If a value isn't set here, the value from [Meta::getDefaultConf] is used. + */ + idempotent ConfigMap getAllConf(); + + /** Set a configuration item. + * @param key Configuration key. + * @param value Configuration value. + */ + idempotent void setConf(string key, string value); + + /** Set superuser password. This is just a convenience for using [updateRegistration] on user id 0. + * @param pw Password. + */ + idempotent void setSuperuserPassword(string pw); + + /** Fetch log entries. + * @param first Lowest numbered entry to fetch. 0 is the most recent item. + * @param last Last entry to fetch. + * @return List of log entries. + */ + idempotent LogList getLog(int first, int last); + + /** Fetch all users. This returns all currently connected users on the server. + * @return List of connected users. + * @see getState + */ + idempotent UserMap getUsers() throws ServerBootedException; + + /** Fetch all channels. This returns all defined channels on the server. The root channel is always channel 0. + * @return List of defined channels. + * @see getChannelState + */ + idempotent ChannelMap getChannels() throws ServerBootedException; + + /** 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 Recursive tree of all channels and connected users. + */ + idempotent Tree getTree() throws ServerBootedException; + + /** Fetch all current IP bans on the server. + * @return List of bans. + */ + idempotent BanList getBans() throws ServerBootedException; + + /** 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. + * @param bans List of bans. + */ + idempotent void setBans(BanList bans) throws ServerBootedException; + + /** Kick a user. The user is not banned, and is free to rejoin the server. + * @param session Connection ID of user. See [User::session]. + * @param reason Text message to show when user is kicked. + */ + void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException; + + /** Get state of a single connected user. + * @param session Connection ID of user. See [User::session]. + * @return State of connected user. + * @see setState + * @see getUsers + */ + idempotent User getState(int session) throws ServerBootedException, InvalidSessionException; + + /** Set user state. You can use this to move, mute and deafen users. + * @param state User state to set. + * @see getState + */ + idempotent void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException; + + /** Send text message to a single user. + * @param session Connection ID of user. See [User::session]. + * @param text Message to send. + * @see sendMessageChannel + */ + void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException; + + /** Check if user is permitted to perform action. + * @param session Connection ID of user. See [User::session]. + * @param channelid ID of Channel. See [Channel::id]. + * @param perm Permission bits to check. + * @return true if any of the permissions in perm were set for the user. + */ + bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException; + + /** Add a context callback. This is done per user, and will add a context menu action for the user. + * + * @param session Session of user which should receive context entry. + * @param action Action string, a unique name to associate with the action. + * @param text Name of action shown to user. + * @param cb Callback interface which will receive notifications. + * @param ctx Context this should be used in. Needs to be one or a combination of [ContextServer], [ContextChannel] and [ContextUser]. + * @see removeContextCallback + */ + void addContextCallback(int session, string action, string text, ServerContextCallback *cb, int ctx) throws ServerBootedException, InvalidCallbackException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. This callback will be removed from all from all users. + * @see addContextCallback + */ + void removeContextCallback(ServerContextCallback *cb) throws ServerBootedException, InvalidCallbackException; + + /** Get state of single channel. + * @param channelid ID of Channel. See [Channel::id]. + * @return State of channel. + * @see setChannelState + * @see getChannels + */ + idempotent Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException; + + /** Set state of a single channel. You can use this to move or relink channels. + * @param state Channel state to set. + * @see getChannelState + */ + idempotent void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException; + + /** Remove a channel and all its subchannels. + * @param channelid ID of Channel. See [Channel::id]. + */ + void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException; + + /** Add a new channel. + * @param name Name of new channel. + * @param parent Channel ID of parent channel. See [Channel::id]. + * @return ID of newly created channel. + */ + int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException; + + /** Send text message to channel or a tree of channels. + * @param channelid Channel ID of channel to send to. See [Channel::id]. + * @param tree If true, the message will be sent to the channel and all its subchannels. + * @param text Message to send. + * @see sendMessage + */ + void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException; + + /** Retrieve ACLs and Groups on a channel. + * @param channelid Channel ID of channel to fetch from. See [Channel::id]. + * @param acls List of ACLs on the channel. This will include inherited ACLs. + * @param groups List of groups on the channel. This will include inherited groups. + * @param inherit Does this channel inherit ACLs from the parent channel? + */ + idempotent void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException; + + /** Set ACLs and Groups on a channel. Note that this will replace all existing ACLs and groups on the channel. + * @param channelid Channel ID of channel to fetch from. See [Channel::id]. + * @param acls List of ACLs on the channel. + * @param groups List of groups on the channel. + * @param inherit Should this channel inherit ACLs from the parent channel? + */ + idempotent void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException; + + /** Temporarily add a user to a group on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See [Channel::id]. + * @param session Connection ID of user. See [User::session]. + * @param group Group name to add to. + */ + idempotent void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException; + + /** Remove a user from a temporary group membership on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See [Channel::id]. + * @param session Connection ID of user. See [User::session]. + * @param group Group name to remove from. + */ + idempotent void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException; + + /** 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. + * @param session Connection ID of user. See [User::session]. + * @param source Group name to redirect from. + * @param target Group name to redirect to. + */ + idempotent void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException; + + /** Map a list of [User::userid] to a matching name. + * @param List of ids. + * @return Matching list of names, with an empty string representing invalid or unknown ids. + */ + idempotent NameMap getUserNames(IdList ids) throws ServerBootedException; + + /** Map a list of user names to a matching id. + * @param List of names. + * @reuturn List of matching ids, with -1 representing invalid or unknown user names. + */ + idempotent IdMap getUserIds(NameList names) throws ServerBootedException; + + /** Register a new user. + * @param info Information about new user. Must include at least "name". + * @return The ID of the user. See [RegisteredUser::userid]. + */ + int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException; + + /** Remove a user registration. + * @param userid ID of registered user. See [RegisteredUser::userid]. + */ + void unregisterUser(int userid) throws ServerBootedException, InvalidUserException; + + /** 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. + * @param registration Updated registration record. + */ + idempotent void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException; + + /** Fetch registration for a single user. + * @param userid ID of registered user. See [RegisteredUser::userid]. + * @return Registration record. + */ + idempotent UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException; + + /** Fetch a group of registered users. + * @param filter Substring of user name. If blank, will retrieve all registered users. + * @return List of registration records. + */ + idempotent NameMap getRegisteredUsers(string filter) throws ServerBootedException; + + /** Verify the password of a user. You can use this to verify a user's credentials. + * @param name User name. See [RegisteredUser::name]. + * @param pw User password. + * @return User ID of registered user (See [RegisteredUser::userid]), -1 for failed authentication or -2 for unknown usernames. + */ + idempotent int verifyPassword(string name, string pw) throws ServerBootedException; + + /** Fetch user texture. Textures are stored as zlib compress()ed 600x60 32-bit BGRA data. + * @param userid ID of registered user. See [RegisteredUser::userid]. + * @return Custom texture associated with user or an empty texture. + */ + idempotent Texture getTexture(int userid) throws ServerBootedException, InvalidUserException; + + /** Set user texture. The texture is a 600x60 32-bit BGRA raw texture, optionally zlib compress()ed. + * @param userid ID of registered user. See [RegisteredUser::userid]. + * @param tex Texture to set for the user, or an empty texture to remove the existing texture. + */ + idempotent void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException; + }; + + /** Callback interface for Meta. You can supply an implementation of this to recieve notifications + * when servers are stopped or started. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * @see ServerCallback + * @see Meta::addCallback + */ + interface MetaCallback { + /** Called when a server is started. The server is up and running when this event is sent, so all methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void started(Server *srv); + + /** Called when a server is stopped. The server is already stopped when this event is sent, so no methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void stopped(Server *srv); + }; + + sequence ServerList; + + /** This is the meta interface. It is primarily used for retrieving the [Server] interfaces for each individual server. + **/ + ["amd"] interface Meta { + /** Fetch interface to specific server. + * @param id Server ID. See [Server::getId]. + * @return Interface for specified server, or a null proxy if id is invalid. + */ + idempotent Server *getServer(int id); + + /** Create a new server. Call [Server::getId] on the returned interface to find it's ID. + * @return Interface for new server. + */ + Server *newServer(); + + /** Fetch list of all currently running servers. + * @return List of interfaces for running servers. + */ + idempotent ServerList getBootedServers(); + + /** Fetch list of all defined servers. + * @return List of interfaces for all servers. + */ + idempotent ServerList getAllServers(); + + /** Fetch default configuraion. This returns the configuration items that were set in the configuration file, or + * the built-in default. The individual servers will use these values unless they have been overridden in the + * server specific configuration. The only special case is the port, which defaults to the value defined here + + * the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc). + * @return Default configuration of the servers. + */ + idempotent ConfigMap getDefaultConf(); + + /** Fetch version of Murmur. + * @param major Major version. + * @param minor Minor version. + * @param patch Patchlevel. + * @param text Textual representation of version. Note that this may not match the [major], [minor] and [patch] levels, as it + * may be simply the compile date or the SVN revision. This is usually the text you want to present to users. + */ + idempotent void getVersion(out int major, out int minor, out int patch, out string text); + + /** Add a callback. The callback will receive notifications when servers are started or stopped. + * + * @param cb Callback interface which will receive notifications. + */ + void addCallback(MetaCallback *cb) throws InvalidCallbackException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + */ + void removeCallback(MetaCallback *cb) throws InvalidCallbackException; + }; +}; diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur.html b/hugo/static/documentation/slice/1.2.0/html/Murmur.html new file mode 100644 index 0000000..43b18a7 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur.html @@ -0,0 +1,703 @@ + + + + + + + Murmur + + + + + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + +
+

Murmur

+

Overview

+

module Murmur

+

+Information and control of the murmur server. Each server has +one Meta interface that controls global information, and +each virtual server has a Server interface.

+

Class Index

+
+
Tree
+
+ User and subchannel state.
+
+

Interface Index

+
+
Meta
+
+ This is the meta interface.
+
MetaCallback
+
+ Callback interface for Meta.
+
Server
+
+ Per-server interface.
+
ServerAuthenticator
+
+ Callback interface for server authentication.
+
ServerCallback
+
+ Callback interface for servers.
+
ServerContextCallback
+
+ Callback interface for context actions.
+
ServerUpdatingAuthenticator
+
+ Callback interface for server authentication and registration.
+
+

Exception Index

+
+
InvalidCallbackException
+
+ This is thrown when you supply an invalid callback.
+
InvalidChannelException
+
+ This is thrown when you specify an invalid channel id.
+
InvalidServerException
+
+ This is thrown when you try to do an operation on a server that does not exist.
+
InvalidSessionException
+
+ This is thrown when you specify an invalid session.
+
InvalidTextureException
+
+ This is thrown when you try to set an invalid texture.
+
InvalidUserException
+
+ This is thrown when you specify an invalid userid.
+
MurmurException
+
+
+
ServerBootedException
+
+ This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.
+
ServerFailureException
+
+ This is thrown if Server::start fails, and should generally be the cause for some concern.
+
+

Structure Index

+
+
ACL
+
+ Access Control List for a channel.
+
Ban
+
+ A single ip mask for a ban.
+
Channel
+
+ A channel.
+
Group
+
+ A group.
+
LogEntry
+
+ A entry in the log.
+
User
+
+ A connected user.
+
+

Sequence Index

+
+
ACLList
+
+
+
BanList
+
+
+
CertificateDer
+
+
+
CertificateList
+
+
+
ChannelList
+
+
+
GroupList
+
+
+
GroupNameList
+
+
+
IdList
+
+
+
IntList
+
+
+
LogList
+
+
+
NameList
+
+
+
NetAddress
+
+ A network address in IPv6 format.
+
ServerList
+
+
+
Texture
+
+
+
TreeList
+
+
+
UserList
+
+
+
+

Dictionary Index

+
+
ChannelMap
+
+
+
ConfigMap
+
+
+
IdMap
+
+
+
NameMap
+
+
+
UserInfoMap
+
+ User information map.
+
UserMap
+
+
+
+

Constant Index

+
+
ContextChannel
+
+ Context for actions in the Channel menu.
+
ContextServer
+
+ Context for actions in the Server menu.
+
ContextUser
+
+ Context for actions in the User menu.
+
PermissionBan
+
+ Ban user from server.
+
PermissionEnter
+
+ Enter channel.
+
PermissionKick
+
+ Kick user from server.
+
PermissionLinkChannel
+
+ Link this channel.
+
PermissionMakeChannel
+
+ Make new channel as a subchannel of this channel.
+
PermissionMakeTempChannel
+
+ Make new temporary channel as a subchannel of this channel.
+
PermissionMove
+
+ Move users from channel.
+
PermissionMuteDeafen
+
+ Mute and deafen other users in this channel.
+
PermissionRegister
+
+ Register and unregister users.
+
PermissionRegisterSelf
+
+ Register and unregister users.
+
PermissionSpeak
+
+ Speak in channel.
+
PermissionTextMessage
+
+ Send text message to channel.
+
PermissionTraverse
+
+ Traverse channel.
+
PermissionWhisper
+
+ Whisper to channel.
+
PermissionWrite
+
+ Write access to channel control.
+
+

Enumeration Index

+
+
ChannelInfo
+
+
+
UserInfo
+
+
+
+

Sequences

+
+
+ sequence<ACL> ACLList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<Ban> BanList +
+
+

Used By

+
+
Server::getBans
+
Server::setBans
+
+
+
+
+
+ sequence<byte> CertificateDer +
+
+

Used By

+
+
CertificateList
+
+
+
+
+
+ sequence<CertificateDer> CertificateList +
+
+

Used By

+
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<Channel> ChannelList +
+
+
+
+
+ sequence<Group> GroupList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<string> GroupNameList +
+
+

Used By

+
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<int> IdList +
+
+

Used By

+
+
Server::getUserNames
+
+
+
+
+
+ sequence<int> IntList +
+
+

Used By

+
+
Channel::links
+
Group::add
+
Group::members
+
Group::remove
+
+
+
+
+
+ sequence<LogEntry> LogList +
+
+

Used By

+
+
Server::getLog
+
+
+
+
+
+ sequence<string> NameList +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ [ "python:seq:tuple" ] + sequence<byte> NetAddress +
+
+

+A network address in IPv6 format.

+

Used By

+
+
Ban::address
+
User::address
+
+
+
+
+
+ sequence<Server*> ServerList +
+
+

Used By

+
+
Meta::getAllServers
+
Meta::getBootedServers
+
+
+
+
+
+ sequence<byte> Texture +
+
+

Used By

+
+
Server::getTexture
+
Server::setTexture
+
ServerAuthenticator::idToTexture
+
ServerUpdatingAuthenticator::setTexture
+
+
+
+
+
+ sequence<Tree> TreeList +
+
+

Used By

+
+
Tree::children
+
+
+
+
+
+ sequence<User> UserList +
+
+

Used By

+
+
Tree::users
+
+
+
+

Dictionaries

+
+
+ dictionary<int, Channel> ChannelMap +
+
+

Used By

+
+
Server::getChannels
+
+
+
+
+
+ dictionary<string, string> ConfigMap +
+
+

Used By

+
+
Meta::getDefaultConf
+
Server::getAllConf
+
+
+
+
+
+ dictionary<string, int> IdMap +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ dictionary<int, string> NameMap +
+
+

Used By

+
+
Server::getRegisteredUsers
+
Server::getUserNames
+
ServerUpdatingAuthenticator::getRegisteredUsers
+
+
+
+
+
+ dictionary<UserInfo, string> UserInfoMap +
+
+

+User information map. +Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'.

+

Used By

+
+
Server::getRegistration
+
Server::registerUser
+
Server::updateRegistration
+
ServerAuthenticator::getInfo
+
ServerUpdatingAuthenticator::registerUser
+
ServerUpdatingAuthenticator::setInfo
+
+
+
+
+
+ dictionary<int, User> UserMap +
+
+

Used By

+
+
Server::getUsers
+
+
+
+

Constants

+
+
+ const int ContextChannel = 0x02; +
+
+

+Context for actions in the Channel menu.

+
+
+
+
+ const int ContextServer = 0x01; +
+
+

+Context for actions in the Server menu.

+
+
+
+
+ const int ContextUser = 0x04; +
+
+

+Context for actions in the User menu.

+
+
+
+
+ const int PermissionBan = 0x20000; +
+
+

+Ban user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionEnter = 0x04; +
+
+

+Enter channel.

+
+
+
+
+ const int PermissionKick = 0x10000; +
+
+

+Kick user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionLinkChannel = 0x80; +
+
+

+Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them.

+
+
+
+
+ const int PermissionMakeChannel = 0x40; +
+
+

+Make new channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMakeTempChannel = 0x400; +
+
+

+Make new temporary channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMove = 0x20; +
+
+

+Move users from channel. You need this permission in both the source and destination channel to move another user.

+
+
+
+
+ const int PermissionMuteDeafen = 0x10; +
+
+

+Mute and deafen other users in this channel.

+
+
+
+
+ const int PermissionRegister = 0x40000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionRegisterSelf = 0x80000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionSpeak = 0x08; +
+
+

+Speak in channel.

+
+
+
+
+ const int PermissionTextMessage = 0x200; +
+
+

+Send text message to channel.

+
+
+
+
+ const int PermissionTraverse = 0x02; +
+
+

+Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there.

+
+
+
+
+ const int PermissionWhisper = 0x100; +
+
+

+Whisper to channel. This is different from Speak, so you can set up different permissions.

+
+
+
+
+ const int PermissionWrite = 0x01; +
+
+

+Write access to channel control. Implies all other permissions (except Speak).

+
+
+
+ + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ACL.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ACL.html new file mode 100644 index 0000000..6d34187 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ACL.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::ACL + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ACL

+

Overview

+

struct ACL

+

+Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels.

+

Used By

+
+
ACLList
+
+

Data Member Index

+
+
applyHere
+
+ Does the ACL apply to this channel?
+
applySubs
+
+ Does the ACL apply to subchannels?
+
inherited
+
+ Is this ACL inherited from a parent channel? Read-only.
+
userid
+
+ ID of user this ACL applies to.
+
group
+
+ Group this ACL applies to.
+
allow
+
+ Binary mask of privileges to allow.
+
deny
+
+ Binary mask of privileges to deny.
+
+

Data Members

+
+
bool applyHere;
+
+

+Does the ACL apply to this channel?

+
+
bool applySubs;
+
+

+Does the ACL apply to subchannels?

+
+
bool inherited;
+
+

+Is this ACL inherited from a parent channel? Read-only.

+
+
int userid;
+
+

+ID of user this ACL applies to. -1 if using a group name.

+
+
string group;
+
+

+Group this ACL applies to. Blank if using userid.

+
+
int allow;
+
+

+Binary mask of privileges to allow.

+
+
int deny;
+
+

+Binary mask of privileges to deny.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Ban.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Ban.html new file mode 100644 index 0000000..e499028 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Ban.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Ban + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Ban

+

Overview

+

struct Ban

+

+A single ip mask for a ban.

+

Used By

+
+
BanList
+
+

Data Member Index

+
+
address
+
+ Address to ban.
+
bits
+
+ Number of bits in ban to apply.
+
name
+
+ Username associated with ban.
+
hash
+
+ Hash of banned user.
+
reason
+
+ Reason for ban.
+
start
+
+ Date ban was applied in unix time format.
+
duration
+
+ Duration of ban.
+
+

Data Members

+
+
NetAddress address;
+
+

+Address to ban.

+
+
int bits;
+
+

+Number of bits in ban to apply.

+
+
string name;
+
+

+Username associated with ban.

+
+
string hash;
+
+

+Hash of banned user.

+
+
string reason;
+
+

+Reason for ban.

+
+
long start;
+
+

+Date ban was applied in unix time format.

+
+
int duration;
+
+

+Duration of ban.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Channel.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Channel.html new file mode 100644 index 0000000..e5b4b77 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Channel.html @@ -0,0 +1,132 @@ + + + + + + + Murmur::Channel + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Channel

+

Overview

+

struct Channel

+

+A channel.

+

Used By

+
+
ChannelList
+
ChannelMap
+
Server::getChannelState
+
Server::setChannelState
+
ServerCallback::channelCreated
+
ServerCallback::channelRemoved
+
ServerCallback::channelStateChanged
+
Tree::c
+
+

Data Member Index

+
+
id
+
+ Channel ID.
+
name
+
+ Name of the channel.
+
parent
+
+ ID of parent channel, or -1 if this is the root channel.
+
links
+
+ List of id of linked channels.
+
description
+
+ Description of channel.
+
temporary
+
+ Channel is temporary, and will be removed when the last user leaves it.
+
position
+
+ Position of the channel which is used in Client for sorting.
+
+

Data Members

+
+
int id;
+
+

+Channel ID. This is unique per channel, and the root channel is always id 0.

+
+
string name;
+
+

+Name of the channel. There can not be two channels with the same parent that has the same name.

+
+
int parent;
+
+

+ID of parent channel, or -1 if this is the root channel.

+
+
IntList links;
+
+

+List of id of linked channels.

+
+
string description;
+
+

+Description of channel. Shown as tooltip for this channel.

+
+
bool temporary;
+
+

+Channel is temporary, and will be removed when the last user leaves it.

+
+
int position;
+
+

+Position of the channel which is used in Client for sorting.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ChannelInfo.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ChannelInfo.html new file mode 100644 index 0000000..2306a9e --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ChannelInfo.html @@ -0,0 +1,64 @@ + + + + + + + Murmur::ChannelInfo + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ChannelInfo

+

Overview

+

enum ChannelInfo

+

Enumerators

+
+
ChannelDescription
+
+
ChannelPosition
+
+
+ + + +
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Group.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Group.html new file mode 100644 index 0000000..0d411d0 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Group.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Group + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Group

+

Overview

+

struct Group

+

+A group. Groups are defined per channel, and can inherit members from parent channels.

+

Used By

+
+
GroupList
+
+

Data Member Index

+
+
name
+
+ Group name
+
inherited
+
+ Is this group inherited from a parent channel? Read-only.
+
inherit
+
+ Does this group inherit members from parent channels?
+
inheritable
+
+ Can subchannels inherit members from this group?
+
add
+
+ List of users to add to the group.
+
remove
+
+ List of inherited users to remove from the group.
+
members
+
+ Current members of the group, including inherited members.
+
+

Data Members

+
+
string name;
+
+

+Group name

+
+
bool inherited;
+
+

+Is this group inherited from a parent channel? Read-only.

+
+
bool inherit;
+
+

+Does this group inherit members from parent channels?

+
+
bool inheritable;
+
+

+Can subchannels inherit members from this group?

+
+
IntList add;
+
+

+List of users to add to the group.

+
+
IntList remove;
+
+

+List of inherited users to remove from the group.

+
+
IntList members;
+
+

+Current members of the group, including inherited members. Read-only.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidCallbackException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidCallbackException.html new file mode 100644 index 0000000..bd3001c --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidCallbackException.html @@ -0,0 +1,71 @@ + + + + + + + Murmur::InvalidCallbackException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidCallbackException

+

Overview

+

exception InvalidCallbackException + extends + MurmurException

+

+This is thrown when you supply an invalid callback.

+

Used By

+
+
Meta::addCallback
+
Meta::removeCallback
+
Server::addCallback
+
Server::addContextCallback
+
Server::removeCallback
+
Server::removeContextCallback
+
Server::setAuthenticator
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidChannelException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidChannelException.html new file mode 100644 index 0000000..18528d9 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidChannelException.html @@ -0,0 +1,75 @@ + + + + + + + Murmur::InvalidChannelException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidChannelException

+

Overview

+

exception InvalidChannelException + extends + MurmurException

+

+This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel.

+

Used By

+
+
Server::addChannel
+
Server::addUserToGroup
+
Server::getACL
+
Server::getChannelState
+
Server::hasPermission
+
Server::removeChannel
+
Server::removeUserFromGroup
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setChannelState
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidServerException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidServerException.html new file mode 100644 index 0000000..2b2aa30 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidServerException.html @@ -0,0 +1,61 @@ + + + + + + + Murmur::InvalidServerException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidServerException

+

Overview

+

exception InvalidServerException + extends + MurmurException

+

+This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidSessionException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidSessionException.html new file mode 100644 index 0000000..f18b9df --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidSessionException.html @@ -0,0 +1,72 @@ + + + + + + + Murmur::InvalidSessionException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidSessionException

+

Overview

+

exception InvalidSessionException + extends + MurmurException

+

+This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to Server::getUsers. See User::session

+

Used By

+
+
Server::addUserToGroup
+
Server::getState
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidTextureException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidTextureException.html new file mode 100644 index 0000000..8a53ad7 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidTextureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::InvalidTextureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidTextureException

+

Overview

+

exception InvalidTextureException + extends + MurmurException

+

+This is thrown when you try to set an invalid texture.

+

Used By

+
+
Server::setTexture
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidUserException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidUserException.html new file mode 100644 index 0000000..3106091 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/InvalidUserException.html @@ -0,0 +1,70 @@ + + + + + + + Murmur::InvalidUserException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidUserException

+

Overview

+

exception InvalidUserException + extends + MurmurException

+

+This is thrown when you specify an invalid userid.

+

Used By

+
+
Server::getRegistration
+
Server::getTexture
+
Server::registerUser
+
Server::setTexture
+
Server::unregisterUser
+
Server::updateRegistration
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/LogEntry.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/LogEntry.html new file mode 100644 index 0000000..f63fd8f --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/LogEntry.html @@ -0,0 +1,85 @@ + + + + + + + Murmur::LogEntry + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::LogEntry

+

Overview

+

struct LogEntry

+

+A entry in the log.

+

Used By

+
+
LogList
+
+

Data Member Index

+
+
timestamp
+
+ Timestamp in UNIX time_t
+
txt
+
+ The log message.
+
+

Data Members

+
+
int timestamp;
+
+

+Timestamp in UNIX time_t

+
+
string txt;
+
+

+The log message.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Meta.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Meta.html new file mode 100644 index 0000000..32718f2 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Meta.html @@ -0,0 +1,159 @@ + + + + + + + Murmur::Meta + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Meta

+

Overview

+

[ "amd" ] + interface Meta

+

+This is the meta interface. It is primarily used for retrieving the Server interfaces for each individual server.

+

Operation Index

+
+
getServer
+
+ Fetch interface to specific server.
+
newServer
+
+ Create a new server.
+
getBootedServers
+
+ Fetch list of all currently running servers.
+
getAllServers
+
+ Fetch list of all defined servers.
+
getDefaultConf
+
+ Fetch default configuraion.
+
getVersion
+
+ Fetch version of Murmur.
+
addCallback
+
+ Add a callback.
+
removeCallback
+
+ Remove a callback.
+
+

Operations

+

Server* getServer(int id)

+

+Fetch interface to specific server.

+

Parameters

+
+
id
+
+ Server ID. See Server::getId.
+
+

Return Value

+

Interface for specified server, or a null proxy if id is invalid.

+

Server* newServer()

+

+Create a new server. Call Server::getId on the returned interface to find it's ID.

+

Return Value

+

Interface for new server.

+

ServerList getBootedServers()

+

+Fetch list of all currently running servers.

+

Return Value

+

List of interfaces for running servers.

+

ServerList getAllServers()

+

+Fetch list of all defined servers.

+

Return Value

+

List of interfaces for all servers.

+

ConfigMap getDefaultConf()

+

+Fetch default configuraion. This returns the configuration items that were set in the configuration file, or +the built-in default. The individual servers will use these values unless they have been overridden in the +server specific configuration. The only special case is the port, which defaults to the value defined here + +the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc).

+

Return Value

+

Default configuration of the servers.

+

void getVersion(out int major, out int minor, out int patch, out string text)

+

+Fetch version of Murmur.

+

Parameters

+
+
major
+
+ Major version.
+
minor
+
+ Minor version.
+
patch
+
+ Patchlevel.
+
text
+
+ Textual representation of version. Note that this may not match the major, minor and patch levels, as it +may be simply the compile date or the SVN revision. This is usually the text you want to present to users.
+
+

void addCallback(MetaCallback* cb) throws InvalidCallbackException

+

+Add a callback. The callback will receive notifications when servers are started or stopped.

+

Parameters

+
+
cb
+
+ Callback interface which will receive notifications.
+
+

void removeCallback(MetaCallback* cb) throws InvalidCallbackException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/MetaCallback.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/MetaCallback.html new file mode 100644 index 0000000..b6ed2a9 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/MetaCallback.html @@ -0,0 +1,98 @@ + + + + + + + Murmur::MetaCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MetaCallback

+

Overview

+

interface MetaCallback

+

+Callback interface for Meta. You can supply an implementation of this to recieve notifications +when servers are stopped or started. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

See Also

+
+
ServerCallback
+
Meta::addCallback
+
+

Operation Index

+
+
started
+
+ Called when a server is started.
+
stopped
+
+ Called when a server is stopped.
+
+

Operations

+

void started(Server* srv)

+

+Called when a server is started. The server is up and running when this event is sent, so all methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+

void stopped(Server* srv)

+

+Called when a server is stopped. The server is already stopped when this event is sent, so no methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/MurmurException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/MurmurException.html new file mode 100644 index 0000000..a0c5092 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/MurmurException.html @@ -0,0 +1,68 @@ + + + + + + + Murmur::MurmurException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MurmurException

+

Overview

+

exception MurmurException

+

Derived Exceptions

+
+
InvalidCallbackException
+
InvalidChannelException
+
InvalidServerException
+
InvalidSessionException
+
InvalidTextureException
+
InvalidUserException
+
ServerBootedException
+
ServerFailureException
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Server.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Server.html new file mode 100644 index 0000000..83c5c22 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Server.html @@ -0,0 +1,722 @@ + + + + + + + Murmur::Server + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

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.

+

void start() throws ServerBootedException, ServerFailureException

+

+Start server.

+

void stop() throws ServerBootedException

+

+Stop server.

+

void delete() throws ServerBootedException

+

+Delete server and all it's configuration.

+

int id()

+

+Fetch the server id.

+

Return Value

+

Unique server id.

+

void addCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException

+

+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
+
+

void removeCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+

See Also

+
+
addCallback
+
+

void setAuthenticator(ServerAuthenticator* auth) throws ServerBootedException, InvalidCallbackException

+

+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

+

ConfigMap getAllConf()

+

+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.

+

UserMap getUsers() throws ServerBootedException

+

+Fetch all users. This returns all currently connected users on the server.

+

Return Value

+

List of connected users.

+

See Also

+
+
getState
+
+

ChannelMap getChannels() throws ServerBootedException

+

+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
+
+

Tree getTree() throws ServerBootedException

+

+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.

+

BanList getBans() throws ServerBootedException

+

+Fetch all current IP bans on the server.

+

Return Value

+

List of bans.

+

void setBans(BanList bans) throws ServerBootedException

+

+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.
+
+

void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException

+

+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.
+
+

User getState(int session) throws ServerBootedException, InvalidSessionException

+

+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
+
+

void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException

+

+Set user state. You can use this to move, mute and deafen users.

+

Parameters

+
+
state
+
+ User state to set.
+
+

See Also

+
+
getState
+
+

void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException

+

+Send text message to a single user.

+

Parameters

+
+
session
+
+ Connection ID of user. See User::session.
+
text
+
+ Message to send.
+
+

See Also

+
+
sendMessageChannel
+
+

bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException

+

+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.

+

void addContextCallback(int session, string action, string text, ServerContextCallback* cb, int ctx) throws ServerBootedException, InvalidCallbackException

+

+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
+
+

void removeContextCallback(ServerContextCallback* cb) throws ServerBootedException, InvalidCallbackException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed. This callback will be removed from all from all users.
+
+

See Also

+
+
addContextCallback
+
+

Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException

+

+Get state of single channel.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

Return Value

+

State of channel.

+

See Also

+
+
setChannelState
+
getChannels
+
+

void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException

+

+Set state of a single channel. You can use this to move or relink channels.

+

Parameters

+
+
state
+
+ Channel state to set.
+
+

See Also

+
+
getChannelState
+
+

void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException

+

+Remove a channel and all its subchannels.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException

+

+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.

+

void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException

+

+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
+
+

void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException

+

+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?
+
+

void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException

+

+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?
+
+

void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException

+

+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.
+
+

void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException

+

+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.
+
+

void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException

+

+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.
+
+

NameMap getUserNames(IdList ids) throws ServerBootedException

+

+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.

+

IdMap getUserIds(NameList names) throws ServerBootedException

+

+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.
+
+

int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException

+

+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.

+

void unregisterUser(int userid) throws ServerBootedException, InvalidUserException

+

+Remove a user registration.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException

+

+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.
+
+

UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException

+

+Fetch registration for a single user.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

Return Value

+

Registration record.

+

NameMap getRegisteredUsers(string filter) throws ServerBootedException

+

+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.

+

Texture getTexture(int userid) throws ServerBootedException, InvalidUserException

+

+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.

+

void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException

+

+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.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerAuthenticator.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerAuthenticator.html new file mode 100644 index 0000000..ff26154 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerAuthenticator.html @@ -0,0 +1,172 @@ + + + + + + + Murmur::ServerAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerAuthenticator

+

Overview

+

interface ServerAuthenticator

+

+Callback interface for server authentication. You need to supply one of these for Server::setAuthenticator. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that unlike ServerCallback and ServerContextCallback, these methods are called +synchronously. If the response lags, the entire murmur server will lag. +Also note that, as the method calls are synchronous, making a call to Server or Meta will +deadlock the server.

+

Derived Classes and Interfaces

+
+
ServerUpdatingAuthenticator
+
+

Operation Index

+
+
authenticate
+
+ Called to authenticate a user.
+
getInfo
+
+ Fetch information about a user.
+
nameToId
+
+ Map a name to a user id.
+
idToName
+
+ Map a user to a User id.
+
idToTexture
+
+ Map a user to a custom Texture.
+
+

Operations

+

int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups)

+

+Called to authenticate a user. If you do not know the username in question, always return -2 from this +method to fall through to normal database authentication. +Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving +the username and id so it cannot be used for normal database authentication. +The data in the certificate (name, email addresses etc), as well as the list of signing certificates, +should only be trusted if certstrong is true.

+

Parameters

+
+
name
+
+ Username to authenticate.
+
pw
+
+ Password to authenticate with.
+
certificates
+
+ List of der encoded certificates the user connected with.
+
certhash
+
+ Hash of user certificate, as used by murmur internally when matching.
+
certstrong
+
+ True if certificate was valid and signed by a trusted CA.
+
newname
+
+ Set this to change the username from the supplied one.
+
groups
+
+ List of groups on the root channel that the user will be added to for the duration of the connection.
+
+

Return Value

+

UserID of authenticated user, -1 for authentication failures and -2 for unknown user (fallthrough).

+

bool getInfo(int id, out UserInfoMap info)

+

+Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you +want murmur to take care of this information itself, simply return false to fall through.

+

Parameters

+
+
id
+
+ User id.
+
key
+
+ Key of information to be retrieved.
+
info
+
+ Information about user. This needs to include at least "name".
+
+

Return Value

+

true if information is present, false to fall through.

+

int nameToId(string name)

+

+Map a name to a user id.

+

Parameters

+
+
name
+
+ Username to map.
+
+

Return Value

+

User id or -2 for unknown name.

+

string idToName(int id)

+

+Map a user to a User id.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

Name of user or empty string for unknown id.

+

Texture idToTexture(int id)

+

+Map a user to a custom Texture.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

User texture or an empty texture for unknwon users or users without textures.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerBootedException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerBootedException.html new file mode 100644 index 0000000..f723157 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerBootedException.html @@ -0,0 +1,102 @@ + + + + + + + Murmur::ServerBootedException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerBootedException

+

Overview

+

exception ServerBootedException + extends + MurmurException

+

+This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.

+

Used By

+
+
Server::addCallback
+
Server::addChannel
+
Server::addContextCallback
+
Server::addUserToGroup
+
Server::delete
+
Server::getACL
+
Server::getBans
+
Server::getChannelState
+
Server::getChannels
+
Server::getRegisteredUsers
+
Server::getRegistration
+
Server::getState
+
Server::getTexture
+
Server::getTree
+
Server::getUserIds
+
Server::getUserNames
+
Server::getUsers
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::registerUser
+
Server::removeCallback
+
Server::removeChannel
+
Server::removeContextCallback
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setAuthenticator
+
Server::setBans
+
Server::setChannelState
+
Server::setState
+
Server::setTexture
+
Server::start
+
Server::stop
+
Server::unregisterUser
+
Server::updateRegistration
+
Server::verifyPassword
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerCallback.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerCallback.html new file mode 100644 index 0000000..6ee6841 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerCallback.html @@ -0,0 +1,147 @@ + + + + + + + Murmur::ServerCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerCallback

+

Overview

+

interface ServerCallback

+

+Callback interface for servers. You can supply an implementation of this to receive notification +messages from the server. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing. +Note that callbacks are removed when a server is stopped, so you should have a callback for +MetaCallback::started which calls Server::addCallback.

+

See Also

+
+
MetaCallback
+
Server::addCallback
+
+

Operation Index

+
+
userConnected
+
+ Called when a user connects to the server.
+
userDisconnected
+
+ Called when a user disconnects from the server.
+
userStateChanged
+
+ Called when a user state changes.
+
channelCreated
+
+ Called when a new channel is created.
+
channelRemoved
+
+ Called when a channel is removed.
+
channelStateChanged
+
+ Called when a new channel state changes.
+
+

Operations

+

void userConnected(User state)

+

+Called when a user connects to the server.

+

Parameters

+
+
state
+
+ State of connected user.
+
+

void userDisconnected(User state)

+

+Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like Server::getState +to retrieve the user's state.

+

Parameters

+
+
state
+
+ State of disconnected user.
+
+

void userStateChanged(User state)

+

+Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc.

+

Parameters

+
+
state
+
+ New state of user.
+
+

void channelCreated(Channel state)

+

+Called when a new channel is created.

+

Parameters

+
+
state
+
+ State of new channel.
+
+

void channelRemoved(Channel state)

+

+Called when a channel is removed. The channel has already been removed, you can no longer use methods like Server::getChannelState

+

Parameters

+
+
state
+
+ State of removed channel.
+
+

void channelStateChanged(Channel state)

+

+Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added.

+

Parameters

+
+
state
+
+ New state of channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerContextCallback.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerContextCallback.html new file mode 100644 index 0000000..45d19ac --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerContextCallback.html @@ -0,0 +1,87 @@ + + + + + + + Murmur::ServerContextCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerContextCallback

+

Overview

+

interface ServerContextCallback

+

+Callback interface for context actions. You need to supply one of these for Server::addContext. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

Operation Index

+
+
contextAction
+
+ Called when a context action is performed.
+
+

Operations

+

void contextAction(string action, User usr, int session, int channelid)

+

+Called when a context action is performed.

+

Parameters

+
+
action
+
+ Action to be performed.
+
usr
+
+ User which initiated the action.
+
session
+
+ If nonzero, session of target user.
+
channelid
+
+ If nonzero, session of target channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerFailureException.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerFailureException.html new file mode 100644 index 0000000..d18898b --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerFailureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::ServerFailureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerFailureException

+

Overview

+

exception ServerFailureException + extends + MurmurException

+

+This is thrown if Server::start fails, and should generally be the cause for some concern.

+

Used By

+
+
Server::start
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerUpdatingAuthenticator.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerUpdatingAuthenticator.html new file mode 100644 index 0000000..5dd03b6 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/ServerUpdatingAuthenticator.html @@ -0,0 +1,144 @@ + + + + + + + Murmur::ServerUpdatingAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerUpdatingAuthenticator

+

Overview

+

interface ServerUpdatingAuthenticator extends ServerAuthenticator

+

+Callback interface for server authentication and registration. This allows you to support both authentication +and account updating. +You do not need to implement this if all you want is authentication, you only need this if other scripts +connected to the same server calls e.g. Server::setTexture. +Almost all of these methods support fall through, meaning murmur should continue the operation against its +own database.

+

Operation Index

+
+
registerUser
+
+ Register a new user.
+
unregisterUser
+
+ Unregister a user.
+
getRegisteredUsers
+
+ Get a list of registered users matching filter.
+
setInfo
+
+ Set additional information for user registration.
+
setTexture
+
+ Set texture of user registration.
+
+

Operations

+

int registerUser(UserInfoMap info)

+

+Register a new user.

+

Parameters

+
+
info
+
+ Information about user to register.
+
+

Return Value

+

User id of new user, -1 for registration failure, or -2 to fall through.

+

int unregisterUser(int id)

+

+Unregister a user.

+

Parameters

+
+
id
+
+ Userid to unregister.
+
+

Return Value

+

1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through.

+

NameMap getRegisteredUsers(string filter)

+

+Get a list of registered users matching filter.

+

Parameters

+
+
filter
+
+ Substring usernames must contain. If empty, return all registered users.
+
+

Return Value

+

List of matching registered users.

+

int setInfo(int id, UserInfoMap info)

+

+Set additional information for user registration.

+

Parameters

+
+
id
+
+ Userid of registered user.
+
info
+
+ Information to set about user. This should be merged with existing information.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+

int setTexture(int id, Texture tex)

+

+Set texture of user registration.

+

Parameters

+
+
id
+
+ Userid of registered user.
+
tex
+
+ New texture.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/Tree.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/Tree.html new file mode 100644 index 0000000..2e0dd19 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/Tree.html @@ -0,0 +1,86 @@ + + + + + + + Murmur::Tree + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Tree

+

Overview

+

class Tree

+

+User and subchannel state. Read-only.

+

Used By

+
+
TreeList
+
Server::getTree
+
+

Data Member Index

+
+
c
+
+ Channel definition of current channel.
+
children
+
+ List of subchannels.
+
users
+
+ Users in this channel.
+
+

Data Members

+

Channel c;

+

+Channel definition of current channel.

+

TreeList children;

+

+List of subchannels.

+

UserList users;

+

+Users in this channel.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/User.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/User.html new file mode 100644 index 0000000..6507dfe --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/User.html @@ -0,0 +1,244 @@ + + + + + + + Murmur::User + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::User

+

Overview

+

struct User

+

+A connected user.

+

Used By

+
+
UserList
+
UserMap
+
Server::getState
+
Server::setState
+
ServerCallback::userConnected
+
ServerCallback::userDisconnected
+
ServerCallback::userStateChanged
+
ServerContextCallback::contextAction
+
+

Data Member Index

+
+
session
+
+ Session ID.
+
userid
+
+ User ID.
+
mute
+
+ Is user muted by the server?
+
deaf
+
+ Is user deafened by the server? If true, this implies mute.
+
suppress
+
+ Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.
+
selfMute
+
+ Is the user self-muted?
+
selfDeaf
+
+ Is the user self-deafened? If true, this implies mute.
+
channel
+
+ Channel ID the user is in.
+
name
+
+ The name of the user.
+
onlinesecs
+
+ Seconds user has been online.
+
bytespersec
+
+ Average transmission rate in bytes per second over the last few seconds.
+
version
+
+ Client version.
+
release
+
+ Client release.
+
os
+
+ Client OS.
+
osversion
+
+ Client OS Version.
+
identity
+
+ Plugin Identity.
+
context
+
+ Plugin context.
+
comment
+
+ User comment.
+
address
+
+ Client address.
+
tcponly
+
+ TCP only.
+
idlesecs
+
+ Idle time.
+
+

Data Members

+
+
int session;
+
+

+Session ID. This identifies the connection to the server.

+
+
int userid;
+
+

+User ID. -1 if the user is anonymous.

+
+
bool mute;
+
+

+Is user muted by the server?

+
+
bool deaf;
+
+

+Is user deafened by the server? If true, this implies mute.

+
+
bool suppress;
+
+

+Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.

+
+
bool selfMute;
+
+

+Is the user self-muted?

+
+
bool selfDeaf;
+
+

+Is the user self-deafened? If true, this implies mute.

+
+
int channel;
+
+

+Channel ID the user is in. Matches Channel::id.

+
+
string name;
+
+

+The name of the user.

+
+
int onlinesecs;
+
+

+Seconds user has been online.

+
+
int bytespersec;
+
+

+Average transmission rate in bytes per second over the last few seconds.

+
+
int version;
+
+

+Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203.

+
+
string release;
+
+

+Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else.

+
+
string os;
+
+

+Client OS.

+
+
string osversion;
+
+

+Client OS Version.

+
+
string identity;
+
+

+Plugin Identity. This will be the user's unique ID inside the current game.

+
+
string context;
+
+

+Plugin context. This is a binary blob identifying the game and team the user is on.

+
+
string comment;
+
+

+User comment. Shown as tooltip for this user.

+
+
NetAddress address;
+
+

+Client address.

+
+
bool tcponly;
+
+

+TCP only. True until UDP connectivity is established.

+
+
int idlesecs;
+
+

+Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.0/html/Murmur/UserInfo.html b/hugo/static/documentation/slice/1.2.0/html/Murmur/UserInfo.html new file mode 100644 index 0000000..c0bc3ba --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/Murmur/UserInfo.html @@ -0,0 +1,72 @@ + + + + + + + Murmur::UserInfo + + + + + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ + +
+

Murmur::UserInfo

+

Overview

+

enum UserInfo

+

Used By

+
+
UserInfoMap
+
+

Enumerators

+
+
UserName
+
+
UserEmail
+
+
UserComment
+
+
UserHash
+
+
UserPassword
+
+
+ + + +
+ + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ diff --git a/hugo/static/documentation/slice/1.2.0/html/_sindex.html b/hugo/static/documentation/slice/1.2.0/html/_sindex.html new file mode 100644 index 0000000..c5f2252 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/_sindex.html @@ -0,0 +1,486 @@ + + + + + + + Slice API Index + + + +

Slice API Index

+ + + + + + + +
+ + + diff --git a/hugo/static/documentation/slice/1.2.0/html/index.html b/hugo/static/documentation/slice/1.2.0/html/index.html new file mode 100644 index 0000000..da2bc8b --- /dev/null +++ b/hugo/static/documentation/slice/1.2.0/html/index.html @@ -0,0 +1,45 @@ + + + + + + + Slice API Documentation + + + + + + + + +
+ + + + +
Index
+
+ +
+

Slice API Documentation

+

Modules

+
+
Murmur
+
Information and control of the murmur server.
+
+
+ + + + + +
+ + + + +
Index
+
+ + diff --git a/hugo/static/documentation/slice/1.2.7/Murmur.ice b/hugo/static/documentation/slice/1.2.7/Murmur.ice new file mode 100644 index 0000000..4c303eb --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/Murmur.ice @@ -0,0 +1,836 @@ +/** + * + * Information and control of the murmur server. Each server has + * one {@link Meta} interface that controls global information, and + * each virtual server has a {@link Server} interface. + * + **/ + +#include + +module Murmur +{ + + /** A network address in IPv6 format. + **/ + ["python:seq:tuple"] sequence NetAddress; + + /** A connected user. + **/ + struct User { + /** Session ID. This identifies the connection to the server. */ + int session; + /** User ID. -1 if the user is anonymous. */ + int userid; + /** Is user muted by the server? */ + bool mute; + /** Is user deafened by the server? If true, this implies mute. */ + bool deaf; + /** Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel. */ + bool suppress; + /** Is the user a priority speaker? */ + bool prioritySpeaker; + /** Is the user self-muted? */ + bool selfMute; + /** Is the user self-deafened? If true, this implies mute. */ + bool selfDeaf; + /** Is the User recording? (This flag is read-only and cannot be changed using setState().) **/ + bool recording; + /** Channel ID the user is in. Matches {@link Channel.id}. */ + int channel; + /** The name of the user. */ + string name; + /** Seconds user has been online. */ + int onlinesecs; + /** Average transmission rate in bytes per second over the last few seconds. */ + int bytespersec; + /** Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203. */ + int version; + /** Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else. */ + string release; + /** Client OS. */ + string os; + /** Client OS Version. */ + string osversion; + /** Plugin Identity. This will be the user's unique ID inside the current game. */ + string identity; + /** Plugin context. This is a binary blob identifying the game and team the user is on. */ + string context; + /** User comment. Shown as tooltip for this user. */ + string comment; + /** Client address. */ + NetAddress address; + /** TCP only. True until UDP connectivity is established. */ + bool tcponly; + /** Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted. */ + int idlesecs; + /** UDP Ping Average. This is the average ping for the user via UDP over the duration of the connection. */ + float udpPing; + /** TCP Ping Average. This is the average ping for the user via TCP over the duration of the connection. */ + float tcpPing; + }; + + sequence IntList; + + /** A text message between users. + **/ + struct TextMessage { + /** Sessions (connected users) who were sent this message. */ + IntList sessions; + /** Channels who were sent this message. */ + IntList channels; + /** Trees of channels who were sent this message. */ + IntList trees; + /** The contents of the message. */ + string text; + }; + + /** A channel. + **/ + struct Channel { + /** Channel ID. This is unique per channel, and the root channel is always id 0. */ + int id; + /** Name of the channel. There can not be two channels with the same parent that has the same name. */ + string name; + /** ID of parent channel, or -1 if this is the root channel. */ + int parent; + /** List of id of linked channels. */ + IntList links; + /** Description of channel. Shown as tooltip for this channel. */ + string description; + /** Channel is temporary, and will be removed when the last user leaves it. */ + bool temporary; + /** Position of the channel which is used in Client for sorting. */ + int position; + }; + + /** A group. Groups are defined per channel, and can inherit members from parent channels. + **/ + struct Group { + /** Group name */ + string name; + /** Is this group inherited from a parent channel? Read-only. */ + bool inherited; + /** Does this group inherit members from parent channels? */ + bool inherit; + /** Can subchannels inherit members from this group? */ + bool inheritable; + /** List of users to add to the group. */ + IntList add; + /** List of inherited users to remove from the group. */ + IntList remove; + /** Current members of the group, including inherited members. Read-only. */ + IntList members; + }; + + /** Write access to channel control. Implies all other permissions (except Speak). */ + const int PermissionWrite = 0x01; + /** Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there. */ + const int PermissionTraverse = 0x02; + /** Enter channel. */ + const int PermissionEnter = 0x04; + /** Speak in channel. */ + const int PermissionSpeak = 0x08; + /** Whisper to channel. This is different from Speak, so you can set up different permissions. */ + const int PermissionWhisper = 0x100; + /** Mute and deafen other users in this channel. */ + const int PermissionMuteDeafen = 0x10; + /** Move users from channel. You need this permission in both the source and destination channel to move another user. */ + const int PermissionMove = 0x20; + /** Make new channel as a subchannel of this channel. */ + const int PermissionMakeChannel = 0x40; + /** Make new temporary channel as a subchannel of this channel. */ + const int PermissionMakeTempChannel = 0x400; + /** Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them. */ + const int PermissionLinkChannel = 0x80; + /** Send text message to channel. */ + const int PermissionTextMessage = 0x200; + /** Kick user from server. Only valid on root channel. */ + const int PermissionKick = 0x10000; + /** Ban user from server. Only valid on root channel. */ + const int PermissionBan = 0x20000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegister = 0x40000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegisterSelf = 0x80000; + + + /** Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels. + **/ + struct ACL { + /** Does the ACL apply to this channel? */ + bool applyHere; + /** Does the ACL apply to subchannels? */ + bool applySubs; + /** Is this ACL inherited from a parent channel? Read-only. */ + bool inherited; + /** ID of user this ACL applies to. -1 if using a group name. */ + int userid; + /** Group this ACL applies to. Blank if using userid. */ + string group; + /** Binary mask of privileges to allow. */ + int allow; + /** Binary mask of privileges to deny. */ + int deny; + }; + + /** A single ip mask for a ban. + **/ + struct Ban { + /** Address to ban. */ + NetAddress address; + /** Number of bits in ban to apply. */ + int bits; + /** Username associated with ban. */ + string name; + /** Hash of banned user. */ + string hash; + /** Reason for ban. */ + string reason; + /** Date ban was applied in unix time format. */ + int start; + /** Duration of ban. */ + int duration; + }; + + /** A entry in the log. + **/ + struct LogEntry { + /** Timestamp in UNIX time_t */ + int timestamp; + /** The log message. */ + string txt; + }; + + class Tree; + sequence TreeList; + + enum ChannelInfo { ChannelDescription, ChannelPosition }; + enum UserInfo { UserName, UserEmail, UserComment, UserHash, UserPassword, UserLastActive }; + + dictionary UserMap; + dictionary ChannelMap; + sequence ChannelList; + sequence UserList; + sequence GroupList; + sequence ACLList; + sequence LogList; + sequence BanList; + sequence IdList; + sequence NameList; + dictionary NameMap; + dictionary IdMap; + sequence Texture; + dictionary ConfigMap; + sequence GroupNameList; + sequence CertificateDer; + sequence CertificateList; + + /** User information map. + * Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'. + */ + + dictionary UserInfoMap; + + /** User and subchannel state. Read-only. + **/ + class Tree { + /** Channel definition of current channel. */ + Channel c; + /** List of subchannels. */ + TreeList children; + /** Users in this channel. */ + UserList users; + }; + + exception MurmurException {}; + /** This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to {@link Server.getUsers}. See {@link User.session} */ + exception InvalidSessionException extends MurmurException {}; + /** This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel. */ + exception InvalidChannelException extends MurmurException {}; + /** This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server. */ + exception InvalidServerException extends MurmurException {}; + /** This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server. */ + exception ServerBootedException extends MurmurException {}; + /** This is thrown if {@link Server.start} fails, and should generally be the cause for some concern. */ + exception ServerFailureException extends MurmurException {}; + /** This is thrown when you specify an invalid userid. */ + exception InvalidUserException extends MurmurException {}; + /** This is thrown when you try to set an invalid texture. */ + exception InvalidTextureException extends MurmurException {}; + /** This is thrown when you supply an invalid callback. */ + exception InvalidCallbackException extends MurmurException {}; + /** This is thrown when you supply the wrong secret in the calling context. */ + exception InvalidSecretException extends MurmurException {}; + /** This is thrown when the channel operation would excede the channel nesting limit */ + exception NestingLimitException extends MurmurException {}; + + /** Callback interface for servers. You can supply an implementation of this to receive notification + * messages from the server. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * Note that callbacks are removed when a server is stopped, so you should have a callback for + * {@link MetaCallback.started} which calls {@link Server.addCallback}. + * @see MetaCallback + * @see Server.addCallback + */ + interface ServerCallback { + /** Called when a user connects to the server. + * @param state State of connected user. + */ + idempotent void userConnected(User state); + /** Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like {@link Server.getState} + * to retrieve the user's state. + * @param state State of disconnected user. + */ + idempotent void userDisconnected(User state); + /** Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc. + * @param state New state of user. + */ + idempotent void userStateChanged(User state); + /** Called when user writes a text message + * @param state the User sending the message + * @param message the TextMessage the user has sent + */ + idempotent void userTextMessage(User state, TextMessage message); + /** Called when a new channel is created. + * @param state State of new channel. + */ + idempotent void channelCreated(Channel state); + /** Called when a channel is removed. The channel has already been removed, you can no longer use methods like {@link Server.getChannelState} + * @param state State of removed channel. + */ + idempotent void channelRemoved(Channel state); + /** Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added. + * @param state New state of channel. + */ + idempotent void channelStateChanged(Channel state); + }; + + /** Context for actions in the Server menu. */ + const int ContextServer = 0x01; + /** Context for actions in the Channel menu. */ + const int ContextChannel = 0x02; + /** Context for actions in the User menu. */ + const int ContextUser = 0x04; + + /** Callback interface for context actions. You need to supply one of these for {@link Server.addContext}. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + */ + interface ServerContextCallback { + /** Called when a context action is performed. + * @param action Action to be performed. + * @param usr User which initiated the action. + * @param session If nonzero, session of target user. + * @param channelid If nonzero, session of target channel. + */ + idempotent void contextAction(string action, User usr, int session, int channelid); + }; + + /** Callback interface for server authentication. You need to supply one of these for {@link Server.setAuthenticator}. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that unlike {@link ServerCallback} and {@link ServerContextCallback}, these methods are called + * synchronously. If the response lags, the entire murmur server will lag. + * Also note that, as the method calls are synchronous, making a call to {@link Server} or {@link Meta} will + * deadlock the server. + */ + interface ServerAuthenticator { + /** Called to authenticate a user. If you do not know the username in question, always return -2 from this + * method to fall through to normal database authentication. + * Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving + * the username and id so it cannot be used for normal database authentication. + * The data in the certificate (name, email addresses etc), as well as the list of signing certificates, + * should only be trusted if certstrong is true. + * + * @param name Username to authenticate. + * @param pw Password to authenticate with. + * @param certificates List of der encoded certificates the user connected with. + * @param certhash Hash of user certificate, as used by murmur internally when matching. + * @param certstrong True if certificate was valid and signed by a trusted CA. + * @param newname Set this to change the username from the supplied one. + * @param groups List of groups on the root channel that the user will be added to for the duration of the connection. + * @return UserID of authenticated user, -1 for authentication failures and -2 for unknown user (fallthrough). + */ + idempotent int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups); + + /** Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you + * want murmur to take care of this information itself, simply return false to fall through. + * @param id User id. + * @param info Information about user. This needs to include at least "name". + * @return true if information is present, false to fall through. + */ + idempotent bool getInfo(int id, out UserInfoMap info); + + /** Map a name to a user id. + * @param name Username to map. + * @return User id or -2 for unknown name. + */ + idempotent int nameToId(string name); + + /** Map a user id to a username. + * @param id User id to map. + * @return Name of user or empty string for unknown id. + */ + idempotent string idToName(int id); + + /** Map a user to a custom Texture. + * @param id User id to map. + * @return User texture or an empty texture for unknwon users or users without textures. + */ + idempotent Texture idToTexture(int id); + }; + + /** Callback interface for server authentication and registration. This allows you to support both authentication + * and account updating. + * You do not need to implement this if all you want is authentication, you only need this if other scripts + * connected to the same server calls e.g. {@link Server.setTexture}. + * Almost all of these methods support fall through, meaning murmur should continue the operation against its + * own database. + */ + interface ServerUpdatingAuthenticator extends ServerAuthenticator { + /** Register a new user. + * @param info Information about user to register. + * @return User id of new user, -1 for registration failure, or -2 to fall through. + */ + int registerUser(UserInfoMap info); + + /** Unregister a user. + * @param id Userid to unregister. + * @return 1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through. + */ + int unregisterUser(int id); + + /** Get a list of registered users matching filter. + * @param filter Substring usernames must contain. If empty, return all registered users. + * @return List of matching registered users. + */ + idempotent NameMap getRegisteredUsers(string filter); + + /** Set additional information for user registration. + * @param id Userid of registered user. + * @param info Information to set about user. This should be merged with existing information. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setInfo(int id, UserInfoMap info); + + /** Set texture (now called avatar) of user registration. + * @param id registrationId of registered user. + * @param tex New texture. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setTexture(int id, Texture tex); + }; + + /** 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 {@link Meta}. + **/ + ["amd"] interface Server { + /** Shows if the server currently running (accepting users). + * + * @return Run-state of server. + */ + idempotent bool isRunning() throws InvalidSecretException; + + /** Start server. */ + void start() throws ServerBootedException, ServerFailureException, InvalidSecretException; + + /** Stop server. + * Note: Server will be restarted on Murmur restart unless explicitly disabled + * with setConf("boot", false) + */ + void stop() throws ServerBootedException, InvalidSecretException; + + /** Delete server and all it's configuration. */ + void delete() throws ServerBootedException, InvalidSecretException; + + /** Fetch the server id. + * + * @return Unique server id. + */ + idempotent int id() throws InvalidSecretException; + + /** Add a callback. The callback will receive notifications about changes to users and channels. + * + * @param cb Callback interface which will receive notifications. + * @see removeCallback + */ + void addCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + * @see addCallback + */ + void removeCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Set external authenticator. If set, all authentications from clients are forwarded to this + * proxy. + * + * @param auth Authenticator object to perform subsequent authentications. + */ + void setAuthenticator(ServerAuthenticator *auth) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Retrieve configuration item. + * @param key Configuration key. + * @return Configuration value. If this is empty, see {@link Meta.getDefaultConf} + */ + idempotent string getConf(string key) throws InvalidSecretException; + + /** Retrieve all configuration items. + * @return All configured values. If a value isn't set here, the value from {@link Meta.getDefaultConf} is used. + */ + idempotent ConfigMap getAllConf() throws InvalidSecretException; + + /** Set a configuration item. + * @param key Configuration key. + * @param value Configuration value. + */ + idempotent void setConf(string key, string value) throws InvalidSecretException; + + /** Set superuser password. This is just a convenience for using {@link updateRegistration} on user id 0. + * @param pw Password. + */ + idempotent void setSuperuserPassword(string pw) throws InvalidSecretException; + + /** Fetch log entries. + * @param first Lowest numbered entry to fetch. 0 is the most recent item. + * @param last Last entry to fetch. + * @return List of log entries. + */ + idempotent LogList getLog(int first, int last) throws InvalidSecretException; + + /** Fetch length of log + * @return Number of entries in log + */ + idempotent int getLogLen() throws InvalidSecretException; + + /** Fetch all users. This returns all currently connected users on the server. + * @return List of connected users. + * @see getState + */ + idempotent UserMap getUsers() throws ServerBootedException, InvalidSecretException; + + /** Fetch all channels. This returns all defined channels on the server. The root channel is always channel 0. + * @return List of defined channels. + * @see getChannelState + */ + idempotent ChannelMap getChannels() throws ServerBootedException, InvalidSecretException; + + /** Fetch certificate of user. This returns the complete certificate chain of a user. + * @param session Connection ID of user. See {@link User.session}. + * @return Certificate list of user. + */ + idempotent CertificateList getCertificateList(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** 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 Recursive tree of all channels and connected users. + */ + idempotent Tree getTree() throws ServerBootedException, InvalidSecretException; + + /** Fetch all current IP bans on the server. + * @return List of bans. + */ + idempotent BanList getBans() throws ServerBootedException, InvalidSecretException; + + /** 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 {@link getBans} and then + * append to the returned list before calling this method. + * @param bans List of bans. + */ + idempotent void setBans(BanList bans) throws ServerBootedException, InvalidSecretException; + + /** Kick a user. The user is not banned, and is free to rejoin the server. + * @param session Connection ID of user. See {@link User.session}. + * @param reason Text message to show when user is kicked. + */ + void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Get state of a single connected user. + * @param session Connection ID of user. See {@link User.session}. + * @return State of connected user. + * @see setState + * @see getUsers + */ + idempotent User getState(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Set user state. You can use this to move, mute and deafen users. + * @param state User state to set. + * @see getState + */ + idempotent void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Send text message to a single user. + * @param session Connection ID of user. See {@link User.session}. + * @param text Message to send. + * @see sendMessageChannel + */ + void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Check if user is permitted to perform action. + * @param session Connection ID of user. See {@link User.session}. + * @param channelid ID of Channel. See {@link Channel.id}. + * @param perm Permission bits to check. + * @return true if any of the permissions in perm were set for the user. + */ + bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Return users effective permissions + * @param session Connection ID of user. See {@link User.session}. + * @param channelid ID of Channel. See {@link Channel.id}. + * @return bitfield of allowed actions + */ + idempotent int effectivePermissions(int session, int channelid) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Add a context callback. This is done per user, and will add a context menu action for the user. + * + * @param session Session of user which should receive context entry. + * @param action Action string, a unique name to associate with the action. + * @param text Name of action shown to user. + * @param cb Callback interface which will receive notifications. + * @param ctx Context this should be used in. Needs to be one or a combination of {@link ContextServer}, {@link ContextChannel} and {@link ContextUser}. + * @see removeContextCallback + */ + void addContextCallback(int session, string action, string text, ServerContextCallback *cb, int ctx) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. This callback will be removed from all from all users. + * @see addContextCallback + */ + void removeContextCallback(ServerContextCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Get state of single channel. + * @param channelid ID of Channel. See {@link Channel.id}. + * @return State of channel. + * @see setChannelState + * @see getChannels + */ + idempotent Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Set state of a single channel. You can use this to move or relink channels. + * @param state Channel state to set. + * @see getChannelState + */ + idempotent void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException; + + /** Remove a channel and all its subchannels. + * @param channelid ID of Channel. See {@link Channel.id}. + */ + void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Add a new channel. + * @param name Name of new channel. + * @param parent Channel ID of parent channel. See {@link Channel.id}. + * @return ID of newly created channel. + */ + int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException; + + /** Send text message to channel or a tree of channels. + * @param channelid Channel ID of channel to send to. See {@link Channel.id}. + * @param tree If true, the message will be sent to the channel and all its subchannels. + * @param text Message to send. + * @see sendMessage + */ + void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Retrieve ACLs and Groups on a channel. + * @param channelid Channel ID of channel to fetch from. See {@link Channel.id}. + * @param acls List of ACLs on the channel. This will include inherited ACLs. + * @param groups List of groups on the channel. This will include inherited groups. + * @param inherit Does this channel inherit ACLs from the parent channel? + */ + idempotent void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Set ACLs and Groups on a channel. Note that this will replace all existing ACLs and groups on the channel. + * @param channelid Channel ID of channel to fetch from. See {@link Channel.id}. + * @param acls List of ACLs on the channel. + * @param groups List of groups on the channel. + * @param inherit Should this channel inherit ACLs from the parent channel? + */ + idempotent void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Temporarily add a user to a group on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See {@link Channel.id}. + * @param session Connection ID of user. See {@link User.session}. + * @param group Group name to add to. + */ + idempotent void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException; + + /** Remove a user from a temporary group membership on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See {@link Channel.id}. + * @param session Connection ID of user. See {@link User.session}. + * @param group Group name to remove from. + */ + idempotent void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException; + + /** 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. + * @param session Connection ID of user. See {@link User.session}. + * @param source Group name to redirect from. + * @param target Group name to redirect to. + */ + idempotent void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Map a list of {@link User.userid} to a matching name. + * @param List of ids. + * @return Matching list of names, with an empty string representing invalid or unknown ids. + */ + idempotent NameMap getUserNames(IdList ids) throws ServerBootedException, InvalidSecretException; + + /** Map a list of user names to a matching id. + * @param List of names. + * @reuturn List of matching ids, with -1 representing invalid or unknown user names. + */ + idempotent IdMap getUserIds(NameList names) throws ServerBootedException, InvalidSecretException; + + /** Register a new user. + * @param info Information about new user. Must include at least "name". + * @return The ID of the user. See {@link RegisteredUser.userid}. + */ + int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Remove a user registration. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + */ + void unregisterUser(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** 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. + * @param registration Updated registration record. + */ + idempotent void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Fetch registration for a single user. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @return Registration record. + */ + idempotent UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Fetch a group of registered users. + * @param filter Substring of user name. If blank, will retrieve all registered users. + * @return List of registration records. + */ + idempotent NameMap getRegisteredUsers(string filter) throws ServerBootedException, InvalidSecretException; + + /** Verify the password of a user. You can use this to verify a user's credentials. + * @param name User name. See {@link RegisteredUser.name}. + * @param pw User password. + * @return User ID of registered user (See {@link RegisteredUser.userid}), -1 for failed authentication or -2 for unknown usernames. + */ + idempotent int verifyPassword(string name, string pw) throws ServerBootedException, InvalidSecretException; + + /** Fetch user texture. Textures are stored as zlib compress()ed 600x60 32-bit BGRA data. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @return Custom texture associated with user or an empty texture. + */ + idempotent Texture getTexture(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Set a user texture (now called avatar). + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @param tex Texture (as a Byte-Array) to set for the user, or an empty texture to remove the existing texture. + */ + idempotent void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException, InvalidSecretException; + + /** Get virtual server uptime. + * @return Uptime of the virtual server in seconds + */ + idempotent int getUptime() throws ServerBootedException, InvalidSecretException; + }; + + /** Callback interface for Meta. You can supply an implementation of this to receive notifications + * when servers are stopped or started. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * @see ServerCallback + * @see Meta.addCallback + */ + interface MetaCallback { + /** Called when a server is started. The server is up and running when this event is sent, so all methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void started(Server *srv); + + /** Called when a server is stopped. The server is already stopped when this event is sent, so no methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void stopped(Server *srv); + }; + + sequence ServerList; + + /** This is the meta interface. It is primarily used for retrieving the {@link Server} interfaces for each individual server. + **/ + ["amd"] interface Meta { + /** Fetch interface to specific server. + * @param id Server ID. See {@link Server.getId}. + * @return Interface for specified server, or a null proxy if id is invalid. + */ + idempotent Server *getServer(int id) throws InvalidSecretException; + + /** Create a new server. Call {@link Server.getId} on the returned interface to find it's ID. + * @return Interface for new server. + */ + Server *newServer() throws InvalidSecretException; + + /** Fetch list of all currently running servers. + * @return List of interfaces for running servers. + */ + idempotent ServerList getBootedServers() throws InvalidSecretException; + + /** Fetch list of all defined servers. + * @return List of interfaces for all servers. + */ + idempotent ServerList getAllServers() throws InvalidSecretException; + + /** Fetch default configuraion. This returns the configuration items that were set in the configuration file, or + * the built-in default. The individual servers will use these values unless they have been overridden in the + * server specific configuration. The only special case is the port, which defaults to the value defined here + + * the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc). + * @return Default configuration of the servers. + */ + idempotent ConfigMap getDefaultConf() throws InvalidSecretException; + + /** Fetch version of Murmur. + * @param major Major version. + * @param minor Minor version. + * @param patch Patchlevel. + * @param text Textual representation of version. Note that this may not match the {@link major}, {@link minor} and {@link patch} levels, as it + * may be simply the compile date or the SVN revision. This is usually the text you want to present to users. + */ + idempotent void getVersion(out int major, out int minor, out int patch, out string text); + + /** Add a callback. The callback will receive notifications when servers are started or stopped. + * + * @param cb Callback interface which will receive notifications. + */ + void addCallback(MetaCallback *cb) throws InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + */ + void removeCallback(MetaCallback *cb) throws InvalidCallbackException, InvalidSecretException; + + /** Get murmur uptime. + * @return Uptime of murmur in seconds + */ + idempotent int getUptime(); + + /** Get slice file. + * @return Contents of the slice file server compiled with. + */ + idempotent string getSlice(); + + /** Returns a checksum dict for the slice file. + * @return Checksum dict + */ + idempotent Ice::SliceChecksumDict getSliceChecksums(); + }; +}; diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur.html b/hugo/static/documentation/slice/1.2.7/html/Murmur.html new file mode 100644 index 0000000..c096e3f --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur.html @@ -0,0 +1,712 @@ + + + + + + + Murmur + + + + + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + +
+

Murmur

+

Overview

+

module Murmur

+

Class Index

+
+
Tree
+
+ User and subchannel state.
+
+

Interface Index

+
+
Meta
+
+ This is the meta interface.
+
MetaCallback
+
+ Callback interface for Meta.
+
Server
+
+ Per-server interface.
+
ServerAuthenticator
+
+ Callback interface for server authentication.
+
ServerCallback
+
+ Callback interface for servers.
+
ServerContextCallback
+
+ Callback interface for context actions.
+
ServerUpdatingAuthenticator
+
+ Callback interface for server authentication and registration.
+
+

Exception Index

+
+
InvalidCallbackException
+
+ This is thrown when you supply an invalid callback.
+
InvalidChannelException
+
+ This is thrown when you specify an invalid channel id.
+
InvalidSecretException
+
+ This is thrown when you supply the wrong secret in the calling context.
+
InvalidServerException
+
+ This is thrown when you try to do an operation on a server that does not exist.
+
InvalidSessionException
+
+ This is thrown when you specify an invalid session.
+
InvalidTextureException
+
+ This is thrown when you try to set an invalid texture.
+
InvalidUserException
+
+ This is thrown when you specify an invalid userid.
+
MurmurException
+
+
+
NestingLimitException
+
+ This is thrown when the channel operation would excede the channel nesting limit
+
ServerBootedException
+
+ This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.
+
ServerFailureException
+
+ This is thrown if Server::start fails, and should generally be the cause for some concern.
+
+

Structure Index

+
+
ACL
+
+ Access Control List for a channel.
+
Ban
+
+ A single ip mask for a ban.
+
Channel
+
+ A channel.
+
Group
+
+ A group.
+
LogEntry
+
+ A entry in the log.
+
TextMessage
+
+ A text message between users.
+
User
+
+ A connected user.
+
+

Sequence Index

+
+
ACLList
+
+
+
BanList
+
+
+
CertificateDer
+
+
+
CertificateList
+
+
+
ChannelList
+
+
+
GroupList
+
+
+
GroupNameList
+
+
+
IdList
+
+
+
IntList
+
+
+
LogList
+
+
+
NameList
+
+
+
NetAddress
+
+ A network address in IPv6 format.
+
ServerList
+
+
+
Texture
+
+
+
TreeList
+
+
+
UserList
+
+
+
+

Dictionary Index

+
+
ChannelMap
+
+
+
ConfigMap
+
+
+
IdMap
+
+
+
NameMap
+
+
+
UserInfoMap
+
+ User information map.
+
UserMap
+
+
+
+

Constant Index

+
+
ContextChannel
+
+ Context for actions in the Channel menu.
+
ContextServer
+
+ Context for actions in the Server menu.
+
ContextUser
+
+ Context for actions in the User menu.
+
PermissionBan
+
+ Ban user from server.
+
PermissionEnter
+
+ Enter channel.
+
PermissionKick
+
+ Kick user from server.
+
PermissionLinkChannel
+
+ Link this channel.
+
PermissionMakeChannel
+
+ Make new channel as a subchannel of this channel.
+
PermissionMakeTempChannel
+
+ Make new temporary channel as a subchannel of this channel.
+
PermissionMove
+
+ Move users from channel.
+
PermissionMuteDeafen
+
+ Mute and deafen other users in this channel.
+
PermissionRegister
+
+ Register and unregister users.
+
PermissionRegisterSelf
+
+ Register and unregister users.
+
PermissionSpeak
+
+ Speak in channel.
+
PermissionTextMessage
+
+ Send text message to channel.
+
PermissionTraverse
+
+ Traverse channel.
+
PermissionWhisper
+
+ Whisper to channel.
+
PermissionWrite
+
+ Write access to channel control.
+
+

Enumeration Index

+
+
ChannelInfo
+
+
+
UserInfo
+
+
+
+

Sequences

+
+
+ sequence<ACL> ACLList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<Ban> BanList +
+
+

Used By

+
+
Server::getBans
+
Server::setBans
+
+
+
+
+
+ sequence<byte> CertificateDer +
+
+

Used By

+
+
CertificateList
+
+
+
+
+
+ sequence<CertificateDer> CertificateList +
+
+

Used By

+
+
Server::getCertificateList
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<Channel> ChannelList +
+
+
+
+
+ sequence<Group> GroupList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<string> GroupNameList +
+
+

Used By

+
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<int> IdList +
+
+

Used By

+
+
Server::getUserNames
+
+
+
+
+
+ sequence<int> IntList +
+
+

Used By

+
+
Channel::links
+
Group::add
+
Group::members
+
Group::remove
+
TextMessage::channels
+
TextMessage::sessions
+
TextMessage::trees
+
+
+
+
+
+ sequence<LogEntry> LogList +
+
+

Used By

+
+
Server::getLog
+
+
+
+
+
+ sequence<string> NameList +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ [ "python:seq:tuple" ] + sequence<byte> NetAddress +
+
+

+A network address in IPv6 format.

+

Used By

+
+
Ban::address
+
User::address
+
+
+
+
+
+ sequence<Server*> ServerList +
+
+

Used By

+
+
Meta::getAllServers
+
Meta::getBootedServers
+
+
+
+
+
+ sequence<byte> Texture +
+
+

Used By

+
+
Server::getTexture
+
Server::setTexture
+
ServerAuthenticator::idToTexture
+
ServerUpdatingAuthenticator::setTexture
+
+
+
+
+
+ sequence<Tree> TreeList +
+
+

Used By

+
+
Tree::children
+
+
+
+
+
+ sequence<User> UserList +
+
+

Used By

+
+
Tree::users
+
+
+
+

Dictionaries

+
+
+ dictionary<int, Channel> ChannelMap +
+
+

Used By

+
+
Server::getChannels
+
+
+
+
+
+ dictionary<string, string> ConfigMap +
+
+

Used By

+
+
Meta::getDefaultConf
+
Server::getAllConf
+
+
+
+
+
+ dictionary<string, int> IdMap +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ dictionary<int, string> NameMap +
+
+

Used By

+
+
Server::getRegisteredUsers
+
Server::getUserNames
+
ServerUpdatingAuthenticator::getRegisteredUsers
+
+
+
+
+
+ dictionary<UserInfo, string> UserInfoMap +
+
+

+User information map. +Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'.

+

Used By

+
+
Server::getRegistration
+
Server::registerUser
+
Server::updateRegistration
+
ServerAuthenticator::getInfo
+
ServerUpdatingAuthenticator::registerUser
+
ServerUpdatingAuthenticator::setInfo
+
+
+
+
+
+ dictionary<int, User> UserMap +
+
+

Used By

+
+
Server::getUsers
+
+
+
+

Constants

+
+
+ const int ContextChannel = 0x02; +
+
+

+Context for actions in the Channel menu.

+
+
+
+
+ const int ContextServer = 0x01; +
+
+

+Context for actions in the Server menu.

+
+
+
+
+ const int ContextUser = 0x04; +
+
+

+Context for actions in the User menu.

+
+
+
+
+ const int PermissionBan = 0x20000; +
+
+

+Ban user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionEnter = 0x04; +
+
+

+Enter channel.

+
+
+
+
+ const int PermissionKick = 0x10000; +
+
+

+Kick user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionLinkChannel = 0x80; +
+
+

+Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them.

+
+
+
+
+ const int PermissionMakeChannel = 0x40; +
+
+

+Make new channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMakeTempChannel = 0x400; +
+
+

+Make new temporary channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMove = 0x20; +
+
+

+Move users from channel. You need this permission in both the source and destination channel to move another user.

+
+
+
+
+ const int PermissionMuteDeafen = 0x10; +
+
+

+Mute and deafen other users in this channel.

+
+
+
+
+ const int PermissionRegister = 0x40000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionRegisterSelf = 0x80000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionSpeak = 0x08; +
+
+

+Speak in channel.

+
+
+
+
+ const int PermissionTextMessage = 0x200; +
+
+

+Send text message to channel.

+
+
+
+
+ const int PermissionTraverse = 0x02; +
+
+

+Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there.

+
+
+
+
+ const int PermissionWhisper = 0x100; +
+
+

+Whisper to channel. This is different from Speak, so you can set up different permissions.

+
+
+
+
+ const int PermissionWrite = 0x01; +
+
+

+Write access to channel control. Implies all other permissions (except Speak).

+
+
+
+ + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ACL.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ACL.html new file mode 100644 index 0000000..6d34187 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ACL.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::ACL + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ACL

+

Overview

+

struct ACL

+

+Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels.

+

Used By

+
+
ACLList
+
+

Data Member Index

+
+
applyHere
+
+ Does the ACL apply to this channel?
+
applySubs
+
+ Does the ACL apply to subchannels?
+
inherited
+
+ Is this ACL inherited from a parent channel? Read-only.
+
userid
+
+ ID of user this ACL applies to.
+
group
+
+ Group this ACL applies to.
+
allow
+
+ Binary mask of privileges to allow.
+
deny
+
+ Binary mask of privileges to deny.
+
+

Data Members

+
+
bool applyHere;
+
+

+Does the ACL apply to this channel?

+
+
bool applySubs;
+
+

+Does the ACL apply to subchannels?

+
+
bool inherited;
+
+

+Is this ACL inherited from a parent channel? Read-only.

+
+
int userid;
+
+

+ID of user this ACL applies to. -1 if using a group name.

+
+
string group;
+
+

+Group this ACL applies to. Blank if using userid.

+
+
int allow;
+
+

+Binary mask of privileges to allow.

+
+
int deny;
+
+

+Binary mask of privileges to deny.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Ban.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Ban.html new file mode 100644 index 0000000..86ecdfc --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Ban.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Ban + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Ban

+

Overview

+

struct Ban

+

+A single ip mask for a ban.

+

Used By

+
+
BanList
+
+

Data Member Index

+
+
address
+
+ Address to ban.
+
bits
+
+ Number of bits in ban to apply.
+
name
+
+ Username associated with ban.
+
hash
+
+ Hash of banned user.
+
reason
+
+ Reason for ban.
+
start
+
+ Date ban was applied in unix time format.
+
duration
+
+ Duration of ban.
+
+

Data Members

+
+
NetAddress address;
+
+

+Address to ban.

+
+
int bits;
+
+

+Number of bits in ban to apply.

+
+
string name;
+
+

+Username associated with ban.

+
+
string hash;
+
+

+Hash of banned user.

+
+
string reason;
+
+

+Reason for ban.

+
+
int start;
+
+

+Date ban was applied in unix time format.

+
+
int duration;
+
+

+Duration of ban.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Channel.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Channel.html new file mode 100644 index 0000000..e5b4b77 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Channel.html @@ -0,0 +1,132 @@ + + + + + + + Murmur::Channel + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Channel

+

Overview

+

struct Channel

+

+A channel.

+

Used By

+
+
ChannelList
+
ChannelMap
+
Server::getChannelState
+
Server::setChannelState
+
ServerCallback::channelCreated
+
ServerCallback::channelRemoved
+
ServerCallback::channelStateChanged
+
Tree::c
+
+

Data Member Index

+
+
id
+
+ Channel ID.
+
name
+
+ Name of the channel.
+
parent
+
+ ID of parent channel, or -1 if this is the root channel.
+
links
+
+ List of id of linked channels.
+
description
+
+ Description of channel.
+
temporary
+
+ Channel is temporary, and will be removed when the last user leaves it.
+
position
+
+ Position of the channel which is used in Client for sorting.
+
+

Data Members

+
+
int id;
+
+

+Channel ID. This is unique per channel, and the root channel is always id 0.

+
+
string name;
+
+

+Name of the channel. There can not be two channels with the same parent that has the same name.

+
+
int parent;
+
+

+ID of parent channel, or -1 if this is the root channel.

+
+
IntList links;
+
+

+List of id of linked channels.

+
+
string description;
+
+

+Description of channel. Shown as tooltip for this channel.

+
+
bool temporary;
+
+

+Channel is temporary, and will be removed when the last user leaves it.

+
+
int position;
+
+

+Position of the channel which is used in Client for sorting.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ChannelInfo.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ChannelInfo.html new file mode 100644 index 0000000..2306a9e --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ChannelInfo.html @@ -0,0 +1,64 @@ + + + + + + + Murmur::ChannelInfo + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ChannelInfo

+

Overview

+

enum ChannelInfo

+

Enumerators

+
+
ChannelDescription
+
+
ChannelPosition
+
+
+ + + +
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Group.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Group.html new file mode 100644 index 0000000..0d411d0 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Group.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Group + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Group

+

Overview

+

struct Group

+

+A group. Groups are defined per channel, and can inherit members from parent channels.

+

Used By

+
+
GroupList
+
+

Data Member Index

+
+
name
+
+ Group name
+
inherited
+
+ Is this group inherited from a parent channel? Read-only.
+
inherit
+
+ Does this group inherit members from parent channels?
+
inheritable
+
+ Can subchannels inherit members from this group?
+
add
+
+ List of users to add to the group.
+
remove
+
+ List of inherited users to remove from the group.
+
members
+
+ Current members of the group, including inherited members.
+
+

Data Members

+
+
string name;
+
+

+Group name

+
+
bool inherited;
+
+

+Is this group inherited from a parent channel? Read-only.

+
+
bool inherit;
+
+

+Does this group inherit members from parent channels?

+
+
bool inheritable;
+
+

+Can subchannels inherit members from this group?

+
+
IntList add;
+
+

+List of users to add to the group.

+
+
IntList remove;
+
+

+List of inherited users to remove from the group.

+
+
IntList members;
+
+

+Current members of the group, including inherited members. Read-only.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidCallbackException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidCallbackException.html new file mode 100644 index 0000000..bd3001c --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidCallbackException.html @@ -0,0 +1,71 @@ + + + + + + + Murmur::InvalidCallbackException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidCallbackException

+

Overview

+

exception InvalidCallbackException + extends + MurmurException

+

+This is thrown when you supply an invalid callback.

+

Used By

+
+
Meta::addCallback
+
Meta::removeCallback
+
Server::addCallback
+
Server::addContextCallback
+
Server::removeCallback
+
Server::removeContextCallback
+
Server::setAuthenticator
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidChannelException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidChannelException.html new file mode 100644 index 0000000..d819aa1 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidChannelException.html @@ -0,0 +1,76 @@ + + + + + + + Murmur::InvalidChannelException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidChannelException

+

Overview

+

exception InvalidChannelException + extends + MurmurException

+

+This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel.

+

Used By

+
+
Server::addChannel
+
Server::addUserToGroup
+
Server::effectivePermissions
+
Server::getACL
+
Server::getChannelState
+
Server::hasPermission
+
Server::removeChannel
+
Server::removeUserFromGroup
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setChannelState
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSecretException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSecretException.html new file mode 100644 index 0000000..fff9973 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSecretException.html @@ -0,0 +1,120 @@ + + + + + + + Murmur::InvalidSecretException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidSecretException

+

Overview

+

exception InvalidSecretException + extends + MurmurException

+

+This is thrown when you supply the wrong secret in the calling context.

+

Used By

+
+
Meta::addCallback
+
Meta::getAllServers
+
Meta::getBootedServers
+
Meta::getDefaultConf
+
Meta::getServer
+
Meta::newServer
+
Meta::removeCallback
+
Server::addCallback
+
Server::addChannel
+
Server::addContextCallback
+
Server::addUserToGroup
+
Server::delete
+
Server::effectivePermissions
+
Server::getACL
+
Server::getAllConf
+
Server::getBans
+
Server::getCertificateList
+
Server::getChannelState
+
Server::getChannels
+
Server::getConf
+
Server::getLog
+
Server::getLogLen
+
Server::getRegisteredUsers
+
Server::getRegistration
+
Server::getState
+
Server::getTexture
+
Server::getTree
+
Server::getUptime
+
Server::getUserIds
+
Server::getUserNames
+
Server::getUsers
+
Server::hasPermission
+
Server::id
+
Server::isRunning
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::registerUser
+
Server::removeCallback
+
Server::removeChannel
+
Server::removeContextCallback
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setAuthenticator
+
Server::setBans
+
Server::setChannelState
+
Server::setConf
+
Server::setState
+
Server::setSuperuserPassword
+
Server::setTexture
+
Server::start
+
Server::stop
+
Server::unregisterUser
+
Server::updateRegistration
+
Server::verifyPassword
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidServerException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidServerException.html new file mode 100644 index 0000000..16b77d7 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidServerException.html @@ -0,0 +1,61 @@ + + + + + + + Murmur::InvalidServerException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidServerException

+

Overview

+

exception InvalidServerException + extends + MurmurException

+

+This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSessionException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSessionException.html new file mode 100644 index 0000000..a4660b8 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidSessionException.html @@ -0,0 +1,74 @@ + + + + + + + Murmur::InvalidSessionException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidSessionException

+

Overview

+

exception InvalidSessionException + extends + MurmurException

+

+This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to Server::getUsers. See User::session

+

Used By

+
+
Server::addUserToGroup
+
Server::effectivePermissions
+
Server::getCertificateList
+
Server::getState
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidTextureException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidTextureException.html new file mode 100644 index 0000000..8a53ad7 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidTextureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::InvalidTextureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidTextureException

+

Overview

+

exception InvalidTextureException + extends + MurmurException

+

+This is thrown when you try to set an invalid texture.

+

Used By

+
+
Server::setTexture
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidUserException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidUserException.html new file mode 100644 index 0000000..3106091 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/InvalidUserException.html @@ -0,0 +1,70 @@ + + + + + + + Murmur::InvalidUserException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidUserException

+

Overview

+

exception InvalidUserException + extends + MurmurException

+

+This is thrown when you specify an invalid userid.

+

Used By

+
+
Server::getRegistration
+
Server::getTexture
+
Server::registerUser
+
Server::setTexture
+
Server::unregisterUser
+
Server::updateRegistration
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/LogEntry.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/LogEntry.html new file mode 100644 index 0000000..f63fd8f --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/LogEntry.html @@ -0,0 +1,85 @@ + + + + + + + Murmur::LogEntry + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::LogEntry

+

Overview

+

struct LogEntry

+

+A entry in the log.

+

Used By

+
+
LogList
+
+

Data Member Index

+
+
timestamp
+
+ Timestamp in UNIX time_t
+
txt
+
+ The log message.
+
+

Data Members

+
+
int timestamp;
+
+

+Timestamp in UNIX time_t

+
+
string txt;
+
+

+The log message.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Meta.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Meta.html new file mode 100644 index 0000000..c27dd10 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Meta.html @@ -0,0 +1,183 @@ + + + + + + + Murmur::Meta + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Meta

+

Overview

+

[ "amd" ] + interface Meta

+

+This is the meta interface. It is primarily used for retrieving the Server interfaces for each individual server.

+

Operation Index

+
+
getServer
+
+ Fetch interface to specific server.
+
newServer
+
+ Create a new server.
+
getBootedServers
+
+ Fetch list of all currently running servers.
+
getAllServers
+
+ Fetch list of all defined servers.
+
getDefaultConf
+
+ Fetch default configuraion.
+
getVersion
+
+ Fetch version of Murmur.
+
addCallback
+
+ Add a callback.
+
removeCallback
+
+ Remove a callback.
+
getUptime
+
+ Get murmur uptime.
+
getSlice
+
+ Get slice file.
+
getSliceChecksums
+
+ Returns a checksum dict for the slice file.
+
+

Operations

+

Server* getServer(int id) throws InvalidSecretException

+

+Fetch interface to specific server.

+

Parameters

+
+
id
+
+ Server ID. See Server::getId.
+
+

Return Value

+

Interface for specified server, or a null proxy if id is invalid.

+

Server* newServer() throws InvalidSecretException

+

+Create a new server. Call Server::getId on the returned interface to find it's ID.

+

Return Value

+

Interface for new server.

+

ServerList getBootedServers() throws InvalidSecretException

+

+Fetch list of all currently running servers.

+

Return Value

+

List of interfaces for running servers.

+

ServerList getAllServers() throws InvalidSecretException

+

+Fetch list of all defined servers.

+

Return Value

+

List of interfaces for all servers.

+

ConfigMap getDefaultConf() throws InvalidSecretException

+

+Fetch default configuraion. This returns the configuration items that were set in the configuration file, or +the built-in default. The individual servers will use these values unless they have been overridden in the +server specific configuration. The only special case is the port, which defaults to the value defined here + +the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc).

+

Return Value

+

Default configuration of the servers.

+

void getVersion(out int major, out int minor, out int patch, out string text)

+

+Fetch version of Murmur.

+

Parameters

+
+
major
+
+ Major version.
+
minor
+
+ Minor version.
+
patch
+
+ Patchlevel.
+
text
+
+ Textual representation of version. Note that this may not match the major, minor and patch levels, as it +may be simply the compile date or the SVN revision. This is usually the text you want to present to users.
+
+

void addCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

+

+Add a callback. The callback will receive notifications when servers are started or stopped.

+

Parameters

+
+
cb
+
+ Callback interface which will receive notifications.
+
+

void removeCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+

int getUptime()

+

+Get murmur uptime.

+

Return Value

+

Uptime of murmur in seconds

+

string getSlice()

+

+Get slice file.

+

Return Value

+

Contents of the slice file server compiled with.

+

::Ice::SliceChecksumDict getSliceChecksums()

+

+Returns a checksum dict for the slice file.

+

Return Value

+

Checksum dict

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/MetaCallback.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/MetaCallback.html new file mode 100644 index 0000000..5830399 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/MetaCallback.html @@ -0,0 +1,98 @@ + + + + + + + Murmur::MetaCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MetaCallback

+

Overview

+

interface MetaCallback

+

+Callback interface for Meta. You can supply an implementation of this to receive notifications +when servers are stopped or started. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

See Also

+
+
ServerCallback
+
Meta::addCallback
+
+

Operation Index

+
+
started
+
+ Called when a server is started.
+
stopped
+
+ Called when a server is stopped.
+
+

Operations

+

void started(Server* srv)

+

+Called when a server is started. The server is up and running when this event is sent, so all methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+

void stopped(Server* srv)

+

+Called when a server is stopped. The server is already stopped when this event is sent, so no methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/MurmurException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/MurmurException.html new file mode 100644 index 0000000..2e44dd3 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/MurmurException.html @@ -0,0 +1,70 @@ + + + + + + + Murmur::MurmurException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MurmurException

+

Overview

+

exception MurmurException

+

Derived Exceptions

+
+
InvalidCallbackException
+
InvalidChannelException
+
InvalidSecretException
+
InvalidServerException
+
InvalidSessionException
+
InvalidTextureException
+
InvalidUserException
+
NestingLimitException
+
ServerBootedException
+
ServerFailureException
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/NestingLimitException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/NestingLimitException.html new file mode 100644 index 0000000..a8b7363 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/NestingLimitException.html @@ -0,0 +1,66 @@ + + + + + + + Murmur::NestingLimitException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::NestingLimitException

+

Overview

+

exception NestingLimitException + extends + MurmurException

+

+This is thrown when the channel operation would excede the channel nesting limit

+

Used By

+
+
Server::addChannel
+
Server::setChannelState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Server.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Server.html new file mode 100644 index 0000000..2564450 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Server.html @@ -0,0 +1,774 @@ + + + + + + + Murmur::Server + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

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

+

bool isRunning() throws InvalidSecretException

+

+Shows if the server currently running (accepting users).

+

Return Value

+

Run-state of server.

+

void start() throws ServerBootedException, ServerFailureException, InvalidSecretException

+

+Start server.

+

void stop() throws ServerBootedException, InvalidSecretException

+

+Stop server. +Note: Server will be restarted on Murmur restart unless explicitly disabled +with setConf("boot", false)

+

void delete() throws ServerBootedException, InvalidSecretException

+

+Delete server and all it's configuration.

+

int id() throws InvalidSecretException

+

+Fetch the server id.

+

Return Value

+

Unique server id.

+

void addCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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
+
+

void removeCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+

See Also

+
+
addCallback
+
+

void setAuthenticator(ServerAuthenticator* auth) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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) throws InvalidSecretException

+

+Retrieve configuration item.

+

Parameters

+
+
key
+
+ Configuration key.
+
+

Return Value

+

Configuration value. If this is empty, see Meta::getDefaultConf

+

ConfigMap getAllConf() throws InvalidSecretException

+

+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.
+
+

void setSuperuserPassword(string pw) throws InvalidSecretException

+

+Set superuser password. This is just a convenience for using updateRegistration on user id 0.

+

Parameters

+
+
pw
+
+ Password.
+
+

LogList getLog(int first, int last) throws InvalidSecretException

+

+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.

+

int getLogLen() throws InvalidSecretException

+

+Fetch length of log

+

Return Value

+

Number of entries in log

+

UserMap getUsers() throws ServerBootedException, InvalidSecretException

+

+Fetch all users. This returns all currently connected users on the server.

+

Return Value

+

List of connected users.

+

See Also

+
+
getState
+
+

ChannelMap getChannels() throws ServerBootedException, InvalidSecretException

+

+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
+
+

CertificateList getCertificateList(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.

+

Tree getTree() throws ServerBootedException, InvalidSecretException

+

+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.

+

BanList getBans() throws ServerBootedException, InvalidSecretException

+

+Fetch all current IP bans on the server.

+

Return Value

+

List of bans.

+

void setBans(BanList bans) throws ServerBootedException, InvalidSecretException

+

+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.
+
+

void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

User getState(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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
+
+

void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+Set user state. You can use this to move, mute and deafen users.

+

Parameters

+
+
state
+
+ User state to set.
+
+

See Also

+
+
getState
+
+

void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+Send text message to a single user.

+

Parameters

+
+
session
+
+ Connection ID of user. See User::session.
+
text
+
+ Message to send.
+
+

See Also

+
+
sendMessageChannel
+
+

bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+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.

+

int effectivePermissions(int session, int channelid) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+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

+

void addContextCallback(int session, string action, string text, ServerContextCallback* cb, int ctx) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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
+
+

void removeContextCallback(ServerContextCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed. This callback will be removed from all from all users.
+
+

See Also

+
+
addContextCallback
+
+

Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+Get state of single channel.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

Return Value

+

State of channel.

+

See Also

+
+
setChannelState
+
getChannels
+
+

void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException

+

+Set state of a single channel. You can use this to move or relink channels.

+

Parameters

+
+
state
+
+ Channel state to set.
+
+

See Also

+
+
getChannelState
+
+

void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+Remove a channel and all its subchannels.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException

+

+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.

+

void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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
+
+

void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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?
+
+

void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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?
+
+

void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

NameMap getUserNames(IdList ids) throws ServerBootedException, InvalidSecretException

+

+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.

+

IdMap getUserIds(NameList names) throws ServerBootedException, InvalidSecretException

+

+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.
+
+

int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.

+

void unregisterUser(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+Remove a user registration.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.
+
+

UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+Fetch registration for a single user.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

Return Value

+

Registration record.

+

NameMap getRegisteredUsers(string filter) throws ServerBootedException, InvalidSecretException

+

+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, InvalidSecretException

+

+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.

+

Texture getTexture(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.

+

void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException, InvalidSecretException

+

+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.
+
+

int getUptime() throws ServerBootedException, InvalidSecretException

+

+Get virtual server uptime.

+

Return Value

+

Uptime of the virtual server in seconds

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerAuthenticator.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerAuthenticator.html new file mode 100644 index 0000000..8359186 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerAuthenticator.html @@ -0,0 +1,169 @@ + + + + + + + Murmur::ServerAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerAuthenticator

+

Overview

+

interface ServerAuthenticator

+

+Callback interface for server authentication. You need to supply one of these for Server::setAuthenticator. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that unlike ServerCallback and ServerContextCallback, these methods are called +synchronously. If the response lags, the entire murmur server will lag. +Also note that, as the method calls are synchronous, making a call to Server or Meta will +deadlock the server.

+

Derived Classes and Interfaces

+
+
ServerUpdatingAuthenticator
+
+

Operation Index

+
+
authenticate
+
+ Called to authenticate a user.
+
getInfo
+
+ Fetch information about a user.
+
nameToId
+
+ Map a name to a user id.
+
idToName
+
+ Map a user id to a username.
+
idToTexture
+
+ Map a user to a custom Texture.
+
+

Operations

+

int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups)

+

+Called to authenticate a user. If you do not know the username in question, always return -2 from this +method to fall through to normal database authentication. +Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving +the username and id so it cannot be used for normal database authentication. +The data in the certificate (name, email addresses etc), as well as the list of signing certificates, +should only be trusted if certstrong is true.

+

Parameters

+
+
name
+
+ Username to authenticate.
+
pw
+
+ Password to authenticate with.
+
certificates
+
+ List of der encoded certificates the user connected with.
+
certhash
+
+ Hash of user certificate, as used by murmur internally when matching.
+
certstrong
+
+ True if certificate was valid and signed by a trusted CA.
+
newname
+
+ Set this to change the username from the supplied one.
+
groups
+
+ List of groups on the root channel that the user will be added to for the duration of the connection.
+
+

Return Value

+

UserID of authenticated user, -1 for authentication failures and -2 for unknown user (fallthrough).

+

bool getInfo(int id, out UserInfoMap info)

+

+Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you +want murmur to take care of this information itself, simply return false to fall through.

+

Parameters

+
+
id
+
+ User id.
+
info
+
+ Information about user. This needs to include at least "name".
+
+

Return Value

+

true if information is present, false to fall through.

+

int nameToId(string name)

+

+Map a name to a user id.

+

Parameters

+
+
name
+
+ Username to map.
+
+

Return Value

+

User id or -2 for unknown name.

+

string idToName(int id)

+

+Map a user id to a username.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

Name of user or empty string for unknown id.

+

Texture idToTexture(int id)

+

+Map a user to a custom Texture.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

User texture or an empty texture for unknwon users or users without textures.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerBootedException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerBootedException.html new file mode 100644 index 0000000..1d811b0 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerBootedException.html @@ -0,0 +1,105 @@ + + + + + + + Murmur::ServerBootedException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerBootedException

+

Overview

+

exception ServerBootedException + extends + MurmurException

+

+This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.

+

Used By

+
+
Server::addCallback
+
Server::addChannel
+
Server::addContextCallback
+
Server::addUserToGroup
+
Server::delete
+
Server::effectivePermissions
+
Server::getACL
+
Server::getBans
+
Server::getCertificateList
+
Server::getChannelState
+
Server::getChannels
+
Server::getRegisteredUsers
+
Server::getRegistration
+
Server::getState
+
Server::getTexture
+
Server::getTree
+
Server::getUptime
+
Server::getUserIds
+
Server::getUserNames
+
Server::getUsers
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::registerUser
+
Server::removeCallback
+
Server::removeChannel
+
Server::removeContextCallback
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setAuthenticator
+
Server::setBans
+
Server::setChannelState
+
Server::setState
+
Server::setTexture
+
Server::start
+
Server::stop
+
Server::unregisterUser
+
Server::updateRegistration
+
Server::verifyPassword
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerCallback.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerCallback.html new file mode 100644 index 0000000..40cca3e --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerCallback.html @@ -0,0 +1,165 @@ + + + + + + + Murmur::ServerCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerCallback

+

Overview

+

interface ServerCallback

+

+Callback interface for servers. You can supply an implementation of this to receive notification +messages from the server. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing. +Note that callbacks are removed when a server is stopped, so you should have a callback for +MetaCallback::started which calls Server::addCallback.

+

See Also

+
+
MetaCallback
+
Server::addCallback
+
+

Operation Index

+
+
userConnected
+
+ Called when a user connects to the server.
+
userDisconnected
+
+ Called when a user disconnects from the server.
+
userStateChanged
+
+ Called when a user state changes.
+
userTextMessage
+
+ Called when user writes a text message +@param state the User sending the message +@param message the TextMessage the user has sent +
+
channelCreated
+
+ Called when a new channel is created.
+
channelRemoved
+
+ Called when a channel is removed.
+
channelStateChanged
+
+ Called when a new channel state changes.
+
+

Operations

+

void userConnected(User state)

+

+Called when a user connects to the server.

+

Parameters

+
+
state
+
+ State of connected user.
+
+

void userDisconnected(User state)

+

+Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like Server::getState +to retrieve the user's state.

+

Parameters

+
+
state
+
+ State of disconnected user.
+
+

void userStateChanged(User state)

+

+Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc.

+

Parameters

+
+
state
+
+ New state of user.
+
+

void userTextMessage(User state, TextMessage message)

+

+Called when user writes a text message

+

Parameters

+
+
state
+
+ the User sending the message
+
message
+
+ the TextMessage the user has sent
+
+

void channelCreated(Channel state)

+

+Called when a new channel is created.

+

Parameters

+
+
state
+
+ State of new channel.
+
+

void channelRemoved(Channel state)

+

+Called when a channel is removed. The channel has already been removed, you can no longer use methods like Server::getChannelState

+

Parameters

+
+
state
+
+ State of removed channel.
+
+

void channelStateChanged(Channel state)

+

+Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added.

+

Parameters

+
+
state
+
+ New state of channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerContextCallback.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerContextCallback.html new file mode 100644 index 0000000..45d19ac --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerContextCallback.html @@ -0,0 +1,87 @@ + + + + + + + Murmur::ServerContextCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerContextCallback

+

Overview

+

interface ServerContextCallback

+

+Callback interface for context actions. You need to supply one of these for Server::addContext. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

Operation Index

+
+
contextAction
+
+ Called when a context action is performed.
+
+

Operations

+

void contextAction(string action, User usr, int session, int channelid)

+

+Called when a context action is performed.

+

Parameters

+
+
action
+
+ Action to be performed.
+
usr
+
+ User which initiated the action.
+
session
+
+ If nonzero, session of target user.
+
channelid
+
+ If nonzero, session of target channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerFailureException.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerFailureException.html new file mode 100644 index 0000000..d18898b --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerFailureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::ServerFailureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerFailureException

+

Overview

+

exception ServerFailureException + extends + MurmurException

+

+This is thrown if Server::start fails, and should generally be the cause for some concern.

+

Used By

+
+
Server::start
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerUpdatingAuthenticator.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerUpdatingAuthenticator.html new file mode 100644 index 0000000..1a18576 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/ServerUpdatingAuthenticator.html @@ -0,0 +1,144 @@ + + + + + + + Murmur::ServerUpdatingAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerUpdatingAuthenticator

+

Overview

+

interface ServerUpdatingAuthenticator extends ServerAuthenticator

+

+Callback interface for server authentication and registration. This allows you to support both authentication +and account updating. +You do not need to implement this if all you want is authentication, you only need this if other scripts +connected to the same server calls e.g. Server::setTexture. +Almost all of these methods support fall through, meaning murmur should continue the operation against its +own database.

+

Operation Index

+
+
registerUser
+
+ Register a new user.
+
unregisterUser
+
+ Unregister a user.
+
getRegisteredUsers
+
+ Get a list of registered users matching filter.
+
setInfo
+
+ Set additional information for user registration.
+
setTexture
+
+ Set texture (now called avatar) of user registration.
+
+

Operations

+

int registerUser(UserInfoMap info)

+

+Register a new user.

+

Parameters

+
+
info
+
+ Information about user to register.
+
+

Return Value

+

User id of new user, -1 for registration failure, or -2 to fall through.

+

int unregisterUser(int id)

+

+Unregister a user.

+

Parameters

+
+
id
+
+ Userid to unregister.
+
+

Return Value

+

1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through.

+

NameMap getRegisteredUsers(string filter)

+

+Get a list of registered users matching filter.

+

Parameters

+
+
filter
+
+ Substring usernames must contain. If empty, return all registered users.
+
+

Return Value

+

List of matching registered users.

+

int setInfo(int id, UserInfoMap info)

+

+Set additional information for user registration.

+

Parameters

+
+
id
+
+ Userid of registered user.
+
info
+
+ Information to set about user. This should be merged with existing information.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+

int setTexture(int id, Texture tex)

+

+Set texture (now called avatar) of user registration.

+

Parameters

+
+
id
+
+ registrationId of registered user.
+
tex
+
+ New texture.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/TextMessage.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/TextMessage.html new file mode 100644 index 0000000..a12147c --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/TextMessage.html @@ -0,0 +1,101 @@ + + + + + + + Murmur::TextMessage + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::TextMessage

+

Overview

+

struct TextMessage

+

+A text message between users.

+

Used By

+
+
ServerCallback::userTextMessage
+
+

Data Member Index

+
+
sessions
+
+ Sessions (connected users) who were sent this message.
+
channels
+
+ Channels who were sent this message.
+
trees
+
+ Trees of channels who were sent this message.
+
text
+
+ The contents of the message.
+
+

Data Members

+
+
IntList sessions;
+
+

+Sessions (connected users) who were sent this message.

+
+
IntList channels;
+
+

+Channels who were sent this message.

+
+
IntList trees;
+
+

+Trees of channels who were sent this message.

+
+
string text;
+
+

+The contents of the message.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/Tree.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/Tree.html new file mode 100644 index 0000000..b58617d --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/Tree.html @@ -0,0 +1,86 @@ + + + + + + + Murmur::Tree + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Tree

+

Overview

+

class Tree

+

+User and subchannel state. Read-only.

+

Used By

+
+
TreeList
+
Server::getTree
+
+

Data Member Index

+
+
c
+
+ Channel definition of current channel.
+
children
+
+ List of subchannels.
+
users
+
+ Users in this channel.
+
+

Data Members

+

Channel c;

+

+Channel definition of current channel.

+

TreeList children;

+

+List of subchannels.

+

UserList users;

+

+Users in this channel.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/User.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/User.html new file mode 100644 index 0000000..aa9f5b2 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/User.html @@ -0,0 +1,277 @@ + + + + + + + Murmur::User + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::User

+

Overview

+

struct User

+

+A connected user.

+

Used By

+
+
UserList
+
UserMap
+
Server::getState
+
Server::setState
+
ServerCallback::userConnected
+
ServerCallback::userDisconnected
+
ServerCallback::userStateChanged
+
ServerCallback::userTextMessage
+
ServerContextCallback::contextAction
+
+

Data Member Index

+
+
session
+
+ Session ID.
+
userid
+
+ User ID.
+
mute
+
+ Is user muted by the server?
+
deaf
+
+ Is user deafened by the server? If true, this implies mute.
+
suppress
+
+ Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.
+
prioritySpeaker
+
+ Is the user a priority speaker?
+
selfMute
+
+ Is the user self-muted?
+
selfDeaf
+
+ Is the user self-deafened? If true, this implies mute.
+
recording
+
+ Is the User recording? (This flag is read-only and cannot be changed using setState().)
+
channel
+
+ Channel ID the user is in.
+
name
+
+ The name of the user.
+
onlinesecs
+
+ Seconds user has been online.
+
bytespersec
+
+ Average transmission rate in bytes per second over the last few seconds.
+
version
+
+ Client version.
+
release
+
+ Client release.
+
os
+
+ Client OS.
+
osversion
+
+ Client OS Version.
+
identity
+
+ Plugin Identity.
+
context
+
+ Plugin context.
+
comment
+
+ User comment.
+
address
+
+ Client address.
+
tcponly
+
+ TCP only.
+
idlesecs
+
+ Idle time.
+
udpPing
+
+ UDP Ping Average.
+
tcpPing
+
+ TCP Ping Average.
+
+

Data Members

+
+
int session;
+
+

+Session ID. This identifies the connection to the server.

+
+
int userid;
+
+

+User ID. -1 if the user is anonymous.

+
+
bool mute;
+
+

+Is user muted by the server?

+
+
bool deaf;
+
+

+Is user deafened by the server? If true, this implies mute.

+
+
bool suppress;
+
+

+Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.

+
+
bool prioritySpeaker;
+
+

+Is the user a priority speaker?

+
+
bool selfMute;
+
+

+Is the user self-muted?

+
+
bool selfDeaf;
+
+

+Is the user self-deafened? If true, this implies mute.

+
+
bool recording;
+
+

+Is the User recording? (This flag is read-only and cannot be changed using setState().)

+
+
int channel;
+
+

+Channel ID the user is in. Matches Channel::id.

+
+
string name;
+
+

+The name of the user.

+
+
int onlinesecs;
+
+

+Seconds user has been online.

+
+
int bytespersec;
+
+

+Average transmission rate in bytes per second over the last few seconds.

+
+
int version;
+
+

+Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203.

+
+
string release;
+
+

+Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else.

+
+
string os;
+
+

+Client OS.

+
+
string osversion;
+
+

+Client OS Version.

+
+
string identity;
+
+

+Plugin Identity. This will be the user's unique ID inside the current game.

+
+
string context;
+
+

+Plugin context. This is a binary blob identifying the game and team the user is on.

+
+
string comment;
+
+

+User comment. Shown as tooltip for this user.

+
+
NetAddress address;
+
+

+Client address.

+
+
bool tcponly;
+
+

+TCP only. True until UDP connectivity is established.

+
+
int idlesecs;
+
+

+Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted.

+
+
float udpPing;
+
+

+UDP Ping Average. This is the average ping for the user via UDP over the duration of the connection.

+
+
float tcpPing;
+
+

+TCP Ping Average. This is the average ping for the user via TCP over the duration of the connection.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.2.7/html/Murmur/UserInfo.html b/hugo/static/documentation/slice/1.2.7/html/Murmur/UserInfo.html new file mode 100644 index 0000000..08a4350 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/Murmur/UserInfo.html @@ -0,0 +1,74 @@ + + + + + + + Murmur::UserInfo + + + + + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ + +
+

Murmur::UserInfo

+

Overview

+

enum UserInfo

+

Used By

+
+
UserInfoMap
+
+

Enumerators

+
+
UserName
+
+
UserEmail
+
+
UserComment
+
+
UserHash
+
+
UserPassword
+
+
UserLastActive
+
+
+ + + +
+ + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ diff --git a/hugo/static/documentation/slice/1.2.7/html/_sindex.html b/hugo/static/documentation/slice/1.2.7/html/_sindex.html new file mode 100644 index 0000000..08f8bd5 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/_sindex.html @@ -0,0 +1,531 @@ + + + + + + + Slice API Index + + + +

Slice API Index

+ + + + + + + +
+ + + diff --git a/hugo/static/documentation/slice/1.2.7/html/index.html b/hugo/static/documentation/slice/1.2.7/html/index.html new file mode 100644 index 0000000..c5d04c4 --- /dev/null +++ b/hugo/static/documentation/slice/1.2.7/html/index.html @@ -0,0 +1,45 @@ + + + + + + + Slice API Documentation + + + + + + + + +
+ + + + +
Index
+
+ +
+

Slice API Documentation

+

Modules

+
+
Murmur
+
+
+
+ + + + + +
+ + + + +
Index
+
+ + diff --git a/hugo/static/documentation/slice/1.3.0/Murmur.ice b/hugo/static/documentation/slice/1.3.0/Murmur.ice new file mode 100644 index 0000000..8ae2e4e --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/Murmur.ice @@ -0,0 +1,885 @@ +// Copyright 2005-2019 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +/** + * + * Information and control of the murmur server. Each server has + * one {@link Meta} interface that controls global information, and + * each virtual server has a {@link Server} interface. + * + **/ + +#include + +module Murmur +{ + + /** A network address in IPv6 format. + **/ + ["python:seq:tuple"] sequence NetAddress; + + /** A connected user. + **/ + struct User { + /** Session ID. This identifies the connection to the server. */ + int session; + /** User ID. -1 if the user is anonymous. */ + int userid; + /** Is user muted by the server? */ + bool mute; + /** Is user deafened by the server? If true, this implies mute. */ + bool deaf; + /** Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel. */ + bool suppress; + /** Is the user a priority speaker? */ + bool prioritySpeaker; + /** Is the user self-muted? */ + bool selfMute; + /** Is the user self-deafened? If true, this implies mute. */ + bool selfDeaf; + /** Is the User recording? (This flag is read-only and cannot be changed using setState().) **/ + bool recording; + /** Channel ID the user is in. Matches {@link Channel.id}. */ + int channel; + /** The name of the user. */ + string name; + /** Seconds user has been online. */ + int onlinesecs; + /** Average transmission rate in bytes per second over the last few seconds. */ + int bytespersec; + /** Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203. */ + int version; + /** Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else. */ + string release; + /** Client OS. */ + string os; + /** Client OS Version. */ + string osversion; + /** Plugin Identity. This will be the user's unique ID inside the current game. */ + string identity; + /** + Base64-encoded Plugin context. This is a binary blob identifying the game and team the user is on. + + The used Base64 alphabet is the one specified in RFC 2045. + + Before Mumble 1.3.0, this string was not Base64-encoded. This could cause problems for some Ice + implementations, such as the .NET implementation. + + If you need the exact string that is used by Mumble, you can get it by Base64-decoding this string. + + If you simply need to detect whether two users are in the same game world, string comparisons will + continue to work as before. + */ + string context; + /** User comment. Shown as tooltip for this user. */ + string comment; + /** Client address. */ + NetAddress address; + /** TCP only. True until UDP connectivity is established. */ + bool tcponly; + /** Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted. */ + int idlesecs; + /** UDP Ping Average. This is the average ping for the user via UDP over the duration of the connection. */ + float udpPing; + /** TCP Ping Average. This is the average ping for the user via TCP over the duration of the connection. */ + float tcpPing; + }; + + sequence IntList; + + /** A text message between users. + **/ + struct TextMessage { + /** Sessions (connected users) who were sent this message. */ + IntList sessions; + /** Channels who were sent this message. */ + IntList channels; + /** Trees of channels who were sent this message. */ + IntList trees; + /** The contents of the message. */ + string text; + }; + + /** A channel. + **/ + struct Channel { + /** Channel ID. This is unique per channel, and the root channel is always id 0. */ + int id; + /** Name of the channel. There can not be two channels with the same parent that has the same name. */ + string name; + /** ID of parent channel, or -1 if this is the root channel. */ + int parent; + /** List of id of linked channels. */ + IntList links; + /** Description of channel. Shown as tooltip for this channel. */ + string description; + /** Channel is temporary, and will be removed when the last user leaves it. */ + bool temporary; + /** Position of the channel which is used in Client for sorting. */ + int position; + }; + + /** A group. Groups are defined per channel, and can inherit members from parent channels. + **/ + struct Group { + /** Group name */ + string name; + /** Is this group inherited from a parent channel? Read-only. */ + bool inherited; + /** Does this group inherit members from parent channels? */ + bool inherit; + /** Can subchannels inherit members from this group? */ + bool inheritable; + /** List of users to add to the group. */ + IntList add; + /** List of inherited users to remove from the group. */ + IntList remove; + /** Current members of the group, including inherited members. Read-only. */ + IntList members; + }; + + /** Write access to channel control. Implies all other permissions (except Speak). */ + const int PermissionWrite = 0x01; + /** Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there. */ + const int PermissionTraverse = 0x02; + /** Enter channel. */ + const int PermissionEnter = 0x04; + /** Speak in channel. */ + const int PermissionSpeak = 0x08; + /** Whisper to channel. This is different from Speak, so you can set up different permissions. */ + const int PermissionWhisper = 0x100; + /** Mute and deafen other users in this channel. */ + const int PermissionMuteDeafen = 0x10; + /** Move users from channel. You need this permission in both the source and destination channel to move another user. */ + const int PermissionMove = 0x20; + /** Make new channel as a subchannel of this channel. */ + const int PermissionMakeChannel = 0x40; + /** Make new temporary channel as a subchannel of this channel. */ + const int PermissionMakeTempChannel = 0x400; + /** Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them. */ + const int PermissionLinkChannel = 0x80; + /** Send text message to channel. */ + const int PermissionTextMessage = 0x200; + /** Kick user from server. Only valid on root channel. */ + const int PermissionKick = 0x10000; + /** Ban user from server. Only valid on root channel. */ + const int PermissionBan = 0x20000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegister = 0x40000; + /** Register and unregister users. Only valid on root channel. */ + const int PermissionRegisterSelf = 0x80000; + + + /** Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels. + **/ + struct ACL { + /** Does the ACL apply to this channel? */ + bool applyHere; + /** Does the ACL apply to subchannels? */ + bool applySubs; + /** Is this ACL inherited from a parent channel? Read-only. */ + bool inherited; + /** ID of user this ACL applies to. -1 if using a group name. */ + int userid; + /** Group this ACL applies to. Blank if using userid. */ + string group; + /** Binary mask of privileges to allow. */ + int allow; + /** Binary mask of privileges to deny. */ + int deny; + }; + + /** A single ip mask for a ban. + **/ + struct Ban { + /** Address to ban. */ + NetAddress address; + /** Number of bits in ban to apply. */ + int bits; + /** Username associated with ban. */ + string name; + /** Hash of banned user. */ + string hash; + /** Reason for ban. */ + string reason; + /** Date ban was applied in unix time format. */ + int start; + /** Duration of ban. */ + int duration; + }; + + /** A entry in the log. + **/ + struct LogEntry { + /** Timestamp in UNIX time_t */ + int timestamp; + /** The log message. */ + string txt; + }; + + class Tree; + sequence TreeList; + + enum ChannelInfo { ChannelDescription, ChannelPosition }; + enum UserInfo { UserName, UserEmail, UserComment, UserHash, UserPassword, UserLastActive }; + + dictionary UserMap; + dictionary ChannelMap; + sequence ChannelList; + sequence UserList; + sequence GroupList; + sequence ACLList; + sequence LogList; + sequence BanList; + sequence IdList; + sequence NameList; + dictionary NameMap; + dictionary IdMap; + sequence Texture; + dictionary ConfigMap; + sequence GroupNameList; + sequence CertificateDer; + sequence CertificateList; + + /** User information map. + * Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'. + */ + + dictionary UserInfoMap; + + /** User and subchannel state. Read-only. + **/ + class Tree { + /** Channel definition of current channel. */ + Channel c; + /** List of subchannels. */ + TreeList children; + /** Users in this channel. */ + UserList users; + }; + + exception MurmurException {}; + /** This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to {@link Server.getUsers}. See {@link User.session} */ + exception InvalidSessionException extends MurmurException {}; + /** This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel. */ + exception InvalidChannelException extends MurmurException {}; + /** This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server. */ + exception InvalidServerException extends MurmurException {}; + /** This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server. */ + exception ServerBootedException extends MurmurException {}; + /** This is thrown if {@link Server.start} fails, and should generally be the cause for some concern. */ + exception ServerFailureException extends MurmurException {}; + /** This is thrown when you specify an invalid userid. */ + exception InvalidUserException extends MurmurException {}; + /** This is thrown when you try to set an invalid texture. */ + exception InvalidTextureException extends MurmurException {}; + /** This is thrown when you supply an invalid callback. */ + exception InvalidCallbackException extends MurmurException {}; + /** This is thrown when you supply the wrong secret in the calling context. */ + exception InvalidSecretException extends MurmurException {}; + /** This is thrown when the channel operation would excede the channel nesting limit */ + exception NestingLimitException extends MurmurException {}; + /** This is thrown when you ask the server to disclose something that should be secret. */ + exception WriteOnlyException extends MurmurException {}; + /** This is thrown when invalid input data was specified. */ + exception InvalidInputDataException extends MurmurException {}; + + /** Callback interface for servers. You can supply an implementation of this to receive notification + * messages from the server. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * Note that callbacks are removed when a server is stopped, so you should have a callback for + * {@link MetaCallback.started} which calls {@link Server.addCallback}. + * @see MetaCallback + * @see Server.addCallback + */ + interface ServerCallback { + /** Called when a user connects to the server. + * @param state State of connected user. + */ + idempotent void userConnected(User state); + /** Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like {@link Server.getState} + * to retrieve the user's state. + * @param state State of disconnected user. + */ + idempotent void userDisconnected(User state); + /** Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc. + * @param state New state of user. + */ + idempotent void userStateChanged(User state); + /** Called when user writes a text message + * @param state the User sending the message + * @param message the TextMessage the user has sent + */ + idempotent void userTextMessage(User state, TextMessage message); + /** Called when a new channel is created. + * @param state State of new channel. + */ + idempotent void channelCreated(Channel state); + /** Called when a channel is removed. The channel has already been removed, you can no longer use methods like {@link Server.getChannelState} + * @param state State of removed channel. + */ + idempotent void channelRemoved(Channel state); + /** Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added. + * @param state New state of channel. + */ + idempotent void channelStateChanged(Channel state); + }; + + /** Context for actions in the Server menu. */ + const int ContextServer = 0x01; + /** Context for actions in the Channel menu. */ + const int ContextChannel = 0x02; + /** Context for actions in the User menu. */ + const int ContextUser = 0x04; + + /** Callback interface for context actions. You need to supply one of these for {@link Server.addContext}. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + */ + interface ServerContextCallback { + /** Called when a context action is performed. + * @param action Action to be performed. + * @param usr User which initiated the action. + * @param session If nonzero, session of target user. + * @param channelid If not -1, id of target channel. + */ + idempotent void contextAction(string action, User usr, int session, int channelid); + }; + + /** Callback interface for server authentication. You need to supply one of these for {@link Server.setAuthenticator}. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that unlike {@link ServerCallback} and {@link ServerContextCallback}, these methods are called + * synchronously. If the response lags, the entire murmur server will lag. + * Also note that, as the method calls are synchronous, making a call to {@link Server} or {@link Meta} will + * deadlock the server. + */ + interface ServerAuthenticator { + /** Called to authenticate a user. If you do not know the username in question, always return -2 from this + * method to fall through to normal database authentication. + * Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving + * the username and id so it cannot be used for normal database authentication. + * The data in the certificate (name, email addresses etc), as well as the list of signing certificates, + * should only be trusted if certstrong is true. + * + * Internally, Murmur treats usernames as case-insensitive. It is recommended + * that authenticators do the same. Murmur checks if a username is in use when + * a user connects. If the connecting user is registered, the other username is + * kicked. If the connecting user is not registered, the connecting user is not + * allowed to join the server. + * + * @param name Username to authenticate. + * @param pw Password to authenticate with. + * @param certificates List of der encoded certificates the user connected with. + * @param certhash Hash of user certificate, as used by murmur internally when matching. + * @param certstrong True if certificate was valid and signed by a trusted CA. + * @param newname Set this to change the username from the supplied one. + * @param groups List of groups on the root channel that the user will be added to for the duration of the connection. + * @return UserID of authenticated user, -1 for authentication failures, -2 for unknown user (fallthrough), + * -3 for authentication failures where the data could (temporarily) not be verified. + */ + idempotent int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups); + + /** Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you + * want murmur to take care of this information itself, simply return false to fall through. + * @param id User id. + * @param info Information about user. This needs to include at least "name". + * @return true if information is present, false to fall through. + */ + idempotent bool getInfo(int id, out UserInfoMap info); + + /** Map a name to a user id. + * @param name Username to map. + * @return User id or -2 for unknown name. + */ + idempotent int nameToId(string name); + + /** Map a user id to a username. + * @param id User id to map. + * @return Name of user or empty string for unknown id. + */ + idempotent string idToName(int id); + + /** Map a user to a custom Texture. + * @param id User id to map. + * @return User texture or an empty texture for unknwon users or users without textures. + */ + idempotent Texture idToTexture(int id); + }; + + /** Callback interface for server authentication and registration. This allows you to support both authentication + * and account updating. + * You do not need to implement this if all you want is authentication, you only need this if other scripts + * connected to the same server calls e.g. {@link Server.setTexture}. + * Almost all of these methods support fall through, meaning murmur should continue the operation against its + * own database. + */ + interface ServerUpdatingAuthenticator extends ServerAuthenticator { + /** Register a new user. + * @param info Information about user to register. + * @return User id of new user, -1 for registration failure, or -2 to fall through. + */ + int registerUser(UserInfoMap info); + + /** Unregister a user. + * @param id Userid to unregister. + * @return 1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through. + */ + int unregisterUser(int id); + + /** Get a list of registered users matching filter. + * @param filter Substring usernames must contain. If empty, return all registered users. + * @return List of matching registered users. + */ + idempotent NameMap getRegisteredUsers(string filter); + + /** Set additional information for user registration. + * @param id Userid of registered user. + * @param info Information to set about user. This should be merged with existing information. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setInfo(int id, UserInfoMap info); + + /** Set texture (now called avatar) of user registration. + * @param id registrationId of registered user. + * @param tex New texture. + * @return 1 for successfull update, 0 for unsuccessfull update, -1 to fall through. + */ + idempotent int setTexture(int id, Texture tex); + }; + + /** 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 {@link Meta}. + **/ + ["amd"] interface Server { + /** Shows if the server currently running (accepting users). + * + * @return Run-state of server. + */ + idempotent bool isRunning() throws InvalidSecretException; + + /** Start server. */ + void start() throws ServerBootedException, ServerFailureException, InvalidSecretException; + + /** Stop server. + * Note: Server will be restarted on Murmur restart unless explicitly disabled + * with setConf("boot", false) + */ + void stop() throws ServerBootedException, InvalidSecretException; + + /** Delete server and all it's configuration. */ + void delete() throws ServerBootedException, InvalidSecretException; + + /** Fetch the server id. + * + * @return Unique server id. + */ + idempotent int id() throws InvalidSecretException; + + /** Add a callback. The callback will receive notifications about changes to users and channels. + * + * @param cb Callback interface which will receive notifications. + * @see removeCallback + */ + void addCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + * @see addCallback + */ + void removeCallback(ServerCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Set external authenticator. If set, all authentications from clients are forwarded to this + * proxy. + * + * @param auth Authenticator object to perform subsequent authentications. + */ + void setAuthenticator(ServerAuthenticator *auth) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Retrieve configuration item. + * @param key Configuration key. + * @return Configuration value. If this is empty, see {@link Meta.getDefaultConf} + */ + idempotent string getConf(string key) throws InvalidSecretException, WriteOnlyException; + + /** Retrieve all configuration items. + * @return All configured values. If a value isn't set here, the value from {@link Meta.getDefaultConf} is used. + */ + idempotent ConfigMap getAllConf() throws InvalidSecretException; + + /** Set a configuration item. + * @param key Configuration key. + * @param value Configuration value. + */ + idempotent void setConf(string key, string value) throws InvalidSecretException; + + /** Set superuser password. This is just a convenience for using {@link updateRegistration} on user id 0. + * @param pw Password. + */ + idempotent void setSuperuserPassword(string pw) throws InvalidSecretException; + + /** Fetch log entries. + * @param first Lowest numbered entry to fetch. 0 is the most recent item. + * @param last Last entry to fetch. + * @return List of log entries. + */ + idempotent LogList getLog(int first, int last) throws InvalidSecretException; + + /** Fetch length of log + * @return Number of entries in log + */ + idempotent int getLogLen() throws InvalidSecretException; + + /** Fetch all users. This returns all currently connected users on the server. + * @return List of connected users. + * @see getState + */ + idempotent UserMap getUsers() throws ServerBootedException, InvalidSecretException; + + /** Fetch all channels. This returns all defined channels on the server. The root channel is always channel 0. + * @return List of defined channels. + * @see getChannelState + */ + idempotent ChannelMap getChannels() throws ServerBootedException, InvalidSecretException; + + /** Fetch certificate of user. This returns the complete certificate chain of a user. + * @param session Connection ID of user. See {@link User.session}. + * @return Certificate list of user. + */ + idempotent CertificateList getCertificateList(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** 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 Recursive tree of all channels and connected users. + */ + idempotent Tree getTree() throws ServerBootedException, InvalidSecretException; + + /** Fetch all current IP bans on the server. + * @return List of bans. + */ + idempotent BanList getBans() throws ServerBootedException, InvalidSecretException; + + /** 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 {@link getBans} and then + * append to the returned list before calling this method. + * @param bans List of bans. + */ + idempotent void setBans(BanList bans) throws ServerBootedException, InvalidSecretException; + + /** Kick a user. The user is not banned, and is free to rejoin the server. + * @param session Connection ID of user. See {@link User.session}. + * @param reason Text message to show when user is kicked. + */ + void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Get state of a single connected user. + * @param session Connection ID of user. See {@link User.session}. + * @return State of connected user. + * @see setState + * @see getUsers + */ + idempotent User getState(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Set user state. You can use this to move, mute and deafen users. + * @param state User state to set. + * @see getState + */ + idempotent void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Send text message to a single user. + * @param session Connection ID of user. See {@link User.session}. + * @param text Message to send. + * @see sendMessageChannel + */ + void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Check if user is permitted to perform action. + * @param session Connection ID of user. See {@link User.session}. + * @param channelid ID of Channel. See {@link Channel.id}. + * @param perm Permission bits to check. + * @return true if any of the permissions in perm were set for the user. + */ + bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Return users effective permissions + * @param session Connection ID of user. See {@link User.session}. + * @param channelid ID of Channel. See {@link Channel.id}. + * @return bitfield of allowed actions + */ + idempotent int effectivePermissions(int session, int channelid) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException; + + /** Add a context callback. This is done per user, and will add a context menu action for the user. + * + * @param session Session of user which should receive context entry. + * @param action Action string, a unique name to associate with the action. + * @param text Name of action shown to user. + * @param cb Callback interface which will receive notifications. + * @param ctx Context this should be used in. Needs to be one or a combination of {@link ContextServer}, {@link ContextChannel} and {@link ContextUser}. + * @see removeContextCallback + */ + void addContextCallback(int session, string action, string text, ServerContextCallback *cb, int ctx) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. This callback will be removed from all from all users. + * @see addContextCallback + */ + void removeContextCallback(ServerContextCallback *cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; + + /** Get state of single channel. + * @param channelid ID of Channel. See {@link Channel.id}. + * @return State of channel. + * @see setChannelState + * @see getChannels + */ + idempotent Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Set state of a single channel. You can use this to move or relink channels. + * @param state Channel state to set. + * @see getChannelState + */ + idempotent void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException; + + /** Remove a channel and all its subchannels. + * @param channelid ID of Channel. See {@link Channel.id}. + */ + void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Add a new channel. + * @param name Name of new channel. + * @param parent Channel ID of parent channel. See {@link Channel.id}. + * @return ID of newly created channel. + */ + int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException; + + /** Send text message to channel or a tree of channels. + * @param channelid Channel ID of channel to send to. See {@link Channel.id}. + * @param tree If true, the message will be sent to the channel and all its subchannels. + * @param text Message to send. + * @see sendMessage + */ + void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Retrieve ACLs and Groups on a channel. + * @param channelid Channel ID of channel to fetch from. See {@link Channel.id}. + * @param acls List of ACLs on the channel. This will include inherited ACLs. + * @param groups List of groups on the channel. This will include inherited groups. + * @param inherit Does this channel inherit ACLs from the parent channel? + */ + idempotent void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Set ACLs and Groups on a channel. Note that this will replace all existing ACLs and groups on the channel. + * @param channelid Channel ID of channel to fetch from. See {@link Channel.id}. + * @param acls List of ACLs on the channel. + * @param groups List of groups on the channel. + * @param inherit Should this channel inherit ACLs from the parent channel? + */ + idempotent void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException; + + /** Temporarily add a user to a group on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See {@link Channel.id}. + * @param session Connection ID of user. See {@link User.session}. + * @param group Group name to add to. + */ + idempotent void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException; + + /** Remove a user from a temporary group membership on a channel. This state is not saved, and is intended for temporary memberships. + * @param channelid Channel ID of channel to add to. See {@link Channel.id}. + * @param session Connection ID of user. See {@link User.session}. + * @param group Group name to remove from. + */ + idempotent void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException; + + /** 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. + * @param session Connection ID of user. See {@link User.session}. + * @param source Group name to redirect from. + * @param target Group name to redirect to. + */ + idempotent void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException, InvalidSecretException; + + /** Map a list of {@link User.userid} to a matching name. + * @param List of ids. + * @return Matching list of names, with an empty string representing invalid or unknown ids. + */ + idempotent NameMap getUserNames(IdList ids) throws ServerBootedException, InvalidSecretException; + + /** Map a list of user names to a matching id. + * @param List of names. + * @reuturn List of matching ids, with -1 representing invalid or unknown user names. + */ + idempotent IdMap getUserIds(NameList names) throws ServerBootedException, InvalidSecretException; + + /** Register a new user. + * @param info Information about new user. Must include at least "name". + * @return The ID of the user. See {@link RegisteredUser.userid}. + */ + int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Remove a user registration. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + */ + void unregisterUser(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** 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. + * @param registration Updated registration record. + */ + idempotent void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Fetch registration for a single user. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @return Registration record. + */ + idempotent UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Fetch a group of registered users. + * @param filter Substring of user name. If blank, will retrieve all registered users. + * @return List of registration records. + */ + idempotent NameMap getRegisteredUsers(string filter) throws ServerBootedException, InvalidSecretException; + + /** Verify the password of a user. You can use this to verify a user's credentials. + * @param name User name. See {@link RegisteredUser.name}. + * @param pw User password. + * @return User ID of registered user (See {@link RegisteredUser.userid}), -1 for failed authentication or -2 for unknown usernames. + */ + idempotent int verifyPassword(string name, string pw) throws ServerBootedException, InvalidSecretException; + + /** Fetch user texture. Textures are stored as zlib compress()ed 600x60 32-bit BGRA data. + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @return Custom texture associated with user or an empty texture. + */ + idempotent Texture getTexture(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException; + + /** Set a user texture (now called avatar). + * @param userid ID of registered user. See {@link RegisteredUser.userid}. + * @param tex Texture (as a Byte-Array) to set for the user, or an empty texture to remove the existing texture. + */ + idempotent void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException, InvalidSecretException; + + /** Get virtual server uptime. + * @return Uptime of the virtual server in seconds + */ + idempotent int getUptime() throws ServerBootedException, InvalidSecretException; + + /** + * Update the server's certificate information. + * + * Reconfigure the running server's TLS socket with the given + * certificate and private key. + * + * The certificate and and private key must be PEM formatted. + * + * New clients will see the new certificate. + * Existing clients will continue to see the certificate the server + * was using when they connected to it. + * + * This method throws InvalidInputDataException if any of the + * following errors happen: + * - Unable to decode the PEM certificate and/or private key. + * - Unable to decrypt the private key with the given passphrase. + * - The certificate and/or private key do not contain RSA keys. + * - The certificate is not usable with the given private key. + */ + idempotent void updateCertificate(string certificate, string privateKey, string passphrase) throws ServerBootedException, InvalidSecretException, InvalidInputDataException; + }; + + /** Callback interface for Meta. You can supply an implementation of this to receive notifications + * when servers are stopped or started. + * If an added callback ever throws an exception or goes away, it will be automatically removed. + * Please note that all callbacks are done asynchronously; murmur does not wait for the callback to + * complete before continuing processing. + * @see ServerCallback + * @see Meta.addCallback + */ + interface MetaCallback { + /** Called when a server is started. The server is up and running when this event is sent, so all methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void started(Server *srv); + + /** Called when a server is stopped. The server is already stopped when this event is sent, so no methods that + * need a running server will work. + * @param srv Interface for started server. + */ + void stopped(Server *srv); + }; + + sequence ServerList; + + /** This is the meta interface. It is primarily used for retrieving the {@link Server} interfaces for each individual server. + **/ + ["amd"] interface Meta { + /** Fetch interface to specific server. + * @param id Server ID. See {@link Server.getId}. + * @return Interface for specified server, or a null proxy if id is invalid. + */ + idempotent Server *getServer(int id) throws InvalidSecretException; + + /** Create a new server. Call {@link Server.getId} on the returned interface to find it's ID. + * @return Interface for new server. + */ + Server *newServer() throws InvalidSecretException; + + /** Fetch list of all currently running servers. + * @return List of interfaces for running servers. + */ + idempotent ServerList getBootedServers() throws InvalidSecretException; + + /** Fetch list of all defined servers. + * @return List of interfaces for all servers. + */ + idempotent ServerList getAllServers() throws InvalidSecretException; + + /** Fetch default configuraion. This returns the configuration items that were set in the configuration file, or + * the built-in default. The individual servers will use these values unless they have been overridden in the + * server specific configuration. The only special case is the port, which defaults to the value defined here + + * the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc). + * @return Default configuration of the servers. + */ + idempotent ConfigMap getDefaultConf() throws InvalidSecretException; + + /** Fetch version of Murmur. + * @param major Major version. + * @param minor Minor version. + * @param patch Patchlevel. + * @param text Textual representation of version. Note that this may not match the {@link major}, {@link minor} and {@link patch} levels, as it + * may be simply the compile date or the SVN revision. This is usually the text you want to present to users. + */ + idempotent void getVersion(out int major, out int minor, out int patch, out string text); + + /** Add a callback. The callback will receive notifications when servers are started or stopped. + * + * @param cb Callback interface which will receive notifications. + */ + void addCallback(MetaCallback *cb) throws InvalidCallbackException, InvalidSecretException; + + /** Remove a callback. + * + * @param cb Callback interface to be removed. + */ + void removeCallback(MetaCallback *cb) throws InvalidCallbackException, InvalidSecretException; + + /** Get murmur uptime. + * @return Uptime of murmur in seconds + */ + idempotent int getUptime(); + + /** Get slice file. + * @return Contents of the slice file server compiled with. + */ + idempotent string getSlice(); + + /** Returns a checksum dict for the slice file. + * @return Checksum dict + */ + idempotent Ice::SliceChecksumDict getSliceChecksums(); + }; +}; diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur.html b/hugo/static/documentation/slice/1.3.0/html/Murmur.html new file mode 100644 index 0000000..ac89890 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur.html @@ -0,0 +1,718 @@ + + + + + + + Murmur + + + + + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + +
+

Murmur

+

Overview

+

module Murmur

+

Class Index

+
+
Tree
+
+ User and subchannel state.
+
+

Interface Index

+
+
Meta
+
+ This is the meta interface.
+
MetaCallback
+
+ Callback interface for Meta.
+
Server
+
+ Per-server interface.
+
ServerAuthenticator
+
+ Callback interface for server authentication.
+
ServerCallback
+
+ Callback interface for servers.
+
ServerContextCallback
+
+ Callback interface for context actions.
+
ServerUpdatingAuthenticator
+
+ Callback interface for server authentication and registration.
+
+

Exception Index

+
+
InvalidCallbackException
+
+ This is thrown when you supply an invalid callback.
+
InvalidChannelException
+
+ This is thrown when you specify an invalid channel id.
+
InvalidInputDataException
+
+ This is thrown when invalid input data was specified.
+
InvalidSecretException
+
+ This is thrown when you supply the wrong secret in the calling context.
+
InvalidServerException
+
+ This is thrown when you try to do an operation on a server that does not exist.
+
InvalidSessionException
+
+ This is thrown when you specify an invalid session.
+
InvalidTextureException
+
+ This is thrown when you try to set an invalid texture.
+
InvalidUserException
+
+ This is thrown when you specify an invalid userid.
+
MurmurException
+
+
+
NestingLimitException
+
+ This is thrown when the channel operation would excede the channel nesting limit
+
ServerBootedException
+
+ This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.
+
ServerFailureException
+
+ This is thrown if Server::start fails, and should generally be the cause for some concern.
+
WriteOnlyException
+
+ This is thrown when you ask the server to disclose something that should be secret.
+
+

Structure Index

+
+
ACL
+
+ Access Control List for a channel.
+
Ban
+
+ A single ip mask for a ban.
+
Channel
+
+ A channel.
+
Group
+
+ A group.
+
LogEntry
+
+ A entry in the log.
+
TextMessage
+
+ A text message between users.
+
User
+
+ A connected user.
+
+

Sequence Index

+
+
ACLList
+
+
+
BanList
+
+
+
CertificateDer
+
+
+
CertificateList
+
+
+
ChannelList
+
+
+
GroupList
+
+
+
GroupNameList
+
+
+
IdList
+
+
+
IntList
+
+
+
LogList
+
+
+
NameList
+
+
+
NetAddress
+
+ A network address in IPv6 format.
+
ServerList
+
+
+
Texture
+
+
+
TreeList
+
+
+
UserList
+
+
+
+

Dictionary Index

+
+
ChannelMap
+
+
+
ConfigMap
+
+
+
IdMap
+
+
+
NameMap
+
+
+
UserInfoMap
+
+ User information map.
+
UserMap
+
+
+
+

Constant Index

+
+
ContextChannel
+
+ Context for actions in the Channel menu.
+
ContextServer
+
+ Context for actions in the Server menu.
+
ContextUser
+
+ Context for actions in the User menu.
+
PermissionBan
+
+ Ban user from server.
+
PermissionEnter
+
+ Enter channel.
+
PermissionKick
+
+ Kick user from server.
+
PermissionLinkChannel
+
+ Link this channel.
+
PermissionMakeChannel
+
+ Make new channel as a subchannel of this channel.
+
PermissionMakeTempChannel
+
+ Make new temporary channel as a subchannel of this channel.
+
PermissionMove
+
+ Move users from channel.
+
PermissionMuteDeafen
+
+ Mute and deafen other users in this channel.
+
PermissionRegister
+
+ Register and unregister users.
+
PermissionRegisterSelf
+
+ Register and unregister users.
+
PermissionSpeak
+
+ Speak in channel.
+
PermissionTextMessage
+
+ Send text message to channel.
+
PermissionTraverse
+
+ Traverse channel.
+
PermissionWhisper
+
+ Whisper to channel.
+
PermissionWrite
+
+ Write access to channel control.
+
+

Enumeration Index

+
+
ChannelInfo
+
+
+
UserInfo
+
+
+
+

Sequences

+
+
+ sequence<ACL> ACLList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<Ban> BanList +
+
+

Used By

+
+
Server::getBans
+
Server::setBans
+
+
+
+
+
+ sequence<byte> CertificateDer +
+
+

Used By

+
+
CertificateList
+
+
+
+
+
+ sequence<CertificateDer> CertificateList +
+
+

Used By

+
+
Server::getCertificateList
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<Channel> ChannelList +
+
+
+
+
+ sequence<Group> GroupList +
+
+

Used By

+
+
Server::getACL
+
Server::setACL
+
+
+
+
+
+ sequence<string> GroupNameList +
+
+

Used By

+
+
ServerAuthenticator::authenticate
+
+
+
+
+
+ sequence<int> IdList +
+
+

Used By

+
+
Server::getUserNames
+
+
+
+
+
+ sequence<int> IntList +
+
+

Used By

+
+
Channel::links
+
Group::add
+
Group::members
+
Group::remove
+
TextMessage::channels
+
TextMessage::sessions
+
TextMessage::trees
+
+
+
+
+
+ sequence<LogEntry> LogList +
+
+

Used By

+
+
Server::getLog
+
+
+
+
+
+ sequence<string> NameList +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ [ "python:seq:tuple" ] + sequence<byte> NetAddress +
+
+

+A network address in IPv6 format.

+

Used By

+
+
Ban::address
+
User::address
+
+
+
+
+
+ sequence<Server*> ServerList +
+
+

Used By

+
+
Meta::getAllServers
+
Meta::getBootedServers
+
+
+
+
+
+ sequence<byte> Texture +
+
+

Used By

+
+
Server::getTexture
+
Server::setTexture
+
ServerAuthenticator::idToTexture
+
ServerUpdatingAuthenticator::setTexture
+
+
+
+
+
+ sequence<Tree> TreeList +
+
+

Used By

+
+
Tree::children
+
+
+
+
+
+ sequence<User> UserList +
+
+

Used By

+
+
Tree::users
+
+
+
+

Dictionaries

+
+
+ dictionary<int, Channel> ChannelMap +
+
+

Used By

+
+
Server::getChannels
+
+
+
+
+
+ dictionary<string, string> ConfigMap +
+
+

Used By

+
+
Meta::getDefaultConf
+
Server::getAllConf
+
+
+
+
+
+ dictionary<string, int> IdMap +
+
+

Used By

+
+
Server::getUserIds
+
+
+
+
+
+ dictionary<int, string> NameMap +
+
+

Used By

+
+
Server::getRegisteredUsers
+
Server::getUserNames
+
ServerUpdatingAuthenticator::getRegisteredUsers
+
+
+
+
+
+ dictionary<UserInfo, string> UserInfoMap +
+
+

+User information map. +Older versions of ice-php can't handle enums as keys. If you are using one of these, replace 'UserInfo' with 'byte'.

+

Used By

+
+
Server::getRegistration
+
Server::registerUser
+
Server::updateRegistration
+
ServerAuthenticator::getInfo
+
ServerUpdatingAuthenticator::registerUser
+
ServerUpdatingAuthenticator::setInfo
+
+
+
+
+
+ dictionary<int, User> UserMap +
+
+

Used By

+
+
Server::getUsers
+
+
+
+

Constants

+
+
+ const int ContextChannel = 0x02; +
+
+

+Context for actions in the Channel menu.

+
+
+
+
+ const int ContextServer = 0x01; +
+
+

+Context for actions in the Server menu.

+
+
+
+
+ const int ContextUser = 0x04; +
+
+

+Context for actions in the User menu.

+
+
+
+
+ const int PermissionBan = 0x20000; +
+
+

+Ban user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionEnter = 0x04; +
+
+

+Enter channel.

+
+
+
+
+ const int PermissionKick = 0x10000; +
+
+

+Kick user from server. Only valid on root channel.

+
+
+
+
+ const int PermissionLinkChannel = 0x80; +
+
+

+Link this channel. You need this permission in both the source and destination channel to link channels, or in either channel to unlink them.

+
+
+
+
+ const int PermissionMakeChannel = 0x40; +
+
+

+Make new channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMakeTempChannel = 0x400; +
+
+

+Make new temporary channel as a subchannel of this channel.

+
+
+
+
+ const int PermissionMove = 0x20; +
+
+

+Move users from channel. You need this permission in both the source and destination channel to move another user.

+
+
+
+
+ const int PermissionMuteDeafen = 0x10; +
+
+

+Mute and deafen other users in this channel.

+
+
+
+
+ const int PermissionRegister = 0x40000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionRegisterSelf = 0x80000; +
+
+

+Register and unregister users. Only valid on root channel.

+
+
+
+
+ const int PermissionSpeak = 0x08; +
+
+

+Speak in channel.

+
+
+
+
+ const int PermissionTextMessage = 0x200; +
+
+

+Send text message to channel.

+
+
+
+
+ const int PermissionTraverse = 0x02; +
+
+

+Traverse channel. Without this, a client cannot reach subchannels, no matter which privileges he has there.

+
+
+
+
+ const int PermissionWhisper = 0x100; +
+
+

+Whisper to channel. This is different from Speak, so you can set up different permissions.

+
+
+
+
+ const int PermissionWrite = 0x01; +
+
+

+Write access to channel control. Implies all other permissions (except Speak).

+
+
+
+ + + + + + + +
+ + + + + + +
HomeNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ACL.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ACL.html new file mode 100644 index 0000000..6d34187 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ACL.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::ACL + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ACL

+

Overview

+

struct ACL

+

+Access Control List for a channel. ACLs are defined per channel, and can be inherited from parent channels.

+

Used By

+
+
ACLList
+
+

Data Member Index

+
+
applyHere
+
+ Does the ACL apply to this channel?
+
applySubs
+
+ Does the ACL apply to subchannels?
+
inherited
+
+ Is this ACL inherited from a parent channel? Read-only.
+
userid
+
+ ID of user this ACL applies to.
+
group
+
+ Group this ACL applies to.
+
allow
+
+ Binary mask of privileges to allow.
+
deny
+
+ Binary mask of privileges to deny.
+
+

Data Members

+
+
bool applyHere;
+
+

+Does the ACL apply to this channel?

+
+
bool applySubs;
+
+

+Does the ACL apply to subchannels?

+
+
bool inherited;
+
+

+Is this ACL inherited from a parent channel? Read-only.

+
+
int userid;
+
+

+ID of user this ACL applies to. -1 if using a group name.

+
+
string group;
+
+

+Group this ACL applies to. Blank if using userid.

+
+
int allow;
+
+

+Binary mask of privileges to allow.

+
+
int deny;
+
+

+Binary mask of privileges to deny.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Ban.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Ban.html new file mode 100644 index 0000000..86ecdfc --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Ban.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Ban + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Ban

+

Overview

+

struct Ban

+

+A single ip mask for a ban.

+

Used By

+
+
BanList
+
+

Data Member Index

+
+
address
+
+ Address to ban.
+
bits
+
+ Number of bits in ban to apply.
+
name
+
+ Username associated with ban.
+
hash
+
+ Hash of banned user.
+
reason
+
+ Reason for ban.
+
start
+
+ Date ban was applied in unix time format.
+
duration
+
+ Duration of ban.
+
+

Data Members

+
+
NetAddress address;
+
+

+Address to ban.

+
+
int bits;
+
+

+Number of bits in ban to apply.

+
+
string name;
+
+

+Username associated with ban.

+
+
string hash;
+
+

+Hash of banned user.

+
+
string reason;
+
+

+Reason for ban.

+
+
int start;
+
+

+Date ban was applied in unix time format.

+
+
int duration;
+
+

+Duration of ban.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Channel.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Channel.html new file mode 100644 index 0000000..e5b4b77 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Channel.html @@ -0,0 +1,132 @@ + + + + + + + Murmur::Channel + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Channel

+

Overview

+

struct Channel

+

+A channel.

+

Used By

+
+
ChannelList
+
ChannelMap
+
Server::getChannelState
+
Server::setChannelState
+
ServerCallback::channelCreated
+
ServerCallback::channelRemoved
+
ServerCallback::channelStateChanged
+
Tree::c
+
+

Data Member Index

+
+
id
+
+ Channel ID.
+
name
+
+ Name of the channel.
+
parent
+
+ ID of parent channel, or -1 if this is the root channel.
+
links
+
+ List of id of linked channels.
+
description
+
+ Description of channel.
+
temporary
+
+ Channel is temporary, and will be removed when the last user leaves it.
+
position
+
+ Position of the channel which is used in Client for sorting.
+
+

Data Members

+
+
int id;
+
+

+Channel ID. This is unique per channel, and the root channel is always id 0.

+
+
string name;
+
+

+Name of the channel. There can not be two channels with the same parent that has the same name.

+
+
int parent;
+
+

+ID of parent channel, or -1 if this is the root channel.

+
+
IntList links;
+
+

+List of id of linked channels.

+
+
string description;
+
+

+Description of channel. Shown as tooltip for this channel.

+
+
bool temporary;
+
+

+Channel is temporary, and will be removed when the last user leaves it.

+
+
int position;
+
+

+Position of the channel which is used in Client for sorting.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ChannelInfo.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ChannelInfo.html new file mode 100644 index 0000000..2306a9e --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ChannelInfo.html @@ -0,0 +1,64 @@ + + + + + + + Murmur::ChannelInfo + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ChannelInfo

+

Overview

+

enum ChannelInfo

+

Enumerators

+
+
ChannelDescription
+
+
ChannelPosition
+
+
+ + + +
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Group.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Group.html new file mode 100644 index 0000000..0d411d0 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Group.html @@ -0,0 +1,125 @@ + + + + + + + Murmur::Group + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Group

+

Overview

+

struct Group

+

+A group. Groups are defined per channel, and can inherit members from parent channels.

+

Used By

+
+
GroupList
+
+

Data Member Index

+
+
name
+
+ Group name
+
inherited
+
+ Is this group inherited from a parent channel? Read-only.
+
inherit
+
+ Does this group inherit members from parent channels?
+
inheritable
+
+ Can subchannels inherit members from this group?
+
add
+
+ List of users to add to the group.
+
remove
+
+ List of inherited users to remove from the group.
+
members
+
+ Current members of the group, including inherited members.
+
+

Data Members

+
+
string name;
+
+

+Group name

+
+
bool inherited;
+
+

+Is this group inherited from a parent channel? Read-only.

+
+
bool inherit;
+
+

+Does this group inherit members from parent channels?

+
+
bool inheritable;
+
+

+Can subchannels inherit members from this group?

+
+
IntList add;
+
+

+List of users to add to the group.

+
+
IntList remove;
+
+

+List of inherited users to remove from the group.

+
+
IntList members;
+
+

+Current members of the group, including inherited members. Read-only.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidCallbackException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidCallbackException.html new file mode 100644 index 0000000..bd3001c --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidCallbackException.html @@ -0,0 +1,71 @@ + + + + + + + Murmur::InvalidCallbackException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidCallbackException

+

Overview

+

exception InvalidCallbackException + extends + MurmurException

+

+This is thrown when you supply an invalid callback.

+

Used By

+
+
Meta::addCallback
+
Meta::removeCallback
+
Server::addCallback
+
Server::addContextCallback
+
Server::removeCallback
+
Server::removeContextCallback
+
Server::setAuthenticator
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidChannelException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidChannelException.html new file mode 100644 index 0000000..ffa98cf --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidChannelException.html @@ -0,0 +1,76 @@ + + + + + + + Murmur::InvalidChannelException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidChannelException

+

Overview

+

exception InvalidChannelException + extends + MurmurException

+

+This is thrown when you specify an invalid channel id. This may happen if the channel was removed by another provess. It can also be thrown if you try to add an invalid channel.

+

Used By

+
+
Server::addChannel
+
Server::addUserToGroup
+
Server::effectivePermissions
+
Server::getACL
+
Server::getChannelState
+
Server::hasPermission
+
Server::removeChannel
+
Server::removeUserFromGroup
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setChannelState
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidInputDataException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidInputDataException.html new file mode 100644 index 0000000..d712436 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidInputDataException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::InvalidInputDataException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidInputDataException

+

Overview

+

exception InvalidInputDataException + extends + MurmurException

+

+This is thrown when invalid input data was specified.

+

Used By

+
+
Server::updateCertificate
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSecretException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSecretException.html new file mode 100644 index 0000000..29ccae5 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSecretException.html @@ -0,0 +1,121 @@ + + + + + + + Murmur::InvalidSecretException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidSecretException

+

Overview

+

exception InvalidSecretException + extends + MurmurException

+

+This is thrown when you supply the wrong secret in the calling context.

+

Used By

+
+
Meta::addCallback
+
Meta::getAllServers
+
Meta::getBootedServers
+
Meta::getDefaultConf
+
Meta::getServer
+
Meta::newServer
+
Meta::removeCallback
+
Server::addCallback
+
Server::addChannel
+
Server::addContextCallback
+
Server::addUserToGroup
+
Server::delete
+
Server::effectivePermissions
+
Server::getACL
+
Server::getAllConf
+
Server::getBans
+
Server::getCertificateList
+
Server::getChannelState
+
Server::getChannels
+
Server::getConf
+
Server::getLog
+
Server::getLogLen
+
Server::getRegisteredUsers
+
Server::getRegistration
+
Server::getState
+
Server::getTexture
+
Server::getTree
+
Server::getUptime
+
Server::getUserIds
+
Server::getUserNames
+
Server::getUsers
+
Server::hasPermission
+
Server::id
+
Server::isRunning
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::registerUser
+
Server::removeCallback
+
Server::removeChannel
+
Server::removeContextCallback
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setAuthenticator
+
Server::setBans
+
Server::setChannelState
+
Server::setConf
+
Server::setState
+
Server::setSuperuserPassword
+
Server::setTexture
+
Server::start
+
Server::stop
+
Server::unregisterUser
+
Server::updateCertificate
+
Server::updateRegistration
+
Server::verifyPassword
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidServerException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidServerException.html new file mode 100644 index 0000000..16b77d7 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidServerException.html @@ -0,0 +1,61 @@ + + + + + + + Murmur::InvalidServerException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidServerException

+

Overview

+

exception InvalidServerException + extends + MurmurException

+

+This is thrown when you try to do an operation on a server that does not exist. This may happen if someone has removed the server.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSessionException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSessionException.html new file mode 100644 index 0000000..a4660b8 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidSessionException.html @@ -0,0 +1,74 @@ + + + + + + + Murmur::InvalidSessionException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidSessionException

+

Overview

+

exception InvalidSessionException + extends + MurmurException

+

+This is thrown when you specify an invalid session. This may happen if the user has disconnected since your last call to Server::getUsers. See User::session

+

Used By

+
+
Server::addUserToGroup
+
Server::effectivePermissions
+
Server::getCertificateList
+
Server::getState
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::setState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidTextureException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidTextureException.html new file mode 100644 index 0000000..8a53ad7 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidTextureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::InvalidTextureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidTextureException

+

Overview

+

exception InvalidTextureException + extends + MurmurException

+

+This is thrown when you try to set an invalid texture.

+

Used By

+
+
Server::setTexture
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidUserException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidUserException.html new file mode 100644 index 0000000..3106091 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/InvalidUserException.html @@ -0,0 +1,70 @@ + + + + + + + Murmur::InvalidUserException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::InvalidUserException

+

Overview

+

exception InvalidUserException + extends + MurmurException

+

+This is thrown when you specify an invalid userid.

+

Used By

+
+
Server::getRegistration
+
Server::getTexture
+
Server::registerUser
+
Server::setTexture
+
Server::unregisterUser
+
Server::updateRegistration
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/LogEntry.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/LogEntry.html new file mode 100644 index 0000000..f63fd8f --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/LogEntry.html @@ -0,0 +1,85 @@ + + + + + + + Murmur::LogEntry + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::LogEntry

+

Overview

+

struct LogEntry

+

+A entry in the log.

+

Used By

+
+
LogList
+
+

Data Member Index

+
+
timestamp
+
+ Timestamp in UNIX time_t
+
txt
+
+ The log message.
+
+

Data Members

+
+
int timestamp;
+
+

+Timestamp in UNIX time_t

+
+
string txt;
+
+

+The log message.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Meta.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Meta.html new file mode 100644 index 0000000..c27dd10 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Meta.html @@ -0,0 +1,183 @@ + + + + + + + Murmur::Meta + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Meta

+

Overview

+

[ "amd" ] + interface Meta

+

+This is the meta interface. It is primarily used for retrieving the Server interfaces for each individual server.

+

Operation Index

+
+
getServer
+
+ Fetch interface to specific server.
+
newServer
+
+ Create a new server.
+
getBootedServers
+
+ Fetch list of all currently running servers.
+
getAllServers
+
+ Fetch list of all defined servers.
+
getDefaultConf
+
+ Fetch default configuraion.
+
getVersion
+
+ Fetch version of Murmur.
+
addCallback
+
+ Add a callback.
+
removeCallback
+
+ Remove a callback.
+
getUptime
+
+ Get murmur uptime.
+
getSlice
+
+ Get slice file.
+
getSliceChecksums
+
+ Returns a checksum dict for the slice file.
+
+

Operations

+

Server* getServer(int id) throws InvalidSecretException

+

+Fetch interface to specific server.

+

Parameters

+
+
id
+
+ Server ID. See Server::getId.
+
+

Return Value

+

Interface for specified server, or a null proxy if id is invalid.

+

Server* newServer() throws InvalidSecretException

+

+Create a new server. Call Server::getId on the returned interface to find it's ID.

+

Return Value

+

Interface for new server.

+

ServerList getBootedServers() throws InvalidSecretException

+

+Fetch list of all currently running servers.

+

Return Value

+

List of interfaces for running servers.

+

ServerList getAllServers() throws InvalidSecretException

+

+Fetch list of all defined servers.

+

Return Value

+

List of interfaces for all servers.

+

ConfigMap getDefaultConf() throws InvalidSecretException

+

+Fetch default configuraion. This returns the configuration items that were set in the configuration file, or +the built-in default. The individual servers will use these values unless they have been overridden in the +server specific configuration. The only special case is the port, which defaults to the value defined here + +the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc).

+

Return Value

+

Default configuration of the servers.

+

void getVersion(out int major, out int minor, out int patch, out string text)

+

+Fetch version of Murmur.

+

Parameters

+
+
major
+
+ Major version.
+
minor
+
+ Minor version.
+
patch
+
+ Patchlevel.
+
text
+
+ Textual representation of version. Note that this may not match the major, minor and patch levels, as it +may be simply the compile date or the SVN revision. This is usually the text you want to present to users.
+
+

void addCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

+

+Add a callback. The callback will receive notifications when servers are started or stopped.

+

Parameters

+
+
cb
+
+ Callback interface which will receive notifications.
+
+

void removeCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+

int getUptime()

+

+Get murmur uptime.

+

Return Value

+

Uptime of murmur in seconds

+

string getSlice()

+

+Get slice file.

+

Return Value

+

Contents of the slice file server compiled with.

+

::Ice::SliceChecksumDict getSliceChecksums()

+

+Returns a checksum dict for the slice file.

+

Return Value

+

Checksum dict

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/MetaCallback.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/MetaCallback.html new file mode 100644 index 0000000..5830399 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/MetaCallback.html @@ -0,0 +1,98 @@ + + + + + + + Murmur::MetaCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MetaCallback

+

Overview

+

interface MetaCallback

+

+Callback interface for Meta. You can supply an implementation of this to receive notifications +when servers are stopped or started. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

See Also

+
+
ServerCallback
+
Meta::addCallback
+
+

Operation Index

+
+
started
+
+ Called when a server is started.
+
stopped
+
+ Called when a server is stopped.
+
+

Operations

+

void started(Server* srv)

+

+Called when a server is started. The server is up and running when this event is sent, so all methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+

void stopped(Server* srv)

+

+Called when a server is stopped. The server is already stopped when this event is sent, so no methods that +need a running server will work.

+

Parameters

+
+
srv
+
+ Interface for started server.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/MurmurException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/MurmurException.html new file mode 100644 index 0000000..1037335 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/MurmurException.html @@ -0,0 +1,72 @@ + + + + + + + Murmur::MurmurException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::MurmurException

+

Overview

+

exception MurmurException

+

Derived Exceptions

+
+
InvalidCallbackException
+
InvalidChannelException
+
InvalidInputDataException
+
InvalidSecretException
+
InvalidServerException
+
InvalidSessionException
+
InvalidTextureException
+
InvalidUserException
+
NestingLimitException
+
ServerBootedException
+
ServerFailureException
+
WriteOnlyException
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/NestingLimitException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/NestingLimitException.html new file mode 100644 index 0000000..a8b7363 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/NestingLimitException.html @@ -0,0 +1,66 @@ + + + + + + + Murmur::NestingLimitException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::NestingLimitException

+

Overview

+

exception NestingLimitException + extends + MurmurException

+

+This is thrown when the channel operation would excede the channel nesting limit

+

Used By

+
+
Server::addChannel
+
Server::setChannelState
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Server.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Server.html new file mode 100644 index 0000000..5d99bfb --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Server.html @@ -0,0 +1,796 @@ + + + + + + + Murmur::Server + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

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.
+
updateCertificate
+
+ Update the server's certificate information.
+
+

Operations

+

bool isRunning() throws InvalidSecretException

+

+Shows if the server currently running (accepting users).

+

Return Value

+

Run-state of server.

+

void start() throws ServerBootedException, ServerFailureException, InvalidSecretException

+

+Start server.

+

void stop() throws ServerBootedException, InvalidSecretException

+

+Stop server. +Note: Server will be restarted on Murmur restart unless explicitly disabled +with setConf("boot", false)

+

void delete() throws ServerBootedException, InvalidSecretException

+

+Delete server and all it's configuration.

+

int id() throws InvalidSecretException

+

+Fetch the server id.

+

Return Value

+

Unique server id.

+

void addCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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
+
+

void removeCallback(ServerCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed.
+
+

See Also

+
+
addCallback
+
+

void setAuthenticator(ServerAuthenticator* auth) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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) throws InvalidSecretException, WriteOnlyException

+

+Retrieve configuration item.

+

Parameters

+
+
key
+
+ Configuration key.
+
+

Return Value

+

Configuration value. If this is empty, see Meta::getDefaultConf

+

ConfigMap getAllConf() throws InvalidSecretException

+

+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.
+
+

void setSuperuserPassword(string pw) throws InvalidSecretException

+

+Set superuser password. This is just a convenience for using updateRegistration on user id 0.

+

Parameters

+
+
pw
+
+ Password.
+
+

LogList getLog(int first, int last) throws InvalidSecretException

+

+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.

+

int getLogLen() throws InvalidSecretException

+

+Fetch length of log

+

Return Value

+

Number of entries in log

+

UserMap getUsers() throws ServerBootedException, InvalidSecretException

+

+Fetch all users. This returns all currently connected users on the server.

+

Return Value

+

List of connected users.

+

See Also

+
+
getState
+
+

ChannelMap getChannels() throws ServerBootedException, InvalidSecretException

+

+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
+
+

CertificateList getCertificateList(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.

+

Tree getTree() throws ServerBootedException, InvalidSecretException

+

+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.

+

BanList getBans() throws ServerBootedException, InvalidSecretException

+

+Fetch all current IP bans on the server.

+

Return Value

+

List of bans.

+

void setBans(BanList bans) throws ServerBootedException, InvalidSecretException

+

+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.
+
+

void kickUser(int session, string reason) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

User getState(int session) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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
+
+

void setState(User state) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+Set user state. You can use this to move, mute and deafen users.

+

Parameters

+
+
state
+
+ User state to set.
+
+

See Also

+
+
getState
+
+

void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+Send text message to a single user.

+

Parameters

+
+
session
+
+ Connection ID of user. See User::session.
+
text
+
+ Message to send.
+
+

See Also

+
+
sendMessageChannel
+
+

bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+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.

+

int effectivePermissions(int session, int channelid) throws ServerBootedException, InvalidSessionException, InvalidChannelException, InvalidSecretException

+

+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

+

void addContextCallback(int session, string action, string text, ServerContextCallback* cb, int ctx) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+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
+
+

void removeContextCallback(ServerContextCallback* cb) throws ServerBootedException, InvalidCallbackException, InvalidSecretException

+

+Remove a callback.

+

Parameters

+
+
cb
+
+ Callback interface to be removed. This callback will be removed from all from all users.
+
+

See Also

+
+
addContextCallback
+
+

Channel getChannelState(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+Get state of single channel.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

Return Value

+

State of channel.

+

See Also

+
+
setChannelState
+
getChannels
+
+

void setChannelState(Channel state) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException

+

+Set state of a single channel. You can use this to move or relink channels.

+

Parameters

+
+
state
+
+ Channel state to set.
+
+

See Also

+
+
getChannelState
+
+

void removeChannel(int channelid) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+Remove a channel and all its subchannels.

+

Parameters

+
+
channelid
+
+ ID of Channel. See Channel::id.
+
+

int addChannel(string name, int parent) throws ServerBootedException, InvalidChannelException, InvalidSecretException, NestingLimitException

+

+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.

+

void sendMessageChannel(int channelid, bool tree, string text) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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
+
+

void getACL(int channelid, out ACLList acls, out GroupList groups, out bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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?
+
+

void setACL(int channelid, ACLList acls, GroupList groups, bool inherit) throws ServerBootedException, InvalidChannelException, InvalidSecretException

+

+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?
+
+

void addUserToGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

void removeUserFromGroup(int channelid, int session, string group) throws ServerBootedException, InvalidChannelException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

void redirectWhisperGroup(int session, string source, string target) throws ServerBootedException, InvalidSessionException, InvalidSecretException

+

+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.
+
+

NameMap getUserNames(IdList ids) throws ServerBootedException, InvalidSecretException

+

+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.

+

IdMap getUserIds(NameList names) throws ServerBootedException, InvalidSecretException

+

+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.
+
+

int registerUser(UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.

+

void unregisterUser(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+Remove a user registration.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

void updateRegistration(int userid, UserInfoMap info) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.
+
+

UserInfoMap getRegistration(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+Fetch registration for a single user.

+

Parameters

+
+
userid
+
+ ID of registered user. See RegisteredUser::userid.
+
+

Return Value

+

Registration record.

+

NameMap getRegisteredUsers(string filter) throws ServerBootedException, InvalidSecretException

+

+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, InvalidSecretException

+

+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.

+

Texture getTexture(int userid) throws ServerBootedException, InvalidUserException, InvalidSecretException

+

+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.

+

void setTexture(int userid, Texture tex) throws ServerBootedException, InvalidUserException, InvalidTextureException, InvalidSecretException

+

+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.
+
+

int getUptime() throws ServerBootedException, InvalidSecretException

+

+Get virtual server uptime.

+

Return Value

+

Uptime of the virtual server in seconds

+

void updateCertificate(string certificate, string privateKey, string passphrase) throws ServerBootedException, InvalidSecretException, InvalidInputDataException

+

+Update the server's certificate information. + +Reconfigure the running server's TLS socket with the given +certificate and private key. + +The certificate and and private key must be PEM formatted. + +New clients will see the new certificate. +Existing clients will continue to see the certificate the server +was using when they connected to it. + +This method throws InvalidInputDataException if any of the +following errors happen: +- Unable to decode the PEM certificate and/or private key. +- Unable to decrypt the private key with the given passphrase. +- The certificate and/or private key do not contain RSA keys. +- The certificate is not usable with the given private key.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerAuthenticator.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerAuthenticator.html new file mode 100644 index 0000000..6877ff5 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerAuthenticator.html @@ -0,0 +1,176 @@ + + + + + + + Murmur::ServerAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerAuthenticator

+

Overview

+

interface ServerAuthenticator

+

+Callback interface for server authentication. You need to supply one of these for Server::setAuthenticator. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that unlike ServerCallback and ServerContextCallback, these methods are called +synchronously. If the response lags, the entire murmur server will lag. +Also note that, as the method calls are synchronous, making a call to Server or Meta will +deadlock the server.

+

Derived Classes and Interfaces

+
+
ServerUpdatingAuthenticator
+
+

Operation Index

+
+
authenticate
+
+ Called to authenticate a user.
+
getInfo
+
+ Fetch information about a user.
+
nameToId
+
+ Map a name to a user id.
+
idToName
+
+ Map a user id to a username.
+
idToTexture
+
+ Map a user to a custom Texture.
+
+

Operations

+

int authenticate(string name, string pw, CertificateList certificates, string certhash, bool certstrong, out string newname, out GroupNameList groups)

+

+Called to authenticate a user. If you do not know the username in question, always return -2 from this +method to fall through to normal database authentication. +Note that if authentication succeeds, murmur will create a record of the user in it's database, reserving +the username and id so it cannot be used for normal database authentication. +The data in the certificate (name, email addresses etc), as well as the list of signing certificates, +should only be trusted if certstrong is true. + +Internally, Murmur treats usernames as case-insensitive. It is recommended +that authenticators do the same. Murmur checks if a username is in use when +a user connects. If the connecting user is registered, the other username is +kicked. If the connecting user is not registered, the connecting user is not +allowed to join the server.

+

Parameters

+
+
name
+
+ Username to authenticate.
+
pw
+
+ Password to authenticate with.
+
certificates
+
+ List of der encoded certificates the user connected with.
+
certhash
+
+ Hash of user certificate, as used by murmur internally when matching.
+
certstrong
+
+ True if certificate was valid and signed by a trusted CA.
+
newname
+
+ Set this to change the username from the supplied one.
+
groups
+
+ List of groups on the root channel that the user will be added to for the duration of the connection.
+
+

Return Value

+

UserID of authenticated user, -1 for authentication failures, -2 for unknown user (fallthrough), +-3 for authentication failures where the data could (temporarily) not be verified.

+

bool getInfo(int id, out UserInfoMap info)

+

+Fetch information about a user. This is used to retrieve information like email address, keyhash etc. If you +want murmur to take care of this information itself, simply return false to fall through.

+

Parameters

+
+
id
+
+ User id.
+
info
+
+ Information about user. This needs to include at least "name".
+
+

Return Value

+

true if information is present, false to fall through.

+

int nameToId(string name)

+

+Map a name to a user id.

+

Parameters

+
+
name
+
+ Username to map.
+
+

Return Value

+

User id or -2 for unknown name.

+

string idToName(int id)

+

+Map a user id to a username.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

Name of user or empty string for unknown id.

+

Texture idToTexture(int id)

+

+Map a user to a custom Texture.

+

Parameters

+
+
id
+
+ User id to map.
+
+

Return Value

+

User texture or an empty texture for unknwon users or users without textures.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerBootedException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerBootedException.html new file mode 100644 index 0000000..520f4f1 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerBootedException.html @@ -0,0 +1,106 @@ + + + + + + + Murmur::ServerBootedException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerBootedException

+

Overview

+

exception ServerBootedException + extends + MurmurException

+

+This happens if you try to fetch user or channel state on a stopped server, if you try to stop an already stopped server or start an already started server.

+

Used By

+
+
Server::addCallback
+
Server::addChannel
+
Server::addContextCallback
+
Server::addUserToGroup
+
Server::delete
+
Server::effectivePermissions
+
Server::getACL
+
Server::getBans
+
Server::getCertificateList
+
Server::getChannelState
+
Server::getChannels
+
Server::getRegisteredUsers
+
Server::getRegistration
+
Server::getState
+
Server::getTexture
+
Server::getTree
+
Server::getUptime
+
Server::getUserIds
+
Server::getUserNames
+
Server::getUsers
+
Server::hasPermission
+
Server::kickUser
+
Server::redirectWhisperGroup
+
Server::registerUser
+
Server::removeCallback
+
Server::removeChannel
+
Server::removeContextCallback
+
Server::removeUserFromGroup
+
Server::sendMessage
+
Server::sendMessageChannel
+
Server::setACL
+
Server::setAuthenticator
+
Server::setBans
+
Server::setChannelState
+
Server::setState
+
Server::setTexture
+
Server::start
+
Server::stop
+
Server::unregisterUser
+
Server::updateCertificate
+
Server::updateRegistration
+
Server::verifyPassword
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerCallback.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerCallback.html new file mode 100644 index 0000000..40cca3e --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerCallback.html @@ -0,0 +1,165 @@ + + + + + + + Murmur::ServerCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerCallback

+

Overview

+

interface ServerCallback

+

+Callback interface for servers. You can supply an implementation of this to receive notification +messages from the server. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing. +Note that callbacks are removed when a server is stopped, so you should have a callback for +MetaCallback::started which calls Server::addCallback.

+

See Also

+
+
MetaCallback
+
Server::addCallback
+
+

Operation Index

+
+
userConnected
+
+ Called when a user connects to the server.
+
userDisconnected
+
+ Called when a user disconnects from the server.
+
userStateChanged
+
+ Called when a user state changes.
+
userTextMessage
+
+ Called when user writes a text message +@param state the User sending the message +@param message the TextMessage the user has sent +
+
channelCreated
+
+ Called when a new channel is created.
+
channelRemoved
+
+ Called when a channel is removed.
+
channelStateChanged
+
+ Called when a new channel state changes.
+
+

Operations

+

void userConnected(User state)

+

+Called when a user connects to the server.

+

Parameters

+
+
state
+
+ State of connected user.
+
+

void userDisconnected(User state)

+

+Called when a user disconnects from the server. The user has already been removed, so you can no longer use methods like Server::getState +to retrieve the user's state.

+

Parameters

+
+
state
+
+ State of disconnected user.
+
+

void userStateChanged(User state)

+

+Called when a user state changes. This is called if the user moves, is renamed, is muted, deafened etc.

+

Parameters

+
+
state
+
+ New state of user.
+
+

void userTextMessage(User state, TextMessage message)

+

+Called when user writes a text message

+

Parameters

+
+
state
+
+ the User sending the message
+
message
+
+ the TextMessage the user has sent
+
+

void channelCreated(Channel state)

+

+Called when a new channel is created.

+

Parameters

+
+
state
+
+ State of new channel.
+
+

void channelRemoved(Channel state)

+

+Called when a channel is removed. The channel has already been removed, you can no longer use methods like Server::getChannelState

+

Parameters

+
+
state
+
+ State of removed channel.
+
+

void channelStateChanged(Channel state)

+

+Called when a new channel state changes. This is called if the channel is moved, renamed or if new links are added.

+

Parameters

+
+
state
+
+ New state of channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerContextCallback.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerContextCallback.html new file mode 100644 index 0000000..ce01652 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerContextCallback.html @@ -0,0 +1,87 @@ + + + + + + + Murmur::ServerContextCallback + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerContextCallback

+

Overview

+

interface ServerContextCallback

+

+Callback interface for context actions. You need to supply one of these for Server::addContext. +If an added callback ever throws an exception or goes away, it will be automatically removed. +Please note that all callbacks are done asynchronously; murmur does not wait for the callback to +complete before continuing processing.

+

Operation Index

+
+
contextAction
+
+ Called when a context action is performed.
+
+

Operations

+

void contextAction(string action, User usr, int session, int channelid)

+

+Called when a context action is performed.

+

Parameters

+
+
action
+
+ Action to be performed.
+
usr
+
+ User which initiated the action.
+
session
+
+ If nonzero, session of target user.
+
channelid
+
+ If not -1, id of target channel.
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerFailureException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerFailureException.html new file mode 100644 index 0000000..d18898b --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerFailureException.html @@ -0,0 +1,65 @@ + + + + + + + Murmur::ServerFailureException + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerFailureException

+

Overview

+

exception ServerFailureException + extends + MurmurException

+

+This is thrown if Server::start fails, and should generally be the cause for some concern.

+

Used By

+
+
Server::start
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerUpdatingAuthenticator.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerUpdatingAuthenticator.html new file mode 100644 index 0000000..1a18576 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/ServerUpdatingAuthenticator.html @@ -0,0 +1,144 @@ + + + + + + + Murmur::ServerUpdatingAuthenticator + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::ServerUpdatingAuthenticator

+

Overview

+

interface ServerUpdatingAuthenticator extends ServerAuthenticator

+

+Callback interface for server authentication and registration. This allows you to support both authentication +and account updating. +You do not need to implement this if all you want is authentication, you only need this if other scripts +connected to the same server calls e.g. Server::setTexture. +Almost all of these methods support fall through, meaning murmur should continue the operation against its +own database.

+

Operation Index

+
+
registerUser
+
+ Register a new user.
+
unregisterUser
+
+ Unregister a user.
+
getRegisteredUsers
+
+ Get a list of registered users matching filter.
+
setInfo
+
+ Set additional information for user registration.
+
setTexture
+
+ Set texture (now called avatar) of user registration.
+
+

Operations

+

int registerUser(UserInfoMap info)

+

+Register a new user.

+

Parameters

+
+
info
+
+ Information about user to register.
+
+

Return Value

+

User id of new user, -1 for registration failure, or -2 to fall through.

+

int unregisterUser(int id)

+

+Unregister a user.

+

Parameters

+
+
id
+
+ Userid to unregister.
+
+

Return Value

+

1 for successfull unregistration, 0 for unsuccessfull unregistration, -1 to fall through.

+

NameMap getRegisteredUsers(string filter)

+

+Get a list of registered users matching filter.

+

Parameters

+
+
filter
+
+ Substring usernames must contain. If empty, return all registered users.
+
+

Return Value

+

List of matching registered users.

+

int setInfo(int id, UserInfoMap info)

+

+Set additional information for user registration.

+

Parameters

+
+
id
+
+ Userid of registered user.
+
info
+
+ Information to set about user. This should be merged with existing information.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+

int setTexture(int id, Texture tex)

+

+Set texture (now called avatar) of user registration.

+

Parameters

+
+
id
+
+ registrationId of registered user.
+
tex
+
+ New texture.
+
+

Return Value

+

1 for successfull update, 0 for unsuccessfull update, -1 to fall through.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/TextMessage.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/TextMessage.html new file mode 100644 index 0000000..a12147c --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/TextMessage.html @@ -0,0 +1,101 @@ + + + + + + + Murmur::TextMessage + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::TextMessage

+

Overview

+

struct TextMessage

+

+A text message between users.

+

Used By

+
+
ServerCallback::userTextMessage
+
+

Data Member Index

+
+
sessions
+
+ Sessions (connected users) who were sent this message.
+
channels
+
+ Channels who were sent this message.
+
trees
+
+ Trees of channels who were sent this message.
+
text
+
+ The contents of the message.
+
+

Data Members

+
+
IntList sessions;
+
+

+Sessions (connected users) who were sent this message.

+
+
IntList channels;
+
+

+Channels who were sent this message.

+
+
IntList trees;
+
+

+Trees of channels who were sent this message.

+
+
string text;
+
+

+The contents of the message.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/Tree.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/Tree.html new file mode 100644 index 0000000..b58617d --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/Tree.html @@ -0,0 +1,86 @@ + + + + + + + Murmur::Tree + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::Tree

+

Overview

+

class Tree

+

+User and subchannel state. Read-only.

+

Used By

+
+
TreeList
+
Server::getTree
+
+

Data Member Index

+
+
c
+
+ Channel definition of current channel.
+
children
+
+ List of subchannels.
+
users
+
+ Users in this channel.
+
+

Data Members

+

Channel c;

+

+Channel definition of current channel.

+

TreeList children;

+

+List of subchannels.

+

UserList users;

+

+Users in this channel.

+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/User.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/User.html new file mode 100644 index 0000000..40137db --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/User.html @@ -0,0 +1,287 @@ + + + + + + + Murmur::User + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::User

+

Overview

+

struct User

+

+A connected user.

+

Used By

+
+
UserList
+
UserMap
+
Server::getState
+
Server::setState
+
ServerCallback::userConnected
+
ServerCallback::userDisconnected
+
ServerCallback::userStateChanged
+
ServerCallback::userTextMessage
+
ServerContextCallback::contextAction
+
+

Data Member Index

+
+
session
+
+ Session ID.
+
userid
+
+ User ID.
+
mute
+
+ Is user muted by the server?
+
deaf
+
+ Is user deafened by the server? If true, this implies mute.
+
suppress
+
+ Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.
+
prioritySpeaker
+
+ Is the user a priority speaker?
+
selfMute
+
+ Is the user self-muted?
+
selfDeaf
+
+ Is the user self-deafened? If true, this implies mute.
+
recording
+
+ Is the User recording? (This flag is read-only and cannot be changed using setState().)
+
channel
+
+ Channel ID the user is in.
+
name
+
+ The name of the user.
+
onlinesecs
+
+ Seconds user has been online.
+
bytespersec
+
+ Average transmission rate in bytes per second over the last few seconds.
+
version
+
+ Client version.
+
release
+
+ Client release.
+
os
+
+ Client OS.
+
osversion
+
+ Client OS Version.
+
identity
+
+ Plugin Identity.
+
context
+
+ Base64-encoded Plugin context.
+
comment
+
+ User comment.
+
address
+
+ Client address.
+
tcponly
+
+ TCP only.
+
idlesecs
+
+ Idle time.
+
udpPing
+
+ UDP Ping Average.
+
tcpPing
+
+ TCP Ping Average.
+
+

Data Members

+
+
int session;
+
+

+Session ID. This identifies the connection to the server.

+
+
int userid;
+
+

+User ID. -1 if the user is anonymous.

+
+
bool mute;
+
+

+Is user muted by the server?

+
+
bool deaf;
+
+

+Is user deafened by the server? If true, this implies mute.

+
+
bool suppress;
+
+

+Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.

+
+
bool prioritySpeaker;
+
+

+Is the user a priority speaker?

+
+
bool selfMute;
+
+

+Is the user self-muted?

+
+
bool selfDeaf;
+
+

+Is the user self-deafened? If true, this implies mute.

+
+
bool recording;
+
+

+Is the User recording? (This flag is read-only and cannot be changed using setState().)

+
+
int channel;
+
+

+Channel ID the user is in. Matches Channel::id.

+
+
string name;
+
+

+The name of the user.

+
+
int onlinesecs;
+
+

+Seconds user has been online.

+
+
int bytespersec;
+
+

+Average transmission rate in bytes per second over the last few seconds.

+
+
int version;
+
+

+Client version. Major version in upper 16 bits, followed by 8 bits of minor version and 8 bits of patchlevel. Version 1.2.3 = 0x010203.

+
+
string release;
+
+

+Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else.

+
+
string os;
+
+

+Client OS.

+
+
string osversion;
+
+

+Client OS Version.

+
+
string identity;
+
+

+Plugin Identity. This will be the user's unique ID inside the current game.

+
+
string context;
+
+

+Base64-encoded Plugin context. This is a binary blob identifying the game and team the user is on. + +The used Base64 alphabet is the one specified in RFC 2045. + +Before Mumble 1.3.0, this string was not Base64-encoded. This could cause problems for some Ice +implementations, such as the .NET implementation. + +If you need the exact string that is used by Mumble, you can get it by Base64-decoding this string. + +If you simply need to detect whether two users are in the same game world, string comparisons will +continue to work as before.

+
+
string comment;
+
+

+User comment. Shown as tooltip for this user.

+
+
NetAddress address;
+
+

+Client address.

+
+
bool tcponly;
+
+

+TCP only. True until UDP connectivity is established.

+
+
int idlesecs;
+
+

+Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted.

+
+
float udpPing;
+
+

+UDP Ping Average. This is the average ping for the user via UDP over the duration of the connection.

+
+
float tcpPing;
+
+

+TCP Ping Average. This is the average ping for the user via TCP over the duration of the connection.

+
+
+
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/UserInfo.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/UserInfo.html new file mode 100644 index 0000000..97ced42 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/UserInfo.html @@ -0,0 +1,76 @@ + + + + + + + Murmur::UserInfo + + + + + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ + +
+

Murmur::UserInfo

+

Overview

+

enum UserInfo

+

Used By

+
+
UserInfoMap
+
+

Enumerators

+
+
UserName
+
+
UserEmail
+
+
UserComment
+
+
UserHash
+
+
UserPassword
+
+
UserLastActive
+
+
+ + + +
+ + + + + + + +
+ + + + + + + + +
HomePreviousUpNextIndex
+
+ diff --git a/hugo/static/documentation/slice/1.3.0/html/Murmur/WriteOnlyException.html b/hugo/static/documentation/slice/1.3.0/html/Murmur/WriteOnlyException.html new file mode 100644 index 0000000..7143459 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/Murmur/WriteOnlyException.html @@ -0,0 +1,63 @@ + + + + + + + Murmur::WriteOnlyException + + + + + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ + +
+

Murmur::WriteOnlyException

+

Overview

+

exception WriteOnlyException + extends + MurmurException

+

+This is thrown when you ask the server to disclose something that should be secret.

+

Used By

+
+
Server::getConf
+
+
+ + + + + + + +
+ + + + + + + +
HomePreviousUpIndex
+
+ + + + diff --git a/hugo/static/documentation/slice/1.3.0/html/_sindex.html b/hugo/static/documentation/slice/1.3.0/html/_sindex.html new file mode 100644 index 0000000..c7c3c12 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/_sindex.html @@ -0,0 +1,537 @@ + + + + + + + Slice API Index + + + +

Slice API Index

+ + + + + + + +
+ + + diff --git a/hugo/static/documentation/slice/1.3.0/html/index.html b/hugo/static/documentation/slice/1.3.0/html/index.html new file mode 100644 index 0000000..c5d04c4 --- /dev/null +++ b/hugo/static/documentation/slice/1.3.0/html/index.html @@ -0,0 +1,45 @@ + + + + + + + Slice API Documentation + + + + + + + + +
+ + + + +
Index
+
+ +
+

Slice API Documentation

+

Modules

+
+
Murmur
+
+
+
+ + + + + +
+ + + + +
Index
+
+ +