Documentation
¶
Index ¶
- type Server
- func (s *Server) ACLEvaluator() *acl.Evaluator
- func (s *Server) AllChannelCryptoModes() map[uint32]string
- func (s *Server) BanAndKickSession(sessionID uint32, reason string) bool
- func (s *Server) BanManager() *ban.Manager
- func (s *Server) Broadcast(skipSession uint32, msgType protocol.MessageType, msg messages.Message)
- func (s *Server) BroadcastChannelRemove(channelID uint32)
- func (s *Server) BroadcastChannelState(ch *mumble.Channel)
- func (s *Server) ChanManager() *channel.Manager
- func (s *Server) ChannelCryptoMode(channelID uint32) string
- func (s *Server) HandleUDP(addr net.Addr, data []byte)
- func (s *Server) HandlerTable() protocol.HandlerTable
- func (s *Server) HasUDPAddress(sessionID uint32) bool
- func (s *Server) KickSession(sessionID uint32, reason string) bool
- func (s *Server) MuteSession(sessionID uint32, mute bool) bool
- func (s *Server) RegisterConn(sessionID uint32, c *connection.Conn)
- func (s *Server) SendAudio(sessionID uint32, packet []byte) error
- func (s *Server) SetVoiceDebug(enabled bool)
- func (s *Server) UnregisterConn(sessionID uint32)
- func (s *Server) UpdateChannelCrypto(channelID uint32)
- func (s *Server) UserManager() *user.Manager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server holds Mumble server state and builds the handler table.
func (*Server) ACLEvaluator ¶
ACLEvaluator returns the ACL evaluator for cache invalidation.
func (*Server) AllChannelCryptoModes ¶
AllChannelCryptoModes returns a snapshot of all channel crypto modes.
func (*Server) BanAndKickSession ¶
BanAndKickSession bans the user by IP and kicks them.
func (*Server) BanManager ¶
BanManager returns the ban manager (for cache invalidation when bans change via REST).
func (*Server) BroadcastChannelRemove ¶
BroadcastChannelRemove broadcasts a channel removal to all connected clients.
func (*Server) BroadcastChannelState ¶
BroadcastChannelState broadcasts a channel's state to all connected clients. Used when channels are created/updated via REST so Mumble clients see the changes.
func (*Server) ChanManager ¶
UserManager returns the user manager. ChanManager returns the channel manager for REST API channel CRUD.
func (*Server) ChannelCryptoMode ¶
ChannelCryptoMode returns the aggregate crypto mode string for a channel. Returns "legacy", "lite", "secure", "mixed", or "" (no active users).
func (*Server) HandlerTable ¶
func (s *Server) HandlerTable() protocol.HandlerTable
HandlerTable returns the handler table.
func (*Server) HasUDPAddress ¶
HasUDPAddress returns true if the session has sent at least one UDP packet (voice or ping), indicating the client is using native UDP transport rather than TCP tunnel.
func (*Server) KickSession ¶
KickSession kicks a user (server-initiated, e.g. from REST API). Actor 0 = server.
func (*Server) MuteSession ¶
MuteSession sets server mute state for a user.
func (*Server) RegisterConn ¶
func (s *Server) RegisterConn(sessionID uint32, c *connection.Conn)
RegisterConn registers a connection for broadcasting.
func (*Server) SendAudio ¶
SendAudio implements audio.RecipientSender. Encrypts with recipient's key and sends via UDP, or TCP fallback. When the recipient's channel has mixed crypto modes, UDP is skipped to force TCP tunnel relay.
func (*Server) SetVoiceDebug ¶
SetVoiceDebug enables or disables voice path debug logging (UDP, TCP tunnel, routing). Callable at runtime when server config is updated via REST.
func (*Server) UnregisterConn ¶
UnregisterConn removes a connection. Callers must call UpdateChannelCrypto for the user's channel after removing the user (UnregisterConn cannot see the user if callers remove first).
func (*Server) UpdateChannelCrypto ¶
UpdateChannelCrypto recomputes the aggregate crypto mode string for a channel. Must be called whenever the channel's user set changes (join, leave, move, disconnect).