NEU 📢 Begrenztes Startangebot: bis zu 70 % Rabatt auf deinen ersten Monat, für jedes Spiel!Tarife ansehen

So spielst du YouTube auf Lavalink 4 ab

Lavalink-HostingUpdated Nov 6, 20268 min read

Lavalink 4 spielt YouTube über ein Plugin ab, nicht von allein: Seine eingebaute YouTube-Quelle ist veraltet und sollte aus bleiben. Installiere das YouTube-Source-Plugin (dev.lavalink.youtube:youtube-plugin), setz youtube: false unter lavalink.server.sources und schalte das Plugin unter plugins.youtube ein. Auf unseren Servern reichte das nicht: YouTube verlangte eine Anmeldung. Melde das Plugin also einmal mit einem Zweit-Google-Konto an und bewahre den Refresh-Token auf. Mit Release 1.18.2 reicht auch die Anmeldung allein nicht (siehe „Version 1.18.2 und die Anmeldung“ unten). Auf einem unserer eigenen Lavalink-Server fand das Plugin am 6. November 2026 mit 1.18.2 samt den unveröffentlichten Fixes und einem Cipher-Server alle 12 Testlieder, konnte aber vor der Anmeldung keines davon starten und startete danach jeden der 10 abgeschlossenen Tests (je 15 Sekunden, ohne Sprachkanal).

Die eigene Dokumentation des Plugins sagt, dass YouTube manche Anfragen markiert und sie auffordert, „sich anzumelden, um zu bestätigen, dass du kein Bot bist“. Genau das haben wir auf unseren Servern gesehen. Ohne Anmeldung fand das Plugin jedes Testlied per Suche und per Link, doch dann wurde jeder seiner Clients abgewiesen, als er es abspielen wollte:

Client [WEB] failed: This video requires login.
Client [TVHTML5_SIMPLY] failed: Sign in to confirm you’re not a bot
Client [TVHTML5] failed: This video requires login.
Client [WEB_EMBEDDED_PLAYER] failed: This video is unavailable
dev.lavalink.youtube.AllClientsFailedException: (yts.version: 1.18.2) All clients failed to load the item.

In unserem Test funktionierte die Suche ohne Anmeldung, das Abspielen nicht. Dein Bot sieht, wie das Lied startet und sofort mit einer Track-Exception fehlschlägt.

Zwei weitere Dinge stören das Abspielen von Zeit zu Zeit, und die Dokumentation des Plugins behandelt beide:

  • Die Signatur-Chiffre. YouTube ändert den Code, der seine Streams freischaltet, oft. Das Plugin kann diese Arbeit an einen entfernten Cipher-Server (remoteCipher) abgeben, etwa das Open-Source-Projekt yt-cipher.
  • Die Clients. Das Plugin spricht mit YouTube als mehrere Apps (WEB, MWEB, ANDROID_VR, TV und weitere) und probiert sie in der Reihenfolge durch, die du angibst. Nur TV nutzt die Anmeldung zum Abspielen, und nur Clients, die dafür markiert sind, können suchen.

Version 1.18.2 und die Anmeldung

