vinegarhq / vinegar

An open-source, minimal, configurable, fast bootstrapper for running Roblox on Linux.
https://vinegarhq.org
GNU General Public License v3.0
425 stars 30 forks source link

Roblox on Linux Deprecation Notice #397

Open lunarlattice0 opened 9 months ago

lunarlattice0 commented 9 months ago

image It's over...

Please read this for more information.

Atemo-C commented 9 months ago

Financial decisions lead us to this, then? It was worth the try, and we had our fun. I do not have much to say, so, let us simply hope that in the future, Wine will no longer be blocked. But as of now, I can only do one thing, and it is to thank you all, the developers, the community, the nerds, and gamers out there, of all Linuxy backgrounds and even from other projects, for all the amazing work and support.

Thank you for everything.

o7

KennyDevT commented 9 months ago

R.I.P RoL

Hellscaped commented 9 months ago

Financial decisions lead us to this, then? It was worth the try, and we had our fun. I do not have much to say, so, let us simply hope that in the future, Wine will no longer be blocked. But as of now, I can only do one thing, and it is to thank you all, the developers, the community, the nerds, and gamers out there, of all Linuxy backgrounds and even from other projects, for all the amazing work and support.

Thank you for everything.

o7

vinegar may still exist, just studio only for the meantime.

bennett-nguyen commented 9 months ago

Well it has been a great time playing Roblox on Linux, thank you the contributors of Vinegar for making my experience possible. I guess I will wait until this becomes possible again...

apprehensions commented 9 months ago

rip brah

Cristiandis commented 9 months ago

thank you bitdancer for trying ❤️

splatert commented 8 months ago

Yeah let's block access to two percent of players who just want to have fun and not do anything about the exploiters who make up a huge majority of Windows players. Way to go, Roblox.

imskyyc commented 8 months ago

Yeah let's block access to two percent of players who just want to have fun and not do anything about the exploiters who make up a huge majority of Windows players. Way to go, Roblox.

This is a horribly detached take. Roblox actively wants to support Linux, but given said low market share, they cannot justify the cost of supporting it natively. WINE was disabled because of people making wine-specific exploits that bypassed the then relaxed Hyperion checks.

Bitdancer said maybe one day, but saying “Way to go, Roblox” isn’t going to change anything.

loukamb commented 8 months ago

These projects will still be maintained. Studio on Linux isn't going anywhere.

clooster commented 8 months ago

This sucks, but I hope Roblox at least noticed the demand and will work with Byfron to make Hyperion work better on Linux. I doubt this will be permanent.

owofied commented 8 months ago

At this point, I think it's safe to assume that it's an action specifically against Linux for no reason at all, unless they're cooking something up behind our backs, which I honestly doubt.

It makes no sense for Roblox to block Wine completely, since most cheats have simply disappeared after the release of the new anticheat, and even if there are some left, they most likely won't even run on Wine, since it's not a 1:1 Windows "emulation", which is sure to cause problems... roblox with new anticheat ran perfectly on wine and as far as I know byfron/hyperion isn't even a kernel level anticheat and running it on wine proved that unless there is some kernel emulation included in vinegear, so correct me if I'm wrong....

infernostars commented 8 months ago

At this point, I think it's safe to assume that it's an action specifically against Linux for no reason at all, unless they're cooking something up behind our backs, which I honestly doubt.

It makes no sense for Roblox to block Wine completely, since most cheats have simply disappeared after the release of the new anticheat, and even if there are some left, they most likely won't even run on Wine, since it's not a 1:1 Windows "emulation", which is sure to cause problems... roblox with new anticheat ran perfectly on wine and as far as I know byfron/hyperion isn't even a kernel level anticheat and running it on wine proved that unless there is some kernel emulation included in vinegear, so correct me if I'm wrong....

I believe the problem was related to the fact that Byfron had to somewhat self-disable itself, making it easier to reverse-engineer [and break it]

