NUOVO 📢 Offerta di lancio limitata: fino al 70% di sconto sul tuo primo mese, per tutti i giochi!Vedi i piani

Come riprodurre YouTube su Lavalink 4

Hosting LavalinkUpdated Nov 6, 20268 min read

Lavalink 4 riproduce YouTube tramite un plugin, non da solo: la sua fonte YouTube integrata è deprecata e va lasciata disattivata. Installa il plugin della fonte YouTube (dev.lavalink.youtube:youtube-plugin), imposta youtube: false sotto lavalink.server.sources e attiva il plugin sotto plugins.youtube. Sui nostri server non è bastato: YouTube chiedeva un accesso, quindi fai accedere il plugin una volta con un account Google di riserva e conserva il refresh token. Con la release 1.18.2 nemmeno l’accesso da solo basta (vedi “Versione 1.18.2 e l’accesso” più sotto). Su uno dei nostri server Lavalink, il 6 novembre 2026, con la 1.18.2, le correzioni non ancora rilasciate e un server cipher, il plugin ha trovato tutti i 12 brani di prova ma non ne ha potuto avviare nessuno prima dell’accesso, e ha avviato ognuno dei 10 test completati dopo (15 secondi ciascuno, senza canale vocale).

La documentazione del plugin dice che YouTube segnala alcune richieste e chiede di “accedere per confermare che non sei un bot”. È quello che abbiamo visto sui nostri server. Senza accesso, il plugin trovava ogni brano di prova con la ricerca e con il link, ma poi ognuno dei suoi client veniva rifiutato quando provava a riprodurlo:

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.

Nel nostro test la ricerca funzionava senza accesso; la riproduzione no. Il tuo bot vede il brano partire e fallire subito con una track exception.

Altre due cose interrompono ogni tanto la riproduzione, e la documentazione del plugin le tratta entrambe:

  • Il cifrario della firma. YouTube cambia spesso il codice che sblocca i suoi stream. Il plugin può affidare questo lavoro a un server cipher remoto (remoteCipher), come il progetto open source yt-cipher.
  • I client. Il plugin parla con YouTube come se fosse diverse app (WEB, MWEB, ANDROID_VR, TV e altre) e le prova nell’ordine in cui le elenchi. Solo TV usa l’accesso per la riproduzione, e solo i client contrassegnati per questo possono cercare.

Versione 1.18.2 e l’accesso

