QueueService: Monetize Reserved Server Queues

QueueService is a Roblox module that manages reserved server queues. It allows monetization by prioritizing players who own a gamepass. It’s useful for semi-popular games with server lists looking to increase profit or for finding inspiration. Also, it contains a BindableEvent which you can connect to and notify the player of who is ahead and behind them in a queue, another thing Roblox currently do not let you control.

Setup:

Add the following module to your lobby place:

[QueueService - for Lobby - Roblox]

And, add the following module to a place the player is intended to teleport to:

[QueueService - for Teleport Places - Roblox]

Basic Usage of QueueService - for Lobby:

local REPLICATEDSTORAGE = game:GetService("ReplicatedStorage")
local PLAYERS = game:GetService("Players")

local QueueService = require(script.Parent:WaitForChild("QueueService")).new()

REPLICATEDSTORAGE.EnterQueue.OnServerInvoke = function(player)
	return QueueService:EnterQueue(13582073143, "5a65f684-ac83-46df-b1c7-51eac93a618a", "nkRVo8qi_LrYRpRusMWa4YT2ZVqDrN9GscdR6sk6YYo3_Y0pAwAAAA2", 1, player)
end

REPLICATEDSTORAGE.ExitQueue.OnServerEvent:Connect(function(player)
	QueueService:ExitQueue("5a65f684-ac83-46df-b1c7-51eac93a618a", player)
end)

QueueService.SendPosition.Event:Connect(function(player, ahead, behind)
	REPLICATEDSTORAGE.SendPosition:FireClient(player, ahead, behind)
end)
3 Likes

You should also use MemoryStoreService instead of DataStoreService when it comes to stuff like queues

4 Likes

I have resolved a minor bug, allowing the utilization of all queue servers while disregarding those that no longer exist. Roblox model has been updated.

This now uses MemoryStoreService so queues can be written to faster + fixed some bugs + added some conditions. Models have been updated.

1 Like