Dies ist eine Minestom-Implementierung eines Hypixel-SkyBlock-Spiels, das auf meinem Server unter discord.gg/theatlas gehostet wird. Diese Implementierung ist noch lange nicht abgeschlossen und noch nicht produktionsreif. Es gibt immer noch Teile der Codebasis, die chaotisch sind und nicht der ordnungsgemäßen Minestom-Standardpraxis entsprechen.
Hypixel SkyBlock
Eine 1.8-zu-1.21-Nachbildung von HypixelSkyBlock unter Verwendung von Minestom, mit dem Ziel, tatsächlich eine gut abstrahierte, skalierbare Codebasis zu haben.
Veröffentlichungen
Releases werden automatisch per Push auf der GitHub-Release-Seite bereitgestellt, die Sie hier finden. Updates werden auch regelmäßig über meinen Discord-Server unter discord.gg/theatlas gesendet.
Javadocs
Javadocs finden Sie hier.
Empfohlene Gerätespezifikationen
Dieses Projekt ist nicht als kleiner Server gedacht und erfordert daher eine angemessene Menge an Ressourcen, um ausgeführt zu werden. Im Folgenden sind die Mindestanforderungen für den Betrieb dieses Servers aufgeführt:
- 16 GB RAM (4 GB für MongoDB, 12 GB für Server und Dienste)
- 6 Kerne (für ausreichend Multithreading)
- 15 GB Speicher
Setup-Anleitung
Ein Video, in dem ich den Leitfaden durchgehe, finden Sie hier
- Stellen Sie sicher, dass Sie die oben empfohlenen Gerätespezifikationen erfüllen.
- Starten Sie einen MongoDB-Dienst entweder lokal oder remote. Eine Anleitung zur Installation finden Sie hier.
- Stellen Sie sicher, dass Sie das
Java 21
SDK installiert haben. - Starten Sie einen Redis-Server. Wenn Sie Windows verwenden, können Sie hier ein Installationsprogramm ausführen
- Befolgen Sie die nachstehende Anleitung zur Proxy-Einrichtung. (Hinweis: Wenn Sie einen gecrackten Server betreiben möchten, müssen Sie „require-authentication“ in Ihrer Konfiguration auf „true“ setzen.)
- Befolgen Sie die nachstehende Anleitung zum Einrichten eines Spielservers. (Hinweis: Wenn Sie einen gecrackten Server betreiben möchten, müssen Sie „require-authentication“ in Ihrer Konfiguration auf „true“ setzen.)
- Befolgen Sie die nachstehende „Service-Setup-Anleitung“.
- Befolgen Sie die nachstehende Anleitung zur Einrichtung des Ressourcenpakets.
- Um sich ADMIN zu geben, melden Sie sich beim Server an und ab, gehen Sie in Ihren MongoDB-Kompass, klicken Sie auf Minestom -> Daten, suchen Sie Ihr Profil und setzen Sie Ihren Rang auf „ADMIN“. Melden Sie sich erneut an und schon haben Sie es.
Anleitung zur Proxy-Einrichtung
- Laden Sie „SkyBlockProxy.jar“ hier von der Veröffentlichungsseite herunter
- Laden Sie den Velocity-Proxy hier herunter
- Laden Sie
velocity.toml
von hier herunter und verschieben Sie es an den Ort, an dem Ihr Proxyserver ausgeführt werden soll. - Verschieben Sie auch Ihre Velocity-Proxy-JAR-Datei in diesen Ordner und führen Sie den Proxy mit
java -jar velocity-3.3.0-SNAPSHOT-400.jar
als Befehl in diesem Verzeichnis aus. - Schließen Sie diesen Proxy, sobald er den
plugins
-Ordner generiert hat, indem Sie einfach CTRL + C
drücken oder die CMD-Eingabeaufforderung schließen. - Verschieben Sie die
SkyBlockProxy.jar
von früher in den Plugins-Ordner. - Erstellen Sie einen neuen Ordner, in dem sich Ihre
velocity.toml
befindet, und nennen Sie ihn configuration
- Laden Sie
resources.json
hier herunter - Verschieben Sie diese Datei in den soeben erstellten
configuration
. - Starten Sie den Proxy erneut mit
java -jar velocity-3.3.0-SNAPSHOT-400.jar
. Dies muss aktiviert sein, damit Ihre Spieleserver funktionieren.
Gameserver-Setup-Anleitung
- Laden Sie „SkyBlockCore.jar“ hier von der Veröffentlichungsseite herunter
- Erstellen Sie einen Ordner mit dem Namen
configuration
im selben Verzeichnis wie die JAR-Datei. (Beachten Sie, dass dies anders platziert werden sollte als Ihr Proxy) - Laden Sie
resources.json
hier herunter - Verschieben Sie diese Datei in den soeben erstellten
configuration
. - Laden Sie die Weltdateien für die Hub- und Inselwelten herunter.
- Holen Sie sich den Hypixel SkyBlock-Hub aus dem obigen Download und legen Sie ihn in dem von Ihnen erstellten Konfigurationsordner unter dem Namen
hypixel_hub
ab. - Holen Sie sich die Hypixel Island-Standardvorlage aus dem obigen Download und legen Sie sie in dem von Ihnen erstellten Konfigurationsordner unter dem Namen
hypixel_island_template
ab. - Dort, wo sich Ihr Velocity-JAR befindet, sollte sich eine Datei
forwarding.secret
befinden. Nehmen Sie diese und fügen Sie sie in Ihre resources.json
unter velocity-secret
ein. - Führen Sie das JAR mit
java -jar {Insert the JAR file} ISLAND
aus. Dadurch wird ein Island-Server erstellt, der sich an Ihren laufenden Proxy anschließt. - Um andere Spielserver für die anderen Inseln zu erstellen, führen Sie einfach den obigen Befehl erneut aus. Bei anderen Inseltypen können Sie hier alle möglichen Typen sehen.
- Laden Sie
NanoLimbo-1.7-all.jar
hier herunter und laden Sie die Konfigurationsdatei von derselben Stelle herunter. Starten Sie es im Hintergrund mit java -jar NanoLimbo-1.7-all.jar
. - Laden Sie
Minestom.regions.csv
hier herunter und laden Sie sie nach dem Starten des Servers in die regions
hoch, die in Ihrem Mongo erstellt wurde. Sobald Sie dies getan haben, starten Sie Ihren Server neu. - (OPTIONAL) Wenn Sie Feenseelen haben möchten, laden Sie
Minestom.fairysouls.csv
hier herunter und laden Sie sie nach dem Starten des Servers in die fairysouls
-Sammlung hoch, die in Ihrem Mongo erstellt wurde. Sobald Sie dies getan haben, starten Sie Ihren Server neu. - (OPTIONAL) Wenn Sie die Hub-Kristalle haben möchten (Sie können auch einfach
/addcrystal
verwenden), laden Sie Minestom.crystals.csv
hier herunter und laden Sie sie nach dem Starten des Servers in die crystals
Ihres Mongo hoch. Sobald Sie dies getan haben, starten Sie Ihren Server neu. - (OPTIONAL) Wenn Sie Songs auf Ihrem Server haben möchten, kopieren Sie den
songs
Ordner von hier und legen Sie ihn in Ihrem Konfigurationsordner ab.
Service-Setup-Anleitung
- Aufgrund der Natur von SkyBlock müssen möglicherweise verschiedene Dienste ausgeführt werden. Gehen Sie hier zur Release-Seite und laden Sie alle .JAR-Dateien herunter, die mit
Service
beginnen. - Verschieben Sie diese JAR-Dateien in dasselbe Verzeichnis wie Ihre Spieleserver. Sie teilen die JSON-Konfiguration mit den Diensten.
- Führen Sie sie mit
java -jar {Insert the JAR file}
.
Anleitung zur Einrichtung des Ressourcenpakets
- Zur Vorbereitung auf SkyBlock Version 1 haben wir bereits ein Ressourcenpaket-System eingerichtet. Laden Sie zunächst
SkyBlockPacker.jar
von der Release-Seite hier herunter. - Laden Sie die Ordner pack_textures und SkyBlockPack herunter und verschieben Sie sie dorthin, wo sich die Packer-JAR befindet.
- Führen Sie die Packer-JAR mit
java -jar SkyBlockPacker.jar -v (Location of SkyBlockPack) -o (Output Directory) -t (Location of Pack Textures)
aus. - Sobald dies abgeschlossen ist, sollte sich im von Ihnen angegebenen Ausgabeverzeichnis ein Ressourcenpaket befinden. Wenden Sie dies einfach auf Minecraft an und schon kann es losgehen.
Häufige Probleme
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.
=> Dein Memurai läuft nicht.
Preview features are not enabled for... Try running with '--enable-preview'
=> versuchen Sie es mit java --enable-preview -jar SkyBlockCore.jar {ServerType}
Credits
Dank:
- All die lieben Leute im Minestom-Discord, die mein gesamtes Wissen über diese API im Alleingang weitergegeben haben.
- Ich selbst und alle anderen Mitwirkenden, die auf dieser Git-Seite angezeigt werden können.