~/tools/lavalink
tool

Lavalink

Lavalink is an open source, standalone audio-sending node for Discord bots — built on Lavaplayer, it resolves and streams tracks to voice channels so the audio never passes through your bot's own shards.

Lavalink is a standalone audio-sending node for Discord bots, built on the Lavaplayer library. Your bot talks to it over a REST API and WebSocket, and Lavalink does the heavy lifting — resolving tracks, decoding them, and streaming Opus audio straight to Discord voice channels so the audio never touches your bot’s own shards.

Developers building Discord music bots who don’t want to run audio playback inside the bot process. Because one Lavalink node can serve many bots and shards, it’s the standard choice for scaling music playback — offloading CPU-heavy decoding to a dedicated server and keeping the bot itself lightweight and responsive.

  • Resolve and play tracks from SoundCloud, Bandcamp, Twitch, Vimeo, and direct HTTP streams out of the box (YouTube and Spotify/Apple Music/Deezer come via official plugins)
  • Send audio to Discord without routing it through your bot’s shards, including DAVE end-to-end-encryption protocol support
  • Control playback over a full REST API — play, pause, seek, and adjust volume
  • Push player state and track events to your bot over WebSocket
  • Apply audio filters like equalizer, timescale, karaoke, and tremolo
  • Report load statistics for balancing across multiple nodes, with Prometheus metrics
  • Extend sources and behavior through a plugin architecture

Yes — Lavalink is fully free and open source under the MIT license, with no paid tier or hosted edition. You run it yourself and pay only for the server it sits on. There is no vendor, subscription, or per-stream fee.

  • It’s infrastructure, not a bot. Lavalink plays no audio on its own — you still write the Discord bot and wire in a client library. It’s useless without the bot code around it.
  • YouTube isn’t built in anymore. As of v4, YouTube support moved out of core into the separate youtube-source plugin, which you install and maintain yourself — and YouTube playback in particular is prone to breakage when the platform changes.
  • It runs on the JVM. Lavalink needs Java 17 or newer, which is a heavier baseline than a pure Node.js or Python bot stack and an extra runtime to keep patched.

FAQ

Is Lavalink open source? Yes — it’s released under the permissive MIT license, so you can self-host, modify, and redistribute it freely.

Can I self-host Lavalink for free? Yes. The software is free; you only pay for the machine it runs on. Official Docker images make deployment straightforward.

Do I need Lavalink to make a Discord music bot? No, but it’s the most common approach for anything beyond a toy bot. It offloads audio processing and scales cleanly across shards, which is hard to do inside the bot process itself.

What do I need to run Lavalink? A server with Java 17 (or newer LTS), the Lavalink jar or Docker image, an application.yml config, and a client library for your bot’s language (available for Node.js, Python, Java, .NET, and more).