



DiscordRcon is a V Rising dedicated server mod that bridges Discord to your game server via ScarletRCON. It provides /rcon and /help slash commands with role-based access control, so you can manage your server from Discord without giving everyone admin access.
/rcon Command - Execute any RCON command directly from Discord. Supports base commands and plugin commands with dotted names (e.g., examplemod.player.mute)./help Command - Browse all available RCON commands or get details for a specific command. Uses a cached command index with smart search: exact match, prefix matching (e.g., /help command: examplemod.player lists all player subcommands), and substring fallback./rcon, the bot searches the command index and suggests similar commands.V Rising servers include a built-in RCON server, but it has limited functionality. ScarletRCON enhances it by allowing server mods to register custom RCON commands and providing a better help system. DiscordRcon depends on ScarletRCON for these features:
/rcon and custom slash commands are forwarded through ScarletRCON's enhanced RCON server, which routes them to the appropriate mod handlers.help command to discover all registered commands (including those from other mods) and build a searchable index for /help and "Did you mean?" suggestions.| Command | Description | Example |
|---|---|---|
/rcon command: <text> |
Execute any RCON command | /rcon command: kick fryke |
/help |
Show all available RCON commands | /help |
/help command: <name> |
Show help for a specific command | /help command: examplemod.player.mute |
Custom slash commands are configured in BepInEx/config/DiscordRcon/discordrcon_commands.json. This file is created automatically on first run with some common defaults:
[
{
"name": "kick",
"description": "Kick a player from the server",
"rconCommand": "kick"
},
{
"name": "ban",
"description": "Ban a player from the server",
"rconCommand": "ban"
},
{
"name": "listplayers",
"description": "List all online players",
"rconCommand": "listplayers"
}
]
You can add your own shortcuts for plugin commands too:
[
{
"name": "mute",
"description": "Mute a player",
"rconCommand": "examplemod.player.mute"
}
]
/kick). Must be lowercase, 1-32 characters, and can only contain letters, numbers, hyphens, and underscores. Cannot be rcon or help.Each custom command gets an arguments option in Discord. For example, /kick arguments: fryke would run kick fryke via RCON.
Custom commands share the same permission system as /rcon - access is controlled by the rconCommand value in discordrcon_roles.json.
Role access is configured in BepInEx/config/DiscordRcon/discordrcon_roles.json. This file is created automatically on first run.
{
"adminRoles": [
"1505734816149274734"
],
"commandRoles": {
"kick": ["1505734816149274734", "1234567890123456789"],
"ban": ["1234567890123456789"],
"examplemod.player.mute": ["1234567890123456789"]
}
}
examplemod.player.mute). Users with one of the listed roles can use that specific command, even if they are not an admin. This adds access, it does not replace admin access.To get a Discord role ID: enable Developer Mode in Discord (Settings - Advanced), then right-click a role and click "Copy Role ID".
Main config is stored in BepInEx/config/io.vrising.DiscordRcon.cfg.
| Key | Default | Description |
|---|---|---|
Discord.BotToken |
(empty) | Discord bot token from https://discord.com/developers/applications |
Discord.GuildId |
0 |
Discord server (guild) ID for registering slash commands |
| Key | Default | Description |
|---|---|---|
RCON.Host |
127.0.0.1 |
RCON server hostname |
RCON.Port |
25575 |
RCON server port |
RCON.Password |
(empty) | RCON server password |
RCON.CommandTimeoutMs |
10000 |
Timeout in milliseconds for RCON command responses |
| Key | Default | Description |
|---|---|---|
Debug.LogDiscordEvents |
false |
Verbose logging of Discord gateway events |
Debug.LogRconEvents |
false |
Verbose logging of RCON events |
| File | Path |
|---|---|
| BepInEx config | BepInEx/config/io.vrising.DiscordRcon.cfg |
| Role config | BepInEx/config/DiscordRcon/discordrcon_roles.json |
| Custom commands | BepInEx/config/DiscordRcon/discordrcon_commands.json |
DiscordRcon.dll in your BepInEx/plugins/ directory.BepInEx/config/io.vrising.DiscordRcon.cfg:
Discord.BotToken to your bot token.Discord.GuildId to your Discord server ID (enable Developer Mode in Discord, right-click your server icon, Copy Server ID).RCON.Password to your ScarletRCON password.BepInEx/config/DiscordRcon/discordrcon_roles.json and add your Discord role IDs.The bot will connect to Discord, register /rcon, /help, and any custom commands as slash commands, and automatically index available RCON commands after 60 seconds.
This project is licensed under AGPL-3.0.
This project depends on the following libraries:
This is an independent project with its own purpose and functionality. It is not a fork, modification, or derivative of any of the above projects.