CustomVIP V2 - A module to handle custom VIP servers!

Introducing CustomVIP V2!

This is the successor to my previous module, CustomVIP, found here

What is it?

CustomVIP is a module to handle in-game VIP servers, separate from roblox official VIP servers. A player can spend money and receive a server code, which can then shared or be used to join an in game private server.

Why should you use this over the official vip servers?

Roblox by default disables VIP servers if your game is paid access. However, using this module will allow you to circumvent this limitation and create custom VIP servers with ease.

New Features

This module now has different tiers of servers that can be bought!

:DoesPlayerHaveVipServer(player) → returns two arguments, a boolean which represents whether or not the player has a VIP server and the VIP server info IF the player owns a VIP server.

:ClearServerData(playerUserId) → Used to delete a player’s VIP server, used internally within the module.

:PromptPurchase(player, serverTier) → prompts the user to purchase the specified tier of server. (Can be configured inside the config file)

:CreateServer(player, serverTier) → returns two arguments, whether the server creation was successful and the created server’s information.

Once a server has been created, it should return an array of information similar to this:

  Tier = "Bronze", -- The server tier.
  Code = "1-FWDoj", -- The server code which can be used to join the VIP.
  TeleportCode = "dJIwufhwfe-fjwmpfonbf0enofijesof", -- The reserved server's code (used internally)
  Owner = 1, -- UserId of the server owner.
  Expiry = 169304434 -- The expiry of the VIP server in UNIX time

:TeleportToServer(player, serverCode) → Teleports the player to the VIP server if the code is valid.

Source Code
Github Gist: customvip.lua · GitHub
Roblox Model: CustomVIP Rewritten - Roblox

Thank you for taking your time to read this, if you find any bugs or have any questions, feel free to shoot me a DM!


Id recommend not having a:

:PromptPurchase(player, serverTier)

function since honestly, purchasing the vip server is something the developer should handle and doesn’t really fit in with the module.

You could make the argument it is useful, however it involves setting the callback for process receipt which would break a lot of experiences which handle other developer products.

1 Like

Thinking about it, I agree with you, do you think its better to have a setting which can enable/disable the use of the ProcessReceipt function?

1 Like

I think it would be cool if you could do a :ProcessPurchase function. Thst would be easier to use.

1 Like

Where do i put the Module Script?

Server Script Service and then yea - self explanation

Oooh How about this?

-- Use a Script, NOT a LocalScript
local customVIP = require(

customVIP.PromptPurchase(playerInstance) -- Prompts the player to purchase a VIP server (will automatically create a VIP server once purchase is complete)
customVIP.CreateServer(playerInstance) -- To create a VIP server manually, returns the server info such as the code!
customVIP.GetServerInfo(plr) -- Returns the player's private server info IF it exists
customVIP.TeleportToServer(plr,serverCode) -- Teleports the player to the private server if the code is valid

-- In order to change the settings, there is a file called Config inside the module.

That’s just showing you the API

You use those different things to interact with the module

1 Like