Rustcord3.4.2

Rustcord is a complete server monitoring system made by Kirollos that links your Rust server with your Discord server. This was ported over to Discord from, and is a replacement for Rust:IRC, which is no longer being developed.
Official Rustcord Guide Click Here
Note: We recommend using Discord's Compact Mode for a cleaner output to Discord.
Condensed Video Guide By srtbull: https://www.youtube.com/watch?v=WFp_8siBRO0
Features
- Game server joins/quits relayed to Discord.
- Discord death messages.
- 2 way chatting between game & Discord.
- PM logging.
- Mute logging.
- Clan chat logging.
- Various backend server logging.
- Moderator !mute and !unmute Discord commands.
- Discord !players command to show players in game.
- Moderator !kick, !ban & !unban Discord command for your lower staff.
- Full support for Discord to game console commands for admins.
- Initialized message lets players know when server is ready to rejoin (wipes/restarts).
- Admin channel with players' Name/IP/Steam ID.
- Fully customizable channel output types.
- In-game /report & /bug commands for reporting issues to admins on Discord.
- Single bot can handle multiple servers.
- Built-in chat filter.
Configuration
The settings and options can be configured in the Rustcord file under the config directory. The use of an editor and validator is recommended to avoid formatting issues and syntax errors.The config below is a sample of setting up for a main channel that displays joins, quits, deaths, and chat; an admin channel that displays admin connect info; and a report channel.
Config Log true/false determines which channel flags are active. Example: If you have a channel using the msg_chat channel flag, it won't work unless "LogChat" is set to true in the config. If LogChat is set to false, Rustcord will not monitor the associated hook, and therefore wouldn't send anything to your msg_chat channel. You can find a full list of which flags go with with settings in the Official Guide.
Note: Sample config may vary from settings in the public release. Do NOT copy paste this to your config, it is just a formatting example.
{
"General Settings": {
"API Key (Bot Token)": "BotToken",
"Auto Reload Plugin": false,
"Auto Reload Time (Seconds)": 901,
"Enable Bot Status": false,
"In-Game Report Command": "report",
"Discord Extension Log Level (Verbose/Debug/Info/Warning/Error/Exception/Off)": "Info"
},
"Discord to Game Settings": {
"Discord Command Prefix": "!",
"Discord to Game Chat: Icon (Steam ID)": 76561199066612103,
"Discord to Game Chat: Tag": "[RUSTCORD]",
"Discord to Game Chat: Tag Color (Hex)": "#7289DA",
"Discord to Game Chat: Player Name Color (Hex)": "#55aaff",
"Discord to Game Chat: Message Color (Hex)": "#ffffff"
},
"Rust Logging Settings": {
"Enable Logging: Player Chat": true,
"Enable Logging: Joins & Quits": true,
"Enable Logging: Deaths": false,
"Enable Logging: Vehicle Spawns (Heli/APC/Plane/Ship)": false,
"Enable Logging: Crate Drops (Hackable/Supply)": false,
"Enable Logging: Usergroup Changes": false,
"Enable Logging: Permission Changes": false,
"Enable Logging: Kicks & Bans": true,
"Enable Logging: Player Name Changes": false,
"Enable Logging: Server Commands (Gestures/Note Edits)": false,
"Enable Logging: Server Messages (Give/Item Spawns)": false,
"Enable Logging: Player F7 Reports": false,
"Enable Logging: Team Changes": false,
"Enable Logging: RCON Connections": false,
"Enable Logging: Spectates": false,
"Enable Custom Logging": false
},
"Plugin Logging Settings": {
"Enable Logging: AdminHammer": false,
"Enable Logging: Admin Radar": false,
"Enable Logging: Better Chat Mute": false,
"Enable Logging: Clans": false,
"Enable Logging: Discord Auth": false,
"Enable Logging: Private Messages": false,
"Enable Logging: Raidable Bases": false,
"Enable Logging: Sign Artist": false,
"Enable Logging: Vanish": false
},
"Discord Output Formatting": {
"Output Type: Bans (Simple/Embed)": "Simple",
"Output Type: Bug Report (Simple/Embed)": "Simple",
"Output Type: Deaths (Simple/Embed/DeathNotes)": "Simple",
"Output Type: F7 Reports (Simple/Embed)": "Simple",
"Output Type: Join/Quit (Simple/Embed)": "Simple",
"Output Type: Join Player Info (Admin Channel) (Simple/Embed)": "Simple",
"Output Type: Kicks (Simple/Embed)": "Simple",
"Output Type: Note Logging (Simple/Embed)": "Simple",
"Output Type: Player Name Change (Simple/Embed)": "Simple",
"Output Type: /Report (Simple/Embed)": "Simple",
"Output Type: Teams (Simple/Embed)": "Simple",
"Output Type (Plugin): Admin Hammer (Simple/Embed)": "Simple",
"Output Type (Plugin): Admin Radar (Simple/Embed)": "Simple",
"Output Type (Plugin): Better Chat Mute (Simple/Embed)": "Simple",
"Output Type (Plugin): Clans (Simple/Embed)": "Simple",
"Output Type (Plugin): Private Messages (Simple/Embed)": "Simple",
"Output Type (Plugin): Raidable Bases (Simple/Embed)": "Simple",
"Output Type (Plugin): Vanish (Simple/Embed)": "Simple"
},
"Logging Exclusions": {
"Exclude Listed Groups From log_groups": [
"default"
],
"Exclude Listed Permissions From log_perms": [
"example.permission1",
"example.permission2"
]
},
"Filter Settings": {
"Chat Filter: Replacement Word": "censored",
"Chat Filter: Words to Filter": [
"badword1",
"badword2"
]
},
"Discord Logging Channels": [
{
"Discord Channel ID #": "",
"Channel Flags": [
"cmd_allow",
"cmd_players",
"cmd_kick",
"cmd_com",
"cmd_mute",
"cmd_unmute",
"msg_join",
"msg_joinlog",
"msg_quit",
"death_pvp",
"msg_chat",
"msg_teamchat",
"game_report",
"game_bug",
"msg_serverinit"
],
"Custom: Words/Phrases to Log": [
"keyword1",
"keyword2"
]
},
{
"Discord Channel ID #": "",
"Channel Flags": [
"msg_joinlog",
"game_report",
"game_bug"
],
"Custom: Words/Phrases to Log": [
"keyword1",
"keyword2"
]
}
],
"Discord Command Role Assignment (Empty = All roles can use command.)": {
"ban": [
"DiscordRoleName",
"DiscordRoleName2"
],
"com": [
"DiscordRoleName",
"DiscordRoleName2"
],
"kick": [
"DiscordRoleName",
"DiscordRoleName2"
],
"mute": [
"DiscordRoleName",
"DiscordRoleName2"
],
"players": [
"DiscordRoleName",
"DiscordRoleName2"
],
"timeban": [
"DiscordRoleName",
"DiscordRoleName2"
],
"unban": [
"DiscordRoleName",
"DiscordRoleName2"
],
"unmute": [
"DiscordRoleName",
"DiscordRoleName2"
]
}
}
FAQ
Q: How do I set up Discord for this?
A: You can find instructions on making a Discord bot HERE.
Q: How do I get a channel ID for the config?
A: Enable Developer Mode in Discord (User Settings Appearance Advanced). Then in Discord, right click your channel in the left hand side channel list and chose Copy ID (last option in drop down).
Q: Death OutputeType: DeathNotes - Death messages aren't in the lang file, how do I customize them?
A: The death messages are taken from your DeathNotes plugin config, and will mirror whatever is set there.
Q: The plugin failed to compile on server start/restart.
A: Check to make sure you're not running other Discord plugins. Rustcord will still work with them installed, but will need to be reloaded after server load (TimedExecute could do this). If you go that route, the initialized message wont work on restarts and wipes, as the plugin isn't loaded on startup.
Q: How does 2 way chat work?
A: Anything typed by anyone in a channel with the msg_chat flag will automatically be sent into the game chat with a [Discord] chat tag. It's automatic and doesn't require a command. We recommend servers with higher populations to restrict it to staff only able to type, but everyone able to view.
Q: How does custom logging work?
A: Custom logging logs any console lines that contain the items in your CustomFilter settings for that channel into said channel. For example, Rustcord doesn't have built in support for the Timed Execute plugin, but Timed Execute logs everything it does to the server console with the tag [Timed Execute], so you could put "[Timed Execute]" in your CustomFilter list to have Rustcord log the plugin to that channel.




