
Como o FlowUpdater Potencializa o Desenvolvimento de Launche
FlowUpdater (FlowArg/FlowUpdater)
A solução gratuita e de código aberto para atualizar Minecraft.
Desenvolvendo um launcher Minecraft personalizado? Você precisa de um sistema de atualização confiável que não quebre as instalações de seus jogadores. FlowUpdater é uma biblioteca Java gratuita que cuida automaticamente das partes tediosas das atualizações do Minecraft - gerenciamento de versões, verificação de arquivos, carregamento de mods e verificação de integridade. É o que desenvolvedores de launchers usam quando não querem gastar meses construindo seu próprio pipeline de atualização.
O que FlowUpdater Faz
Pense no FlowUpdater como uma ponte entre seu launcher e os arquivos de instalação do Minecraft. Em vez de fazer download manualmente de versões, verificar hashes de arquivos e organizar mods, você o alimenta com uma configuração e ele cuida do resto. Ele verifica quais arquivos você já possui, faz download dos que faltam, verifica se tudo chegou corretamente e o prepara para o lançamento.
A biblioteca se adapta ao que você jogar nela. Seu launcher pode precisar de Minecraft vanilla, ou vanilla mais Forge, ou um modpack totalmente personalizado do CurseForge.
O projeto se concentra em confiabilidade e personalização - essas são as duas palavras que os mantenedores enfatizam. Não está tentando ser uma solução tudo-em-um com uma interface elegante. É uma biblioteca. Você a integra em seu próprio launcher e controla como funciona.
Por que Você Construiria com FlowUpdater
A maioria dos desenvolvedores que usam FlowUpdater se enquadra em algumas categorias. Primeiro estão os construtores de launchers personalizados - pessoas criando um cliente marcado para sua comunidade ou modpack. Em vez de escrever a lógica de atualização do zero, eles integram o FlowUpdater e se concentram em sua interface e recursos. Segundo estão os criadores de modpacks que distribuem através do CurseForge ou seus próprios servidores, onde o FlowUpdater lida com as partes complicadas de resolução e download de mods.
Administradores de servidores trabalhando em sistemas de auto-atualização de jogadores representam um terceiro caso de uso. Você poderia embutir o FlowUpdater para que os jogadores sincronizem mods e configurações automaticamente no momento em que fazem login.
O que diferencia o FlowUpdater de apenas fazer download de arquivos manualmente? Segurança e velocidade. A corrupção de arquivos acontece - interrupções de rede, downloads parciais, erros de disco. FlowUpdater verifica cada arquivo com checksums, para que seus jogadores nunca acidentalmente executem uma instalação quebrada. Ele também pula arquivos que já possui, então as atualizações apenas fazem download de deltas. Para alguém com uma conexão mais lenta atualizando um modpack grande, isso é a diferença entre cinco minutos e esperar uma hora.
Configurando FlowUpdater em Seu Projeto
FlowUpdater é distribuído através do Maven Central.
Adicione a dependência. Em Gradle:
dependencies {
implementation 'fr.flowarg:flowupdater:1.9.4'
}Ou Maven:
fr.flowarg
flowupdater
1.9.4
A seguir, crie sua configuração. No mínimo, você precisa de uma versão do Minecraft - qualquer versão que seus jogadores precisem. Crie esse objeto de versão e passe-o para FlowUpdater.
Aqui está a parte crítica: execute a atualização em um thread separado. FlowUpdater bloqueia até terminar o download e organizar tudo. Se você não usar thread, sua interface de launcher congela e os usuários pensam que o aplicativo travou.
Uma nota importante sobre a integração do CurseForge - a biblioteca inclui suporte integrado, mas usa uma chave de API pertencente ao mantenedor do FlowUpdater. Se você estiver fazendo fork do projeto ou construindo algo que distribuirá amplamente, precisará de sua própria chave de API do CurseForge. Leia a licença GPL-3.0 com cuidado sobre esse ponto.
Os Recursos que Importam
FlowUpdater não está fingindo ser algo que não é. Faz algumas coisas e as faz bem.
Gerenciamento de versão é direto. Você especifica uma versão do Minecraft e FlowUpdater sabe de onde obtê-la, quais bibliotecas Java ela precisa e quais assets (sons, texturas, modelos) vêm com ela. Para versões personalizadas, você pode passar sua própria configuração JSON.
Suporte do carregador de mods cobre os principais. Forge, NeoForge, Fabric - FlowUpdater sabe como fazer download e instalar cada carregador, e entende cadeias de compatibilidade de versão.
Integração do CurseForge genuinamente economiza tempo se você estiver distribuindo modpacks. Em vez de hospedar seus próprios arquivos de mod, você referencia IDs de projeto do CurseForge e IDs de arquivo, e FlowUpdater os extrai automaticamente. Criadores de modpacks economizam custos de largura de banda e horas em gerenciamento de arquivos.
Mods e arquivos personalizados funcionam ao lado de tudo mais. Se você tiver seu próprio mod hospedado ou arquivo de configuração, passe uma lista com URLs, tamanhos de arquivo e hashes SHA-1. FlowUpdater os trata de forma idêntica - faz download se faltarem, verifica se estão presentes.
Callbacks de progresso permitem mostrar aos usuários o que está realmente acontecendo. Você obtém total de arquivos para fazer download, progresso atual, nomes de arquivos - dados que sua interface pode usar para uma barra de progresso adequada em vez de "aguarde".
Armadilhas Comuns e Como Evitá-las
Threading é a primeira armadilha. Mencionei isso acima, mas vale a pena repetir porque as pessoas pulam.
Segundo: não codifique as chaves de API em seu código-fonte. Se você distribuir o código do seu launcher no GitHub, qualquer pessoa pode roubar essa chave e atingir os limites de taxa do CurseForge usando sua cota.
Terceiro é a formatação de string de versão. Os IDs de versão do Minecraft seguem padrões específicos. As versões de lançamento padrão e identificadores de snapshot funcionam, mas strings aleatórias não. Se você está aceitando entrada do usuário para versões, valide-a em relação a uma lista de permissões de versões conhecidas.
Última: os hashes de arquivo importam. Quando você está adicionando mods personalizados à sua lista, calcule os hashes SHA-1 corretamente. Um erro de digitação significa que FlowUpdater pensará que o arquivo está corrompido e o fará download novamente toda vez.
Quando Usar Alternativas
FlowUpdater é uma biblioteca, não um launcher. Se você deseja um launcher acabado que pode baixar e executar imediatamente, procure em outro lugar - MultiMC, PrLauncher e launchers existentes semelhantes lidam com isso. FlowUpdater é para desenvolvedores construindo seus próprios.
Se você está codificando em uma linguagem diferente de Java, precisará de uma solução diferente. Se seu projeto é apenas dois ou três mods fixos e você está disposto a hospedar arquivos, construir um script de download simples pode ser exagerado. Mas uma vez que você precisa de versioning, auto-updates e instalações voltadas para o jogador, FlowUpdater ganha seu lugar.
Para administradores de servidores Minecraft, há um meio termo. Você poderia usar FlowUpdater para construir uma pequena ferramenta de atualizador que seus jogadores executam antes de entrar. Uma adição útil ao seu launcher: integre com o criador de lista branca minecraft.how para que os jogadores possam gerenciar listas brancas do servidor facilmente. E se você estiver executando seu próprio servidor, a ferramenta de DNS gratuita ajuda a apontar domínios personalizados para seus servidores.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


