Sign up
Players Online: 45.7k Support Forums Client
ArenaPvP - Return of the ELO

Hey guys. Today I wanted to share with the community some information on ArenaPvP Season 15 and why it has taken so long to come out. I'd also like to cover some of the technical difficulties that we had with season 13/14 and why we are changing the direction of the ship again. This will be a long detailed post and if you want to just get some high level things that are coming in season 15 here they are:

  • ELO is coming back as the base of our rating system.
  • Promo/Demo Matches are going away.
  • Divisions (Bronze I - Bronze V) are going away.
  • Tiers (Bronze/Silver/Gold/etc) are staying.
  • Matchmaking is being re-done again.
  • Chat is being shared across all lobbies for each region.
  • The "already in a match" should be gone.
  • The annoying pull back at the start of a match should be gone.
  • SkyWars kit is coming back (just not sure if it is going to be ranked or not yet)
  • Wars are coming back.
  • Spleef is coming back.
  • LMS will come back (probably not at start of beta but a bit into it).
  • Party Duels are being fixed.
  • Party FFA's are being fixed.
  • Red Rovers are being fixed.
  • Change to how unranked matches work.
  • Fix the In Lobby/In Game player counts.
  • Lots of other small quality of life fixes/features.

  • Our new rating system will be both a combination of ELO and tiers. By the tiers I mean the following chart:

    Both your rating (ELO) and your tier will be visible to you at all times (similar to Overwatch). We will not have placement matches in season 15 though unlike Overwatch. You will start off at 1400 ELO (Silver Tier) like you used to and play from there.

    I am going to be a meanie and not share the new features coming yet. We also will not be pre-announcing the beta and do something new and we are just going to put Season 15 Beta live when it's ready.

    I also want to share quickly that the mainframe has been in the process of being taken apart for the past few months. We are starting to roll out the replacement today which will be happening over the course of May and end with the release of ArenaPvP Season 15 (technically we replaced the first piece in December 2016 but most of it is coming out this month).

    End of short announcement. Now start the long details.

    Section 1: Why did Season 13/14 switch to MMR?

    MMR stands for Match Making Rating (or Matchmaking Rating). Why did we get rid of ELO in the first place? As we have stated many times ELO is an outdated system and punishes the users very heavily for a loss in an unfair match. This is extremely discouraging to high ELO players such as Danteh with his legacy 2800 BuildUHC rating. Winning 1 point per game (or even 0 points if his opponent's ELO was too small) is not fun/encouraging. For the average user ELO is fine, but for the high level players it is not.

    Below is a graph simulation of ELO from season 12:

    This graph is not as a nice bell curve like we would hope. The little bumps to the right are players who aimed to get a certain ELO before the end of the season. Below is an example of what a traditional bell curve looks like:

    As you can see the middle section has the highest portion of users. This is the "average player" in our case. The right side has the high level players and the left side has the low level players. Our objective for season 13 and 14 was to try and get more of a standard bell curve for the ratings of ArenaPvP players.

    Here is what we actually ended up with after the season 14 ratings were put through our graphing library:

    Ugly right? This is definitely not what we were aiming for with season 13 or 14. Our simulations of what we thought we were going to end up with are below:

    This was our objective for MMR with season 13/14. As you can see here, we did not meet this objective and got an even worse rating distribution.

    Now that we have shown and proven why MMR is not doing well on our player base/ArenaPvP System with math/logic we are going to show a brief example of what the numbers would have looked like if we had ELO instead of MMR this season. We have replayed every win/loss through a simulator in season 14 for the BuildUHC ladder to get this data. The green is for the original ELO and the yellow is for our modified ELO (what will be used in season 15).

    As you can see the distribution of ratings is pretty similar between the original ELO formula and our ELO formula. Also as you can see there are more high level yellow players since it is safer to queue up for them. We are going to be lowering the number of points you gain/lose from a match in season 15 on average, by half from season 12. We are also expanding the ranges that you can lose/earn the # of points so that you really have to be in an unfair match to only get 1 point as a high rating player.

    We feel that this new rating system based on ELO will be much better for our players and make everyone happy. We will gather community feedback during the beta and adjust it slightly if needed or revert back to the raw ELO formula if necessary.

    Section 2: Goodbye Mainframe

    What is the mainframe? The mainframe is our central server that was supposed to know all and see all. It has been responsible for: turning on/off servers, syncing information between bungees, syncing information between our game servers, handling bans/mutes, handling two factor authentication, handling everything in regards to ArenaPvP Season 13/14, handling rating calculations, miscellaneous commands like /register, /discord, etc and more. The mainframe was meant to be our one stop shop to be able to easily program/add features to Badlion without having to wait for long updates or start doing a lot of extra work to get simple things done since information was all in one place.

    This project started off on a good beat, but over time had a lot of issues/hiccups and then when we added ArenaPvP into it with Season 13 all hell broke loose. It's not the best concept to have a central system that when fails takes the entire network down. For some quick perspective the mainframe handles about 500 requests a second (43.2 requests million a day). This is why towards the end of summer 2016 we had already decided to discontinue the mainframe project and start working to take it apart into smaller micro services.

    The various parts of the mainframe from a tech perspective are as follows:

    1. A routing system to make sure requests get sent to the right service to handle
    2. A database system to store information and retrieve it again
    3. Mechanisms to prevent race conditions such as locks and conditions
    4. Lots of implementation of various feature/services

    After spending some time and research we were pointed to a project called gRPC. RPC stands for Remote Procedural Call. The g stands for Google [not to be confused with GCheat or other things named after me :)]. gRPC allows us to create interfaces to talk between programming languages extremely easily. It also allows us to keep connections open instead of having to constantly send requests to find out if new information is available.

    Our new architecture is similar but has everything broken down into smaller pieces. This way if one thing breaks it does not take the entire system/network offline with it. We also have some better tools to report outages now internally and are working on putting something together for the public to be able to use. This new architecture is already running on Badlion Premium and was the test grounds to make sure everything would work well. Now Badlion Open is getting the same overhaul finished for it.

    The actual process of taking apart the mainframe started in December of 2016 with the server spawning service being replaced. Next we rolled out a bunch of features for Badlion Premium that are being ported/used for Badlion Open as well. In this final phase of May/June we are starting to roll out all the remaining services for Badlion Open which will conclude with the release of Season 15 since the mainframe is directly connected to Season 14. At last we can bury the mainframe and give it a proper resting place.

    Section 3: Matchmaking

    This section will not be as long as the others, but it is something I do want to cover. Matchmaking on Badlion from Season 1 till Season 12 (minus Season 5) has always been designed to get you the fastest match as possible. It would just takes the first two players in the queue and throws them into a match together. This is great for fast matches but shitty if you don't want to keep playing the same person again and again. It's also terrible for high ranking players who get paired against people sometimes 1000 ELO below them.

    This is why in Season 13/14 we opted to change the matchmaking system to do more of an rating scan system. It would slowly expand your rating range of opponents to search for over time and try to find you a more fair match. It's funny to me that people complain about getting matched up between Gold 3 and Emerald 4 when they really are not terribly far apart compared to the Silver 2 vs Masters matches that sometimes happen.

    We think going forward the best solution for Season 15 is ultimately to give you the decision of how you want to be match made. For now (and this topic will be revisited upon feedback during beta) we will give the users two options for ranked matchmaking. They can either choose fast queueing which will get them a match as fast as possible and more likely not be a fair match, or they can choose rating scan matchmaking (with some new improvements) which will result in a slightly longer queue time but a more fair match. We want everyone to be happy with their matchmaking experience on ArenaPvP and allowing the user to ultimately decide how they want to be match made is the best thing we can think of.

    Lastly as mentioned in the past the Season 15 ArenaPvP matchmaking will have an option to matchmaking using BAC. As we have said many times (and this feature is not yet available) BAC can be used on Badlion Open by any player. Certain features will either (1) be pay access only or (2) not guarantee that everyone is using BAC unless you are a Premium player. We will have a toggle option in the ArenaPvP Season 15 matchmaking settings for Premium players to turn on/off that will guarantee that their opponent is running BAC. Please keep in mind their opponent might not have Premium but just might be running BAC. This means if you want to raise your chances of playing players with BAC enabled you should be using the Badlion Client to launch and play on Badlion Open as it will be an automatic process. Once again this is not yet released and will be closer towards Season 15.

    Section 4: Give the players what they want

    Another brief section but an important one. We truly believe here at Badlion in giving the players what they want. There is never a 100% clear cut consensus of what players want though. Some want MMR, some want ELO, some want something completely different. We always have to make difficult decisions here about what we think will be preferred by the largest group of our players. If everyone acted and thought the same the world would be a much more boring place. Humans also hate change, yet people always want things improved. It's a contradiction right? The original reason for so much hate against MMR was due to all of the Arena Season 13/14 bugs and the matchmaking system not being optimized. After we tweaked it for a few months the number of complaints died down, but they did not disappear completely. Many people preferred a simple number versus all of the complex ranks that we have now. Others prefer the complex ranks because it gives more short term goals which reward the brain with endorphins (what make us happy).

    The other issue with giving the players what they want all the time is it is not always possible. For instance, everyone wants GCheat to ban every cheater and for it to be perfect, but it will never be. Yet when a better solution is made available (BAC [Badlion Anticheat]) we receive complaints about players having to download/install something and they just want GCheat to be better. GCheat is always going to be there to try and protect the players from hackers, but the reality is BAC is going to be our ultimate solution and GCheat will most likely not be able to continue to make updates forever. There will come a point where GCheat will no longer be able to detect cheats as they will be come so sophisticated that it will required a client anticheat to detect (hence BAC).


    I just want to conclude this post with a few things that I would like to clear up for the community. There has been a lot of random incorrect stuff recently on social media sites or even the Badlion Forums that I would like to clarify.

    1. ArenaPvP Season 15 has been in development for 4 months already (we would have started earlier but did not have enough resources available at the time [hence why I kept making hiring posts]). It is not a simple project to program and is well over 50k lines of code total to make it work. Since we are having to reprogram it again from scratch (just like we did in Season 13/14) it has taken quite some time. We should have reset the ladders at the start of this year but were expecting it to be finished a bit faster than it currently has been. This is due to Badlion Premium taking away a bit of our plugin developers' time here and there. This will be the 5th complete rewrite of our ArenaPvP software and hopefully the last. Going forward it should be way easier to develop/add features to the new setup/software and easier to swap modules out (which was our goal with Season 13/14).

    2. MMR is not bad. MMR is a great rating system for certain game modes and we will more than likely keep it on Badlion Premium PUG as it excels at team game performance. Our hopes for MMR and our simulations have proven to not work well with Season 13 and 14 and for that I personally will apologize for it's failures. We are a team here and we share the glory and share the blame. The players have made it very clear that a simple number rating is the preferred skill factor so we will bring it back as requested. We feel that the combined ELO/Tier system will keep both communities happy. The number represents an absolute skill rating, and the tier classifies you into a group of players who share a similar skill rating. Once again this is taking the Overwatch approach.

    3. The Badlion Developer Team is not magic. There are a lot of developers but they all work on very different parts of Badlion. It takes time and work to program and make things and nothing can happen over night like people want. This post shares some of the reasons on why UHC 6 is behind schedule and we will make a separate post for that later, but I promise it is getting very close to release. It is already live on Badlion Premium and we are finishing off the final touches for Badlion Open this month. I'd like to share a quick breakdown of what the Developers do here:

    MasterGberry - Overall managing of the entire Badlion product and all of the people below. Approve system designs/setups and also help out when a bad fire happens in terms of needed assistance/rewrites.
    SmellyPenguin, git - Manage code of entire team, manage infrastructure/Devops, program complicated back-end services, help out wherever needed (these guys are always busy doing things)
    Rigner - New Senior Developer (formal congratulations) who has been helping to take apart the mainframe as his primary task for the past 7 months. Also helps out with infrastructure/Devops.
    GyllieGyllie, ThomasssMC, Devin, new_instance - Plugin developers who primary role involves building the server plugins for Badlion Open and Badlion Premium (mainly Badlion Open since January 2017).
    StanMPL, Ad237, skh- - Develop web services for Badlion including the main Badlion website, and the new Badlion Client interface
    chocolate_pc - Responsible for more complicated logic of Badlion Client mainly revolving around the Java Launching/Patching mechanisms
    import - Responsible for our custom Minecraft version and all of the features being fixed/added to it

    This is just the development side of things. There are plenty of other things that keep myself personally busy throughout the week which is why we are on boarding our new Project Manager (not announced yet) who will be helping me to run the Development team and keep things on schedule.

    I also just want to say I am super happy with our current development team here. I think we have built over the past few months a really strong team here that will lead Badlion and competitive/casual Minecraft into the future. It has definitely taken some time to find the right people as many of you have noticed the various hiring posts.

    I also want to quickly state that everything in this post (minus our ELO experiments which started about a month ago) has been planned for about 6-8 months now. It just takes time to get things done and Badlion Premium did take us longer than originally planned. There were some internal issues that I will not go into here but various things here and there delayed us by a few months from our original projections/timelines.

    I hope everyone is excited for the changes coming to Badlion soon and there will be another post similar to this next week for a few other things happening around the network that should give some clarity to the community. Something that Badlion has always been very proud of in the past 4 years is our transparency. We have not been doing as good of a job with this the past 6 months or so and we are going to get back onto the right path to ensure that our community knows what is happening at Badlion at all times.

    I still firmly believe in a competitive Minecraft future and so does most of our team here at Badlion. We plan to keep pushing competitive Minecraft further and further over the coming months. I hope most of you believe in a competitive future for Minecraft as well.

    PM Link

    1) For GrandMasters, how about make it equivalent to 3000 ELO, and have a big cash price for anyone who gets it. This would create a "limit" but it would probably be unachievable for many seasons and it would push the higher players to keep playing once they have achieved Masters

    2) Make Skywars ranked pls, the block integration might help people with the PUG gamemodes that use bridging. Also might boost the number of players in Skywars (Minigame)

    PM Link
    PM Link
    Automatically Deleted
    PM Link
    YES <3
    PM Link
    PM Link
    Yes thanks! xD
    PM Link
    PM Link
    PM Link
    PM Link

    PM Link
    gg !

    Bring back Season 12 style of lobbies, with players not visible.
    PM Link
    Automatically Deleted
    PM Link
    PM Link
    we did it folks
    PM Link
    Hype! I'm interested to see who will be the first Grand Masters…
    PM Link
    Nice, Hopefully I can get that Grand Master Rank ;)
    PM Link
    epic i can start playing bl agian
    PM Link
    Is the s12 lobby going to come back and how about old maps????
    PM Link
    PM Link