CubeHosting

Hospedagem LavalinkLavalink privadoem um clique.

O servidor de música do seu bot de Discord, criado pelo template de 1 clique: a Cube baixa o Lavalink.jar oficial, confere e gera a senha. Ele fica num projeto privado da sua conta, a partir de R$ 5,99 por mês no Pix, sem fidelidade.

O que é o LavalinkO áudio do bot de música, num servidor só dele.

O Lavalink é um servidor em Java que busca, decodifica e envia o áudio para o canal de voz. O bot só manda os comandos: tocar, pausar, pular. É o que a maioria dos bots de música do Discord usa.

Bot que toca um link direto de áudio ou uma rádio não precisa dele: o FFmpeg já vem instalado em todas as versões de Node.js e Python, e o template Bot de música usa só isso. O Lavalink entra quando o bot tem fila, busca e vários servidores tocando ao mesmo tempo.

Projeto separado do bot

O Lavalink roda num projeto só dele, com a própria memória. Reiniciar o bot não reinicia o Lavalink, e um só serve todos os bots da conta.

Privado da sua conta

O Lavalink não tem endereço público. Só os seus projetos chegam nele, pelo nome interno, e outra conta não alcança.

.jar oficial, conferido

Você não envia nada. A Cube baixa o Lavalink.jar da página oficial de releases e confere o SHA-256 antes de usar. Um arquivo diferente é descartado, e nada sobe.

YouTube e SoundCloud

O application.yml já vem com o plugin oficial do YouTube, SoundCloud, Bandcamp, Twitch, Vimeo e links diretos de áudio. Toque só o que você tem direito de tocar.

Como hospedar o LavalinkDo template ao Lavalink no ar em três passos.

Sem enviar .jar, sem escrever o application.yml e sem inventar senha.

  1. Escolha o template.

    No painel, clique em Templates na barra lateral e em Usar este template no Lavalink. Ou abra Novo projeto e escolha a aba Template.

  2. Confira a memória.

    O Lavalink pede pelo menos 512 MB, que já vêm marcados. Não precisa preencher mais nada: a senha é gerada pela Cube.

  3. Crie o projeto.

    A Cube baixa o Lavalink.jar oficial, confere e inicia. Em alguns segundos, os Logs mostram Lavalink is ready to accept connections.

Como hospedar um servidor Lavalink
Memória
a partir de 512 MB
Planos
a partir do Block
Java
JDK 21
Porta
2333
Endereço
só dentro da sua conta
Senha
gerada pela Cube

Depois de criado, é um projeto como os outros. Os Logs mostram o que o Lavalink escreve, o gráfico mostra a memória, e o application.yml fica na aba Arquivos para você mudar as fontes e os plugins.

Como conectar o bot ao LavalinkO bot conecta pelo nome interno.

O Lavalink e o bot são dois projetos da mesma conta. O bot acha o Lavalink pelo nome interno do projeto, que só existe dentro da sua conta.

  1. Pegue o host, a porta e a senha.

    Na aba Projeto do Lavalink, o cartão Conectar seu bot mostra o host (o nome interno do projeto, como cube-t9d1h3xa), a porta 2333 e a senha, em Mostrar senha.

  2. Guarde a senha no bot.

    Crie o bot como outro projeto da mesma conta e, em Configurações › Variáveis de ambiente dele, salve a senha numa variável, como LAVALINK_PASSWORD. Nunca no código.

  3. Conecte pelo nome interno.

    Use o host e a porta no cliente do Lavalink da sua biblioteca, como nos exemplos, e inicie o bot. A conexão não sai da sua conta, então vai sem TLS.

index.js · lavalink-client

import { Client, GatewayIntentBits } from 'discord.js';import { LavalinkManager } from 'lavalink-client';const client = new Client({  intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates],});client.lavalink = new LavalinkManager({  nodes: [    {      id: 'cube',      host: 'cube-t9d1h3xa',      port: 2333,      authorization: process.env.LAVALINK_PASSWORD,    },  ],  sendToShard: (guildId, payload) => client.guilds.cache.get(guildId)?.shard?.send(payload),});client.on('raw', (d) => client.lavalink.sendRawData(d));client.on('ready', () => client.lavalink.init({ ...client.user }));client.login(process.env.DISCORD_TOKEN);

