/Lavalink

Standalone audio sending node based on Lavaplayer.

Primary LanguageKotlinMIT LicenseMIT

Lavalink

Lavalink logo

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.

Lavalink Guild

Note

Lavalink v4 is now out of beta! See the changelog for more information.

Getting started

Table of Contents

Features

  • 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

Requirements

  • 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.

Hardware Support

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

Changelog

Please see here

Versioning policy

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