Allow GamePasses to be queried by the client

If I correctly recall, it used to be possible before, to check whether a player owns a gamepass through the client. With this change I now need to change around quite a few scripts to make my gamepasses work again, which will be really lengthy. I don’t see a reason why the client shouldn’t be able to check if the player itself or another player owns a gamepass.

I am using GamePassService:PlayerHasPass(), if there is any workaround for this, please let me know!

6 Likes

Checking if a player has a gamepass on the client is a huge security risk. An exploiter could fake the gamepass check, saying that they own the gamepass when they really don’t.

Important checks such as gamepass checks should always be done on the server.

2 Likes

the op doesnt say anything about giving features if you had it by checking on the client, it could be used for guis to lock off buying game passes or showing that you have it

7 Likes

Very true, I did not think of that.

Does anyone know if clients ever make web requests? I was under the assumption all client-usable methods that accessed the web just asked the server to make the request and received the result from the server. This is how text filtering works, and I wouldn’t be surprised if other methods behaved similarly as well.

If this is the case, using PlayerHasPass clientside would result in your market GUIs loading slower. This could be avoided by manually modifying the GUI before adding it, but that doesn’t seem ideal because you’d have to manually implement your own StarterGui.

2 Likes

Clients do make web requests with the hidden HttpRbxApiService so it can just use that, and text filtering has to go through the server because filtering isnt a roblox api thing, its community sift.

2 Likes