How do I make a game free only for certain users?

Sorry if the topic isn´t quite right :sweat_smile:.

So, I have a paid access game, but I want to give some beta testers, friends and youtubers a link/rank so they don´t have to spend the money, How do I do that?
I know that by giving them permission to edit the game It will work, buy I don’t want to give random youtubers that permission.

1 Like

Don’t use Roblox’s paid access setting. Code your own paid access using a gamepass and have a whitelist.

2 Likes

you can use group ranks to do that

local GroupID = 12345
local RankID = 255

game.Players.PlayerAdded:Connect(function(Player)
	if Player:GetRankInGroup(GroupID) == RankID then 
		return 
	else 
		Player:Kick()
	end
end)
2 Likes
  1. Create a gamepass with the cost you want you game to be for playing

  2. Don’t use the roblox default paid access. Insert a script on serverScriptService with this:

local Players = game:GetService("Players")
local FreeFor = {
	"ID of the person who has access1",
	"ID of the person who has access2", -- do this with all the people you want to go for free
	"ID of the person who has access3",
	
}

Players.PlayerAdded:Connect(function(Player)
	
	if table.find(FreeFor, tostring(Player.UserId)) then
		print("you have access")
	else
		--Offer the player to buy the gamepass
	end
end)

Tell me if you have any issues with it

3 Likes

I would recommend @CZXPEK’s group ranking way because players can simply buy these gamepasses from the Store on the Game page. Besides, if you want the game to be open for testers only, people with the gamepass/who bought the gamepass could be mad.

1 Like

Another way is to set up a table (whitelist) in a script and detect if the player id is in the table. if not, kick :slight_smile:

(For the people who cannot afford/don’t have groups :slight_smile:

Just make some gamepasses and copy the id

local Names = {names go here}
local Ms = game:GetService(‘MarketPlaceService’)

game.Players.PlayerAdded(player).

Then check if the player is there so
if Names[player.Name] then
return
end

Then detect if player owns gamepass with MarketPlace so

if not MarketPlace:UserOwnsGamePassId(player,gamepassid) then
player:Kick(‘You need the gamepass to test’)
end

Sadly you can’t just grant access to a paid game with the current roblox’s system, but you can probably use these scripts that people sent to whitelist certain players who bought a gamepass etc.

2 Likes

yeah but groups are not free, i think the easiest and cheapest way is this

1 Like