On how to check if your game is indeed public I would suggest to open another browers that you are not logged into a Roblox account, go to your game page and see if a play button show, if so its public.
I am not trying to check if my game is public. I am making a game like Super Place Roulette where the player is teleported to random games (not made by me btw) on the website. To make this system, I generated random numbers between 1 and 10 million and checked if they were actual game ID’s.
My problem now is, how can I check if the game is not restricted?
I think i have a perfect solution, just teleport player to that place, if player doesn’t teleport, spin a number again. Thats it, if no game = respin, not public = respin, not allowed = respin, basically if teleport failed regenerate number and go again.
Also correct me if I’m wrong, but ProxyService requires Heroku to work properly, but they stopped accepting free plans last month, so don’t use ProxyService unless if you’re willing to pay for it.
As for the OP, you’re going to have to look for other proxy options in order to accomplish this. Proxies and HttpService is the only way you can accomplish this.
game.ReplicatedStorage.AskServer.OnServerEvent:Connect(function(_, ID)
local HttpService = game:GetService("HttpService")
--make a proxy or use a public one to make it work
local function Proxy(url)
return url
end
local function GET(url)
url = Proxy(url)
local result
local Success, Error = pcall(function()
result = HttpService:GetAsync(url)
result = HttpService:JSONDecode(result)
end)
if Success then
return result
else
warn(Error)
end
end
local function getPlaceData(placeId)
local endpoint = "https://games.roproxy.com//v1/games/multiget-place-details?placeIds="..placeId
return GET(endpoint)
end
local function getUniverseData(universeId)
local endpoint = "https://games.roproxy.com//v1/games?universeIds="..universeId
return GET(endpoint)
end
--your place id
local PlaceData = getPlaceData(ID)
local universeId, isPrivate = PlaceData.universeId, PlaceData.isPlayable
print("game private:", isPrivate)
local UniverseData = getUniverseData(universeId)
local uncopylocked = UniverseData.copyingAllowed
print("uncopylocked:", uncopylocked)
end)
You might want to report this in the RoProxy thread. It appears this “Unathorized” bug is likely their issue since the multiget-place-details Roblox API works fine.