Detect uwp/microsoft store Roblox

Preciate it and sorry for the late reply ill be sure to check ur method out!

2 Likes

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 
2 Likes
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 :shock:)

2 Likes

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)

Zrzut ekranu (113)

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 :man_facepalming:

so what exactly we need to change :sob:

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? :shock:
If someone planning to hire a man that will change these version in this “anti-uwp” version , then here i am :wink: