As far as I know, none of these are possible at the current time without the use of a proxy. You can check if they are in a vip server though.
Check if they own the game via MarketPlaceService:PlayerOwnsAsset(placeId). Should return true for the creator of the game as well as anyone who bought it while it was paid access.
While the method in my post is good for paid access, for VIP servers you’d need to get the game.PrivateServerOwnerId and use that in the DataStore as the key. If the game is a VIP server, that property will be someone’s UserId.
How do I check if the Player bought a (or multiple) VIP server(s)?
You have no way of knowing whether a player purchased a VIP server or not, only whether they’re in a VIP server or not. You could probably set up a data store of some kind to log servers that they own, but this isn’t reliable at all. You can hard code in a check but then again, you don’t know if they joined the server immediately after purchasing it or how long they have left. You also can’t assume that the server’s expired and remove it from the data store if a teleport to the server fails. I say teleport because otherwise you have that server hanging in the data store forever if you don’t interact with it.
In short: You can’t check this.
How do I check if the VIP server is active? (not expired)
You can’t check this either.
How do I check if the VIP automatic renewal is active
You also can’t check this.
I also want to know how I can check if someone bought my game when it’s paid access.
This has already been answered for you, but to reiterate, a player will essentially own your place as an asset if they bought it during paid access. You can check it the same way you’d check if they own another asset.
The Roblox+ extension is different in the way it operates. I’m quite sure it directly changes some website things and used VIP servers as a proxy to purchase features. There is no in-game implementation for this or a way to get this from website to proxy server to game. Keep in mind that WebGL3D is Roblox Staff and probably has backend code access to perform this kind of trickery. I’m not sure that even with a proxy server or Roblox API, you could do this on your own.
That’s not what OP is asking. OP is asking how to check what servers players bought, if those servers are active and if they have automatic renewal enabled, not how to check if a player is in a VIP server.