A opção require-resource-pack em server.properties exige que o jogador aceite e baixe o pacote de recursos do servidor para entrar; quem recusar será removido. É útil quando texturas, sons ou interface são essenciais ao modo de jogo, mas cria um requisito de conexão que pode falhar por URL inválida, arquivo grande, CDN indisponível ou cliente sem espaço.
Antes de tornar obrigatório, avalie se o conteúdo essencial realmente depende do pacote. Se for cosmético, permitir recusa reduz fricção. Se o pacote contém texturas necessárias para identificar objetos customizados, informe isso com clareza e ofereça solução de suporte para download bloqueado.
Prepare o arquivo e a distribuição
O ZIP precisa ser acessível por uma URL que os clientes possam alcançar sem login, certificado inválido ou redirecionamentos incompatíveis. Hospede-o em infraestrutura estável e com disponibilidade adequada, considerando CDN e limite de transferência. Um link que funciona no navegador do administrador não prova que todos os clientes conseguem baixar.
Confirme formato, arquivos e estrutura do pacote para a versão suportada. Evite incluir arquivos temporários, fontes licenciadas sem direito de distribuição ou arquivos muito grandes sem necessidade. Comprima recursos e teste tempo de download em conexão móvel.
Defina a URL, `resource-pack-prompt` e `resource-pack-sha1`. O prompt deve explicar por que o pacote é necessário e o que fazer em caso de erro. Use texto claro e curto; os jogadores não devem confundir o aviso com um pedido de senha ou instalador externo.
Calcule e mantenha o hash
Paper recomenda definir SHA-1 para ajudar o cliente a verificar que baixou o arquivo esperado. Calcule o hash do ZIP exato publicado, não da pasta original nem de uma versão anterior. Qualquer recompressão pode alterar o hash mesmo que os arquivos internos pareçam iguais.
Depois de substituir o pacote, gere novamente o hash e atualize a configuração coordenadamente. Se URL aponta para o arquivo novo enquanto hash ainda é antigo, jogadores podem receber aviso ou falhar na aplicação. Para migrações sem interrupção, publique arquivo versionado numa URL nova, teste, troque configuração e depois retire arquivo antigo quando a janela de cache passar.
Guarde versão e hash no changelog interno para reproduzir falhas. Um checksum não prova que o conteúdo é seguro ou autorizado; apenas compara bytes com o identificador calculado.
Teste em clientes e versões suportadas
Use staging com a mesma URL e um grupo de clientes compatíveis. Teste aceite, recusa, cancelamento, interrupção de rede, arquivo inválido, hash incompatível e reconexão. Confirme o prompt, o estado aplicado dentro do jogo, sons, modelos e fontes. Teste também Geyser e clientes modificados caso a comunidade os utilize.
Teste conexão em rede diferente do servidor, incluindo conexão móvel ou VPN autorizada. Certificados HTTPS e redirecionamentos devem funcionar em clientes reais; não use URL local nem dependente de cookie. Verifique logs do host/CDN para status HTTP, tamanho e erro de transmissão.
O jogador precisa receber feedback compreensível. Se for chutado, a mensagem deve indicar que o pacote é obrigatório e para onde pedir ajuda. Não peça que desative antivírus ou segurança do sistema para aceitar um arquivo.
Planeje acessibilidade e alternativa
Uma textura pode dificultar leitura para daltonismo, baixa visão ou tela pequena. Teste contraste, símbolos, fontes e legibilidade em várias resoluções. Quando possível, forneça conteúdo equivalente ou opção cosmética, sem comprometer regras competitivas.
Se o pacote é indispensável para um modo, explique antes de promover e mantenha suporte. Considere uma área ou servidor alternativo sem assets cosméticos quando o conteúdo não é essencial. A decisão de exigir pacote deve refletir experiência, acessibilidade e capacidade de distribuição.
Peça permissão para conteúdo externo de terceiros e confira licenças de texturas, sons e fontes. Não inclua marcas ou recursos de outros criadores sem direito de distribuição. Mantenha atribuições ou avisos necessários dentro do projeto e na documentação do pacote.
Ative e mantenha reversível
Faça backup de server.properties e anote valor anterior. Publique o arquivo e valide URL/hash antes de ativar require-resource-pack=true. Reinicie conforme necessário e conecte com conta de teste sem OP. Confirme que o pacote realmente é exigido e aplicado.
Monitore taxa de download, erro HTTP, quantidade de jogadores que recusam e tickets. Uma taxa de falha alta pode indicar bloqueio da CDN ou tamanho excessivo, não recusa deliberada. Defina um responsável por suporte e janela para rollout gradual.
Se o arquivo fica indisponível, faça rollback com mensagem temporária ou desative exigência se o jogo puder funcionar sem ele. Se não puder, comunique manutenção e restaure a URL validada. Não altere URL, hash e vários plugins ao mesmo tempo sem teste.
Atualize sem deixar clientes em cache incorreto
Use URL com versão ou nome de arquivo novo a cada mudança significativa para evitar cache servir ZIP antigo. Atualize hash junto com a URL e mantenha versão anterior por prazo de transição. Teste lista de servidores, entrada direta e reconnect.
Documente data, versão, conteúdo e hash. Guarde o artefato publicado e um arquivo fonte editável com permissões adequadas. Assim, se o pacote der problema, é possível comparar exatamente a versão que clientes baixaram.
A exigência é apropriada quando o jogo depende de assets e o caminho de distribuição foi testado. Um ZIP publicado com URL confiável, hash atualizado, prompt claro e rollback evita boa parte dos tickets de conexão.
Prepare um canal de suporte
Peça que o jogador informe versão do cliente, sistema operacional, texto da falha e se o download funciona no navegador, sem enviar arquivos de sessão ou dados pessoais. Verifique logs do CDN no mesmo horário e compare com clientes que conseguiram entrar. Mensagens como timeout, hash mismatch e recusa manual exigem respostas diferentes.
Mantenha uma página de ajuda com espaço em disco, permissões de download e passo para limpar apenas o cache de recurso quando isso for apropriado. Não oriente a remover pastas de jogo inteiras nem executar arquivos de terceiros. Se o pacote tiver dependências de mod, informe previamente os requisitos de cliente.
Defina um responsável pela atualização do pack e pelo suporte de download. Alterações concorrentes no ZIP e nas configurações criam falhas difíceis de reproduzir. Use checklist com URL, hash, cliente, aceitação, aplicação visual e rollback.
Audite tamanho e tráfego
Acompanhe quantos downloads ocorrem no lançamento e se o host/CDN suporta tráfego simultâneo. Um evento pode iniciar centenas de downloads; limite, cache ou banda insuficiente pode produzir falha mesmo com URL correta. Faça rollout antecipado com equipe e use CDN confiável se o público e o volume justificarem.
Compare tamanho do arquivo antes de cada release e investigue crescimento inesperado. Texturas duplicadas, áudio sem compressão ou arquivos não usados ampliam download. Otimize mantendo fidelidade suficiente ao design e valide que a recompressão não quebrou hash.
Inclua custo de hospedagem e largura de banda no plano, mas mantenha a URL estável para a comunidade. Se o host muda, faça transição com teste externo e prazo para propagação; comunique a nova versão em vez de mandar usuários buscarem arquivo por links aleatórios.
Fontes e referências
- Paper: resource-pack e require-resource-pack
- Paper: resource packs no protocolo Adventure
- Minecraft: padrões de comunidade
Documentação consultada em 2026-10-08. Os exemplos precisam ser conferidos na versão instalada; este guia não afirma que a configuração foi testada no seu ambiente.