matthieugrieger / mumbledj

A Mumble bot that plays audio fetched from various media sites.
MIT License
170 stars 59 forks source link

Disconnecting right after connecting #175

Closed hatiac closed 8 years ago

hatiac commented 8 years ago

Before submitting this issue, please acknowledge that you have done the following:


What type of issue is this?


Log output of bot with --debug flag (likely only for bug reports):

INFO[0000] Checking for duplicate aliases... INFO[0000] Performing startup checks... INFO[0000] Checking for availability of services... num_services=3 INFO[0000] Checking YouTubeDL installation... INFO[0001] Checking ffmpeg installation... INFO[0001] Checking aria2c installation... INFO[0001] Checking openssl installation... INFO[0001] Attempting connection to server... address=127.0.0.1 port=8443 INFO[0001] Setting default volume... volume=0.20 INFO[0001] Caching disabled.


Description of your issue:

mumbledj is connecting to the server and channel, but disconnects right away. Server doesn't require any certs and people using my server doesn't have this kind of problem. I have tried with murmur version 1.2.16 and 1.3.0, and I'm running it on Ubuntu Server 16.04. In mumble-server.ini file it first says "Authenticated", but right after that "Connection closed: The remote host closed the connection [1]".

I tested with IRC-relay and it did stay connected in my Mumble channel correctly. I have tried to check settings from murmur and mumbledj multiple times, but have not noticed anything that could be causing this. Any ideas?

matthieugrieger commented 8 years ago

Are you using the --insecure flag when launching MumbleDJ?

hatiac commented 8 years ago

I now tried to create self signed certificate. No matter if I use --insecure or not, bot disconnects right after connecting.

matthieugrieger commented 8 years ago

I don't believe self-signed certificates work.

How are you starting the bot? Manually, automatically?

hatiac commented 8 years ago

I'm trying to run it manually with ./mumbledj.

matthieugrieger commented 8 years ago

And when running the bot manually do you use a tool like screen or tmux?

hatiac commented 8 years ago

Yes, I use tmux. When I run the bot, it actullay connects, disconnects and closes the process right away.

matthieugrieger commented 8 years ago

Hmm... to be honest I'm not quite sure what is happening here. I haven't experienced this issue before.

Could you copy/paste your mumble-server.ini? Make sure to remove any sensitive information.

r3k2 commented 8 years ago

I am having the same issue.

rek2@chat:~/.config/mumbledj$ uname -a
Linux chat.domain.org 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
rek2@chat:~/.config/mumbledj$ env | grep Go
GOBIN=/home/rek2/GoLang/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/rek2/GoLang/bin
GOPATH=/home/rek2/GoLang
rek2@chat:~/.config/mumbledj$ mumbledj -d
INFO[0000] Checking for duplicate aliases...            
INFO[0000] Performing startup checks...                 
INFO[0000] Checking for availability of services...      num_services=3
WARN[0000] A startup check discovered an issue. The service will be disabled.  error=No SoundCloud API key has been provided service=SoundCloud
INFO[0000] Checking YouTubeDL installation...           
INFO[0000] Checking ffmpeg installation...              
INFO[0000] Checking aria2c installation...              
INFO[0000] Checking openssl installation...             
INFO[0000] Attempting connection to server...            address=127.0.0.1 port=64738
INFO[0000] Setting default volume...                     volume=0.20
INFO[0000] Caching enabled.                             