L’accesso viene usato dal client TV, e il client TV della release 1.18.2 ha un problema noto: da agosto 2026 YouTube gli risponde “The page needs to be reloaded” (issue #226 nel repository GitHub del plugin, ancora aperta il 6 novembre 2026). Gli sviluppatori del plugin hanno integrato una correzione il 19 agosto 2026, una per gli stream che non indicano la durata lo stesso giorno e una per le connessioni al cipher il 17 settembre 2026, ma il 6 novembre 2026 non era uscita nessuna release con queste modifiche. Il README del plugin spiega come caricare al suo posto una build di un commit preciso: l’hash del commit come versione, con snapshot: true. Controlla prima la pagina delle release per una versione più recente.

  1. Aggiungi il plugin a application.yml sotto lavalink.plugins, con la versione dalle release GitHub del plugin. La 1.18.2 (27 luglio 2026) è la più recente al 6 novembre 2026. Ha il problema del client TV descritto sopra, quindi leggi quella sezione prima di scegliere la versione:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
      snapshot: false
  server:
    sources:
      youtube: false
  1. Attiva il plugin e dagli i suoi client:
plugins:
  youtube:
    enabled: true
    allowSearch: true
    clients:
      - MUSIC
      - ANDROID_VR
      - WEB
      - WEBEMBEDDED
      - TV
    oauth:
      enabled: true
  1. Se vuoi, aggiungi un server cipher sotto plugins.youtube.remoteCipher (url e password), come descrive il README del plugin.
  2. Avvia Lavalink. La console stampa un codice e un indirizzo: apri https://www.google.com/device, inserisci il codice e consenti l’accesso con un account Google di riserva. Gli autori del plugin avvertono che l’account può essere chiuso, quindi non usare mai il tuo principale.
  3. La console stampa poi OAUTH INTEGRATION: Token retrieved successfully. Store your refresh token as this can be reused. con il token tra parentesi quadre. Copialo in application.yml così il nodo non lo richiede dopo un riavvio:
    oauth:
      enabled: true
      refreshToken: "PASTE_THE_TOKEN_HERE"
  1. Riavvia Lavalink. Con un token valido registra YouTube access token refreshed successfully.

Il refresh token apre quell’account Google: tieni application.yml privato.

L’installazione fa già la parte del plugin: il plugin YouTube 1.18.2 con le correzioni PlayNHost è in plugins come youtube-plugin-1.18.2-playnhost1.jar, la fonte YouTube di Lavalink è disattivata, l’accesso è attivo e il plugin usa un server cipher che gestiamo sulla nostra rete. Le correzioni sono le modifiche a client TV, cipher e durata degli stream che gli sviluppatori del plugin hanno integrato ad agosto e settembre 2026 ma non hanno ancora rilasciato. Tu fai una sola cosa: l’accesso.

  1. Apri il tuo server nel pannello e premi Avvia in Console.
  2. Trova la riga OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code XXXX-XXXX, apri l’indirizzo, inserisci il codice e consenti l’accesso con un account Google di riserva.
  3. Quando la console stampa Token retrieved successfully, copia il token tra le parentesi quadre, ferma il nodo e aggiungilo sotto oauth: in application.yml in Files, come al passaggio 5 qui sopra. Mantieni l’indentazione.
  4. Riavvia il nodo e controlla che compaia YouTube access token refreshed successfully.

Lascia plugins.youtube.remoteCipher.url com’è: il pannello lo scrive a ogni avvio, e l’indirizzo funziona solo dai nostri server. Una reinstallazione mantiene il tuo application.yml, con il token dentro.

Se YouTube serva o no un brano a un server lo decide YouTube, e cambia senza preavviso. Noi teniamo in funzione il nodo e il plugin; non possiamo promettere ciò che YouTube permette. Se non vuoi YouTube, imposta enabled: false sotto plugins:, youtube:.

Messaggi di YouTube nella console

MessaggioCosa significa e cosa fare
OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code ...Il plugin aspetta l’accesso. Segui i passaggi qui sopra.
OAUTH INTEGRATION: The device token has expired. OAuth integration has been canceled.Il codice non è stato inserito in tempo. Riavvia il nodo per ottenerne uno nuovo.
YouTube access token refreshed successfullyIl refresh token salvato funziona.
Refreshing YouTube access token failedIl token non funziona più, spesso perché l’account è stato disconnesso o il token è stato copiato male. Rimuovi refreshToken, riavvia e accedi di nuovo.
This video requires login. oppure Sign in to confirm you’re not a bot dopo Client [...] failed:YouTube rifiuta di servire il server senza accesso. Fai accedere il plugin, oppure controlla che il token salvato funzioni ancora.
All clients failed to load the item.Ogni client della tua lista è stato rifiutato. Le righe Client [...] failed: accanto a questa danno il motivo di ciascuno.
The page needs to be reloaded dal client TVHTML5Il problema del client TV della release 1.18.2 descritto sopra.

Altri modi per avere musica senza YouTube

Lo stesso nodo può riprodurre da fonti che non richiedono accesso. Sui nostri piani Bandcamp, Twitch, Vimeo, Niconico e i link http diretti sono attivi fin dall’inizio. Plugin come LavaSrc aggiungono altri siti, alcuni dei quali richiedono le tue chiavi API: Come aggiungere plugin a Lavalink.

Poi

Il tuo bot è già ospitato altrove? Spostalo da noi

ULTIMI ARTICOLI