exppireed Prova is not public yet; stay tuned!
Training Commands · Setup Guide

Training Commands setup

Chat commands for staff running a training: share trainees across teams, put on uniforms, send players to a waiting team, and open or close doors.

Coming Soon Chat commandsRank gatedNotifications
Time 10 min For a first install.
Steps 11 In order, below.
Services 3 Where its parts go.
Settings 24 All in CommandsConfig.

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 uniform’s shirt and pants IDs.

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 | Training Commands Folder

├─ README Script

└─ Remotes Folder

└─ Notify RemoteEvent

ServerScriptService

└─ PROVA | Training Commands Folder

├─ CommandRules ModuleScript

├─ CommandService ModuleScript

├─ CommandsConfig ModuleScript

└─ CommandsServer Script

StarterPlayer → StarterPlayerScripts

└─ PROVA | Training Commands Folder

└─ NotificationClient LocalScript

Where the Training Commands parts go
ServiceObjectWhat it holds
ReplicatedStoragePROVA | Training CommandsThe README and the remote for notifications.
ServerScriptServicePROVA | Training CommandsThe system and its settings.
StarterPlayer → StarterPlayerScriptsPROVA | Training CommandsShows the replies as Roblox notifications.
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 Training Commands 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 Training Commands File

    The Training Commands 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 Training Commands Folders

    In Explorer, right-click Workspace and choose Insert from File. Pick the Training Commands file. Among what it adds are three folders named PROVA | Training Commands. Drag each one into its service.

    Add the Training Commands Folders
    Drag the folder holdingInto
    README and RemotesReplicatedStorage
    CommandsConfigServerScriptService
    NotificationClientStarterPlayer → StarterPlayerScripts
    Remove any older scripts for the same commands. 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 CommandsConfig 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: Mango, Papaya, Coconut, Pineapple, Awaiting Placement, Host, Co-Host.
    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. Name Your Doors

    !open and !close work on parts or models named Door and Door1, placed directly in Workspace, not inside a folder.

    A door inside a folder or model? Select it, and in Properties → Attributes click +, name it TrainingCommandsDoor, choose boolean, and tick it.

  8. Set Your Group and Uniforms

    Open CommandsConfig and check three things.

    ServerScriptService/PROVA | Training Commands/CommandsConfig
    1. GroupId: change 0 to your group’s ID, the number in its web address.
    2. The ranks for each command: AutoGroupMinRank, UniformOthersMinRank, UnteamOthersMinRank, DoorsMinRank.
    3. The uniform: AutoGroupShirtId, AutoGroupPantsId, UniformShirtId and UniformPantsId. The ID is the number in the clothing’s web address.
  9. 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
  10. 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
  11. Publish and Check the Output

    Publish and join your game. Press F9 to open the Developer Console and choose the Server log. When the Training Commands works, you see these lines.

    In the game, type !unteam in chat. A Roblox notification appears in the corner: Unteam Success.

    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] Training Commands v1.0.0 registered.

    [PROVA | Training Commands] v1.0.0 ready.

    [PROVA | Core] Licence confirmed.

Every Command.

Typed in chat. Replies arrive as a Roblox notification, only for the person who typed.

Every Command.
TypeWhat it doesWho can, as standard
!autogroupShares trainees across their rank’s teams and dresses themRank 55+, or the Host team
!hruniformPuts the uniform on youEveryone
!hruniform namePuts the uniform on someone elseRank 55+
!unteamSends you to Awaiting PlacementEveryone
!unteam name · !unteam allSends someone, or everyone, thereRank 55+
!headlessHides your head until you respawnOwners of HeadlessGamePassId
!open · !closeOpens or closes the doorsRank 71+, or the Host and Co-Host teams

Settings

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

ServerScriptService/PROVA | Training Commands/CommandsConfig
If a value is wrong, Output names the setting and the standard value is used instead. Standard values are listed below.

Your Group

Command words can be changed. Each is one word, and capitals don’t matter when typing them.

Training Commands: Your Group
SettingStandardWhat it does
GroupId0Your group’s ID. 0 means everyone has rank 0.

!autogroup

Training Commands: !autogroup
SettingStandardWhat it does
AutoGroupCommand"!autogroup"The command.
AutoGroupMinRank55Lowest rank that can use it…
AutoGroupAllowedTeams{ "Host" }…or anyone on one of these teams.
AutoGroupTeams15 Mango, 20 Papaya and Coconut, 25 PineappleFor each trainee rank, the teams its players are shared between, in turn.
AutoGroupShirtId0The shirt put on everyone it moves. 0 is none.
AutoGroupPantsId0The pants put on everyone it moves. 0 is none.

!hruniform

Training Commands: !hruniform
SettingStandardWhat it does
UniformCommand"!hruniform"The command. Add a name to dress someone else.
UniformMinRank0Lowest rank that can put it on themselves.
UniformOthersMinRank55Lowest rank that can put it on someone else.
UniformShirtId0The uniform shirt. 0 is none.
UniformPantsId0The uniform pants. 0 is none.

!unteam

Training Commands: !unteam
SettingStandardWhat it does
UnteamCommand"!unteam"The command. Add a name, or all.
UnteamTeam"Awaiting Placement"The waiting team.
UnteamOthersMinRank55Lowest rank that can unteam someone else, or everyone.

!headless

Training Commands: !headless
SettingStandardWhat it does
HeadlessCommand"!headless"The command. Hides the head until the player respawns.
HeadlessGamePassId0Only owners of this pass can use it. 0 turns it off.

!open and !close

Training Commands: !open and !close
SettingStandardWhat it does
OpenCommand"!open"Opens the doors: players can walk through.
CloseCommand"!close"Closes the doors: they are solid again.
DoorNames{ "Door", "Door1" }Names of doors placed directly in Workspace.
DoorsMinRank71Lowest rank that can use them…
DoorsAllowedTeams{ "Host", "Co-Host" }…or anyone on one of these teams.

Notifications and Output

Training Commands: Notifications and Output
SettingStandardWhat it does
NotificationSeconds5How long Roblox’s notification stays in the corner.
VerboseLoggingfalsePrint every command.

Troubleshooting

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

Problems with the Training Commands
You seeIt meansWhat to do
Nothing happens when typing a commandNo licence yet, or the word is different in CommandsConfig.Look for a PC- code, then check the command words.
Permission DeniedRank or team too low for that command.Check the ranks in CommandsConfig.
there is no team namedA team is missing or misnamed.Make Your Teams.
No part or model named "Door" is directly inside WorkspaceA door is missing, or inside a folder.Name Your Doors.
Players land on the wrong teamTwo teams share a TeamColor.Give each team its own colour.
!headless does nothingHeadlessGamePassId is 0, which turns it off.Set your pass ID.
isn’t validA typing mistake in CommandsConfig.The message names it.
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 Training Commands.Buy its Game Pass, or remove it.

Notes

Only doors directly in Workspace, or tagged TrainingCommandsDoor, are moved. A part called Door anywhere else, like another system’s fridge door, is never touched.
The standard autogroup teams (Mango, Papaya, Coconut, Pineapple) differ from the Training Nametag System’s (Group A, B, C). Using both? Make the names match in both configs.