main.py · wavelink

import osimport discordimport wavelinkfrom discord.ext import commandsclass Bot(commands.Bot):    async def setup_hook(self) -> None:        node = wavelink.Node(            uri="http://cube-t9d1h3xa:2333",            password=os.environ["LAVALINK_PASSWORD"],        )        await wavelink.Pool.connect(nodes=[node], client=self)intents = discord.Intents.default()bot = Bot(command_prefix="!", intents=intents)bot.run(os.environ["DISCORD_TOKEN"])

Use uma biblioteca atual. O Lavalink 4.2 pede o lavalink-client 2.9.7 ou mais novo, ou o wavelink 3.5.1 ou mais novo. Com uma versão de antes, o bot conecta, mas a música não toca.

Quanta memória o Lavalink precisa512 MB para o Lavalink, 256 MB para o bot.

Os dois cabem no Block: 1 GB de RAM por R$ 5,99 por mês. O Free fica de fora, porque tem 100 MB.

Cada projeto reserva a própria memória dentro da RAM do plano. Se muitas músicas tocarem ao mesmo tempo e o log do Lavalink mostrar OutOfMemoryError, aumente a memória dele em Configurações › Geral e reinicie.

Compare todos os planos
Lavalink
a partir de 512 MB
Bot de música
a partir de 256 MB
Block (1 GB)
Lavalink e até 2 bots
Stack (2 GB)
Lavalink e até 6 bots
Free (100 MB)
não cabe
Mudar depois
em Configurações, sem recriar

Hospedagem LavalinkPerguntas frequentes.

O que mais perguntam antes de pôr o Lavalink no ar.

Tem hospedagem Lavalink grátis?

Não. O Lavalink pede pelo menos 512 MB, e o Plano Free tem 100 MB. Ele entra a partir do Block, de R$ 5,99 por mês: em 1 GB cabem o Lavalink e um bot de 256 MB.

Posso usar o Lavalink com um bot hospedado fora da Cube?

Não. O Lavalink não tem endereço público: só os projetos da mesma conta chegam nele, pelo nome interno. Para usar, hospede o bot como outro projeto da conta.

Um Lavalink serve mais de um bot?

Serve. Todos os bots da conta conectam no mesmo Lavalink, com o mesmo host, a mesma porta e a mesma senha. Se muitas músicas tocarem ao mesmo tempo e o log mostrar OutOfMemoryError, aumente a memória do Lavalink em Configurações › Geral e reinicie.

Meu bot conecta no Lavalink, mas a música não toca. Por quê?

Quase sempre é a biblioteca do bot desatualizada. O Lavalink 4.2 pede o lavalink-client 2.9.7 ou mais novo no Node.js, ou o wavelink 3.5.1 ou mais novo no Python: com uma versão de antes, o bot conecta e entra no canal de voz, mas o áudio não sai. Atualize a biblioteca e envie o bot de novo.

Como troco a senha do Lavalink?

Mude o valor da variável LAVALINK_SERVER_PASSWORD em Configurações › Variáveis de ambiente do Lavalink, reinicie e troque a senha também no bot. A senha fica guardada cifrada, e cada vez que ela aparece na tela fica registrado na Atividade.

Dá para mudar as fontes de áudio e os plugins?

Dá. O application.yml do projeto já vem com o plugin oficial do YouTube, SoundCloud, Bandcamp, Twitch, Vimeo e links diretos de áudio e rádio. Edite o arquivo na aba Arquivos (um plugin novo é uma linha em lavalink.plugins) e clique em Aplicar mudanças: o Lavalink reinicia com a configuração nova.

Seu primeiro deploy leva menos que um café.

Crie a conta, envie o .zip e o bot está no ar antes de a xícara esfriar. Sem cartão de crédito: os planos são pagos no Pix, mês a mês ou por ano.