Minecraft PC IP: play.cubecraft.net
Here to play Minecraft?
Join and start playing on our Minecraft server now!
I want to play!
Hello CubeCrafters,

Today in this Behind the Cube, we will be exploring the complex matchmaking solution we have. This is a system that nobody really gives much attention to and is a lot more complex than most people give credit.
When joining a game, many calculations are all happening to get you the best game as quickly as possible.

For this post, we will only be explaining the matchmaking behind our largest games, like SkyWars and EggWars. Our matchmaking for things like Duels and Skyblock is slightly different.

👨‍💻 Why is Matchmaking so complicated?

Recently, we've introduced a lot of complexity into our matchmaking systems. For example, now, when you join a game on Bedrock, you are matchmaked with other players based off:
  • Your region
  • Your input device (Platform based matchmaking - Categorised into Touch, Controller and Keyboard & Mouse)
  • The map you selected (If you used the map selector)
When you request to join a game, we need to factor all of these values together and send you to a specific game instance. One of the major disadvantages of this system is that queue times can get very long, very quickly. As a result of this, we have solutions to help reduce queue times when the system suspects a game is going to take too long to start.

When matchmaking, we also need to take a few other things into account as well.
  • If there aren't enough servers in a certain region, we can no longer matchmake onto those servers and need to failover to a different region.
  • If someone has the "Challenge Queue" option on Bedrock enabled, we need to tailor their games to send them to more difficult games, if that is possible.
  • We also need to factor in if a player is in a party. If a player joins in a game in a party, with 2 members in the NA region and 1 in the EU, we'll always send that party to the NA region. If there is 1 in the EU and 1 in the NA, which region is selected is slightly more unpredictable and based on current demand.
🤔 So, how does this all work?

Well, when you click to join a game, all of your matchmaking options are gathered. The list is as follows:
  • Your current region
  • Your current input device
  • Your current party
    • Your parties members' input devices and regions
  • If you have the challenge queue setting enabled

Following this, we need to figure out which game parameters we need to send you and your party to. For this, we take the most common region and the highest input device (Mouse and Keyboard > Controller > Touch) of the party.

Once we know this information, we need to figure out if a queue can be started for this game. Now, if there are only 20 players in the NA region, and you're trying to join an NA game, there isn't going to be enough players for this game to start quickly, so we need to group you in the EU instead. The system looks at the last minute's data, and if enough players joined that game for a game to start within approximately 20 seconds, we would deem this a sustainable mode.

If there are less than enough players, we need to do some grouping.

👪 What is grouping?

When there are not enough players on a specific region or input device, we need to group certain options. For example, if enough people join the NA and EU regions, we run these regions simultaneously. However, if there are not enough players on Mouse and Keyboard input devices to keep queue times short, we'll group them with Controller players. We've also ensured that our systems will never group Mouse and Keyboard players with Touch players unless necessary. We also group with regions, so when there aren't enough players in the NA, they will join our EU games instead, to keep queue times down. When there aren't enough players on either region, and they're grouped, you'll always be sent to the region with the most players joining that game at that specific moment in time.

Another interesting challenge that we ran into was cross-region input-based matchmaking. For example, if our NA region doesn't have enough players to support quick queue times, it needs to be grouped with our EU region. When this happened originally, it sort of broke input-based matchmaking. This meant that we needed to add support for input modes to split into different queues on a single region when certain regions were disabled.

I am sure that I could talk about many edge cases we encountered and how we patched them. In the end, we wrote tons of automated tests for these algorithms and stress-tested them a lot to make sure that they were suitable for running on CubeCraft.

However, I'm sure you're all here for pretty pictures. Here are some pictures of the graphs that our systems make. They show start times for specific regions and input devices. It also shows us how much traffic is going to that game too. This allows us to tweak our values in case queue times are getting too long.

1628167211798.png


SkyWars Solo at EU peak. Notice how no modes are being grouped.


1628167230769.png


This is NA off-peak. As you can see, in the Average Game Start Times By Region and Input Device graph, the NA Controller and NA Mouse games have a start time of 0 seconds. This means they're not active and are grouped with the NA Touch games to keep queue times low.


1628167250307.png


This is SkyWars Mega. Since SkyWars Mega is such a large game and doesn't have the most players on our network, it means that it groups across Regions and Input Devices, because as you can see, even in its current state, queue times are approximately a minute per game.


Thanks for reading - I hope this clarifies the labyrinth of our matchmaking system. It never was this complicated before, but over the last half a year, we've had to consider both regions & input devices, while maintaining our short queue times without constant monitoring.

Let us know if there's anything you're curious about regarding our infrastructure or processes and we'd love to share how it works! 😄
🏗️ Forums Tweaks

Hai all!

We bring you a brief, but informative update about several changes that will be happening here on the forums! These changes will impact the way we handle a few aspects!

This includes the way bug reports are handled, appealing a punishment by an ex-staff member, and helper applications. Some of these tweaks are more drastic than others, so we will be going into detail on each.

