A standalone audio sending node based on Lavaplayer and Koe. Allows for sending audio without it ever reaching any of your shards.
Being used in production by FredBoat, Dyno, LewdBot, and more.
A basic example bot is available.
Note
Lavalink v4 is now out of beta! See the changelog for more information.
- Pick one of the up-to-date clients. Advanced users can create their own using the API documentation
- See the server configuration documentation for configuring your Lavalink server
- Explore available plugins for extra features
- See also our FAQ
Table of Contents
- Powered by Lavaplayer
- Minimal CPU/memory footprint
- Twitch/YouTube stream support
- Event system
- Seeking
- Volume control
- REST API for resolving Lavaplayer tracks, controlling players, and more
- Statistics (good for load balancing)
- Basic authentication
- Prometheus metrics
- Docker images
- Plugin support
- Java 17 LTS or newer required. (we recommend running the latest LTS version or newer)
- OpenJDK or Zulu running on Linux AMD64 is officially supported.
Support for other JVMs is also best-effort. Periodic CPU utilization stats are prone not to work everywhere.
Lavalink also runs on other hardware, but support is best-effort. Here is a list of known working hardware:
Operating System | Architecture | Lavaplayer | JDA-NAS | Timescale | AVX2 |
---|---|---|---|---|---|
linux | x86-64 | ✅ | ✅ | ✅ | ✅ |
linux | x86 | ✅ | ✅ | ✅ | ✅ |
linux | arm | ✅ | ✅ | ✅ | ❌ |
linux | armhf | ✅ | ❌ | ❌ | ❌ |
linux | aarch32 | ✅ | ❌ | ❌ | ❌ |
linux | aarch64 | ✅ | ✅ | ✅ | ❌ |
linux-musl | x86-64 | ✅ | ✅ | ✅ | ✅ |
linux-musl | aarch64 | ✅ | ✅ | ✅ | ❌ |
windows | x86-64 | ✅ | ✅ | ✅ | ✅ |
Windows | x86 | ✅ | ✅ | ✅ | ✅ |
darwin | x86-64 | ✅ | ✅ | ✅ | ✅ |
darwin | aarch64e | ✅ | ✅ | ✅ | ❌ |
Please see here
Lavalink follows Semantic Versioning.
The version number is composed of the following parts:
MAJOR breaking API changes
MINOR new backwards compatible features
PATCH backwards compatible bug fixes
PRERELEASE pre-release version
BUILD additional build metadata
Version numbers can come in different combinations, depending on the release type:
`MAJOR.MINOR.PATCH` - Stable release
`MAJOR.MINOR.PATCH+BUILD` - Stable release with additional build metadata
`MAJOR.MINOR.PATCH-PRERELEASE` - Pre-release
`MAJOR.MINOR.PATCH-PRERELEASE+BUILD` - Pre-release additional build metadata