Lavalink-Client
  • 😁Lavalink Client
  • Basics
    • How it works
    • Get Started
    • Example Discord Bot
  • Documentation
    • LavalinkManager
      • Manager Options
        • ManagerQueueOptions
          • QueueStoreManager
          • QueueChangesWatcher
        • ManagerPlayerOptions
          • RequestTransformer
          • AutoplayFunction
        • BotClientOptions
      • ManagerUtils
    • NodeManager
      • Types
        • LavalinkNode
        • LavalinkNodeOptions
    • Player
      • PlayerOptions
      • PlayerDestroyReasons
      • PlayerTypes
        • RepeatMode
        • PlayerJson
    • Other Types
      • EQBand
      • FilterData
        • KaraokeFilter
      • Track
        • TrackInfo
        • PluginInfo
      • UnresolvedTrack
      • UnresolvedQuery
      • LavalinkTrack
        • Base64
        • LavalinkTrackInfo
      • Payloads
        • GuildShardPayload
        • PlayerEvent
        • TrackStartEvent
        • TrackEndEvent
        • TrackStuckEvent
        • TrackExceptionEvent
        • WebSocketClosedEvent
      • SearchPlatform
        • LavalinkSearchPlatform
        • ClientSearchPlatform
      • SourceNames
        • LavalinkSourceNames
        • LavaSrc SourceNames (lavalink-plugin)
    • Other Utils and Classes
      • DefaultQueueStore
      • MiniMap
  • Requirements
  • Host a Lavalink-Server
    • application.yml Configuration
      • With Spotify, Deezer, Apple Music, etc.
    • Host via pm2
    • Host via systemd
    • Host via screen
  • ⚪Github
  • 📖Lavalink-Support Server
Powered by GitBook
On this page
  • Max Memory Limit
  • Spotify, Deezer, Apple-Music, etc. etc.
  • Download Latest Lavalink Server Version

Host a Lavalink-Server

PreviousRequirementsNextapplication.yml Configuration

Last updated 1 year ago

There is an official Guide from , I recommend checking it out!

  1. Install Java 17 or higher. You can download it .

    1. I recommend Java 20 or higher

  2. Download the latest Lavalink.jar from . or directly via

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

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

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

      1. (node process manager package)

      2. (linux distro background process manager)

      3. (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.

Download Latest Lavalink Server Version

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

updateLavalink.sh
# Delete old Lavalink.jar if available
if [[ -f "./Lavalink.jar" ]]
then
  rm Lavalink.jar
fi
# get the content of all releases
content=$(curl --silent https://api.github.com/repos/lavalink-devs/Lavalink/releases)
# get latest release (incl. pre-releases)
releaseName=$(jq -r 'map(select(.prerelease)) | first | .tag_name' <<< "${content}")
# download latest release
wget "https://github.com/lavalink-devs/Lavalink/releases/download/${releaseName}/Lavalink.jar" -O Lavalink.jar

There are Lavalink-Server Plugins, check out

Or just browse through the or download the

my example
Releases Page
latest stable release
Getting-started
Lavalink
here
GitHub-Releases-Page
configuration
My configuration guide
pm2
systemd
screen
my download-lavalink-server script