grahhhhhhhhhh your still doing the check on server (after edit)
player:GetJoinData().ClientVersionString
You have to put this as LocalScript in ReplicatedFirst
local UWPVersions = {
"2.590.678",
"2.592.586",
}
if table.find(UWPVersions,Version()) then
game:GetService("Players").LocalPlayer:Kick("uwp detected")
end
Doing it on the client will solve the problem, but exploiters will still be able to bypass this.
Currently looking for a way to do this safely on the server but I donât have a lot of hope.
Windows Store version uses 32-bits.
Including some UserInputService checks for mobile devices, this bit arch method can be used in games to prevent UWP app users from joining.
I donât know if version() provides enough information to separate from UWP clients, though.
Anyway, all of these checks can be bypassed as exploiters have full control over their clients, they can hook the tostring() method to act like 64 bits, and version() can also be bypassed as well.
This is a very common statement that developers use to defend client-sided anti-cheats.
Itâs not about some executors not being able to execute fast enough, itâs about the client.
The client runs in your machine, you have all the control over it. The executor you choose is up to you. You can even make your own if youâre experienced enough.
Some executors execute faster than the game itself, some donât. What matters is that the client has full control over the application. This can be bypassable, and will get bypassed eventually. (Well, already did lol)
Anyway, Iâve already seen some people on the forum also doing the same thing. hooking the function and returning a string long enough to replicate 64-bit behavior.
Would be embarrassing if a top game used this method to stop UWP clients from joining their game even though it can easily be bypassed through a hookfunction method. Oh, waitâŠ
Im joking, it took me 2 seconds to make. I was just trying to see if I can bypass the detection in my game using the current UWP exploits. Turns out all of them are just garbage and just re-names of fluxus. Krnl, comet, script ware are all the same.
Well that snippet had false positives. It kicked Web Roblox (the one with byfron).
To fix that, I added math.huge which now forces it to use 64-bit address during the check when on Web Roblox, and UWP canât use 64-bit address so it has shrunken down version of math.huge to fit a 32-bit address.