Esta é uma implementação Minestom de uma recriação Hypixel-SkyBlock hospedada em meu servidor em discord.gg/theatlas. Esta implementação está longe de ser concluída e não está pronta para produção. Ainda existem partes da base de código que são confusas e não seguem as práticas padrão adequadas do Minestom.
Hypixel SkyBlock
Uma recriação 1.8 a 1.21 do HypixelSkyBlock utilizando Minestom, com a intenção de realmente ter uma base de código escalonável e devidamente abstraída.
Lançamentos
As versões são implantadas automaticamente por push na página de versões do GitHub, que pode ser encontrada aqui. As atualizações também são enviadas periodicamente em meu servidor discord localizado em discord.gg/theatlas.
Javadocs
Javadocs podem ser encontrados aqui.
Especificações de dispositivos recomendados
Este projeto não pretende ser um servidor pequeno e, como tal, requer uma quantidade razoável de recursos para ser executado. A seguir estão as especificações mínimas para executar este servidor:
- 16 GB de RAM (4 GB para MongoDB, 12 GB em servidores e serviços)
- 6 núcleos (para multithreading suficiente)
- 15 GB de armazenamento
Guia de configuração
Um vídeo meu seguindo o guia pode ser encontrado aqui
- Certifique-se de atender às especificações de dispositivo recomendadas acima.
- Inicie um serviço MongoDB local ou remotamente. Um guia de instalação pode ser encontrado aqui.
- Certifique-se de ter o
Java 21
SDK instalado. - Inicie um servidor Redis, se você estiver no Windows você pode executar um instalador aqui
- Siga o 'Guia de configuração de proxy' abaixo. (Observe que se você deseja executar um servidor crackeado, você deve definir "require-authentication" como true em sua configuração)
- Siga o 'Guia de configuração do servidor de jogos' abaixo. (Observe que se você deseja executar um servidor crackeado, você deve definir "require-authentication" como true em sua configuração)
- Siga o 'Guia de configuração de serviço' abaixo.
- Siga o 'Guia de configuração do pacote de recursos' abaixo.
- Para se tornar ADMIN, faça login e logout do servidor, entre na bússola do MongoDB, clique em Minestom -> dados, encontre seu perfil e defina sua classificação como "ADMIN". Faça login novamente e você terá.
Guia de configuração de proxy
- Baixe 'SkyBlockProxy.jar' da página de lançamentos aqui
- Baixe o proxy Velocity aqui
- Baixe
velocity.toml
aqui e mova-o para onde deseja que seu servidor proxy seja executado. - Mova seu JAR do proxy Velocity para essa pasta também e execute o proxy usando
java -jar velocity-3.3.0-SNAPSHOT-400.jar
como um comando nesse diretório. - Feche este proxy assim que ele gerar a pasta
plugins
, apenas pressionando CTRL + C
ou fechando o Prompt do CMD. - Mova o
SkyBlockProxy.jar
anterior para a pasta de plug-ins. - Crie uma nova pasta onde está seu
velocity.toml
e chame-a configuration
- Baixe
resources.json
aqui - Mova este arquivo para a pasta
configuration
que você acabou de criar. - Inicie o proxy novamente usando
java -jar velocity-3.3.0-SNAPSHOT-400.jar
. Isso precisará estar ativado para que os servidores do jogo funcionem.
Guia de configuração do servidor de jogos
- Baixe 'SkyBlockCore.jar' da página de lançamentos aqui
- Crie uma pasta chamada
configuration
no mesmo diretório do arquivo JAR. (Observe que isso deve ser colocado de forma diferente de onde está o seu proxy) - Baixe
resources.json
aqui - Mova este arquivo para a pasta
configuration
que você acabou de criar. - Baixe os arquivos mundiais para os mundos Hub e Island.
- Obtenha o hub Hypixel SkyBlock do download acima e coloque-o na pasta de configuração que você criou com o nome
hypixel_hub
. - Obtenha o modelo padrão do Hypixel Island no download acima e coloque-o na pasta de configuração que você criou com o nome
hypixel_island_template
. - Deve haver um arquivo
forwarding.secret
onde está o seu Velocity JAR, pegue-o e coloque-o em seu resources.json
em velocity-secret
. - Execute o jar usando
java -jar {Insert the JAR file} ISLAND
, isso criará um servidor Island que se conectará ao seu proxy em execução. - Para fazer outros servidores de jogo para outras ilhas basta executar o comando acima novamente, mas com diferentes tipos de ilhas, você pode ver todos os tipos possíveis aqui.
- Baixe
NanoLimbo-1.7-all.jar
aqui e baixe seu arquivo de configuração no mesmo local. Inicie em segundo plano usando java -jar NanoLimbo-1.7-all.jar
. - Baixe
Minestom.regions.csv
aqui e carregue-os na coleção regions
feita em seu Mongo após iniciar o servidor. Depois de fazer isso, reinicie seu servidor. - (OPCIONAL) Se você deseja ter fairy souls, baixe
Minestom.fairysouls.csv
aqui e carregue-os na coleção fairysouls
feita em seu Mongo após iniciar o servidor. Depois de fazer isso, reinicie seu servidor. - (OPCIONAL) Se você deseja ter os cristais Hub (você também pode apenas
/addcrystal
), baixe Minestom.crystals.csv
aqui e carregue-os na coleção crystals
feita em seu Mongo após iniciar o servidor. Depois de fazer isso, reinicie seu servidor. - (OPCIONAL) Se você deseja ter músicas em seu servidor, copie a pasta de
songs
daqui e coloque-a dentro de sua pasta de configuração.
Guia de configuração de serviço
- Devido à natureza do SkyBlock, pode haver uma variedade de serviços que precisam ser executados. Vá para a página de lançamentos aqui e baixe qualquer arquivo .JAR que comece com
Service
. - Mova esses arquivos JAR para o mesmo diretório dos seus servidores de jogos, eles compartilharão o JSON de configuração com os serviços.
- Execute-os usando
java -jar {Insert the JAR file}
.
Guia de configuração do pacote de recursos
- Em preparação para a versão 1 do SkyBlock, já temos uma configuração do sistema de pacotes de recursos. Para começar, baixe
SkyBlockPacker.jar
na página de lançamentos aqui. - Baixe as pastas pack_textures e SkyBlockPack e mova-as para onde está o JAR do packer.
- Execute o JAR do empacotador usando
java -jar SkyBlockPacker.jar -v (Location of SkyBlockPack) -o (Output Directory) -t (Location of Pack Textures)
. - Quando isso terminar, você deverá ter um pacote de recursos no diretório de saída especificado. Basta aplicar isso no Minecraft e você estará pronto para prosseguir.
Problemas comuns
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.
=> Seu Memurai não está funcionando.
Preview features are not enabled for... Try running with '--enable-preview'
=> tente java --enable-preview -jar SkyBlockCore.jar {ServerType}
Créditos
Graças a:
- Todas as pessoas adoráveis da discórdia do Minestom por carregarem sozinhas todo o meu conhecimento sobre esta API.
- Eu e quaisquer outros colaboradores, que podem ser visualizados nesta página do Git.