loukamb commented 8 months ago

At this point, I think it's safe to assume that it's an action specifically against Linux for no reason at all, unless they're cooking something up behind our backs, which I honestly doubt.

It makes no sense for Roblox to block Wine completely, since most cheats have simply disappeared after the release of the new anticheat, and even if there are some left, they most likely won't even run on Wine, since it's not a 1:1 Windows "emulation", which is sure to cause problems... roblox with new anticheat ran perfectly on wine and as far as I know byfron/hyperion isn't even a kernel level anticheat and running it on wine proved that unless there is some kernel emulation included in vinegear, so correct me if I'm wrong....

Since you're open for corrections, you must know that Hyperion definitely did not work perfectly with Wine. When the anti-cheat came out, it actually broke every single Linux compatibility layer made for Roblox at the time. It was only after pressure from developers that the guys working on Hyperion added Wine compatibility, and this "compatibility" simply involved disabling some of the most protective features of the anti-cheat.

What is happening right now is that people are starting to abuse this compatibility fix to develop exploits (e.g., by making Roblox on Windows believe that it's running on Wine, when it's really not), so the obvious solution is to remove it. You cannot have Wine compatibility without this fix present - it disables quite literally the one and only thing that breaks Wine compatibility (unless there are more things, in which case what I'm describing is further justified), so there truly is no alternative solution other than making the platform more vulnerable to exploits. In this case, Roblox's decision is entirely justified.

It's not like Roblox is having fun by randomly disabling compatibility with Linux. It's something they are doing because they have to mitigate hacks, and this is the only competent solution for a glaring problem that involves the anti-cheat literally disabling parts of itself just to make it work on Wine. There is no "alternative" to this, unlike what some people believe. There is no "better solution" where you still have Wine support and a perfectly compatible anti-cheat, short of spending precious time and resources rewriting the entirety of the anti-cheat for Linux (which is cost prohibitive considering the complexity involved and the relatively tiny benefits of doing this).

MurzNN commented 8 months ago

Will the Roblox Studio be blocked too, or only Player? As I understand, anti-cheat protection is needed only for player, isn't it?

apprehensions commented 8 months ago

Studio does not have Byfron, so it will still function.

StormyIceLeopard commented 8 months ago

Why intentionally blocked? Why not just let it crash and let wine/vinegar/whoever to find a way to support what is needed? By intentionally blocking wine, they are stopping all possible avenues for the community to find a way to make it work with the anti-cheat features they, roblox, deem necessary

jrelvas-ipc commented 8 months ago

@StormyIceLeopard It's a soft check, merely there for informational purposes. You can get around it easily.

Of course, it will crash because Hyperion doesn't support Wine.

loukamb commented 8 months ago

Why intentionally blocked? Why not just let it crash and let wine/vinegar/whoever to find a way to support what is needed? By intentionally blocking wine, they are stopping all possible avenues for the community to find a way to make it work with the anti-cheat features they, roblox, deem necessary

They are not intentionally blocking Wine. Or at least, they used not to, but they added a message to let you know that Roblox won’t work well. Roblox’s anti-cheat detects Wine’s implementation of system libraries (and many other things) as modified, which they, in fact, are (or are completely new implementations of Windows libraries, which is even worse). This triggers the anti-cheat because many cheats will modify system libraries to alter the client’s behaviour or evade detection.

What Roblox did to enhance compatibility with Wine was purposefully disable some aspects of the anti-cheat when Wine was detected. However, exploit developers started abusing this compatibility feature (e.g., make Roblox on Windows believe it’s running under Wine so you can freely alter system libraries and work around even more detections), so they had to remove it because the risks of letting this feature in and indirectly helping exploiters out exceeded the advantages of letting a relatively small part of the userbase play on Linux.

To make Roblox work on Wine now, you need to reverse engineer and bypass a substantial part of the anti-cheat. This effort is so Herculean that there’s an entire market dedicated to this (exploits), with many people spending unspoken amounts of time working on these bypasses. If the FOSS community achieves this, you will have uprooted the exploiting market.

ehunt34 commented 8 months ago

You can still play by setting forced_version to version-70a2467227df4077, but Roblox will eventually show the unsupported version error.

StormyIceLeopard commented 8 months ago

You can still play by setting forced_version to version-70a2467227df4077, but Roblox will eventually show the unsupported version error.

That worked!

` [player]

forced_version = "version-70a2467227df4077" `

USMP-lancer commented 8 months ago

when the version is inevitably depricated, virtual machines should work

bradwilliamson commented 8 months ago

Enjoyed playing while it lasted. It is the only game I played anymore, and just with my kids. So it was very convenient to just run it under my OpenSUSE Tumbleweed install. I think it ran better than the supported Windows client. It was so buttery smooth. Hopefully they target Steamdeck/Linux in the future. I don't really want to go back to dual booting Windows 11, or attempting to play in a Windows 11 VM.

superawesome commented 8 months ago

It's a soft check, merely there for informational purposes. You can get around it easily. Of course, it will crash because Hyperion doesn't support Wine.

@jrelvas-ipc Can you post how to do skip the soft check? I'm guessing a setting or cmdline flag somewhere. I'm interested in tinkering with it, but I don't know much about Hyperion specifically.

Alum1n commented 8 months ago

You can still play by setting forced_version to version-70a2467227df4077, but Roblox will eventually show the unsupported version error.

Thank you so much, however you are right this won't last for long and it will sure give the unsupported version error. I hope that vinegarhq can cook something up in that time period.

Hedwig7s commented 8 months ago

Welp I hope with things like the Steam Deck and Linux in general starting to get more popular that at some point their hands will be forced

roads51 commented 8 months ago

aw man, now i have to do something productive instead of playing roblox all day

Cuteistfox commented 8 months ago

What Roblox did to enhance compatibility with Wine was purposefully disable some aspects of the anti-cheat when Wine was detected. However, exploit developers started abusing this compatibility feature (e.g., make Roblox on Windows believe it’s running under Wine so you can freely alter system libraries and work around even more detections), so they had to remove it because the risks of letting this feature in and indirectly helping exploiters out exceeded the advantages of letting a relatively small part of the userbase play on Linux.

What if you sha what winege or normal wine dlls are and acept those. Also a "anti-tamper" isnt a effective anti-cheat (people will just reverse engineir the roblox protocol and make a new client). A effective anti-cheat is a server side verification anti cheat. I recommend useing a simulation anti cheat (in minecraft its grim.ac) as they are the only effective ones (look at how few bypasses there are for grim compared to vulcan (a difrent anticheat)) and also they only block stuff that is truly impossible.

loukamb commented 8 months ago

What if you sha what winege or normal wine dlls are and acept those. Also a "anti-tamper" isnt a effective anti-cheat (people will just reverse engineir the roblox protocol and make a new client). A effective anti-cheat is a server side verification anti cheat. I recommend useing a simulation anti cheat (in minecraft its grim.ac) as they are the only effective ones (look at how few bypasses there are for grim compared to vulcan (a difrent anticheat)) and also they only block stuff that is truly impossible.

It’s not just hash checking the libraries. They do a lot more stuff, including integrity checks on system calls and a lot of very obtuse stuff that is hard to figure out (since, after all, the more obtuse and obfuscated your checks are, generally the harder they become to reverse engineer and bypass). Each operating system, sometimes including individual versions, requires additional effort to make sure the anti-tamper will work as expected on it, since there is never a “one-size-fits-all” solution. Sometimes, a Windows update can actually break an anti-tamper if the changes are too unexpected. Adding support for Wine would equate to adding support for a new Windows release, so you would have to spend time and resources applying the same recipe to study syscalls, the idiosyncrasies of certain system libraries, making sure your obtuse detection mechanisms work there as well, etc… which is not trivial, and if something’s not trivial in the world of software protection then you need a very good justification to pursue it. Considering how little Linux users there is on Roblox, it is not enough justification. Adding to this is how Wine can differ from distribution to distribution - or even configuration to configuration, as some go as far as replacing Wine components with their own to improve compatibility with certain applications or games. Imagine having to support multiple versions of Wine, then each version of Wine may need special compatibility fixes for certain distributions (this can be fixed through something like flatpak, but then that’s asking Roblox to officialize support for one community-made compatibility package and that’s not happening), then you have to throw in additional considerations for the Wine users that are more technical and have toyed with their install - and just like Linux users like myself do, will complain that stuff doesn’t work as expected if this isn’t done. All to let a relatively tiny percentage of Roblox users play. This is not happening.

people will just reverse engineir the roblox protocol and make a new client

A lot of people have tried, but I have not seen a fully functional reimplementation of the Roblox client. Roblox, unlike Minecraft (which you referred to in your post), does not have an open specification for their networking protocol, and also unlike Minecraft, it is not easy to decompile Roblox to figure things out (Java is much easier to decompile than a compiled native executable). There is some amount of user documentation out there, but a vast part is still undocumented and it’s quite hard to figure out, especially since Roblox actively tries people from figuring this out. You need a vested interest in replicating the Roblox client to commit to this - interest that, for example, botters have, but the principle of Occam’s razor tells us that the easiest solution is classically the most preferred and therefore botters just run the Roblox client on virtual machines.

I recommend useing a simulation anti cheat (in minecraft its grim.ac) as they are the only effective ones (look at how few bypasses there are for grim compared to vulcan (a difrent anticheat)) and also they only block stuff that is truly impossible.

You must not be familiar with Roblox. Roblox has millions of games, all of which includes different gameplay. What may be “illegal” or impossible in one game (e.g. flying in a farming simulation) may be “legal” or possible in another (e.g. flying in an airplane simulation game). This applies to literally every single “impossible” thing you can think of: speed hacking, viewing through walls, deleting parts, etc… and how about users cheating by abusing concepts that the game itself implements? Like if the game reimplementing Among Us gameplay has an endpoint for “killing” a player, how can a built-in, one-size-fits-all anticheat directly implemented in the client or server even understand what’s a legitimate call to the endpoint? Can it even know what the endpoint does? No, it cannot. This is why it’s generally up to the game developer (not Roblox) to implement their own anti-cheat that builds on top of the Roblox anti-tamper.

Cuteistfox commented 8 months ago

Roblox, unlike Minecraft (which you referred to in your post), does not have an open specification for their networking protocol, and also unlike Minecraft, it is not easy to decompile Roblox to figure things out (Java is much easier to decompile than a compiled native executable).

Minecraft does not have offical specifcations for protocol. The only reason custom servers (not just a bunch of mods) like glowstone and obsidian exist is becuase of wiki.vg witch gets the low level info via decompiling. Also its not harder to decompile (i did it). Its just ver obfuscated (me ,just like clippy, proactivly shield eyes from assembly)x86_64 assembly is much harder to read than java bytecode but its still can be decompiled just as easily.

 You must not be familiar with Roblox.

I actuly am famiriar with roblox

Roblox has millions of games, all of which includes different gameplay. What may be “illegal” or impossible in one game (e.g. flying in a farming simulation) may be “legal” or possible in another (e.g. flying in an airplane simulation game). This applies to literally every single “impossible” thing you can think of: speed hacking, viewing through walls, deleting parts, etc… and how about users cheating by abusing concepts that the game itself implements? Like if the game reimplementing Among Us gameplay has an endpoint for “killing” a player, how can a built-in, one-size-fits-all anticheat directly implemented in the client or server even understand what’s a legitimate call to the endpoint? Can it even know what the endpoint does? No, it cannot. This is why it’s generally up to the game developer (not Roblox) to implement their own anti-cheat that builds on top of the Roblox anti-tamper.

What i sugested was a api to make it simple make anti cheats. Also frecam (viwing thru walls) is fully client side and as such is indetectable.

Imagine having to support multiple versions of Wine, then each version of Wine may need special compatibility fixes for certain distributions (this can be fixed through something like flatpak, but then that’s asking Roblox to officialize support for one community-made compatibility package and that’s not happening), then you have to throw in additional considerations for the Wine users that are more technical and have toyed with their install.

The wine users who use custom librarys also put each program in its own bottle(technicly called wineprefix).

As such, i sugest to any roblox developer reading this that hyperion is opt-in (or atleast opt-out). Now does anyone have a convinient wrapper for roblox via waydroid?

Hedwig7s commented 8 months ago

aw man, now i have to do something productive instead of playing roblox all day

Dualbooting exists

StormyIceLeopard commented 8 months ago

aw man, now i have to do something productive instead of playing roblox all day

Dualbooting exists

Have you considered that some of us don't want to touch the Microsoft operating system at all? Thus that is not a valid solution.

For me, Windows 10 was the last one. I will do Windows 10 VM, but once that reaches EOL in a little over a year. That will be that.

Hedwig7s commented 8 months ago

Have you considered that some of us don't want to touch the Microsoft operating system at all?

Good god chill out I can't argue against an opinion but sheesh Just saying it's probably a bit easier to do that then beg a virtual machine to make itself invisible

superawesome commented 8 months ago

Distaste for a particular company is perfectly reasonable, and MS has more than earned it over their lifetime. I avoid them wherever possible, so I would investigate a lot of other potential solutions before dual booting or a VM.

Those are viable solutions, but obviously not a very good ones. You'll get to play Roblox I guess, but there's a whole host of other games that work perfectly fine on Linux (thanks Valve!), and a lot of other ways to play Roblox if you really want to.

Coder2195Text commented 8 months ago

I am going to try a VM before any dual booting, any VMs that aren't blocked by the anticheat?

KelpJerky commented 8 months ago

I am going to try a VM before any dual booting, any VMs that aren't blocked by the anticheat?

I used a VM when roblox initially disabled wine a couple months ago and it was not a very good experience. I used QEMU. You have to pass through your GPU as well which was not super difficult but was time consuming. I used a 1080 for the vm, and I am not sure if there was something specific I did incorrect, but it did not run very well and it was not possible to make the VM go more than 60FPS.

CrispyDesires commented 8 months ago

Roblox on Linux is NOT dead guys!! Think about it, instead of US being the VICTIMS of cheaters, why don't we FIGHT BACK and JOIN THEM to find vulnerabilities only so we can PWN THEM in Arsenal?! We may lose our accounts, but we will not lose our dignity!!!!!!!!

apprehensions commented 8 months ago

No

Coder2195Text commented 8 months ago

me rn fr

I did microsoft (erm bighard) bidding and installed their bloated and data laundering OS on 48gb of my disk drive.

All that just to be able to play ghost hunt game and do Freshcut quests

---------- Forwarded message --------- From: sewn @.***> Date: Sat, Mar 2, 2024 at 4:25 PM Subject: Re: [vinegarhq/vinegar] Roblox on Linux Deprecation Notice (Issue

397)

To: vinegarhq/vinegar @.> Cc: Coder2195Text @.>, Comment < @.***>

No

— Reply to this email directly, view it on GitHub https://github.com/vinegarhq/vinegar/issues/397#issuecomment-1974913264, or unsubscribe https://github.com/notifications/unsubscribe-auth/APBF2O4FDFFZ74EPBNY3YKLYWI7TDAVCNFSM6AAAAABD3FE6X2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZUHEYTGMRWGQ . You are receiving this because you commented.Message ID: @.***>

imskyyc commented 8 months ago

we should vote bitdancer as the embassador to the community

LuaGunsX commented 8 months ago

You can still play by setting forced_version to version-70a2467227df4077, but Roblox will eventually show the unsupported version error.

All I get is a plain white screen with only audio from the game playing. image

account183892 commented 8 months ago

we should vote bitdancer as the embassador to the community

Roblox is not on our side anymore. Byfron is useless now, it has been bypassed by several exploiters. Roblox is making the choice to block Linux. I still see exploits in Roblox games still. Roblox could have modified the Android client to make a Linux version. Roblox is a full greedy corporation since it went public. Just use Windows at this point and debloat it.

StormyIceLeopard commented 8 months ago

we should vote bitdancer as the embassador to the community

Roblox is not on our side anymore. Byfron is useless now, it has been bypassed by several exploiters. Roblox is making the choice to block Linux. I still see exploits in Roblox games still. Roblox could have modified the Android client to make a Linux version. Roblox is a full greedy corporation since it went public. Just use Windows at this point and debloat it.

I rather be done with Roblox all together than go back to Windows.

leomick commented 8 months ago

I get a wine not supported error now :( image

SenseiDeElite commented 8 months ago

Couldn't Roblox create a whitelist for veteran players (with accounts as old as 2017 and below) and allow some accounts to bypass the anti-tamper? Or maybe a less complex solution: compiling the Roblox Android application for x86_64, making it easier to run on Waydroid without the need to use a bad and proprietary compatibility layer.

SenseiDeElite commented 8 months ago

Also, for anyone interested, it is possible to debloat Windows with open source scripts like privacy.sexy, using all possible options. Note that some scripts are irreversible and will remove Windows features that leak your data, so it is recommended to analyze each option before enabling, and it is also important to note that, even with this script, you are still using a proprietary operating system with as many backdoors only God knows.

splatert commented 8 months ago

Couldn't Roblox create a whitelist for veteran players

No. Millions of old accounts are stolen/hijacked and abuse occur within them. They tend to get sold left and right or have a system in their places that redirect you to another game.

account183892 commented 8 months ago

Also, for anyone interested, it is possible to debloat Windows with open source scripts like privacy.sexy, using all possible options. Note that some scripts are irreversible and will remove Windows features that leak your data, so it is recommended to analyze each option before enabling, and it is also important to note that, even with this script, you are still using a proprietary operating system with as many backdoors only God knows.

Windows 7, still supported by Roblox and still getting updates in MSUs.

account183892 commented 8 months ago

Couldn't Roblox create a whitelist for veteran players

No. Millions of old accounts are stolen/hijacked and abuse occur within them. They tend to get sold left and right or have a system in their places that redirect you to another game.

2017 and below accounts would be beamed if they made a whitelist for those accounts. I could imagine in one day that all the old accounts are being taken over by people who wanna use Wine.

StormyIceLeopard commented 8 months ago

Also, for anyone interested, it is possible to debloat Windows with open source scripts like privacy.sexy, using all possible options. Note that some scripts are irreversible and will remove Windows features that leak your data, so it is recommended to analyze each option before enabling, and it is also important to note that, even with this script, you are still using a proprietary operating system with as many backdoors only God knows.

Windows 7, still supported by Roblox and still getting updates in MSUs.

That has been EoL since 2020

account183892 commented 8 months ago

Also, for anyone interested, it is possible to debloat Windows with open source scripts like privacy.sexy, using all possible options. Note that some scripts are irreversible and will remove Windows features that leak your data, so it is recommended to analyze each option before enabling, and it is also important to note that, even with this script, you are still using a proprietary operating system with as many backdoors only God knows.

Windows 7, still supported by Roblox and still getting updates in MSUs.

That has been EoL since 2020

Sure, but there is ESU MSUs and the embedded versions get updates still