Staff System Messages setup
Staff announcements as Roblox system presets. Staff pick a message you wrote, and every player sees it in chat, labelled [System preset].
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.
- A game that uses TextChatService, Roblox’s current chat. New games already do.
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 | Staff System Messages Folder
└─ README Script
ServerScriptService
└─ PROVA | Staff System Messages Folder
├─ MessageService ModuleScript
├─ MessagesConfig ModuleScript
├─ MessagesRules ModuleScript
└─ MessagesServer Script
StarterGui
└─ PROVA | Staff System Messages ScreenGui
├─ Messages Frame
├─ MessagesClient LocalScript
└─ OpenButton ImageButton
| Service | Object | What it holds |
|---|---|---|
| ReplicatedStorage | PROVA | Staff System Messages | The README. |
| ServerScriptService | PROVA | Staff System Messages | The system, its settings and your messages. |
| StarterGui | PROVA | Staff System Messages | The staff window and its 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 Staff System Messages 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 Staff System Messages File
The Staff System Messages 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 Staff System Messages Folders
In Explorer, right-click Workspace and choose Insert from File. Pick the Staff System Messages file. Among what it adds are three objects named PROVA | Staff System Messages. Drag each one into its service.
Add the Staff System Messages Folders Drag this Into The Folder holding README ReplicatedStorage The Folder holding MessagesConfig ServerScriptService The ScreenGui holding Messages and OpenButton StarterGui Remove any older staff message scripts and windows. Delete anything left over, such as an empty model. -
Check Your Chat
In Explorer, click TextChatService. In Properties, ChatVersion must say TextChatService. If it says LegacyChatService, change it.
Explorer/TextChatService/Properties/ChatVersion -
Set Your Group and Write Your Messages
Open MessagesConfig. Until GroupId is set, nobody can send.
Read Roblox’s rules below before writing a message.
ServerScriptService/PROVA | Staff System Messages/MessagesConfig- GroupId: change 0 to your group’s ID, the number in its web address.
- MinimumRank: the lowest rank that can send.
- Topics: your topics and messages. 12 messages at most, in total.
-
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 Staff System Messages works, you see these lines.
In the game, join with a staff account. A button appears on the left. Click it, pick a topic and press a message. It appears in chat for every player, starting [System preset].
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] Staff System Messages v1.0.0 registered.
[PROVA | Staff System Messages] v1.0.0 ready. 6 presets in 3 topics.
[PROVA | Core] Licence confirmed.
Roblox’s Preset Rules.
Staff messages are presets under Roblox’s Preset system guidelines. The system already does these for you. Breaking the rules can get the feature disabled, or action taken against your game, account or group.
12 messages
At most 12 in your whole game. Extra ones are ignored, with a warning.
10 seconds
At least 10 seconds between one staff member’s sends.
Labelled
Every message starts [System preset], in its own colour, with no name or bubble.
Filtered
Roblox’s text filter checks every message, and punctuation at the end is removed.
What You Can Write.
The system can’t check what your messages say. Keep them about running your game.
Good
- The cafe is now open
- Restock needed at the counter
- A training session starts soon
- Thanks for visiting
Not allowed
- Anything that imitates a conversation or normal chat
- Questions and answers, like How are you, Yes, No
- Compliments or personal questions not about the game
- Letters, numbers or codes that spell out other messages
- Anything meant to get around Roblox’s chat restrictions
Settings
All settings are in one file. Change a value, then publish.
Who Can Send
| Setting | Standard | What it does |
|---|---|---|
| GroupId | 0 | Your group’s ID. 0 means everyone has rank 0, so nobody can send. |
| MinimumRank | 45 | Lowest rank that sees the button and can send. |
Topics and Messages
Each topic is a button on the left; its messages are the buttons on the right. A topic name is up to 24 characters. A message is up to 100 characters, with no punctuation at the end.
| Setting | Standard | What it does |
|---|---|---|
| Topics | Information (3), Cafe (2), Restock (1) | Your topics and their messages. |
| CooldownSeconds | 10 | Seconds each staff member waits between sends. Under 10 becomes 10. |
| MessageColor | Color3.fromRGB(255, 190, 40) | The colour of staff messages in chat. |
| CloseAfterSending | false | Close the window after sending. |
The Window
| Setting | Standard | What it does |
|---|---|---|
| ShowOpenButton | true | The button on the left, for staff. |
| OpenButtonText | "Staff Messages" | The label when hovering over it. |
| UseOpenKey | false | Open and close the window with a key. |
| OpenKey | Enum.KeyCode.M | That key. |
| BackgroundBlur | 12 | Blur behind the open window. 0 is off. |
| PlaySounds | true | The click sound. |
| VerboseLogging | false | Print every message sent, and by whom. |
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 |
|---|---|---|
| No button on the left | No licence yet, rank below MinimumRank, or GroupId is 0. | Set Your Group and Write Your Messages. |
| nobody can send | GroupId is 0. | Set GroupId to your group. |
| This game uses Roblox's old chat | ChatVersion is LegacyChatService. | Check Your Chat. |
| Please wait … seconds | Roblox requires 10 seconds between sends. | Wait, then send again. |
| was skipped / isn’t valid | A typing mistake, or a message breaks Roblox’s limits. | The message names it. |
| 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 Staff System Messages. | Buy its Game Pass, or remove it. |
