question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

A few months ago I had a suggestion send to tastybento about storing all island data (from blocks to signs and even chests) and it would be amazing if this can really be added.

The suggestion: I don’t know or it’s even possible but is it possible to save all island blocks/chests/signs/hoppers to MySQL/Redis?`

With this it’s possible to create mega skyblock servers with all the same islands, that can grow over 2500 players.

Now it’s not possible to hit over 500 people since the server won’t be able to handle it. If you can create something it’s possible to share all the data between servers, that would just be amazing.

The answer: Huh, interesting. I see what you want - load balancing. Ideally, I’d spin up a VPS when the number of users became too high, say when the server count hit 300+. Then when it was operational, and the player count went over say 450, I’d start directing new players to that server. Their islands would be pulled from a central store that would be duplicated and placed into the new world just before they joined. Then when they logged out, the island would be placed back into store.

Challenges

  • You’d need to use Bungee and Spigot to make this work and be able to dynamically add Bungee servers as required
  • Players would not necessarily be adjacent to the players they were next to previously. This might be okay for skyblock, but for acid island it could cause issues
  • It’d be very tough to handle if players logged out on someone else’s island. When they logged in again, they may have to just be sent to spawn all the time.
  • Warping to offline player’s island would have to be done in some way, i.e., pasting the island just in time.
  • Saving and pasting islands is computationally intensive, but I’d probably use ASyncWorldEdit and just wait for the islands to be pasted. This could cause some delay before players could enter their island after logging on, but that could be hidden by sending them to spawn first and loading their island in expectation they would teleport there.

Now, I’m not saying I can do this! But it’s a neat idea!

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:15
  • Comments:29 (17 by maintainers)

github_iconTop GitHub Comments

1reaction
IllusionTheDevcommented, Mar 17, 2022

I wrote an entire Skyblock Core around this concept -

If absolutely needed, you could just save it in minecraft’s own format (.mca) - Although the files are somewhat large, don’t work cross-version, and have tons of other issues, it works for basic Skyblock servers. The real issue is AcidIsland, but with some funky math (and hidden teleports, maybe?), we could use the 512x512 .mca file size to our advantage.

1reaction
kit8379commented, Jan 13, 2021

Push

Read more comments on GitHub >

github_iconTop Results From Across the Web

What Is Load Balancing? How Load Balancers Work - NGINX
Load balancing refers to efficiently distributing incoming network traffic across a group of backend servers, also known as a server farm or server...
Read more >
Load balancing (computing) - Wikipedia
In computing, load balancing is the process of distributing a set of tasks over a set of resources (computing units), with the aim...
Read more >
Load Balancing 101 - Learn All About Load Balancers
Weighted load balancing is the process of permitting users to set a respective weight for each origin server in a pool. It's important...
Read more >
What is Load Balancing? What Load Balancing Solutions Are ...
Load balancing is a networking solution that distributes traffic across multiple servers to improve application availability and prevent overload.
Read more >
What is Load Balancing? - Amazon AWS
Load balancing is the method of distributing network traffic equally across a pool of resources that support an application.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found