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)
4 Likes

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

5 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.

1 Like

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

1 Like