ShadowConfigDocs

Remote Commands

Send Announce, Reward, Kick, Ban, and Custom Commands from the dashboard or Discord into Roblox.

Overview

Remote commands use Roblox Open Cloud MessagingService to publish events from the dashboard or Discord bot. Your in-game Lua script subscribes to the topic and executes the action locally. This means you don’t need a separate server or plugin running alongside your game — the communication happens through Roblox’s own messaging layer.

The main benefit is speed and control. You can respond to incidents, reward players, or make announcements while you’re away from Studio, directly from your phone or computer.

Announcements

Send server-wide messages. The Lua handler displays a heads-up notification or chat message to connected players. You can target all servers by browsing the game directly from the dashboard.

  • Good for maintenance alerts, event starts, or rule reminders.
  • Works across all active servers for the selected universe.
  • Use the optional title/subtitle fields to make richer broadcast messages.

Rewards

Trigger in-game rewards for specific players. The dashboard form and Discord slash commands both dispatch a Reward event. Your script should map the reward type to the appropriate inventory, currency, or datastore logic.

  • Supports custom reward types defined in your customcommands.json or Lua handler.
  • You can send rewards by player name or player ID.
  • Logs are available in the Output window and through webhook alerts if enabled.

Kick

Remove a connected player from all servers. The dashboard sends a Kick event with the username and reason. The Lua handler calls :Kick(reason) on the matching player instance.

  • The player sees the reason you provided in the kick dialog.
  • If the player is not found in the current server, the event is ignored locally but the dashboard still reports success.
  • Kick is temporary — it does not prevent the player from rejoining.

Ban

Ban or unban a player using the Roblox Open Cloud User Restrictions API. The backend resolves the username to an ID, applies a gameJoinRestriction, and kicks the player if they are currently in-game.

  • Ban applies a Roblox-wide restriction for this universe.
  • Unban removes the restriction.
  • The dashboard tries to kick an in-game player immediately after banning so they leave right away.
  • Requires your Open Cloud API key to have User Restrictions permission.

Custom Commands

Define command templates in a customcommands.json file in your GitHub repository. Dashboard and Discord can both dispatch these commands. The Lua handler routes CustomCommand events to your custom logic based on the command name and parameters.

  • Custom commands let you extend the dashboard without writing new backend routes.
  • Each command can define expected params, descriptions, and validation rules.
  • Compatible with GitHub import so your team can review command changes before they go live.

Requirements

  • Open Cloud MessagingService enabled in Roblox Creator Dashboard.
  • Setup script with InboundCommands subscription pasted into ServerScriptService.
  • Daily live action quota depends on your plan. Check the Plans & Limits docs for exact numbers.
  • For Discord-triggered commands, the bot must be in the server and the slash command must be saved in the dashboard.