Integrations
Roblox
Add the Claymore package to your game once. It sends player activity to your project, and it can remove players your team has banned. You edit two values in one file. Matches wait in the dashboard for a person to decide.
This guide matches release v0.1.0. The download below always serves the newest ClaymoreModeration.rbxmx from Claymore-Lua-Integration. When a server starts, Output prints the version it is running, such as [Claymore] Started version 0.1.0. If that number is newer than 0.1.0, read the release notes before you replace the folder.
What you need
| You need | Where to get it |
|---|---|
| A Claymore account | Sign up at app.useclaymore.com with an invite code from Claymore. If a teammate already has a project, ask them to add you on Team. |
| Permission to edit the game | You need to open the game in Roblox Studio and publish it. If you can’t, send this page to whoever can. |
| The package | Download ClaymoreModeration.rbxmx, the latest release. If the link shows a 404 page, the repository is not public yet. Ask Claymore for the file. |
| Two private values | An application key and a player ID secret, from the project’s Integration page. Step 1. |
1. Get your two values
Starting a new project: sign in, create the project, and copy the API key and the player ID secret from the next page. Put them somewhere safe, such as a password manager. The key is shown only once.
You already have a project: open Integration.
- Under Application keys, enter a name such as
Game servers. - Set For to Game server and Expires to Never. A key with an end date stops the game sending activity when it expires.
- Select New key and copy it. It starts with
clay_app_. - Under Player ID secret, select Reveal secret and copy it. Each reveal is written to the audit log.
If you can’t see Integration or the secret, ask a project admin.
2. Add the package to your game
- Open your game in Roblox Studio.
- In the Explorer panel, right-click ServerScriptService and choose Insert from File.
- Select
ClaymoreModeration.rbxmx. - Check that a folder called
ClaymoreModerationnow sits directly inside ServerScriptService.
The folder stays in ServerScriptService so the key is not sent to players. If it landed anywhere else, drag it there before you continue.
3. Paste in your two values
Open the ClaymoreModeration folder and double-click Config. Replace the two placeholder strings and keep the quotation marks:
ApiKey = "PASTE_YOUR_APPLICATION_KEY_HERE",
PlayerIdSecret = "PASTE_YOUR_PLAYER_ID_SECRET_HERE",Change nothing else in the folder. Treat both values like passwords. Keep them out of screenshots and messages.
4. Allow the game to contact Claymore
- Go to File > Experience Settings > Security. Older versions of Studio call this Game Settings.
- Turn on Allow HTTP Requests and save.
If the setting is missing or greyed out, publish the game first with File > Publish to Roblox, then come back.
5. Test it
- Open the Output window from Studio’s View tab or Window menu.
- Press Play.
- Look for a line that starts with
[Claymore] Started version. An orange warning instead means something in If something goes wrong matches it. - Type a message in the game’s chat, wait a minute, then stop the test.
- In the dashboard, open Players and search for your Roblox username.
If your account appears with that message, the package is working. A Studio test with the real key writes real players into the real project, so your account stays.
6. Publish
- Publish the game with File > Publish to Roblox.
- Restart any running servers from the experience’s page on Creator Hub. Servers that are already running keep the old version until they close.
7. Add a line to your privacy policy
Your experience’s privacy policy should say that player activity leaves the game. You can adapt this:
What happens next
- Activity reaches the dashboard within about a minute.
- The review queue fills after the nightly check, at 4:00 in the project’s timezone by default. Change the hour in Settings.
- Practice mode: new projects start with bans switched off in the game. The team can ban and unban in the dashboard, and players stay in the game. The top bar says Bans not live yet.
The queue compares new accounts with banned players Claymore already has a record of. Activity from after a ban is not used. A ban on a player with nothing on file gives Claymore nothing to compare. Let that record build up, then expect matches after a later nightly check. How to work the queue is in Review the queue.
Turn kicks on
When the team trusts the queue, open Settings and turn on Apply bans in the game. This applies every ban already in the dashboard. Those players are removed within a minute or two, and they are kicked again if they rejoin. Review Bans first.
The package removes people from the current server. The kick message is “Removed by a moderator.” The note a moderator typed stays in the dashboard. To also ban them across every place in the experience, an admin can add the Roblox universe ID and an Open Cloud key on that same Settings form. If Claymore can’t be reached, the player is allowed in, and the check runs again on the next pass.
Check your version, and update
The Output line is the version to quote when you ask for help. What changed in each release is on the releases page. The asset is always named ClaymoreModeration.rbxmx, so the download link on this page keeps pointing at the newest file.
To update a game that already has the package:
- Note the application key and the player ID secret from
Config. Keep the same player ID secret. Changing it makes every existing player look like a new account. - Download the latest release.
- Delete the
ClaymoreModerationfolder from ServerScriptService. - Insert the new file, paste the two values back into Config, publish, and restart running servers. That is steps 2, 3, and 6 again.
If something goes wrong
Start with the Output window in Studio. Every message from this package begins with [Claymore].
| What you see | What to do |
|---|---|
Nothing from [Claymore] at all | Check that the ClaymoreModeration folder and its four scripts are inside ServerScriptService. |
ApiKey is still the placeholder or PlayerIdSecret is still the placeholder | Repeat step 3. |
ApiKey does not start with clay_app_ | You pasted something else. Copy the key again, or make a new one on Integration. |
Allow HTTP Requests | Repeat step 4. The setting is under Experience Settings. |
Refusing to run. Keep ClaymoreModeration in ServerScriptService | Move the folder back. If it was published somewhere players can read, also replace your key. |
The application key was rejected | The key is wrong, revoked, or expired. Make a new one and paste it into Config. |
The application key is missing a permission | Make a new key with For set to Game server. |
Could not reach Claymore | Usually temporary. Activity is held and sent when the connection returns. Contact Claymore if it continues. |
| The Players page doesn’t show you | Wait a minute and search again. Check that you are viewing the right project, and that the key came from that project. |
| It works in Studio and not in the live game | Publish again, then restart running servers. |
| The queue is empty | That is normal before the first nightly check. See What happens next. |
| Banned players aren’t being kicked | Check that Apply bans in the game is on in Settings. |
If your key gets out
If the key is shared by mistake, or the folder was published outside ServerScriptService:
- Make a new key on the Integration page.
- Paste it into Config, publish, and restart running servers.
- Revoke the old key on the Integration page.
Leave the player ID secret as it is. Every existing player would look like a new account.
Keep the key in the server
- Keep the folder in ServerScriptService. The package refuses to run where players can read scripts, and moving it there can still copy the key onto their devices.
- Anyone who can edit the game can read Config. Give edit access to people you trust.
- Don’t allow other people to copy your place. The copy includes Config.
- Don’t commit a filled-in Config to a repository.
The repository has the source and the release history. Script-level detail, including how a server script asks Claymore to delete one player, lives in that README and stays with the release.