Host a Lavalink-Server

There is an official Getting-startedarrow-up-right Guide from Lavalinkarrow-up-right, I recommend checking it out!

  1. Install Java 17 or higher. You can download it herearrow-up-right.

    1. I recommend Java 20 or higher

  2. Download the latest Lavalink.jar from GitHub-Releases-Pagearrow-up-right. or directly via my download-lavalink-server script

  3. Now configure the Lavalink-Server via an application.yml file or env-variables. For that check out the configurationarrow-up-right page to learn out how.

  4. Run Lavalink with java -jar Lavalink.jar.

    • To perma-host lavalink you can use multiple ways:

      1. pm2 (node process manager package)

      2. systemd (linux distro background process manager)

      3. screen (old)

  5. Now test if you can use the lavalink server:

curl -H "Authorization: yourverystrongpassword" http://localhost:2333/v4/info | json_pp

http://localhost:2333 is the url-domain of the lavalink server, aka on the same machine where it's hosted that's why localhost, and 2333 is the port. if you have a remote ip, you can use the ip / domain.

/v4/info is the request path, and -H "Authorization: yourverystrongpassword" is the Authorization header, aka password configured in lavalink server. That request-path returns all information of the lavalink-server which is same as player.node.info

| json_pp is a default linux package, to pretty-print the output (json) [optional]

Max Memory Limit

when you provide -Xmx4G for example, you tell java to allocate 4gigs of memory to that java-process, aka lavalink can't use more

Spotify, Deezer, Apple-Music, etc. etc.

There are Lavalink-Server Plugins, check out my example

Following BASH (Linux *.sh) Script, downloads the latest lavalink version, including pre-releases. It also deletes the old, pre-existing Lavalink.jar file, if available

Or just browse through the Releases Pagearrow-up-right or download the latest stable releasearrow-up-right

Last updated