Role Selection & Countdown setup
A countdown to your next session, and a window where staff choose their role. When selection closes, everyone is moved onto their team.
You Need
- Roblox Studio, with your game open.
- Your Prova licence key, from your dashboard.
- To own the experience, or the group that owns it.
- Your Roblox group’s ID, and your session times in UTC.
You Get
- A file from the Prova Discord server.
- Prova Core, free, one per experience.
- Your licence key, added as a secret.
What Goes Where
Your Explorer after installing. Don’t rename anything.
ReplicatedStorage
└─ PROVA | Role Selection & Countdown Folder
├─ README Script
└─ Remotes Folder
├─ Choose RemoteEvent
├─ Notice RemoteEvent
├─ RequestState RemoteEvent
├─ Staff RemoteEvent
└─ State RemoteEvent
ServerScriptService
└─ PROVA | Role Selection & Countdown Folder
├─ RoleConfig ModuleScript
├─ RoleRules ModuleScript
├─ RoleServer Script
├─ ScheduleService ModuleScript
└─ SelectionService ModuleScript
StarterGui
└─ PROVA | Role Selection & Countdown ScreenGui
├─ RoleClient LocalScript
├─ RoleSelection Frame
├─ SessionCountdown Frame
└─ Tabs Frame
└─ RoleSelection ImageButton
| Service | Object | What it holds |
|---|---|---|
| ReplicatedStorage | PROVA | Role Selection & Countdown | The README and the remotes the window uses. |
| ServerScriptService | PROVA | Role Selection & Countdown | The system and its settings. |
| StarterGui | PROVA | Role Selection & Countdown | The role window, the countdown bar and the open button. |
Installation
Follow the steps in order.
-
Join the Prova Group
You must be in the Prova group when you buy and when you sign in to your dashboard. Players in your game don’t need to join.
-
Buy the Game Pass
One payment in Robux, from the Role Selection & Countdown page. The Game Pass is your proof of purchase.
Then open your dashboard and create your licence key. It is shown once, so copy it somewhere safe. One key covers every system you own, in up to six of your experiences.
-
Download the Role Selection & Countdown File
The Role Selection & Countdown arrives as one file, from the Prova Discord server. Save it somewhere you can find it.
-
Install Prova Core
Once per experience, however many Prova systems you own. Core is free. Open View → Explorer and click the arrow beside ReplicatedStorage. If PROVA | Core is already there, skip this step.
- Download Prova Core from the Prova Discord server.
- In Explorer, right-click Workspace and choose Insert from File. Pick the Prova Core file.
- Among what it adds are two folders named PROVA | Core.
- Drag the one holding Constants, Core, Ed25519 and Log into ReplicatedStorage.
- Drag the one holding CoreServer and LicenseProvider into ServerScriptService.
- Delete anything left over, such as an empty model.
ExplorerReplicatedStorage
└─ PROVA | Core
ServerScriptService
└─ PROVA | Core
Only one copy of Core. A second PROVA | Core stops every system with PC-002. -
Add the Role Selection Folders
In Explorer, right-click Workspace and choose Insert from File. Pick the Role Selection & Countdown file. Among what it adds are three objects named PROVA | Role Selection & Countdown. Drag each one into its service.
Add the Role Selection Folders Drag this Into The Folder holding README and Remotes ReplicatedStorage The Folder holding RoleConfig ServerScriptService The ScreenGui holding RoleSelection, SessionCountdown and Tabs StarterGui Remove any older role selection or countdown system. Delete anything left over, such as an empty model. -
Make Your Teams
Every team name below must exist, spelled exactly the same. Using other names? Keep yours and change the names in RoleConfig instead.
- In Explorer, find Teams. If it is missing: Model tab → Service → Teams → Insert.
- Right-click Teams → Insert Object → Team.
- Rename it exactly: Host, Co-Host, Trainer, Assistant, Ranker, Overseer, Spectator.
- In Properties, give each team a TeamColor no other team uses.
- Untick AutoAssignable on each.
Two teams with the same TeamColor count as one team, and players land on the wrong one. -
Set Your Group, Ranks and Times
Open RoleConfig and check three things.
ServerScriptService/PROVA | Role Selection & Countdown/RoleConfig- GroupId: change 0 to your group’s ID, the number in its web address.
- HostRank, CoHostRank, TrainerRank, AssistantRank and OverseerRankerRank: your group’s ranks.
- SessionHoursUTC: the hours your sessions start, in UTC. 12:00 in Spain in summer is 10.
-
Turn On Allow HTTP Requests
Turn on Allow HTTP Requests and click Save. Without it the licence can’t be checked and Core stops with PC-004. Already on if another Prova system works in this game.
File/Experience Settings/Security -
Add Your Licence Key as a Secret
Publish your game first: File → Publish to Roblox. Then, in a web browser, open create.roblox.com, click your experience, and in the left menu choose Secrets → Create Secret. Fill in all three fields exactly.
Already done for another Prova system? Skip this step. Lost your key? Rotate it on your dashboard and paste the new one here.
Creator Dashboard/Your Experience/Secrets/Create SecretAdd Your Licence Key as a Secret Field Type Name prova_licence Secret Your licence key Domain api.withprova.app -
Publish and Check the Output
Publish and join your game. Press F9 to open the Developer Console and choose the Server log. When the Role Selection & Countdown works, you see these lines.
In the game, the countdown bar shows at the top, unless a session started in the last hour. The button on the left opens the window, and staff of the right rank can pick a role.
Testing in Studio instead? Open View → Output. A normal Play can’t read the published secret, so add a Local Secret named prova_licence with your key under File → Experience Settings → Security, or use a Team Test.
Output[PROVA | Core] v0.2.0 starting.
[PROVA | Core] Role Selection & Countdown v1.0.0 registered.
[PROVA | Role Selection & Countdown] v1.0.0 ready.
[PROVA | Core] Licence confirmed.
A Session, Hour by Hour.
With the standard settings, for a 14:00 UTC session.
13:50
Selection closes. Players who chose a role are moved onto their team.
14:00
The session starts. The countdown bar hides.
15:00
Selection opens again, and the bar counts down to 17:00.
Places and Commands.
Places per role are fixed. When more players want a role than it has places, the draw is random.
| Role or command | What it is |
|---|---|
| Host · Co-Host | 1 place each |
| Trainer | 3 places |
| Assistant | 6 places |
| Overseer & Ranker | 3 places: 1 Ranker, up to 2 Overseers |
| !closeRoles | Close now and set teams |
| !testTeams | Set teams from current choices, keep selection open |
| !roleStatus | Whether selection is open, time to the next session, and who chose what |
Settings
All settings are in one file. Change a value, then publish.
Your Group and the Roles
Each rank is the lowest group rank that can choose that role. Each team is where that role goes.
| Setting | Standard | What it does |
|---|---|---|
| GroupId | 0 | Your group’s ID. 0 means nobody has a rank, so nobody can choose. |
| HostRank | 50 | Lowest rank for Host. |
| HostTeam | "Host" | The team Hosts go to. |
| CoHostRank | 45 | Lowest rank for Co-Host. |
| CoHostTeam | "Co-Host" | The team Co-Hosts go to. |
| TrainerRank | 40 | Lowest rank for Trainer. |
| TrainerTeam | "Trainer" | The team Trainers go to. |
| AssistantRank | 35 | Lowest rank for Assistant. |
| AssistantTeam | "Assistant" | The team Assistants go to. |
| OverseerRankerRank | 70 | Lowest rank for Overseer & Ranker. |
| RankerTeam | "Ranker" | One chosen player goes here. |
| OverseerTeam | "Overseer" | Up to two chosen players go here. |
| SpectatorTeam | "Spectator" | Players who chose a role but got none. |
Sessions and the Countdown
| Setting | Standard | What it does |
|---|---|---|
| SessionHoursUTC | { 11, 14, 17, 20, 23, 2 } | The hours sessions start, in UTC, 0 to 23. |
| SelectionClosesMinutesBefore | 10 | Minutes before a session that selection closes and teams are set. |
| SelectionReopensMinutesAfter | 60 | Minutes after a session starts that selection opens again. |
| ShowCountdown | true | Show the countdown bar at the top. |
| HideCountdownMinutes | 60 | Minutes the bar hides after a session starts. |
Staff
| Setting | Standard | What it does |
|---|---|---|
| StaffRank | 45 | Lowest rank that sees Lock, Unlock and Update. |
| AdminCommandRank | 250 | Lowest rank that can use the chat commands. |
The Window
| Setting | Standard | What it does |
|---|---|---|
| ShowOpenButton | true | The button on the left that opens the window. |
| OpenButtonRank | 0 | Lowest rank that sees that button. 0 is everyone. |
| CountdownText | "Selecting Roles In: " | Before the time left until selection closes. |
| OpenText | "Role Selection Open" | Shown when open with no countdown. |
| ClosedText | "Role Selection Closed" | Shown when closed. |
| BackgroundBlur | 12 | Blur behind the window. 0 is off. |
| VerboseLogging | false | Print every choice and team move. |
Troubleshooting
Open Output and look for lines starting with [PROVA |. All PC- codes are also on Error Codes.
| You see | It means | What to do |
|---|---|---|
| there is no team with exactly that name | A team name doesn’t match. | Make Your Teams, or change RoleConfig. |
| have the same TeamColor | Two teams share a colour. | Give each team its own TeamColor. |
| GroupId is 0 | No group is set. | Set Your Group, Ranks and Times. |
| Every role says LOCKED | Rank too low, no group, or selection is closed. | Check GroupId and the ranks. |
| No countdown bar | A session started less than HideCountdownMinutes ago, or ShowCountdown is false. | Wait, or check RoleConfig. |
| isn’t valid | A typing mistake in RoleConfig. | The message names the setting. |
| PC-001 | Prova Core isn’t installed. | Install Prova Core. |
| PC-002 | Prova Core is installed twice. | Delete one PROVA | Core from each service. |
| PC-003 | No licence key found. | Add the secret. In a Studio Play, add a Local Secret or use a Team Test. |
| PC-004 | HTTP requests are off. | Turn On Allow HTTP Requests. |
| PC-005 | Prova couldn’t be reached. | Usually passes by itself. If not, check the secret’s Domain is api.withprova.app. |
| PC-006 | The key isn’t valid. | Copy it again, or rotate it on your dashboard. |
| PC-014 | You don’t own this experience. | Use it in an experience owned by you or your group. |
| PC-015 | Your licence doesn’t cover the Role Selection & Countdown. | Buy its Game Pass, or remove it. |
