Criar um resource pack e servir no seu servidor
Um pack próprio muda a cara do servidor sem plugin nenhum no cliente. Este guia cobre a estrutura dos arquivos, a hospedagem do zip e os dois erros que quebram a entrega automática.
PorEquipe StreetHosting·Time de infraestrutura e suporte da StreetHosting
A estrutura de um pack
Um resource pack não tem mistério: é uma cópia parcial dos arquivos do jogo. O cliente carrega os originais e, quando encontra no pack um arquivo com o mesmo caminho, usa o seu no lugar. Tudo depende de respeitar exatamente os nomes e as pastas.
| Caminho dentro do zip | O que guarda |
|---|---|
| pack.mcmeta | Metadados do pack. Obrigatório, sempre na raiz |
| pack.png | Ícone que aparece na lista de packs. Opcional |
| assets/minecraft/textures/block/ | Texturas de blocos |
| assets/minecraft/textures/item/ | Texturas de itens |
| assets/minecraft/textures/entity/ | Texturas de mobs e entidades |
| assets/minecraft/textures/gui/ | Interface, inventário, botões |
| assets/minecraft/sounds/ | Arquivos de som em ogg |
| assets/minecraft/models/ | Modelos em JSON |
| assets/minecraft/font/ | Fontes e caracteres customizados |
| assets/minecraft/lang/ | Textos e traduções |
O conteúdo do pack.mcmeta é um JSON curto com dois campos: o formato do pack e a descrição que aparece na lista. Nada além disso é obrigatório para o pack funcionar.
Compacte o conteúdo da pasta, não a pasta. Se ao abrir o zip você vê uma pasta com o nome do projeto e só dentro dela o pack.mcmeta, o jogo não reconhece o pack. O pack.mcmeta tem que aparecer assim que o zip abre.
O pack_format e a versão do jogo
O campo pack_format é um número que diz para qual geração do jogo o pack foi feito. Ele muda sempre que a Mojang reorganiza os arquivos internos, o que acontece com frequência. Se o número não bate com a versão do cliente, o jogo avisa que o pack é antigo ou novo demais.
- Número menor que o esperado. O pack aparece marcado como feito para versão antiga. Costuma funcionar mesmo assim, com texturas soltas quebradas onde o caminho mudou.
- Número maior que o esperado. O cliente avisa que o pack é de uma versão futura. Aqui a chance de algo não carregar é maior.
- Servidor com várias versões via proxy. Um único número não agrada todo mundo. Use o formato que corresponde à versão da maioria dos jogadores, ou distribua packs diferentes por versão.
Sempre que subir a versão do servidor, revise o pack_format e teste o pack antes de liberar. O passo a passo da troca de versão está em atualizar a versão do servidor.
O que dá para trocar
Resource pack mexe só na apresentação. Ele não muda regra de jogo, não adiciona bloco novo e não roda código. Dentro dessa fronteira, porém, cabe bastante coisa.
Texturas
O caso mais comum. Substitua o arquivo de imagem mantendo o nome original e o jogo passa a desenhar o seu. Vale para blocos, itens, mobs, partículas e para toda a interface. Resolução maior deixa mais bonito e mais pesado, e a maioria dos servidores fica bem na resolução original.
Sons e música
Os sons ficam em formato ogg e são mapeados por um arquivo de índice. Dá para trocar o som de um clique, colocar música própria no menu ou silenciar um efeito irritante. Áudio é o que mais engorda pack, então escolha poucos e comprima bem.
Fontes e ícones no chat
Trocando a fonte, você consegue mapear caracteres para imagens. É esse truque que gera os ícones que aparecem no chat, na tag do jogador e no menu de rank em servidores grandes, sem precisar de mod no cliente.
Modelos e CustomModelData
Um modelo pode ter variações escolhidas por um número gravado no item. O plugin dá o número, o pack decide qual modelo desenhar. É assim que servidores criam espadas exclusivas, chaves de caixa e itens de loja que parecem novos mas continuam sendo, por baixo, um item comum do jogo.
Se você quer só um pack de cara própria para a temporada e não tem paciência para estrutura de pastas, o resourcelab monta e edita tudo no navegador e entrega o zip pronto para servir. Ele está listado com as demais ferramentas gratuitas da StreetHosting.
Hospedar o zip
O servidor não envia o arquivo: ele manda ao cliente uma URL, e o cliente baixa por conta própria. Isso significa que o endereço precisa ser público, estável e entregar o arquivo bruto.
- Suba o zip para um lugar que devolva o arquivo direto, sem tela de confirmação, sem anúncio e sem login.
- Abra a URL numa janela anônima. Se o navegador começar a baixar o arquivo na hora, está certo. Se abrir qualquer página, está errado.
- Prefira um endereço que você controla. Serviço gratuito que apaga arquivo antigo derruba o pack do servidor sem aviso.
- Mantenha a URL estável entre atualizações, ou troque o valor no servidor toda vez que publicar uma versão nova do pack.
Se o seu servidor roda em VPS, hospedar o zip na própria máquina, num servidor web simples, resolve os dois problemas de uma vez: link direto e controle total do endereço.
Servir pelo server.properties
A entrega automática é nativa. Três campos, nenhum plugin.
| Campo | O que recebe | Observação |
|---|---|---|
| resource-pack | A URL de download direto do zip | Vazio desliga a entrega automática |
| resource-pack-sha1 | O hash SHA1 do arquivo exato | Deixar vazio faz o jogador rebaixar toda vez |
| require-resource-pack | true ou false | Com true, quem recusar o download é desconectado |
| resource-pack-prompt | Mensagem exibida no pedido | Útil para explicar por que o pack importa |
- Pare o servidor antes de editar o arquivo.
- Cole a URL em
resource-pack. - Gere o hash SHA1 do zip que você acabou de subir e cole em
resource-pack-sha1. - Decida se o pack é obrigatório e ajuste
require-resource-pack. - Suba o servidor e entre com uma conta de teste.
Quem entra recebe um pedido de download. Aceitando, o pack é aplicado só naquele servidor e some quando o jogador sai, sem bagunçar os packs pessoais dele.
Pack e MOTD costumam ser trocados juntos, no começo de temporada. O passo a passo da identidade visual na lista de servidores está em mudar a MOTD e o ícone do servidor.
Os dois erros que sempre pegam
SHA1 desatualizado
O hash identifica o arquivo. Se você reeditar o pack, gerar um zip novo e esquecer de atualizar o campo, o cliente compara o que baixou com o que o servidor prometeu, vê que não bate e reclama. Dependendo da versão, ele recusa o pack ou rebaixa o arquivo em toda conexão. Com require-resource-pack ligado, o resultado é pior: ninguém entra.
Regra de ouro: toda vez que o zip mudar, o hash muda junto. Trate os dois como uma coisa só, e nunca publique um sem o outro.
Link que não é download direto
O segundo campeão. Você cola o link de compartilhamento do seu armazenamento em nuvem, ele funciona perfeitamente no navegador e falha no jogo. Motivo: o endereço devolve uma página HTML de visualização, e o cliente esperava um zip. Teste sempre em janela anônima antes de colocar no servidor.
- pack.mcmeta na raiz do zip, não dentro de uma subpasta
- pack_format correspondente à versão do servidor
- URL testada em janela anônima e baixando na hora
- SHA1 gerado a partir do zip exato que está no ar
- Teste de entrada com uma conta que nunca baixou o pack
Peso do pack e tempo de entrada
Cada megabyte do pack vira tempo de espera na primeira conexão de cada jogador. E a primeira conexão é justamente o momento em que você mais corre risco de perder alguém que chegou pela divulgação.
- Troque só o que importa. Um pack de identidade visual com ícones, fonte e algumas texturas fica pequeno. Um pack que substitui o jogo inteiro em alta resolução fica pesado.
- Cuide do áudio. Som é o que mais engorda pack. Reduza a taxa de amostragem, corte o silêncio e evite música longa.
- Resolução alta cobra caro duas vezes. Aumenta o download e o consumo de memória de vídeo de quem joga em máquina fraca, que é boa parte do público brasileiro.
- O SHA1 correto poupa todo mundo. Com o hash certo, só quem nunca baixou paga o download. Sem ele, todo jogador paga em toda entrada.
Se você está montando a identidade de uma temporada nova, vale combinar o pack com o restante do checklist de abertura em preparar o servidor para uma nova temporada. E se o servidor ainda nem existe, o Minecraft Fácil sobe um em cerca de um minuto, já com acesso ao server.properties pelo painel.
Perguntas frequentes
- Preciso de plugin para o servidor entregar um resource pack?
- Não. O próprio Minecraft entrega o pack a partir de três campos do server.properties. Plugins só entram quando você quer vários packs diferentes por mundo, por rank ou por evento.
- Para que serve o resource-pack-sha1?
- É o hash do arquivo, e serve para o cliente saber se o pack que ele já tem em cache é o mesmo que está no servidor. Com o hash correto, quem já baixou entra direto. Com o hash errado ou vazio, o jogador rebaixa o pack toda vez que conecta.
- Posso obrigar o jogador a usar o pack?
- Sim. Com require-resource-pack em true, quem recusar o download é desconectado. Use com cuidado: se o link cair ou o hash ficar desatualizado, ninguém consegue entrar no servidor.
- O link do meu armazenamento em nuvem não funciona. Por quê?
- Links de compartilhamento normalmente abrem uma página de visualização em vez de entregar o arquivo. O Minecraft precisa de uma URL que devolva o zip diretamente. Use a variante de download direto do serviço ou hospede em outro lugar.
- Dá para criar item personalizado só com resource pack?
- Dá, usando CustomModelData. O plugin dá ao item um número no atributo, e o pack mapeia esse número para um modelo diferente. Visualmente é um item novo, mecanicamente continua sendo o item base.
- Qual o tamanho máximo aceitável para um pack de servidor?
- Não existe limite fixo, mas cada megabyte é tempo de espera na entrada. Packs enxutos, na casa de poucos megabytes, quase não são percebidos. Passando de algumas dezenas, o jogador novo sente e alguns desistem antes de entrar.
Próximo passo
Planos Minecraft
Compare opções de hospedagem Minecraft no Brasil.
Guias relacionados
Como mudar a mensagem MOTD e o ícone do servidor Minecraft
A MOTD e o ícone são a primeira impressão do seu servidor na lista do jogo. Veja como editar o texto, adicionar cores e subir uma imagem de 64 por 64 pixels.
Como atualizar versão do Minecraft no servidor com segurança (Paper e plugins)
Atualizar versão no impulso, sem backup e sem checar plugins, é receita para mundo corrompido e comunidade furiosa. Este guia organiza a sequência que operadores brasileiros usam para migrar com previsibilidade.
Como preparar servidor Minecraft para nova temporada
Season nova não é só resetar mundo: envolve expectativa da comunidade, hardware dimensionado, plugins atualizados e janela de marketing que converte retorno e indicações.