Preciate it and sorry for the late reply ill be sure to check ur method out!
I can’t risk kicking mobiles out so thats not a method for me to consider. Thank you tho!
Ill have a look at this it looks very useful
add check for TouchEnabled and version
TouchEnabled is located in UserInputService
game:GetService(“UserInputService”).TouchEnabled --usually true if the screen is touchable
localscript in ReplicatedFirst (so it executes faster than most auto-execute in UWP exploits)
reminder: exploiters might downgrade to old version in order to bypass this or just force __newindex on LocalPlayer and change it to Instance.new(“Player”) lol
local UWPVersions={
"2.590.678",
"2.592.586",
}
if table.find(UWPVersions,version()) and game:GetService(“UserInputService”).TouchEnabled == false then
game:GetService("Players").LocalPlayer:Kick("UWP detected")
end
local UWPVersions = {
"2.590.678",
"2.592.586",
}
game.Players.PlayerAdded:Connect(function(player)
local success, version = pcall(function()
return player:GetJoinData().ClientVersionString
end)
if success and table.find(UWPVersions, version) then
player:Kick("UWP detected")
end
end)
how about we try to make module that will update uwpversions?
local UWPVersions = {
"2.590.678",
"2.592.586",
}
return UWPVersions
-- MainScript.lua
local UWPVersions = require(script:WaitForChild("UWPVersions"))
game.Players.PlayerAdded:Connect(function(player)
local success, version = pcall(function()
return player:GetJoinData().ClientVersionString
end)
if success and table.find(UWPVersions, version) then
player:Kick("UWP detected")
end
end)
the UWPVersions
table is stored in a separate module script called UWPVersions.lua
, simply edit the UWPVersions.lua
module script and add or remove versions as needed (ikr its stupid idea but if someone can come with brilliant idea then )
i would use your version
but i would add one more thing
getting roblox client version directly from Google Play Store (or apple store) because those versions are equal to the one from UWP microsoft store with HTTPEnabled
automaticially add the version to blacklist
win!
HOW IT WILL FIX UWP thing?
IF IT CHECKS YOUR BITS ON COMPUTER
WHAT IF 64-BIT PLAYER PLAYING THE UWP VERSION
local HttpService = game:GetService("HttpService")
local UWPVersions = require(script:WaitForChild("UWPVersions"))
-- Get the latest version of the Roblox client from the Google Play Store
local success, response = pcall(function()
return HttpService:GetAsync("https://play.google.com/store/apps/details?id=com.roblox.client&hl=en_US&gl=US")
end)
if success then
local version = string.match(response, "Current Version.+>([%d%.]+)<")
if version and not table.find(UWPVersions, version) then
table.insert(UWPVersions, version)
end
end
game.Players.PlayerAdded:Connect(function(player)
local success, version = pcall(function()
return player:GetJoinData().ClientVersionString
end)
if success and table.find(UWPVersions, version) then
player:Kick("UWP detected")
end
end)
player:GetJoinData().ClientVersionString
I believe this doesnt work i tried and all i got is LaunchData in that table (tested in roblox player)
game:GetService("Players").PlayerAdded:Connect(function(plr)
print("printing data")
table.foreach(plr:GetJoinData(),print)
print(plr:GetJoinData().LaunchData,"launch data")
print("printed successfully")
end)
idk if i remade it but here you go
local UWPVersions = {
"2.590.678",
"2.592.586",
}
game.Players.PlayerAdded:Connect(function(player)
local success, version = pcall(function()
return player:GetJoinData().ClientVersionString
end)
if success and table.find(UWPVersions, version) then
player:Kick("UWP detected")
end
end)
what its the same thing
GetJoinData doesnt have client version inside of it!
you must call Version() on localscript instead
local version = Version()
print(“Client version:”, version)
?
local HttpService = game:GetService("HttpService")
local UWPVersions = require(script:WaitForChild("UWPVersions"))
-- Get the latest version of the Roblox client from the Google Play Store
local success, response = pcall(function()
return HttpService:GetAsync("https://play.google.com/store/apps/details?id=com.roblox.client&hl=en_US&gl=US")
end)
if success then
local version = string.match(response, "Current Version.+>([%d%.]+)<")
if version and not table.find(UWPVersions, version) then
table.insert(UWPVersions, version)
end
end
game.Players.PlayerAdded:Connect(function(player)
local success, version = pcall(function()
return player:GetJoinData().ClientVersionString
end)
if success and table.find(UWPVersions, version) then
player:Kick("UWP detected")
end
end)
yes and it must be localscript not serverscript
so what exactly we need to change
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.
its hard to do on server to be honest
i dont even know if theres actually a way to detect it on server
if there is a way to detect it on server then its probably some private script or a hidden trick that you wont easiely find after googling it
yeah so ig its a true solution?
If someone planning to hire a man that will change these version in this “anti-uwp” version , then here i am