🐛 Bug Reports

As some of you know, we have had Bedrock Bug reports on the forums, on top of being on the normal reports website for Java. This is something that our Bug Team has been struggling with as we don't have a centralised location for these bugs.

This has been something we did since there are issues with clicking links on the Bedrock platform, so users could not gain access to the reports site without a Java account. However, this minor difference has actually proven to be an advantage to sorting through the bug reports.

Due to the ease of use it has proven to be, all bug reports will now be on the forums!

Filling out a bug report is now a bit more systematic - this is because sometimes, the Bug Team will receive bugs that are quite literally 3 words long, which is a bit of a waste. We can now ask questions, categorise things relatively easily & get the correct information to tackle those difficult bug reports!

We've also created a guide for bug reports, which you can read here!

If you are curious about what information we will be looking for, or for what you need to gather in order to write a bug report, you can find the questions below. Some of them are conditionally shown, which we've marked with an * at the front. There are some differences in Bedrock & Java bug reports, but they're generally the same.
1626954228409.png
1626954369348.png

Finally, as a note for the Bug Team - currently, we have three people who go through bug reports; @Marieke2001 @Keanu & @CNA1998. We're super happy to be expanding our Bug Team to more than just one timezone, so you will be seeing 6 new fresh faces dealing with bug reports - @Deann, @Pineapple, @EnderKnightError, @Spoon, @Dutchyyy & @Darkninja27. These people will be spending some time getting used to the procedures of reporting bugs internally first - but this is our first step forward into pledging for better management of the bugs seen on our network.

🛠️ Ex-Staff Appeals

While these normally have been coming to @Capitan and myself, in our DM's on the forums, this will be changing.

The reason for this is due to the mass quantity of appeals we both have been receiving, and the amount of work that actually goes into them. We will be moving it to a sub-forum, where you will be filling out a form for your appeal, to provide ease of access and processing. These will also be sorted through by the SrMod Team, but also @Capitan and myself.

You can find the location to appeal here.

If you have an open conversation with either @Capitan or myself, please do not then create an appeal in this section. We will be finishing off any conversations we have pending, that were started before this update was released.

However, if you start a conversation from here on out, you may be redirected to the sub-forum. This is to ensure consistency and also an efficient organization for our staff team.

Note: This section is not going to be for Sentinel bans, Network Banned users, or False Punishments. It will only be for appeals from users that are banned by a staff member who is no longer a staff member.

🙌 Helper Applications

The changes to the Helper applications are genuinely very minor. In an attempt to make the process smoother for our team to sort through them, as well as for you all to be able to apply, we have added a form that will pop up when you start a new thread.

This will work similarly to how it does for our bug reports, ex-staff appeals, or the translation team applications. The template has not changed from what you had to copy/paste, but rather it has just been automatically provided for ease while applying.

That's all for this update! Thank you everyone for reading!
Hello CubeCrafters,

Last month we released an epic Parkour update to our networks, keeping Java Parkour fresh and introducing the new gamemode to our Bedrock network! - We've noticed that you love to play Parkour, but sometimes it can be a little difficult. So that's why we've made a new difficulty for you to try out! Read below for more info.


🏃 New Easy/Simple Difficulty

On our Bedrock network, we noticed that our Easy difficulty for Bedrock users and touch devices isn't easy enough, to solve this we've shifted all the difficulties up by one. This means that Normal is now Difficult, and Easy is now Normal. This makes room for a new Easy variant of our Parkour; it's basically a very easy version. There are 5 maps to try out and more to come in the future!

However Java already has an easy mode that players are happy with, but we love to keep both platforms in sync with updates, and it would be a shame for Java to miss out. So our Java network is getting a new Parkour difficulty called "Simple". There are 7 maps available to try out! - There aren't any achievements for this new mode, for now ;)


Marsh
Marsh.jpg

Hope these levels aren't too marsh...

Mobs
Mobs.jpg

Did this level just meow?

Modern
Modern.jpg

Now I'd love to live on this level

🌞 Java Summer Sale - Up to 50% off!

In celebration of the Summer season, we're hosting a Summer sale on our Java store. It lasts until the 19th July at 3pm BST.

  • 30% OFF Lifetime Ranks
  • 40% OFF Point Multipliers
  • 50% OFF All Cubelets (Including Seasonal)
You can visit our store HERE!

summer_sale_uwu.jpg
Hey Java and Bedrock CubeCrafters!

Our annual Summer event has hit our servers! Go out there and catch some sun rays! Enjoy this update full of awesome cosmetics and maps for you to enjoy!


🌇 Summer Lobby & Maps!

We've revamped our main lobby to include everything summer themed! From popsicles to ice cream, to sunglasses and sandcastles. Enjoy exploring the new lobby!

2021-06-30_12.15.56.png

2021-06-30_12.19.08.png

Ah, to be a pig floating in the ocean...
Not only this, but we've added new maps to both our networks! Take a look!

