exppireed Prova is not public yet; stay tuned!
Role Selection & Countdown · Setup Guide

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.

Coming Soon Role pickerCountdownAuto teams
Time 15 min For a first install.
Steps 10 In order, below.
Services 3 Where its parts go.
Settings 27 All in RoleConfig.

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.

Explorer

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

Icons aren’t included. Icons on the window and its open button aren’t included. Add your own images in StarterGui → PROVA | Role Selection & Countdown.
Where the Role Selection & Countdown parts go
ServiceObjectWhat it holds
ReplicatedStoragePROVA | Role Selection & CountdownThe README and the remotes the window uses.
ServerScriptServicePROVA | Role Selection & CountdownThe system and its settings.
StarterGuiPROVA | Role Selection & CountdownThe role window, the countdown bar and the open button.
Created when the game runs. Don’t add these yourself. Remotes, again, if it was deleted by mistake.

Installation

Follow the steps in order.

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

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

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

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

    1. Download Prova Core from the Prova Discord server.
    2. In Explorer, right-click Workspace and choose Insert from File. Pick the Prova Core file.
    3. Among what it adds are two folders named PROVA | Core.
    4. Drag the one holding Constants, Core, Ed25519 and Log into ReplicatedStorage.
    5. Drag the one holding CoreServer and LicenseProvider into ServerScriptService.
    6. Delete anything left over, such as an empty model.
    Explorer

    ReplicatedStorage

    └─ PROVA | Core

    ServerScriptService

    └─ PROVA | Core

    Only one copy of Core. A second PROVA | Core stops every system with PC-002.
  5. 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 thisInto
    The Folder holding README and RemotesReplicatedStorage
    The Folder holding RoleConfigServerScriptService
    The ScreenGui holding RoleSelection, SessionCountdown and TabsStarterGui
    Remove any older role selection or countdown system. Delete anything left over, such as an empty model.
  6. 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.

    1. In Explorer, find Teams. If it is missing: Model tab → Service → Teams → Insert.
    2. Right-click Teams → Insert Object → Team.
    3. Rename it exactly: Host, Co-Host, Trainer, Assistant, Ranker, Overseer, Spectator.
    4. In Properties, give each team a TeamColor no other team uses.
    5. Untick AutoAssignable on each.
    Two teams with the same TeamColor count as one team, and players land on the wrong one.
  7. Set Your Group, Ranks and Times

    Open RoleConfig and check three things.

    ServerScriptService/PROVA | Role Selection & Countdown/RoleConfig
    1. GroupId: change 0 to your group’s ID, the number in its web address.
    2. HostRank, CoHostRank, TrainerRank, AssistantRank and OverseerRankerRank: your group’s ranks.
    3. SessionHoursUTC: the hours your sessions start, in UTC. 12:00 in Spain in summer is 10.
  8. 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
  9. 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 Secret
    Add Your Licence Key as a Secret
    FieldType
    Nameprova_licence
    SecretYour licence key
    Domainapi.withprova.app
  10. 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.

01

13:50

Selection closes. Players who chose a role are moved onto their team.

02

14:00

The session starts. The countdown bar hides.

03

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.

Places and Commands.
Role or commandWhat it is
Host · Co-Host1 place each
Trainer3 places
Assistant6 places
Overseer & Ranker3 places: 1 Ranker, up to 2 Overseers
!closeRolesClose now and set teams
!testTeamsSet teams from current choices, keep selection open
!roleStatusWhether selection is open, time to the next session, and who chose what

Settings

All settings are in one file. Change a value, then publish.

ServerScriptService/PROVA | Role Selection & Countdown/RoleConfig
If a value is wrong, Output names the setting and the standard value is used instead. Standard values are listed below.

Your Group and the Roles

Each rank is the lowest group rank that can choose that role. Each team is where that role goes.

Role Selection & Countdown: Your Group and the Roles
SettingStandardWhat it does
GroupId0Your group’s ID. 0 means nobody has a rank, so nobody can choose.
HostRank50Lowest rank for Host.
HostTeam"Host"The team Hosts go to.
CoHostRank45Lowest rank for Co-Host.
CoHostTeam"Co-Host"The team Co-Hosts go to.
TrainerRank40Lowest rank for Trainer.
TrainerTeam"Trainer"The team Trainers go to.
AssistantRank35Lowest rank for Assistant.
AssistantTeam"Assistant"The team Assistants go to.
OverseerRankerRank70Lowest 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

Role Selection & Countdown: Sessions and the Countdown
SettingStandardWhat it does
SessionHoursUTC{ 11, 14, 17, 20, 23, 2 }The hours sessions start, in UTC, 0 to 23.
SelectionClosesMinutesBefore10Minutes before a session that selection closes and teams are set.
SelectionReopensMinutesAfter60Minutes after a session starts that selection opens again.
ShowCountdowntrueShow the countdown bar at the top.
HideCountdownMinutes60Minutes the bar hides after a session starts.

Staff

Role Selection & Countdown: Staff
SettingStandardWhat it does
StaffRank45Lowest rank that sees Lock, Unlock and Update.
AdminCommandRank250Lowest rank that can use the chat commands.

The Window

Role Selection & Countdown: The Window
SettingStandardWhat it does
ShowOpenButtontrueThe button on the left that opens the window.
OpenButtonRank0Lowest 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.
BackgroundBlur12Blur behind the window. 0 is off.
VerboseLoggingfalsePrint every choice and team move.

Troubleshooting

Open Output and look for lines starting with [PROVA |. All PC- codes are also on Error Codes.

Problems with the Role Selection & Countdown
You seeIt meansWhat to do
there is no team with exactly that nameA team name doesn’t match.Make Your Teams, or change RoleConfig.
have the same TeamColorTwo teams share a colour.Give each team its own TeamColor.
GroupId is 0No group is set.Set Your Group, Ranks and Times.
Every role says LOCKEDRank too low, no group, or selection is closed.Check GroupId and the ranks.
No countdown barA session started less than HideCountdownMinutes ago, or ShowCountdown is false.Wait, or check RoleConfig.
isn’t validA typing mistake in RoleConfig.The message names the setting.
PC-001Prova Core isn’t installed.Install Prova Core.
PC-002Prova Core is installed twice.Delete one PROVA | Core from each service.
PC-003No licence key found.Add the secret. In a Studio Play, add a Local Secret or use a Team Test.
PC-004HTTP requests are off.Turn On Allow HTTP Requests.
PC-005Prova couldn’t be reached.Usually passes by itself. If not, check the secret’s Domain is api.withprova.app.
PC-006The key isn’t valid.Copy it again, or rotate it on your dashboard.
PC-014You don’t own this experience.Use it in an experience owned by you or your group.
PC-015Your licence doesn’t cover the Role Selection & Countdown.Buy its Game Pass, or remove it.

Notes

While selection counts down to closing, staff buttons hide, so it can’t be closed early by accident.
Using the Training Nametag System too? Rename a team in one config, and rename it in the other.
Restyle the window in StarterGui, but keep the names of its buttons and lists.