Dein Bot braucht drei Werte von deinem Lavalink-Node: den Host, den Port und das Passwort. Host und Port stehen bei Adresse auf der Übersicht des Nodes, das Passwort steht in der application.yml. Deine Client-Bibliothek muss Lavalink in Version 4 und Discords DAVE-Sprachverschlüsselung unterstützen, und die sichere Option (SSL) bleibt aus.
- Kopiere auf der Übersicht des Lavalink-Servers die Adresse (Host und Port) und das Passwort aus der
application.yml. - Füg im Bot-Tab deines Bot-Servers unter Umgebung die Werte
LAVALINK_HOST,LAVALINK_PORTundLAVALINK_PASSWORDhinzu. - Füg den Client-Code für deine Bibliothek ein (Beispiele unten), mit ausgeschalteter sicherer Option (SSL).
- Starte den Bot neu und prüf, ob er den Node als verbunden meldet.
Jeder Schritt wird unten erklärt.
Was jeder Client verlangt
| Einstellung | Wert |
|---|---|
| Host | Der Teil von Adresse vor dem Doppelpunkt, zum Beispiel 203.0.113.10 |
| Port | Die Zahl nach dem Doppelpunkt |
| Passwort | Das password: unter lavalink:, server: in der application.yml |
| Secure / SSL | Aus: Der Node nutzt einfaches http und ws |
Wo du sie findest: So hostest du einen Lavalink-Server rund um die Uhr (24/7).

Nimm eine Client-Version, die DAVE unterstützt
Seit dem 2. März 2026 lässt Discord nur noch Voice-Clients in Voice-Channels (Stage-Channels ausgenommen), die seine Ende-zu-Ende-Verschlüsselung unterstützen, das DAVE-Protokoll. Lavalink unterstützt DAVE ab Version 4.2.0, und dein Node läuft mit 4.2.2. Laut den Release Notes von Lavalink 4.2.0 muss auch der Client aktualisiert werden: Er muss dem Node jetzt die ID des Voice-Channels schicken. Eine ältere Client-Version verbindet sich zwar noch mit dem Node, aber Lavalink kann die Sprachverbindung nicht öffnen, also spielt nichts. Die Version, die du bei jedem gängigen Client nehmen solltest, oder eine neuere:
| Client | Sprache | Diese Version oder neuer |
|---|---|---|
| Shoukaku | Node.js | 4.3.0 (28. Feb. 2026) |
| lavalink-client | Node.js | 2.9.7 (2. März 2026). Die DAVE-Arbeit begann in 2.9.3 (27. Feb. 2026); der Autor nennt 2.9.7 das erste große Release mit DAVE. |
| Wavelink | Python | 3.5.1 (11. Apr. 2026) |
| Lavalink.py | Python | 5.10.0 (28. Feb. 2026) |
Bei anderen Bibliotheken hat die eigene Client-Liste von Lavalink eine DAVE-Spalte. Mit einem älteren Client antwortet dein Node auf das Voice-Update mit einem 400-Fehler und der Meldung token, endpoint, sessionId and channelId must be provided in voice state. (Ein Bot, der sich ohne Lavalink selbst mit dem Discord-Voice verbindet, bekommt stattdessen Discords Close-Code 4017, E2EE/DAVE protocol required.)
Halte die Werte aus deinem Code heraus
Die Beispiele unten lesen LAVALINK_HOST, LAVALINK_PORT und LAVALINK_PASSWORD aus der Umgebung. Läuft dein Bot in einem PlayNHost-Bot-Tarif:
- Öffne die Bot-Seite des Bot-Servers und klick auf Umgebung.
- Füg unter Variable hinzufügen
LAVALINK_HOSTundLAVALINK_PORThinzu. FügLAVALINK_PASSWORDmit angehaktem Diesen Wert geheim halten hinzu. - Starte den Bot neu. Die Variablen erreichen ihn beim Start.
Mehr dazu: Umgebungsvariablen und Secrets für deinen Discord-Bot setzen.
Node.js mit Shoukaku
Pakete: discord.js und shoukaku (4.3.0 oder neuer).
const { Client, Events, GatewayIntentBits } = require('discord.js');
const { Shoukaku, Connectors } = require('shoukaku');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });
const nodes = [{
name: 'playnhost',
url: `${process.env.LAVALINK_HOST}:${process.env.LAVALINK_PORT}`,
auth: process.env.LAVALINK_PASSWORD,
}];
// Create it before client.login(): Shoukaku connects when the bot is ready.
const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), nodes);
shoukaku.on('ready', (name) => console.log(`Lavalink node ${name} connected`));
shoukaku.on('error', (name, error) => console.error(`Lavalink node ${name}:`, error));
client.once(Events.ClientReady, () => console.log(`Logged in as ${client.user.tag}`));
client.login(process.env.DISCORD_TOKEN);
Die Dokumentation von Shoukaku zeigt, wie du einem Voice-Channel beitrittst und einen Titel abspielst, sobald der Node verbunden ist.
Python mit Wavelink
Pakete: discord.py und wavelink (3.5.1 oder neuer).
import os
import discord
import wavelink
from discord.ext import commands
class Bot(commands.Bot):
def __init__(self):
super().__init__(command_prefix="!", intents=discord.Intents.default())
async def setup_hook(self):
node = wavelink.Node(
uri=f"http://{os.environ['LAVALINK_HOST']}:{os.environ['LAVALINK_PORT']}",
password=os.environ["LAVALINK_PASSWORD"],
)
await wavelink.Pool.connect(nodes=[node], client=self)
async def on_wavelink_node_ready(self, payload: wavelink.NodeReadyEventPayload):
print(f"Lavalink node {payload.node.identifier} connected")
bot = Bot()
bot.run(os.environ["DISCORD_TOKEN"])
setup_hook läuft einmal, bevor sich der Bot verbindet. on_ready kann nach jedem Reconnect erneut laufen, verbinde den Node also nicht dort.
Andere Clients
Jeder Client, der Lavalink 4 und DAVE unterstützt, funktioniert genauso mit denselben drei Werten, zum Beispiel lavalink-client für discord.js oder Lavalink.py für Python. Ein Client, der für Lavalink 3 geschrieben wurde, kann nicht mit einem Node der Version 4 sprechen.
Es verbindet sich nicht
- Connection refused oder Timeout: Der Host oder Port ist falsch, oder der Node ist gestoppt. Kopier die Adresse noch mal von der Übersicht und prüf, ob die Console
Lavalink is ready to accept connections.zeigt. 401oderUnauthorized: Das Passwort stimmt nicht mit derapplication.ymlüberein. Kopier es noch mal ohne die Anführungszeichen.- Ein SSL- oder TLS-Fehler: Secure ist in deinem Client eingeschaltet. Schalte es aus oder nimm
http://statthttps://. - Er verbindet sich und spielt dann nichts: Prüf zuerst, ob dein Client nicht älter ist als die Version in der Tabelle oben. Dann: Der Bot braucht Connect und Speak im Voice-Channel, und der Node braucht eine Quelle, die abspielen kann, was du angefragt hast: Lavalink-Fehler und was sie bedeuten.
Nutzt du noch einen kostenlosen öffentlichen Node? Öffentlicher Node oder eigener Node vergleicht die Möglichkeiten.



