server: # REST and WS server port: 2333 address: 0.0.0.0 plugins: lavasrc: providers: # Custom providers for track loading. This is the default # - "dzisrc:%ISRC%" # Deezer ISRC provider # - "dzsearch:%QUERY%" # Deezer search provider - "ytsearch:\"%ISRC%\"" # Will be ignored if track does not have an ISRC. See https://en.wikipedia.org/wiki/International_Standard_Recording_Code - "ytsearch:%QUERY%" # Will be used if track has no ISRC or no track could be found for the ISRC # you can add multiple other fallback sources here sources: spotify: true # Enable Spotify source applemusic: false # Enable Apple Music source deezer: false # Enable Deezer source yandexmusic: false # Enable Yandex Music source flowerytts: false # Enable Flowery TTS source youtube: false # Enable YouTube search source (https://github.com/topi314/LavaSearch) vkmusic: false # Enable Vk Music source spotify: clientId: "ID" clientSecret: "SECRET" # spDc: "your sp dc cookie" # the sp dc cookie used for accessing the spotify lyrics api countryCode: "US" # the country code you want to use for filtering the artists top tracks. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 playlistLoadLimit: 6 # The number of pages at 100 tracks each albumLoadLimit: 6 # The number of pages at 50 tracks each resolveArtistsInSearch: true # Whether to resolve artists in track search results (can be slow) localFiles: false # Enable local files support with Spotify playlists. Please note `uri` & `isrc` will be `null` & `identifier` will be `"local"` youtube: oauth: # setting "enabled: true" is the bare minimum to get OAuth working. enabled: true # if you have a refresh token, you may set it below (make sure to uncomment the line to apply it). # setting a valid refresh token will skip the OAuth flow entirely. See above note on how to retrieve # your refreshToken. # Set this if you don't want the OAuth flow to be triggered, if you intend to supply a refresh token later. # Initialization is skipped automatically if a valid refresh token is supplied. Leave this commented if you're # completing the OAuth flow for the first time/do not have a refresh token. # skipInitialization: true # pot: // run generate-trusted-session.sh # token: "" # visitorData: "" enabled: true # Whether this source can be used. allowSearch: true # Whether "ytsearch:" and "ytmsearch:" can be used. allowDirectVideoIds: true # Whether just video IDs can match. If false, only complete URLs will be loaded. allowDirectPlaylistIds: true # Whether just playlist IDs can match. If false, only complete URLs will be loaded. # The clients to use for track loading. See below for a list of valid clients. # Clients are queried in the order they are given (so the first client is queried first and so on...) clients: - MUSIC - ANDROID_TESTSUITE - WEB - TVHTML5EMBEDDED # name: # Name of the plugin # some_key: some_value # Some key-value pair for the plugin # another_key: another_value lavalink: plugins: - dependency: com.github.devoxin:lavadspx-plugin:0.0.5 # replace {VERSION} with the latest version from the "Releases" tab. repository: https://jitpack.io - dependency: "dev.lavalink.youtube:youtube-plugin:1.8.3" snapshot: false # Set to true if you want to use a snapshot version. - dependency: "com.github.topi314.lavasearch:lavasearch-plugin:1.0.0" repository: "https://maven.lavalink.dev/releases" # this is optional for lavalink v4.0.0-beta.5 or greater snapshot: false # set to true if you want to use snapshot builds (see below) - dependency: "com.github.topi314.sponsorblock:sponsorblock-plugin:3.0.1" - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.2.0" repository: "https://maven.lavalink.dev/releases" # this is optional for lavalink v4.0.0-beta.5 or greater snapshot: false # set to true if you want to use snapshot builds (see below) server: password: "youshallnotpass" sources: youtube: false bandcamp: true soundcloud: true twitch: true vimeo: true http: true local: false filters: # All filters are enabled by default volume: true equalizer: true karaoke: true timescale: true tremolo: true vibrato: true distortion: true rotation: true channelMix: true lowPass: true bufferDurationMs: 1000 # The duration of the NAS buffer. Higher values fare better against longer GC pauses. Duration <= 0 to disable JDA-NAS. Minimum of 40ms, lower values may introduce pauses. frameBufferDurationMs: 10000 # How many milliseconds of audio to keep buffered opusEncodingQuality: 5 # Opus encoder quality. Valid values range from 0 to 10, where 10 is best quality but is the most expensive on the CPU. resamplingQuality: LOW # Quality of resampling operations. Valid values are LOW, MEDIUM and HIGH, where HIGH uses the most CPU. trackStuckThresholdMs: 10000 # The threshold for how long a track can be stuck. A track is stuck if does not return any audio data. useSeekGhosting: true # Seek ghosting is the effect where whilst a seek is in progress, the audio buffer is read from until empty, or until seek is ready. youtubePlaylistLoadLimit: 6 # Number of pages at 100 each playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds youtubeSearchEnabled: true soundcloudSearchEnabled: true gc-warnings: true metrics: prometheus: enabled: false endpoint: /metrics sentry: dsn: "" environment: "" logging: file: path: ./logs/ level: root: INFO lavalink: INFO request: enabled: true includeClientInfo: true includeHeaders: false includeQueryString: true includePayload: true maxPayloadLength: 10000 logback: rollingpolicy: max-file-size: 1GB max-history: 30