Setup Lavalink Server
Lavalink Server
In order to use lavalink-client, you need a Lavalink Server, you can host them yourself pretty easily.
For that please follow the official Lavalink Guide and their information about how to configure it
If you want to use stuff like spotify, deezer, more filters, lyrics, new youtube … then you need to also install plugins (to lavalink)
Sample Configuration (application.yaml)
This sample configuration enables several plugins for additional sources, filters and lyrics
server: port: 2333 address: 0.0.0.0lavalink: server: sources: youtube: false # disable youtube on lavalink to use youtube-source password: "youshallnotpass" bufferDurationMs: 225 frameBufferDurationMs: 5000 youtubePlaylistLoadLimit: 3 opusEncodingQuality: 5 resamplingQuality: MEDIUM trackStuckThresholdMs: 5000 playerUpdateInterval: 3 useSeekGhosting: true youtubeSearchEnabled: true soundcloudSearchEnabled: true gc-warnings: true plugins: - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.2.0" # LavaSrc - extra sources like deezer, spotify, etc. https://github.com/topi314/LavaSrc repository: "https://maven.lavalink.dev/releases" - dependency: "com.github.topi314.lavasearch:lavasearch-plugin:1.0.0" # https://github.com/topi314/LavaSearch repository: "https://maven.lavalink.dev/releases" - dependency: "com.dunctebot:skybot-lavalink-plugin:1.7.0" # https://github.com/DuncteBot/skybot-lavalink-plugin repository: "https://maven.lavalink.dev/releases" - dependency: "com.github.devoxin:lavadspx-plugin:0.0.5" # https://github.com/devoxin/LavaDSPX-Plugin repository: "https://jitpack.io" - dependency: "dev.lavalink.youtube:youtube-plugin:1.8.2" # https://github.com/lavalink-devs/youtube-source snapshot: false - dependency: "com.github.topi314.lavalyrics:lavalyrics-plugin:1.0.0" # https://github.com/topi314/LavaLyrics repository: "https://maven.lavalink.dev/releases" - dependency: "me.duncte123:java-lyrics-plugin:1.6.5" # https://github.com/DuncteBot/java-timed-lyrics repository: "https://maven.lavalink.dev/releases"plugins: lyrics: countryCode: de geniusApiKey: "<insert>" lavalyrics: sources: - genius - spotify - youtube - deezer - yandexMusic youtube: enabled: true oauth: enabled: false allowSearch: true allowDirectVideoIds: true allowDirectPlaylistIds: true clients: - "ANDROID_MUSIC" - "MUSIC" - "WEB" - "WEBEMBEDDED" - "TVHTML5EMBEDDED" ANDROID_MUSIC: playlistLoading: false videoLoading: true searching: true playback: true MUSIC: playlistLoading: false videoLoading: true searching: true playback: false WEB: playlistLoading: false videoLoading: true searching: true playback: true WEBEMBEDDED: playlistLoading: false videoLoading: false searching: false playback: true TVHTML5EMBEDDED: playlistLoading: false videoLoading: false searching: false playback: true lavasrc: providers: - "ytsearch:\"%ISRC%\"" - "dzisrc:%ISRC%" - "ytsearch:%QUERY%" - "dzsearch:%QUERY%" - "scsearch:%QUERY%" sources: spotify: true applemusic: true deezer: true yandexmusic: true flowerytts: true youtube: true lyrics-sources: spotify: true # Enable Spotify lyrics source deezer: true # Enable Deezer lyrics source youtube: true # Enable YouTube lyrics source yandexMusic: true spotify: clientId: "<insert>" clientSecret: "<insert>" spDc: "<insert>" countryCode: "US" playlistLoadLimit: 3 # The number of pages at 100 tracks each albumLoadLimit: 2 # The number of pages at 50 tracks each localFiles: true applemusic: countryCode: "US" mediaAPIToken: "<insert>" playlistLoadLimit: 3 # The number of pages at 300 tracks each albumLoadLimit: 3 # The number of pages at 300 tracks each deezer: masterDecryptionKey: "<insert>" youtube: countryCode: "US" playlistLoadLimit: 1 # The number of pages at 100 tracks each albumLoadLimit: 1 # The number of pages at 50 tracks each artistLoadLimit: 1 # The number of pages at 10 tracks each yandexmusic: accessToken: "<insert>" flowerytts: voice: "Olivia" # (case-sensitive) get default voice from here https://api.flowery.pw/v1/tts/voices translate: false # whether to translate the text to the native language of voice silence: 0 # the silence parameter is in milliseconds. Range is 0 to 10000. The default is 0. speed: 1.0 # the speed parameter is a float between 0.5 and 10. The default is 1.0. (0.5 is half speed, 2.0 is double speed, etc.) audioFormat: "mp3" # supported formats are: mp3, ogg_opus, ogg_vorbis, aac, wav, and flac. Default format is mp3 dunctebot: ttsLanguage: "en-US" sources: getyarn: true # www.getyarn.io clypit: true # www.clyp.it tts: true # speak:Words to speak pornhub: true # should be self-explanatory reddit: true # should be self-explanatory ocremix: true # www.ocremix.org tiktok: true # tiktok.com mixcloud: true # mixcloud.com soundgasm: true # soundgasm.netmetrics: prometheus: enabled: false endpoint: /metricssentry: dsn: "" environment: ""logging: file: max-history: 5 max-size: 10MB path: ./logs/ level: root: DEBUG lavalink: DEBUG request: enabled: true includeClientInfo: true includeHeaders: true includeQueryString: true includePayload: true maxPayloadLength: 10000 logback: rollingpolicy: max-file-size: 10MB max-history: 5