Skip to content

taggernation/SkyblockCore

This branch is 3 commits ahead of, 72 commits behind IllusionTheDev/SkyblockCore:master.

Folders and files

NameName
Last commit message
Last commit date
Oct 5, 2021
Oct 4, 2021
Oct 4, 2021
Oct 4, 2021
Oct 4, 2021
Oct 5, 2021
Mar 12, 2022
Oct 4, 2021
Oct 4, 2021
Oct 4, 2021
Jan 8, 2022
Mar 2, 2022
Mar 12, 2022
Oct 4, 2021
Oct 4, 2021

Repository files navigation

SkyblockCore

GitHub Repo stars GitHub watchers GitHub release (latest by date including pre-releases) GitHub all releases GitHub issues

This project consists on an advanced Skyblock core made to scale massively.

To start, the plugin requires a SQL connection, used to store the islands and all the player data If you do not have/need a SQL connection, change the storage type to SQLITE on the config.yml file

Best paired with my DataSync Plugin, which handles inventory, food, enderchest, potion synchronization and more!


Known issues:

  • Default .mca file is 1.17.1+ (Possible fix: Start the server on 1.17.1, replace start-schematic/r.0.0.mca file with a new island schematic, delete all worlds and change versions)
  • FAWE doesn't work (Has to do with versioning)

I am aware of both issues, and aim to release fixes soon, please do not annoy me about them.


Setup instructions:

  • Load the plugin into an empty server
  • Set the storage database info into the config.yml file (Available types: Amazon S3, MySQL, SQLite, MongoDB, Flat-file (creates multiple files on a folder))
  • Restart
  • Configure to your liking

If you're running SlimeWorldManager:

  • Ensure that SlimeWorldManager saves to file, as SkyblockCore handles world serialization automatically
  • Set the pasting type to SLIME, otherwise things will break
  • Restart
  • Test thoroughly

If on a proxy:

  • Put the plugin on the proxy's plugins folder, as well as set-up each instance with the steps above.
  • Set the storage info into the bungee-config.yml file (note that instances should also be running on the same database, file-based databases are naturally unsupported in bungee mode)
  • Restart

If you're running multiple proxies (Requires Redis):

  • Put the plugin on each proxy and instance
  • Set them all to use the same database
  • On each proxy, also set the communication database details (Redis by default, RabbitMQ and a native Socket-based system coming soon)
  • Restart all proxies (If you don't have database drivers, you're going to have to restart twice)

Technical Aspects:

Now available on the Wiki!


Technologies Used:

  • SpigotAPI
  • MySQL
  • SQLite
  • Gradle
  • Bungeecord
  • Redis
  • MongoDB

Plugin Hooks

  • Vault
  • FastAsyncWorldEdit
  • SlimeWorldManager

Some thoughts:

SkyblockCore is incredibly difficult to develop, unlike a regular core, there is a lot of thought put into every line of code, the plugin is supposed to expect players switching across servers, proxies, players leaving mid-loading, different proxies for the same team members, all of it while handling all of the commands on the spigot side, so players on a survival server can't run skyblock commands.

It might not seem like it, but this project is absolutely massive on its current state, and I'd say it's about 20% done.

If you'd like to help with the project, even as someone without any code experience, here are some things that would greatly help me out:

  • Testing
  • Helping with the wiki
  • Writing issues
  • Planning
  • Donating (purely your choice, there's no benefit other than making me happy)

Packages

No packages published

Languages

  • Java 100.0%