So today's update includes a new server term system which is much more flexible, this also includes the re implementation of whitelists and a new feature: blacklists.
The server terms can be chained, can now be case sensitive or insensitive (were all insensitive previously) and we have whitelists back and blacklists for servers now too.
We have a variety of title terms which will override our whitelist system, allowing streamers who don't have 'hasroot' whitelist to be be assigned to the whitelisted server anyway.
Also if someone doesn't list their server and we would use their fallback of a whitelist server, there's a further check for matching terms to exclude them, EG: purple, orange, public, PS, etc
It will take us awhile to get the data right so this works well, our @Team and @helpers have always helped keep us up to date with fallback servers. These help us deal with streamers that don't put server term in titles and some other behaviour.
I have whitelisted anyone who has no pixel data from before the launch of the public server and have already updated some new streamers with whitelist access, but it takes human intervention to help filter out public and whitelist and to get the best results.
But HasRoot used to have whitelists?
Back when Family RP was our main tracked server and had a public server we had an awful hardcoded system and flags for certain streamers (playsOnFamily).
This was back when server matches were actually hardcoded into the backing app. Each server had its own function that could be customised and was called to see if it applied.
As Family RP Public was shut down, we shut down those features and stopped using those flags.
When this happened it meant I could largely simplify all of that awful hardcoded nonsense to include/exclude certain regular expressions per server to see if they matched.
This worked kind of ok until the first phase of OTV. It worked awfully for separating them, as some no doubt noticed.
I had always intended to update our Server Terms system, you couldn't specify a specific case for terms and it was basically 'at what index does this regex match' regardless of anything else which was limiting.
However do not be fooled, HasRoot isn't magic, there is only so much I can do with code and without our helpers and team the system would crumble. They can even move streams manually to different servers for false matches. It is very hard to wrangle 19k+ streamers just based on text. Without helpers we would be nothing, let alone mentioning character data which is almost 100% entered by our helpers and team for your benefit.
While I was at it update our statistic system, it isn't something that is accessible to most of our team yet. It tracks various assignment behaviours: when someones fallback is used, when they are assigned to a server that isn't their fallback or when no server is matched. It will now also include whitelist overrides and when people blocked from the whitelist server for lack of access and without having override terms in their title.
I often call helping hasroot whackamole, we are always on the lookout for bad assignments, data to be added, but it is never anything that will be perfect without integration with the servers we track. That is something I am looking into and have talked to some of the awesome staff of the servers we track. But it isn't going to come very soon.
I also had to make systems for our stafff and team to update those whitelists, blacklists and also added the ability for them to edit existing history data. This means we can clean up some of those mismatches that were happening. Those edits will also update any clips associated with that history.. A feature we have needed for awhile but it is finally here.
Also I did MORE optimisations in the java backend, and a lot of cleanup this was semi required because we now track over 19,740 streamers.
Also clips now autoplay?
And in conclusion
That being said, I should have pushed this update long ago, I know the server assignment has been awful lately for No Pixel vs Public. I could give you a list of excuses but they don't mean a lot.
So instead of that I will just apologize, HasRoot has been going for years and I am the sole dev / person with the ability to make any impactful changes.
I hope you all continue to enjoy the site, and I do have a proper apology coming, this update also includes some backend changes I wanted to do before launching the new clip activity graph. A way to go through the hotspots of clip activity based on viewer counts and clip times.
Some personal issues have delayed a lot of my activity, but then the poor server matching also impacted the release of that feature. I want to make some better controls for it before I launch it but the functionality is all there.
I promise that will be launched soon.
All the best,
Sean - ScottishRambler.