Die Anmeldung nutzt der Client TV, und der TV-Client in Release 1.18.2 hat ein bekanntes Problem: Seit August 2026 antwortet YouTube ihm mit „The page needs to be reloaded“ (Issue #226 im GitHub-Repository des Plugins, am 6. November 2026 noch offen). Die Entwickler des Plugins haben dafür am 19. August 2026 einen Fix gemergt, am selben Tag einen Fix für Streams ohne Längenangabe und am 17. September 2026 einen Fix für die Cipher-Verbindungen, aber bis zum 6. November 2026 war kein Release mit ihnen erschienen. Die README des Plugins erklärt, wie du stattdessen einen Build eines bestimmten Commits lädst: den Commit-Hash als Version, mit snapshot: true. Sieh zuerst auf der Releases-Seite nach einer neueren Version.

  1. Füg das Plugin in der application.yml unter lavalink.plugins ein, mit der Version von den GitHub-Releases des Plugins. 1.18.2 (27. Juli 2026) ist am 6. November 2026 das neueste Release. Es hat das oben beschriebene TV-Client-Problem, lies also diesen Abschnitt, bevor du die Version wählst:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
      snapshot: false
  server:
    sources:
      youtube: false
  1. Schalte das Plugin ein und gib ihm seine Clients:
plugins:
  youtube:
    enabled: true
    allowSearch: true
    clients:
      - MUSIC
      - ANDROID_VR
      - WEB
      - WEBEMBEDDED
      - TV
    oauth:
      enabled: true
  1. Füg optional unter plugins.youtube.remoteCipher einen Cipher-Server hinzu (url und password), wie in der README des Plugins beschrieben.
  2. Starte Lavalink. Die Console gibt einen Code und eine Adresse aus: Öffne https://www.google.com/device, gib den Code ein und erlaube den Zugriff mit einem Zweit-Google-Konto. Die Autoren des Plugins warnen, dass das Konto gesperrt werden kann, nimm also nie dein Hauptkonto.
  3. Die Console gibt dann OAUTH INTEGRATION: Token retrieved successfully. Store your refresh token as this can be reused. mit dem Token in Klammern aus. Kopier ihn in die application.yml, damit der Node nach einem Neustart nicht erneut fragt:
    oauth:
      enabled: true
      refreshToken: "PASTE_THE_TOKEN_HERE"
  1. Starte Lavalink neu. Mit einem funktionierenden Token loggt es YouTube access token refreshed successfully.

Der Refresh-Token öffnet dieses Google-Konto: Halte die application.yml privat.

Die Installation erledigt den Plugin-Teil schon: Das YouTube-Plugin 1.18.2 mit PlayNHost-Fixes liegt in plugins als youtube-plugin-1.18.2-playnhost1.jar, Lavalinks eigene YouTube-Quelle ist aus, die Anmeldung ist eingeschaltet, und das Plugin nutzt einen Cipher-Server, den wir in unserem eigenen Netzwerk betreiben. Die Fixes sind die Änderungen an TV-Client, Cipher und Stream-Länge, die die Entwickler des Plugins im August und September 2026 gemergt, aber noch nicht veröffentlicht haben. Du machst nur eins: die Anmeldung.

  1. Öffne deinen Server im Panel und klick in der Console auf Starten.
  2. Finde die Zeile OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code XXXX-XXXX, öffne die Adresse, gib den Code ein und erlaube den Zugriff mit einem Zweit-Google-Konto.
  3. Wenn die Console Token retrieved successfully ausgibt, kopier den Token aus den Klammern, stoppe den Node und füg ihn unter oauth: in der application.yml unter Files ein, wie in Schritt 5 oben. Behalte die Einrückung bei.
  4. Starte den Node wieder und achte auf YouTube access token refreshed successfully.

Lass plugins.youtube.remoteCipher.url unverändert: Das Panel schreibt es bei jedem Start, und die Adresse funktioniert nur von unseren Servern aus. Eine Neuinstallation behält deine application.yml mit dem Token darin.

Ob YouTube einem Server ein bestimmtes Lied ausliefert, entscheidet YouTube, und es ändert sich ohne Vorwarnung. Wir halten den Node und das Plugin am Laufen; wir können nicht versprechen, was YouTube erlaubt. Willst du gar kein YouTube, setz enabled: false unter plugins:, youtube:.

YouTube-Meldungen in der Console

MeldungWas sie bedeutet und was du tun kannst
OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code ...Das Plugin wartet auf die Anmeldung. Folge den Schritten oben.
OAUTH INTEGRATION: The device token has expired. OAuth integration has been canceled.Der Code wurde nicht rechtzeitig eingegeben. Starte den Node neu, um einen neuen zu bekommen.
YouTube access token refreshed successfullyDer gespeicherte Refresh-Token funktioniert.
Refreshing YouTube access token failedDer Token funktioniert nicht mehr, oft weil das Konto abgemeldet wurde oder der Token falsch kopiert wurde. Entferne refreshToken, starte neu und melde dich erneut an.
This video requires login. oder Sign in to confirm you’re not a bot nach Client [...] failed:YouTube weigert sich, den Server ohne Anmeldung zu bedienen. Melde das Plugin an oder prüf, ob der gespeicherte Token noch funktioniert.
All clients failed to load the item.Jeder Client in deiner Liste wurde abgewiesen. Die Zeilen Client [...] failed: daneben nennen den Grund des jeweiligen Clients.
The page needs to be reloaded vom Client TVHTML5Das oben beschriebene TV-Client-Problem von Release 1.18.2.

Andere Wege zu Musik ohne YouTube

Derselbe Node kann aus Quellen abspielen, die keine Anmeldung brauchen. Auf unseren Tarifen sind Bandcamp, Twitch, Vimeo, Niconico und direkte http-Links von Anfang an eingeschaltet. Plugins wie LavaSrc fügen weitere Seiten hinzu, von denen einige deine eigenen API-Schlüssel brauchen: So fügst du Plugins zu Lavalink hinzu.

Als Nächstes

Läuft dein Bot schon woanders? Zieh ihn zu uns um

UNSERE NEUESTEN BLOGS