```INFO[0000] Updated cache statistics.                     num_audio_files=0 total_file_size=0

no screen, no tmux..
r3k2 commented 8 years ago

rek2@chat:~/.config/mumbledj$ cat config.yaml

# MumbleDJ
# By Matthieu Grieger
# Copyright (c) 2016 Matthieu Grieger (MIT License)
# config.yaml

api_keys:

    # YouTube API key.
    youtube: "Amyyoutubekey_here"

    # SoundCloud API key.
    # NOTE: The API key is your client ID.
    soundcloud: ""

defaults:

    # Default comment to be applied to bot.
    # NOTE: If you do not want a comment by default, set to empty string ("").
    comment: "Hello! I am a Hispagatos bot. Type !help for a list of commands."

    # Default channel for the bot to enter upon connection.
    # NOTE: If you wish for the bot to connect to the root channel, set to empty string ("").
    channel: "BitchesHallXxX"

    # Command to use to play audio files. The two supported choices are "ffmpeg" and "avconv".
    player_command: "ffmpeg"

queue:

    # Ratio that must be met or exceeded to trigger a track skip.
    track_skip_ratio: 0.5

    # Ratio that must be met or exceeded to trigger a playlist skip.
    playlist_skip_ratio: 0.5

    # Maximum track duration in seconds. Set to 0 for unrestricted duration.
    max_track_duration: 0

    # Maximum tracks per playlist. Set to 0 for unrestricted playlists.
    max_tracks_per_playlist: 50

    # Is shuffling enabled when the bot starts?
    automatic_shuffle_on: false

    # Announce track information at the beginning of audio playback?
    announce_new_tracks: true

connection:

    # Address bot should attempt to connect to.
    address: "127.0.0.1"

    # Port bot should attempt to connect to.
    port: "64738"

    # Password for connecting to server.
    # NOTE: If no password, set to empty string ("").
    password: "thepassword"

    # Username for MumbleDJ.
    username: "BiTchDJ"

    # Filepath to user p12 file for authenticating as a registered user.
    # NOTE: If no p12 file is needed, set to empty string ("").
    user_p12: ""

    # Should the bot attempt an insecure connection?
    # An insecure connection does not verify the certificate of the server for
    # consistency. It is best to leave this on, but disable it if you are having
    # issues connecting to a server or are running multiple instances of MumbleDJ.
    insecure: true

    # Filepath to certificate file.
    # NOTE: If no certificate file is needed, set to empty string ("").
    cert: ""

    # Filepath to certificate key file.
    # NOTE: If no key is needed, set to empty string ("").
    key: ""

    # Access tokens to initialize the bot with, separated by commas.
    # NOTE: If no access tokens are needed, set to empty string ("").
    access_tokens: ""

    # Should the bot automatically attempt to retry connection to a server after disconnecting?
    retry_enabled: true

    # How many times should the bot attempt to reconnect to the server?
    retry_attempts: 10

    # How many seconds should the bot wait in-between connection retry attempts?
    retry_interval: 5

cache:

    # Cache songs as they are downloaded?
    enabled: false

    # Maximum total file size of cache directory in MiB.
    maximum_size: 512

    # Period of time that should elapse before a song is cleared from the cache, in hours.
    expire_time: 65

    # Period of time between each check of the cache for expired items, in minutes.
    check_interval: 15

    # Directory to store cached items. Environment variables are able to be used here.
    directory: "$HOME/.cache/mumbledj"

volume:

    # Default volume.
    default: 0.2

    # Lowest volume allowed.
    lowest: 0.01

    # Highest volume allowed.
    highest: 0.8

admins:

    # Enable admins?
    # NOTE: If this is set to false, any command can be executed by any user.
    enabled: true

    # List of admin names.
    # NOTE: It is recommended that the names in this list are registered on the
    # server so that imposters cannot execute admin commands.
    names:
        - "SuperUser,ReK2,rek2"

commands:

    # Character used to designate commands from normal text messages.
    # NOTE: Only one character (the first) is used.
    prefix: "!"

    common_messages:
        no_tracks_error: "There are no tracks in the queue."
        caching_disabled_error: "Caching is currently disabled."

    # Below is a list of the commands supported by MumbleDJ. Each command has
    # three configurable options:
    # aliases: A list of names that can be used to execute the command.
    # is_admin: true = only admins can execute the command, false = anyone can execute the command.
    # description: Description shown for the command when the help command is executed.
    # messages: Various messages that may be sent as a text message from the command. Useful for translating
    #           strings to other languages. Do NOT remove strings that begin with "%" (such as "%s", "%d", etc.)
    #           as they substituted with runtime data. Removing these strings will cause the bot to misbehave.
    add:
        aliases:
            - "add"
            - "a"
        is_admin: false
        description: "Adds a track or playlist from a media site to the queue."
        messages:
            no_url_error: "A URL must be supplied with the add command."
            no_valid_tracks_error: "No valid tracks were found with the provided URL(s)."
            tracks_too_long_error: "Your track(s) were either too long or an error occurred while processing them. No track(s) have been added."
            one_track_added: "<b>%s</b> added <b>1</b> track to the queue:<br><i>%s</i> from %s"
            many_tracks_added: "<b>%s</b> added <b>%d</b> tracks to the queue."
            num_tracks_too_long: "<br><b>%d</b> tracks could not be added due to error or because they are too long."

    addnext:
        aliases:
            - "addnext"
            - "an"
        is_admin: true
        description: "Adds a track or playlist from a media site as the next item in the queue."
        # addnext uses the messages defined for add.

    cachesize:
        aliases:
            - "cachesize"
            - "cs"
        is_admin: true
        description: "Outputs the file size of the cache in MiB if caching is enabled."
        messages:
            current_size: "The current size of the cache is <b>%.2v MiB</b>."

    currenttrack:
        aliases:
            - "currenttrack"
            - "currentsong"
            - "current"
        is_admin: false
        description: "Outputs information about the current track in the queue if one exists."
        messages:
            current_track: "The current track is <i>%s</i>, added by <b>%s</b>."

    forceskip:
        aliases:
            - "forceskip"
            - "fs"
        is_admin: true
        description: "Immediately skips the current track."
        messages:
            track_skipped: "The current track has been forcibly skipped by <b>%s</b>."

    forceskipplaylist:
        aliases:
            - "forceskipplaylist"
            - "fsp"
        is_admin: true
        description: "Immediately skips the current playlist."
        messages:
            no_playlist_error: "The current track is not part of a playlist."
            playlist_skipped: "The current playlist has been forcibly skipped by <b>%s</b>."

    help:
        aliases:
            - "help"
            - "h"
        is_admin: false
        description: "Outputs this list of commands."
        messages:
            commands_header: "<br><b>Commands:</b><br>"
            admin_commands_header: "<br><b>Admin Commands:</b><br>"

    joinme:
        aliases:
            - "joinme"
            - "join"
        is_admin: true
        description: "Moves MumbleDJ into your current channel if not playing audio to someone else."
        messages:
            others_are_listening_error: "Users in another channel are listening to me."
            in_your_channel: "I am now in your channel!"

    kill:
        aliases:
            - "kill"
            - "k"
        is_admin: true
        description: "Stops the bot and cleans its cache directory."

    listtracks:
        aliases:
            - "listtracks"
            - "listsongs"
            - "list"
            - "l"
        is_admin: false
        description: "Outputs a list of the tracks currently in the queue."
        messages:
            invalid_integer_error: "An invalid integer was supplied."
            track_listing: "<b>%d</b>: <i>%s</i>, added by <b>%s</b>.<br>"

    move:
        aliases:
            - "move"
            - "m"
        is_admin: true
        description: "Moves the bot into the Mumble channel provided via argument."
        messages:
            no_channel_provided_error: "A destination channel must be supplied to move the bot."
            channel_doesnt_exist_error: "The provided channel does not exist."
            move_successful: "You have successfully moved the bot to <b>%s</b>." 

    nexttrack:
        aliases:
            - "nexttrack"
            - "nextsong"
            - "next"
        is_admin: false
        description: "Outputs information about the next track in the queue if one exists."
        messages:
            current_track_only_error: "The current track is the only track in the queue."
            next_track: "The next track is <i>%s</i>, added by <b>%s</b>."

    numcached:
        aliases:
            - "numcached"
            - "nc"
        is_admin: true
        description: "Outputs the number of tracks cached on disk if caching is enabled."
        messages:
            num_cached: "There are currently <b>%d</b> items stored in the cache."

    numtracks:
        aliases:
            - "numtracks"
            - "numsongs"
            - "nt"
        is_admin: false
        description: "Outputs the number of tracks currently in the queue."
        messages:
            one_track: "There is currently <b>1</b> track in the queue."
            plural_tracks: "There are currently <b>%d</b> tracks in the queue."

    pause:
        aliases:
            - "pause"
        is_admin: false
        description: "Pauses audio playback."
        messages:
            no_audio_error: "Either the audio is already paused, or there are no tracks in the queue."
            paused: "<b>%s</b> has paused audio playback."

    register:
        aliases:
            - "register"
            - "reg"
        is_admin: true
        description: "Registers the bot on the server."
        messages:
            already_registered_error: "I am already registered on the server."
            registered: "I am now registered on the server."

    reload:
        aliases:
            - "reload"
            - "r"
        is_admin: true
        description: "Reloads the configuration file."
        messages:
            reloaded: "The configuration file has been successfully reloaded."

    reset:
        aliases:
            - "reset"
            - "re"
        is_admin: true
        description: "Resets the queue by removing all queue items."
        messages:
            queue_reset: "<b>%s</b> has reset the queue."

    resume:
        aliases:
            - "resume"
        is_admin: false
        description: "Resumes audio playback."
        messages:
            audio_error: "Either the audio is already playing, or there are no tracks in the queue."
            resumed: "<b>%s</b> has resumed audio playback."

    setcomment:
        aliases:
            - "setcomment"
            - "comment"
            - "sc"
        is_admin: true
        description: "Sets the comment displayed next to MumbleDJ's username in Mumble."
        messages:
            comment_removed: "The comment for the bot has been successfully removed."
            comment_changed: "The comment for the bot has been successfully changed to the following: %s"

    shuffle:
        aliases:
            - "shuffle"
            - "shuf"
            - "sh"
        is_admin: true
        description: "Randomizes the tracks currently in the queue."
        messages:
            not_enough_tracks_error: "There are not enough tracks in the queue to execute a shuffle."
            shuffled: "The audio queue has been shuffled."

    skip:
        aliases:
            - "skip"
            - "s"
        is_admin: false
        description: "Places a vote to skip the current track."
        messages:
            already_voted_error: "You have already voted to skip this track."
            voted: "<b>%s</b> has voted to skip the current track."

    skipplaylist:
        aliases:
            - "skipplaylist"
            - "sp"
        is_admin: false
        description: "Places a vote to skip the current playlist."
        messages:
            no_playlist_error: "The current track is not part of a playlist."
            already_voted_error: "You have already voted to skip this playlist."
            voted: "<b>%s</b> has voted to skip the current playlist."

    toggleshuffle:
        aliases:
            - "toggleshuffle"
            - "toggleshuf"
            - "togshuf"
            - "tsh"
        is_admin: true
        description: "Toggles automatic track shuffling on/off."
        messages:
            toggled_off: "Automatic shuffling has been toggled off."
            toggled_on: "Automatic shuffling has been toggled on."

    version:
        aliases:
            - "version"
            - "v"
        is_admin: false
        description: "Outputs the current version of MumbleDJ."
        messages:
            version: "MumbleDJ version: <b>%s</b>"

    volume:
        aliases:
            - "volume"
            - "vol"
        is_admin: false
        description: "Changes the volume if an argument is provided, outputs the current volume otherwise."
        messages:
            parsing_error: "The requested volume could not be parsed."
            out_of_range_error: "Volumes must be between the values <b>%.2f</b> and <b>%.2f</b>."
            current_volume: "The current volume is <b>%.2f</b>."
            volume_changed: "<b>%s</b> has changed the volume to <b>%.2f</b>."
faddat commented 8 years ago

Same problem myself, I'm afraid....

mumbledj --debug

INFO[0000] Checking for duplicate aliases...            
INFO[0000] Performing startup checks...                 
INFO[0000] Checking for availability of services...      num_services=3
INFO[0000] Checking YouTubeDL installation...           
INFO[0000] Checking ffmpeg installation...              
INFO[0000] Checking aria2c installation...              
INFO[0000] Checking openssl installation...             
INFO[0000] Attempting connection to server...            address=redacted port=64738
INFO[0000] Setting default volume...                     volume=0.20
INFO[0000] Caching enabled.                             
INFO[0000] Updated cache statistics.                     num_audio_files=0 total_file_size=0
# MumbleDJ
# By Matthieu Grieger
# Copyright (c) 2016 Matthieu Grieger (MIT License)
# config.yaml

api_keys:

    # YouTube API key.
    youtube: "redacted"

    # SoundCloud API key.
    # NOTE: The API key is your client ID.
    soundcloud: "redacted"

defaults:

    # Default comment to be applied to bot.
    # NOTE: If you do not want a comment by default, set to empty string ("").
    comment: "Hello! I am a bot. Type !help for a list of commands."

    # Default channel for the bot to enter upon connection.
    # NOTE: If you wish for the bot to connect to the root channel, set to empty string ("").
    channel: "Conference Room"

    # Command to use to play audio files. The two supported choices are "ffmpeg" and "avconv".
    player_command: "ffmpeg"

queue:

    # Ratio that must be met or exceeded to trigger a track skip.
    track_skip_ratio: 0.5

    # Ratio that must be met or exceeded to trigger a playlist skip.
    playlist_skip_ratio: 0.5

    # Maximum track duration in seconds. Set to 0 for unrestricted duration.
    max_track_duration: 0

    # Maximum tracks per playlist. Set to 0 for unrestricted playlists.
    max_tracks_per_playlist: 50

    # Is shuffling enabled when the bot starts?
    automatic_shuffle_on: true

    # Announce track information at the beginning of audio playback?
    announce_new_tracks: true

connection:

    # Address bot should attempt to connect to.
    address: "redacted"

    # Port bot should attempt to connect to.
    port: "64738"

    # Password for connecting to server.
    # NOTE: If no password, set to empty string ("").
    password: "redacted"

    # Username for MumbleDJ.
    username: "MumbleDJ"

    # Filepath to user p12 file for authenticating as a registered user.
    # NOTE: If no p12 file is needed, set to empty string ("").
    user_p12: "/root/mumble2.p12"

    # Should the bot attempt an insecure connection?
    # An insecure connection does not verify the certificate of the server for
    # consistency. It is best to leave this on, but disable it if you are having
    # issues connecting to a server or are running multiple instances of MumbleDJ.
    insecure: true

    # Filepath to certificate file.
    # NOTE: If no certificate file is needed, set to empty string ("").
    cert: ""

    # Filepath to certificate key file.
    # NOTE: If no key is needed, set to empty string ("").
    key: ""

    # Access tokens to initialize the bot with, separated by commas.
    # NOTE: If no access tokens are needed, set to empty string ("").
    access_tokens: ""

    # Should the bot automatically attempt to retry connection to a server after disconnecting?
    retry_enabled: true

    # How many times should the bot attempt to reconnect to the server?
    retry_attempts: 10

    # How many seconds should the bot wait in-between connection retry attempts?
    retry_interval: 5

cache:

    # Cache songs as they are downloaded?
    enabled: true

    # Maximum total file size of cache directory in MiB.
    maximum_size: 4096

    # Period of time that should elapse before a song is cleared from the cache, in hours.
    expire_time: 24

    # Period of time between each check of the cache for expired items, in minutes.
    check_interval: 5

    # Directory to store cached items. Environment variables are able to be used here.
    directory: "$HOME/.cache/mumbledj"

volume:

    # Default volume.
    default: 0.2

    # Lowest volume allowed.
    lowest: 0.01

    # Highest volume allowed.
    highest: 0.8

admins:

    # Enable admins?
    # NOTE: If this is set to false, any command can be executed by any user.
    enabled: false

    # List of admin names.
    # NOTE: It is recommended that the names in this list are registered on the
    # server so that imposters cannot execute admin commands.
    names:

commands:

    # Character used to designate commands from normal text messages.
    # NOTE: Only one character (the first) is used.
    prefix: "!"

    common_messages:
        no_tracks_error: "There are no tracks in the queue."
        caching_disabled_error: "Caching is currently disabled."

    # Below is a list of the commands supported by MumbleDJ. Each command has
    # three configurable options:
    # aliases: A list of names that can be used to execute the command.
    # is_admin: true = only admins can execute the command, false = anyone can execute the command.
    # description: Description shown for the command when the help command is executed.
    # messages: Various messages that may be sent as a text message from the command. Useful for translating
    #           strings to other languages. Do NOT remove strings that begin with "%" (such as "%s", "%d", etc.)
    #           as they substituted with runtime data. Removing these strings will cause the bot to misbehave.
    add:
        aliases:
            - "add"
            - "a"
        is_admin: false
        description: "Adds a track or playlist from a media site to the queue."
        messages:
            no_url_error: "A URL must be supplied with the add command."
            no_valid_tracks_error: "No valid tracks were found with the provided URL(s)."
            tracks_too_long_error: "Your track(s) were either too long or an error occurred while processing them. No track(s) have been added."
            one_track_added: "<b>%s</b> added <b>1</b> track to the queue:<br><i>%s</i> from %s"
            many_tracks_added: "<b>%s</b> added <b>%d</b> tracks to the queue."
            num_tracks_too_long: "<br><b>%d</b> tracks could not be added due to error or because they are too long."

    addnext:
        aliases:
            - "addnext"
            - "an"
        is_admin: true
        description: "Adds a track or playlist from a media site as the next item in the queue."
        # addnext uses the messages defined for add.

    cachesize:
        aliases:
            - "cachesize"
            - "cs"
        is_admin: true
        description: "Outputs the file size of the cache in MiB if caching is enabled."
        messages:
            current_size: "The current size of the cache is <b>%.2v MiB</b>."

    currenttrack:
        aliases:
            - "currenttrack"
            - "currentsong"
            - "current"
        is_admin: false
        description: "Outputs information about the current track in the queue if one exists."
        messages:
            current_track: "The current track is <i>%s</i>, added by <b>%s</b>."

    forceskip:
        aliases:
            - "forceskip"
            - "fs"
        is_admin: true
        description: "Immediately skips the current track."
        messages:
            track_skipped: "The current track has been forcibly skipped by <b>%s</b>."

    forceskipplaylist:
        aliases:
            - "forceskipplaylist"
            - "fsp"
        is_admin: true
        description: "Immediately skips the current playlist."
        messages:
            no_playlist_error: "The current track is not part of a playlist."
            playlist_skipped: "The current playlist has been forcibly skipped by <b>%s</b>."

    help:
        aliases:
            - "help"
            - "h"
        is_admin: false
        description: "Outputs this list of commands."
        messages:
            commands_header: "<br><b>Commands:</b><br>"
            admin_commands_header: "<br><b>Admin Commands:</b><br>"

    joinme:
        aliases:
            - "joinme"
            - "join"
        is_admin: true
        description: "Moves MumbleDJ into your current channel if not playing audio to someone else."
        messages:
            others_are_listening_error: "Users in another channel are listening to me."
            in_your_channel: "I am now in your channel!"

    kill:
        aliases:
            - "kill"
            - "k"
        is_admin: true
        description: "Stops the bot and cleans its cache directory."

    listtracks:
        aliases:
            - "listtracks"
            - "listsongs"
            - "list"
            - "l"
        is_admin: false
        description: "Outputs a list of the tracks currently in the queue."
        messages:
            invalid_integer_error: "An invalid integer was supplied."
            track_listing: "<b>%d</b>: <i>%s</i>, added by <b>%s</b>.<br>"

    move:
        aliases:
            - "move"
            - "m"
        is_admin: true
        description: "Moves the bot into the Mumble channel provided via argument."
        messages:
            no_channel_provided_error: "A destination channel must be supplied to move the bot."
            channel_doesnt_exist_error: "The provided channel does not exist."
            move_successful: "You have successfully moved the bot to <b>%s</b>." 

    nexttrack:
        aliases:
            - "nexttrack"
            - "nextsong"
            - "next"
        is_admin: false
        description: "Outputs information about the next track in the queue if one exists."
        messages:
            current_track_only_error: "The current track is the only track in the queue."
            next_track: "The next track is <i>%s</i>, added by <b>%s</b>."

    numcached:
        aliases:
            - "numcached"
            - "nc"
        is_admin: true
        description: "Outputs the number of tracks cached on disk if caching is enabled."
        messages:
            num_cached: "There are currently <b>%d</b> items stored in the cache."

    numtracks:
        aliases:
            - "numtracks"
            - "numsongs"
            - "nt"
        is_admin: false
        description: "Outputs the number of tracks currently in the queue."
        messages:
            one_track: "There is currently <b>1</b> track in the queue."
            plural_tracks: "There are currently <b>%d</b> tracks in the queue."

    pause:
        aliases:
            - "pause"
        is_admin: false
        description: "Pauses audio playback."
        messages:
            no_audio_error: "Either the audio is already paused, or there are no tracks in the queue."
            paused: "<b>%s</b> has paused audio playback."

    register:
        aliases:
            - "register"
            - "reg"
        is_admin: true
        description: "Registers the bot on the server."
        messages:
            already_registered_error: "I am already registered on the server."
            registered: "I am now registered on the server."

    reload:
        aliases:
            - "reload"
            - "r"
        is_admin: true
        description: "Reloads the configuration file."
        messages:
            reloaded: "The configuration file has been successfully reloaded."

    reset:
        aliases:
            - "reset"
            - "re"
        is_admin: true
        description: "Resets the queue by removing all queue items."
        messages:
            queue_reset: "<b>%s</b> has reset the queue."

    resume:
        aliases:
            - "resume"
        is_admin: false
        description: "Resumes audio playback."
        messages:
            audio_error: "Either the audio is already playing, or there are no tracks in the queue."
            resumed: "<b>%s</b> has resumed audio playback."

    setcomment:
        aliases:
            - "setcomment"
            - "comment"
            - "sc"
        is_admin: true
        description: "Sets the comment displayed next to MumbleDJ's username in Mumble."
        messages:
            comment_removed: "The comment for the bot has been successfully removed."
            comment_changed: "The comment for the bot has been successfully changed to the following: %s"

    shuffle:
        aliases:
            - "shuffle"
            - "shuf"
            - "sh"
        is_admin: true
        description: "Randomizes the tracks currently in the queue."
        messages:
            not_enough_tracks_error: "There are not enough tracks in the queue to execute a shuffle."
            shuffled: "The audio queue has been shuffled."

    skip:
        aliases:
            - "skip"
            - "s"
        is_admin: false
        description: "Places a vote to skip the current track."
        messages:
            already_voted_error: "You have already voted to skip this track."
            voted: "<b>%s</b> has voted to skip the current track."

    skipplaylist:
        aliases:
            - "skipplaylist"
            - "sp"
        is_admin: false
        description: "Places a vote to skip the current playlist."
        messages:
            no_playlist_error: "The current track is not part of a playlist."
            already_voted_error: "You have already voted to skip this playlist."
            voted: "<b>%s</b> has voted to skip the current playlist."

    toggleshuffle:
        aliases:
            - "toggleshuffle"
            - "toggleshuf"
            - "togshuf"
            - "tsh"
        is_admin: true
        description: "Toggles automatic track shuffling on/off."
        messages:
            toggled_off: "Automatic shuffling has been toggled off."
            toggled_on: "Automatic shuffling has been toggled on."

    version:
        aliases:
            - "version"
            - "v"
        is_admin: false
        description: "Outputs the current version of MumbleDJ."
        messages:
            version: "MumbleDJ version: <b>%s</b>"

    volume:
        aliases:
            - "volume"
            - "vol"
        is_admin: false
        description: "Changes the volume if an argument is provided, outputs the current volume otherwise."
        messages:
            parsing_error: "The requested volume could not be parsed."
            out_of_range_error: "Volumes must be between the values <b>%.2f</b> and <b>%.2f</b>."
            current_volume: "The current volume is <b>%.2f</b>."
            volume_changed: "<b>%s</b> has changed the volume to <b>%.2f</b>."
matthieugrieger commented 8 years ago

@hatiac, @ChrisFernandez, @faddat: Can you give me a little more information about your setups? Do you run the bot on the same machine as the Mumble server? Do your servers require users to have certificates? Have you tried running the bot with --insecure? What server host do you use?

I don't see anything out of the ordinary in the configuration files. I'm running the most recent version of MumbleDJ on my personal server and I have not experienced this issue, making it a bit hard to debug. Maybe we can find a similarity between your setups and determine what the issue is.

Apologies for the delayed response. I started a new job about a month ago, so I will not be able to respond as quickly as I used to.

faddat commented 8 years ago

That's alright, I understand about the job.

In a similar boat myself. I've tried running the bot with every flag I could imagine including --insecure. I have tested this against a real mumble server and a grumble server. The real mumble server requires certs, grumble doesn't.

Perhaps we can try this from the other direction: What is your setup like?

matthieugrieger commented 8 years ago

@faddat: I run the bot on the same machine as the Mumble server itself. I have my own certificate from Let's Encrypt that the server uses, and which the bot uses to connect to the server. Other than that the setup is very close to the default setup.

hatiac commented 8 years ago

Sorry for my delayed reply. For me this bot has been working correctly now, I just misconfigured it. Like guided, channel should not be defined in configuration, if bot should be connecting to the root channel. The name of my root channel is different from the default, so I was thinking that I should then define this name to the mumbledj configuration. Mumbledj started to work correctly right away after leaving channel empty in configuration. I am also using it with --insecure.

matthieugrieger commented 8 years ago

Cool, glad it's working for you now.

Closing this issue as the OP's issue seems to be fixed. If anybody else is still having this problem feel free to open a new issue.