This proposal is aimed to provide a solution for developers who want to create more advanced solutions than the current API allows for. This includes use cases that need more requests than Hypixel allows, data over time, and live-updating data.
All of this comes with no downsides to Hypixel - in fact, these additions will likely drastically reduce the current API load.
Almost every current project using the API benefits from these changes - take, for example, any profile/stats viewer - if they only had to request any player once, and from that point on just monitor for changes, over 99% of all requests could be eliminated.
For a more detailed explanation: developers could request the player once, if they weren’t found in a cached database, and after the first request keep their internal representations of the player up to date by watching for player changes. Depending on the developer’s cache expiry, the impact this would have on Hypixel is unimaginable. This also addresses current pains from players re-requesting themselves and receiving a cached version of data - it would be up-to-date, now, and the player wouldn’t notice a difference (except the improved speed!).
By providing one of these solutions and incentivising developers to switch (for example, with reduced API limits on the main endpoints), I would imagine Hypixel would face a sizeable decrease in API requests on the main endpoints - more than making up for the cost of implementation of one of these solutions.
If you break it down, all the implementations are based on the same premise - watch a collection for updates, filter these updates, and send them out to the developers. The idea here, is that this is possible without extra load on the database, and can even be achieved with essentially 0 extra bandwidth use. The tools this unlocks, and the potential savings it brings, are worth the quick implementations times - at least from what we can see. These implementations are ideas, not final orders - if there’s a problem with one or all of them, we can work on it to find a solution that works for everyone, but for now, these seem to be the optimal way to achieve both goals.
Developers have shown time and time again, that they want to help improve the Skyblock community. Providing developers with more tools to make better applications, at a lower cost to Hypixel, will only lead to positive outcomes from a more deeply connected system and more tools for players to use.
With more, varied tools, Hypixel will achieve a higher player retention - it is clear that these tools are highly requested by players, and if there are implementations to achieve these goals without hurting the network (such as the implementations mentioned in this proposal), I advise that they be carefully considered, and, ideally, implemented.
While the solutions provided here are idealistic solutions from an outsider’s perspective, I am aware that there are other considerations for Hypixel itself to take into account when deciding how to implement something like this.
I would like to say - this is not the end of the conversation, only the beginning. The aim here is to open a dialogue about this type of API use, and to find a solution that works for the developers, the players, and, most importantly, Hypixel Network itself.
If these solutions aren’t satisfactory - let’s talk about how they can be improved, how we can still provide this functionality while meeting any overlooked requirements. We’re listening.
Thanks for your time, and for your recent work with the developer community. I hope this relationship between Hypixel and its developer community continues to flourish.