O Lavalink 4 toca YouTube por meio de um plugin, não sozinho: a fonte de YouTube embutida está obsoleta e deve ficar desligada. Instale o plugin da fonte de YouTube (dev.lavalink.youtube:youtube-plugin), coloque youtube: false em lavalink.server.sources e ligue o plugin em plugins.youtube. Nos nossos servidores isso não bastou: o YouTube pediu login. Então faça o login do plugin uma vez com uma conta Google reserva e guarde o refresh token. Com a versão 1.18.2, só o login também não basta (veja “Versão 1.18.2 e o login” abaixo). Em um dos nossos próprios servidores Lavalink, em 6 de novembro de 2026, com a 1.18.2, as correções ainda não lançadas e um servidor de cipher, o plugin encontrou as 12 músicas de teste, mas não conseguiu iniciar nenhuma antes do login e iniciou todos os 10 testes concluídos depois dele (15 segundos cada, sem canal de voz).
Por que o YouTube falha em um servidor Lavalink
A documentação do plugin diz que o YouTube marca algumas requisições e pede para “fazer login para confirmar que você não é um robô”. Foi isso que vimos nos nossos servidores. Sem login, o plugin encontrava todas as músicas de teste por busca e por link, mas depois cada um dos seus clientes era recusado ao tentar tocar:
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.
No nosso teste, a busca funcionou sem login; tocar, não. Seu bot vê a música começar e falhar na hora com uma track exception.
Duas outras coisas atrapalham a reprodução de vez em quando, e a documentação do plugin trata das duas:
- A cifra da assinatura. O YouTube muda com frequência o código que libera os seus streams. O plugin pode passar esse trabalho para um servidor de cipher remoto (
remoteCipher), como o yt-cipher, de código aberto. - Os clientes. O plugin fala com o YouTube como vários aplicativos (
WEB,MWEB,ANDROID_VR,TVe outros) e tenta cada um na ordem em que você os lista. Só oTVusa o login para tocar, e só os clientes marcados para isso podem buscar.
Versão 1.18.2 e o login
O login é usado pelo cliente TV, e o cliente TV da versão 1.18.2 tem um problema conhecido: desde agosto de 2026 o YouTube responde a ele com “The page needs to be reloaded” (issue #226 no repositório do plugin no GitHub, ainda aberta em 6 de novembro de 2026). Os desenvolvedores do plugin incorporaram uma correção em 19 de agosto de 2026, uma para streams que não informam a duração no mesmo dia, e uma para as conexões do cipher em 17 de setembro de 2026, mas até 6 de novembro de 2026 nenhuma versão com elas tinha saído. O README do plugin explica como carregar, no lugar de uma versão, um build de um commit específico: o hash do commit como versão, com snapshot: true. Antes, veja na página de versões se há uma mais nova.
Configure o plugin no seu próprio Lavalink
- Adicione o plugin ao
application.ymlemlavalink.plugins, com a versão das releases do plugin no GitHub. A 1.18.2 (27 de julho de 2026) é a mais recente em 6 de novembro de 2026. Ela tem o problema do cliente TV descrito acima, então leia essa seção antes de escolher a versão:
lavalink:
plugins:
- dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
snapshot: false
server:
sources:
youtube: false
- Ligue o plugin e dê a ele os clientes:
plugins:
youtube:
enabled: true
allowSearch: true
clients:
- MUSIC
- ANDROID_VR
- WEB
- WEBEMBEDDED
- TV
oauth:
enabled: true
- Se quiser, adicione um servidor de cipher em
plugins.youtube.remoteCipher(urlepassword), como o README do plugin descreve. - Inicie o Lavalink. O console mostra um código e um endereço: abra
https://www.google.com/device, digite o código e permita o acesso com uma conta Google reserva. Os autores do plugin avisam que a conta pode ser encerrada, então nunca use a sua principal. - O console então mostra
OAUTH INTEGRATION: Token retrieved successfully. Store your refresh token as this can be reused.com o token entre colchetes. Copie-o para oapplication.ymlpara que o node não peça de novo depois de uma reinicialização:
oauth:
enabled: true
refreshToken: "PASTE_THE_TOKEN_HERE"
- Reinicie o Lavalink. Com um token válido, ele registra
YouTube access token refreshed successfully.
O refresh token abre essa conta Google: mantenha o application.yml privado.
Em um plano Lavalink da PlayNHost
A instalação já faz a parte do plugin: o plugin de YouTube 1.18.2 com correções da PlayNHost está em plugins como youtube-plugin-1.18.2-playnhost1.jar, a fonte de YouTube do próprio Lavalink está desligada, o login está ativado e o plugin usa um servidor de cipher que mantemos na nossa própria rede. As correções são as mudanças no cliente TV, no cipher e na duração dos streams que os desenvolvedores do plugin incorporaram em agosto e setembro de 2026, mas ainda não lançaram. Você faz uma coisa só: o login.
- Abra seu servidor no painel e clique em Iniciar no Console.
- Encontre a linha
OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code XXXX-XXXX, abra o endereço, digite o código e permita o acesso com uma conta Google reserva. - Quando o console mostrar
Token retrieved successfully, copie o token de dentro dos colchetes, pare o node e adicione-o emoauth:noapplication.yml, em Files, como no passo 5 acima. Mantenha a indentação. - Inicie o node de novo e confira se aparece
YouTube access token refreshed successfully.
Deixe plugins.youtube.remoteCipher.url como está: o painel o escreve a cada inicialização, e o endereço só funciona a partir dos nossos servidores. Uma reinstalação mantém o seu application.yml, com o token dentro.
Se o YouTube entrega ou não uma música a um servidor é decisão do YouTube, e muda sem aviso. Nós mantemos o node e o plugin funcionando; não podemos prometer o que o YouTube permite. Se você não quer o YouTube de jeito nenhum, coloque enabled: false em plugins:, youtube:.
Mensagens do YouTube no console
| Mensagem | O que significa e o que fazer |
|---|---|
OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code ... | O plugin espera o login. Siga os passos acima. |
OAUTH INTEGRATION: The device token has expired. OAuth integration has been canceled. | O código não foi digitado a tempo. Reinicie o node para receber um novo. |
YouTube access token refreshed successfully | O refresh token salvo funciona. |
Refreshing YouTube access token failed | O token não funciona mais, muitas vezes porque a conta foi desconectada ou o token foi copiado errado. Remova refreshToken, reinicie e faça o login de novo. |
This video requires login. ou Sign in to confirm you’re not a bot depois de Client [...] failed: | O YouTube se recusa a atender o servidor sem login. Faça o login do plugin ou confira se o token salvo ainda funciona. |
All clients failed to load the item. | Todos os clientes da sua lista foram recusados. As linhas Client [...] failed: ao lado dela dão o motivo de cada um. |
The page needs to be reloaded do cliente TVHTML5 | O problema do cliente TV da versão 1.18.2 descrito acima. |
Outras formas de ter música sem o YouTube
O mesmo node pode tocar de fontes que não precisam de login. Nos nossos planos, Bandcamp, Twitch, Vimeo, Niconico e links http diretos vêm ligados desde o início. Plugins como o LavaSrc adicionam mais sites, alguns dos quais precisam das suas próprias chaves de API: Como adicionar plugins ao Lavalink.
Em seguida
- Configure o node: Como hospedar um servidor Lavalink 24/7.
- Conecte seu bot: Como conectar seu bot do Discord ao Lavalink.
- Outros erros: Erros do Lavalink e o que significam.
- Planos: Hospedagem Lavalink.



