Linux users are an extremely vocal minority, but there is already a formidable userbase (especially considering that there are disproportionately more developers on Linux compared to Windows and Mac).
I don’t have anything new to contribute, I just think it’s interesting how Linux support has always been Roblox developers turning a blind eye and choosing not to intentionally break Wine support, until now. I’m sure one day, guaranteed, Roblox will get official Linux support. Maybe not today, but if things keep going the way they are, with the Linux userbase only increasing…
Putting numbers to it is actually very useful. In the long term you can use these numbers to actually start building a Business Case for actual Linux support.
In the short term it is going to give you an indication of what Roblox is going to lose over this. This is a userbase that is currently using Roblox, quite comfortably might I add, on Linux. By actively blocking these people out you risk completely driving them away from the platform. So in this case that would be 7.86M USD down the drain for the coming year just because you did not consider them while planning the project.
Dual booting adds friction. Potentially a lot. Consider this case:
I am developing some sort of server application on Linux, probably using Docker, with at least 2 development environments open + 1 or 2 browser sessions open + music + Discord + Guilded. Maybe I am debugging something.
A high-priority bug in Innovation Inc Thermal Power Plant or another Roblox game pops up.
Now I need to not only pause my current development but stop it all, shut down all the applications, and reboot into Windows.
If Linux is my primary, who knows if my sessions for Roblox, GitHub, Guilded, and Discord are still active? Now I need to log in to at least some of those with 2FA.
Guilded + Discord is probably out of date. Now I need to wait for those to update.
Roblox Client is probably out of date. Now I need to wait for that to update.
Now I am finally in the game and can try to reproduce the game and fix it in Roblox Studio.
Roblox Studio is probably out of date. Now I need to wait for that to update. Not like I can quickly swap back to my Linux system with an active version.
Fix is up, but I am stuck on Windows for a bit to make sure the fix works. Otherwise, I have to do some of this again.
After all that, I can finally close everything, reboot back into Linux, restart all the applications from before, and then waste time trying to get back to where I was debugging.
For my actual job, I regularly switch between 5 projects. This isn’t too bad because it is just opening a new IDE session. Making any 1 of those require a different OS install would kill my productivity. Roblox would have caused this for me with my non-job if I actually switched to Linux when I planned to.
At Roblox’s scale, losing a bit less than $8M in revenue would probably be just the cost of doing business. I heard about a story at my job (card payment processing by the way) where a big feature was going to go up during a code freeze. The projected revenue for that was $1M-$2M. It going live during the freeze was rejected because that was considered nothing at our scale, despite being a life-changing sum for any of us. A potential 0.3% increase in current revenue which would require a lot of extra development time, QA, and support to be able to handle whatever Linux distro + desktop environment is thrown at them would not make the stakeholders that happen. Not when that time could be spent on another platform, like PlayStation.
I undertand that on a per-experience level that it is indeed the job of developers to provide the nessisary things to make their experiences play smoothly and nicely on the platform. But I’m not talking about the per-experience level, I’m talking about platform-level quality of the Xbox platform.
The UI is outdated and somehow managers to look worse than the bland and nothingburger of a UI that is provided on the website. It weirdly mashes the new avatar shop/editor ontop of it all which only makes the UI even worse. It’s also inconsistent in many other places as well. But talking about avatar shop, you couldn’t for the longest time purchase anything apart from a select few bundles provided exclusively for Xbox users. That made it increidibly easy to see if someone was playing exclusively on Xbox. Lastly UI wise it’s using many old assets like the old Roblox icons when going through the process of purchasing Robux.
There are many issues like it not clearly telling you that an experience is not available to play on console and you can’t access things like an experiences badges, profile pages, group pages, and numerous other parts of the website. The discover page is outdated missing many of the sections and categories that the website and mobile versions have. The controls section when you have a keyboard connected is incorrect stating that you can take a screenshot with the print screen key or screenrecord with the F12 key when that is straight up not possible.
I understand there are many things that make console (and vr) different from Windows, MacOS and Linux but the crux of my argument is. If they’re unwilling take the steps to make even currently supported devices better (or takes them 2000 years to start taking such steps.) Are they really going to care about a few hundred thousand people playing Roblox on Linix through an unofficial route. My opinion is that they wont care and dont care. I’m guessing if someone didn’t point this out they probably wouldn’t even had mentioned blocking WINE users from accessing the platform.
PSA, do NOT run the roblox-player: link in the original post, I have been unable to join any roblox games since using it and reinstalling has not fixed it.
How is this going to affect any of us doing HackerOne white-hat penetration testing on the client? If I’m trying to find a vulnerable facet of the software to report to Roblox through their certified HackerOne page, I may be risking my HWID being blocked and my account being banned.
This will only scare off the white-hat guys who are trying to do good. I’m sure the bad actors have a lot less fear for consequence than those of us looking for vulns to submit to Roblox’s HackerOne page.
I think Byfron should take a more preventative approach rather than a punitive one. Punishments don’t hit bad actors as hard as they hit those who never intended to do wrong. Bad actors anticipate bans and set up precautions such that they can be evaded (using alternate accounts, using VMs, HWID spoofing, and even writing kernel code to bypass the Byfron anticheat’s detection altogether).
All Byfron will do will stop the surface level Windows API calls to read/write process memory, load DLLs into the process, etc. It will not stop those bad actors willing to go deeper and write drivers that can’t be hooked into by Byfron. It will merely instill fear in the hearts of ethical penetration testers who only want to rid Roblox of vulnerabilities: numerous of which have been found by ethical hackers on HackerOne who have hooked into the client and talked to the server in a specific way that elicited a vulnerable response. Doing ethical work like this becomes much more daunting when there is potential for punishment.
Rather what you should do is detect when there is tampering in those APIs that you have hooked into such as the Windows Process APIs, and end the client process, preventing any more tampering WITHOUT actually banning any HWIDs or user accounts. The punitive aspect serves only as a fear that will discourage ethical hackers and have 0 effect on those who make it their business to break Roblox for personal gain with no concern for ethics in doing so.
This is actually the status quo in the anticheat industry. For example, Easy Anticheat’s website states:
The EasyAC developers seek to make it so difficult to actually cheat that it causes the player to switch their mindset entirely, while never banning them in the first place.
I don’t think it’s a good idea to embed all of these intrusive measures that will harm the good guys more than the bad guys. It’s all an arms-race, and handicapping those few individuals who are helping you look for vulnerabilities will only put you further behind those who are constantly trying to break the client for less-than-ethical reasons.
In fact, there are TWO different open-source Roblox wrappers on Flatpak. One is Brinkervii’s Grapejuice with over 300,000 users, and the other is my new offering, Vinegar. Both offer standardized Wine builds and drivers, eliminating any chance for variations between distros.
On your third point, Wine does provide an existing method of filtering which is through the OSNAME (which reports WINE32) field of the Roblox telemetry packets.
I’d assume it would be trivial to filter out reports using this?
Will byfron compatible versions of tools such as FPS unlocker or Roshade continue to be safe? I ask because in RDC '19 it was stated that there won’t be any bans for using FPS unlocker. Is this true still?
Well, they just don’t work anymore with this update. It’s entirely preventative, no reason for bans to be handed out. The only alternative for rbxfpsunlocker is configuring a FastFlag that retargets the TaskScheduler FPS cap.