- Java (3) & Bedrock (4) - Team SkyWars - Sandbox 📦

2021-06-28_16.58.08.png

Try to avoid the sand in your eyes!

- Java & Bedrock - Solo SkyWars - Sandcastle 🏰

2021-06-28_16.53.02.png

Protect your sandcastle fort!


- Java & Bedrock - Team EggWars (2) - Vacation ⛱️

2021-06-28_16.55.40.png

Relax on your vacation... You can break a few eggs along the way!


- Java & Bedrock - Team EggWars (4) - Whale 🐋

2021-06-28_16.54.31.png

Have a whale of a time!


- Java - Team Lucky Islands (2) - Bucket 🪣

2021-06-28_16.59.29.png

Keep an eye out for the secret formula somewhere here...
What's your favourite map on this list? Let us know! 🤩


🌻 Java Summer Cubelets & Challenges!

Our Summer Cubelets have also been added back - 109 items for you to get with no duplicates! Not only can you get these by playing games, but we also give you your first Summer Cubelet for free! Feel lucky with getting some awesome exclusive loot? Test your luck!


My luck isn't the greatest...yours is probably better though! - Get Summer Cubelets HERE!



Play football with your friends! - Get Summer Cubelets HERE!



You can get some awesome miniatures following you around! My personal favourite is the beachball miniature! - Get Summer Cubelets HERE!



Chill out with your friends in the middle of the lobby with this awesome hot tub gadget! - Get Summer Cubelets HERE!

You can also obtain Summer Cubelets by completing our Seasonal Explorer and Winner challenges! Test your skills in our seasonal maps - you can track your progress in the Challenge Menu.

Screenshot_235.png

Finally, we've released seasonal Relic Hunting, and Lobby Fishing items for you to enjoy! Good luck collecting them all!

🎆 Java Starter, Cage Packs & Bundle!

We're also reintroducing our Iron and Lapiz starter packs, as well as Cage Packs for the Summer Event!

For a largely discounted price, you are able to purchase an Iron / Lapiz Rank, Summer Cubelets, Multipliers, Egg Break Message Packs & the Space Bundle! You can purchase these HERE!

We've also reintroduced our Summer Bundle, Ice Lolly & Ice Cream cage packs for you to enjoy! You can purchase these HERE!



⛱️ Bedrock Summer Bundle! - COMING SOON!

This year, we've gone above and beyond with our EPIC Summer Bundle! We're super excited as this is our first bundle that's entirely utilising our resource pack! All items are animated, full of style and will blow your opponents away!


- Cage: Sundae! 🍨


Who wouldn't want to spawn in a delicious sundae? - full of sprinkles, sauce and sparkles!​


- Cage: Flamingo! 🦩


Spending all the time in the pool? Keep the beachballs bouncing around and drinks floating while you sit and soak the summer rays in your Flamingo floatie!​


- Buddy: Whale! 🐳


The cutest whale ever can follow you around the Summer Lobby!​


- Egg Skin: Sand Bucket! 🪣


Your egg has never looked better! - better build a whole sandcastle around your egg to keep it protected!​


- Egg Shop Skin: Tiki Bar! 🍸


Sip some drinks, buy some armour, and fight your opponents with this awesome shop skin!​


- Win Effect: Sweet Summer! 🍭


Your sweet tooth is going to LOVE this win effect!​


- Gravestone: Surfboard! 🏄‍♂️


Being killed has never looked so chill... 😎

- 4 Prefixes! 🗯️

Untitled.png


Some awesome prefixes you can equip on Bedrock!​

This bundle will be released in the next coming days! Keep an eye out for this thread to be updated when it'll be released, and also the stands in the game lobbies!


That's all we have for this Summer update! Hope you all love what we have to offer here! 😎

You may be questioning why there's no head/beachball hunt for this season - we're working on a huge update for both Java and Bedrock. Our intention was for this to be released in our Summer update however, this is a CubeCraft adventure not like any project we've done before that we cannot wait for you to try out! It will definitely be worth the wait! In case you're curious about what this entails, here's a very short teaser... 😉


Recorded on Java... 👀


Thank you, everyone! Hope you all have a wonderful summer, and stay safe! 💙
It's time for Parkour to get some love, and we know that you guys adore our parkour gamemode and love trying to get our gold medal times. In this update, we've added new levels & maps, introduced level modifiers, competitive parkour is returning, and all of this and more is now available on Bedrock! And we've made Parkour even better to play with your friends! Read below to learn more.

Forum statistics

Threads
247,791
Messages
1,292,641
Members
331,590
Latest member
seenbeanxbox
Discord
Members Online

Latest profile posts

what this button do
Ight so my new mouse is coming tomorrow supposedly
Just got my first 100 messages :). Road to 200 now.
Josher wrote on qaaio's profile.
Welcome to the forums! ^-^
Keanu wrote on Nyvil's profile.
cute banner
Top Bottom