Il s'agit d'une implémentation Minestom d'une récréation Hypixel-SkyBlock hébergée sur mon serveur sur discord.gg/theatlas. Cette implémentation est loin d’être terminée et n’est pas prête pour la production. Il y a encore des parties de la base de code qui sont désordonnées et ne suivent pas les bonnes pratiques standard de Minestom.
Hypixel SkyBlock
Une recréation 1,8 à 1,21 de HypixelSkyBlock utilisant Minestom, dans le but d'avoir réellement une base de code correctement abstraite et évolutive.
Sorties
Les versions sont automatiquement déployées en push sur la page des versions de GitHub qui peut être trouvée ici. Des mises à jour sont également envoyées périodiquement sur mon serveur Discord situé sur discord.gg/theatlas.
Javadocs
Les Javadocs peuvent être trouvés ici.
Spécifications de l'appareil recommandées
Ce projet n’est pas censé être un petit serveur et, en tant que tel, son exécution nécessite une quantité décente de ressources. Voici les spécifications minimales pour exécuter ce serveur :
- 16 Go de RAM (4 Go pour MongoDB, 12 Go sur les serveurs et services)
- 6 cœurs (pour un multithread suffisant)
- 15 Go de stockage
Guide de configuration
Une vidéo de moi parcourant le guide peut être trouvée ici
- Assurez-vous que vous respectez les spécifications de périphérique recommandées ci-dessus.
- Démarrez un service MongoDB localement ou à distance, un guide d'installation peut être trouvé ici.
- Assurez-vous que le SDK
Java 21
est installé. - Démarrez un serveur Redis, si vous êtes sous Windows, vous pouvez exécuter un programme d'installation ici
- Suivez le « Guide de configuration du proxy » ci-dessous. (Remarque, si vous souhaitez exécuter un serveur cracké, vous devez définir "require-authentication" sur true dans votre configuration)
- Suivez le « Guide de configuration du serveur de jeu » ci-dessous. (Remarque, si vous souhaitez exécuter un serveur cracké, vous devez définir "require-authentication" sur true dans votre configuration)
- Suivez le « Guide de configuration du service » ci-dessous.
- Suivez le « Guide de configuration du pack de ressources » ci-dessous.
- Pour vous donner ADMIN, connectez-vous et déconnectez-vous du serveur, allez dans votre boussole MongoDB, cliquez sur Minestom -> data, trouvez votre profil et définissez votre rang sur "ADMIN". Reconnectez-vous et vous l'aurez.
Guide de configuration du proxy
- Téléchargez « SkyBlockProxy.jar » à partir de la page des versions ici
- Téléchargez le proxy Velocity à partir d'ici
- Téléchargez
velocity.toml
à partir d'ici et déplacez-le là où vous souhaitez que votre serveur proxy s'exécute. - Déplacez également votre JAR proxy Velocity dans ce dossier et exécutez le proxy en utilisant
java -jar velocity-3.3.0-SNAPSHOT-400.jar
comme commande dans ce répertoire. - Fermez ce proxy une fois qu'il a généré le dossier
plugins
, simplement en appuyant sur CTRL + C
ou en fermant l'invite CMD. - Déplacez le
SkyBlockProxy.jar
précédent dans le dossier des plugins. - Créez un nouveau dossier où se trouve votre
velocity.toml
et appelez configuration
- Téléchargez
resources.json
à partir d'ici - Déplacez ce fichier dans le dossier
configuration
que vous venez de créer. - Redémarrez le proxy en utilisant
java -jar velocity-3.3.0-SNAPSHOT-400.jar
. Cela devra être activé pour que vos serveurs de jeux fonctionnent.
Guide de configuration du serveur de jeu
- Téléchargez « SkyBlockCore.jar » à partir de la page des versions ici
- Créez un dossier appelé
configuration
dans le même répertoire que le fichier JAR. (Notez que cela doit être placé différemment de l'endroit où se trouve votre proxy) - Téléchargez
resources.json
à partir d'ici - Déplacez ce fichier dans le dossier
configuration
que vous venez de créer. - Téléchargez les fichiers du monde pour les mondes Hub et Island.
- Obtenez le hub Hypixel SkyBlock à partir du téléchargement ci-dessus et placez-le dans le dossier de configuration que vous avez créé sous le nom
hypixel_hub
. - Obtenez le modèle par défaut de Hypixel Island à partir du téléchargement ci-dessus et placez-le dans le dossier de configuration que vous avez créé sous le nom
hypixel_island_template
. - Il devrait y avoir un fichier
forwarding.secret
là où se trouve votre Velocity JAR, prenez-le et placez-le dans votre resources.json
sous velocity-secret
. - Exécutez le jar en utilisant
java -jar {Insert the JAR file} ISLAND
, cela créera un serveur Island qui se verrouillera sur votre proxy en cours d'exécution. - Pour créer d'autres serveurs de jeu pour les autres îles, exécutez simplement à nouveau la commande ci-dessus, mais avec différents types d'îles, vous pouvez voir tous les types possibles ici.
- Téléchargez
NanoLimbo-1.7-all.jar
à partir d'ici et téléchargez son fichier de configuration à partir du même endroit. Démarrez-le en arrière-plan en utilisant java -jar NanoLimbo-1.7-all.jar
. - Téléchargez
Minestom.regions.csv
à partir d'ici et téléchargez-les dans la collection regions
créée dans votre Mongo après le démarrage du serveur. Une fois cela fait, redémarrez votre serveur. - (FACULTATIF) Si vous souhaitez avoir des âmes de fées, téléchargez
Minestom.fairysouls.csv
à partir d'ici et téléchargez-les dans la collection fairysouls
créée dans votre Mongo après le démarrage du serveur. Une fois cela fait, redémarrez votre serveur. - (FACULTATIF) Si vous souhaitez avoir les cristaux Hub (vous pouvez également simplement
/addcrystal
), téléchargez Minestom.crystals.csv
à partir d'ici et téléchargez-les dans la collection crystals
créée dans votre Mongo après le démarrage du serveur. Une fois cela fait, redémarrez votre serveur. - (FACULTATIF) Si vous souhaitez avoir des chansons sur votre serveur, copiez le dossier
songs
à partir d'ici et placez-le dans votre dossier de configuration.
Guide de configuration des services
- En raison de la nature de SkyBlock, une variété de services peuvent devoir être exécutés. Accédez à la page des versions ici et téléchargez tous les fichiers .JAR commençant par
Service
. - Déplacez ces fichiers JAR dans le même répertoire que vos serveurs de jeux, ils partageront la configuration JSON avec les services.
- Exécutez-les en utilisant
java -jar {Insert the JAR file}
.
Guide de configuration du pack de ressources
- En préparation pour SkyBlock version 1, nous disposons déjà d'une configuration système de pack de ressources. Pour commencer, téléchargez le
SkyBlockPacker.jar
à partir de la page des versions ici. - Téléchargez les dossiers pack_textures et SkyBlockPack et déplacez-les là où se trouve le JAR du packer.
- Exécutez le JAR du packer en utilisant
java -jar SkyBlockPacker.jar -v (Location of SkyBlockPack) -o (Output Directory) -t (Location of Pack Textures)
. - Une fois cette opération terminée, vous devriez avoir un pack de ressources dans le répertoire de sortie que vous avez spécifié. Appliquez simplement ceci sur Minecraft et vous serez prêt à partir.
Problèmes courants
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.
=> Votre Memurai ne fonctionne pas.
Preview features are not enabled for... Try running with '--enable-preview'
=> essayez java --enable-preview -jar SkyBlockCore.jar {ServerType}
Crédits
Grâce à:
- Toutes les personnes adorables du discord Minestom pour avoir porté à elles seules toutes mes connaissances sur cette API.
- Moi-même et tous les autres contributeurs, qui peuvent être consultés sur cette page Git.