OuTSMoKE
Complete Discord server monitoring for Rust in one plugin.

Supported Games

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.

Note: Plugin is still under development and may have some bugs and hiccups. Let us know what you like and don't like on Discord!

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.

Other Discord Plugins Compatibility

Compatible with:

Not compatible/not fully compatible with:

Discord Channel Commands

  • !players -- Display a list of players in the server.
  • !kick <name/id> <reason> -- Kick player from the server with given reason.
  • !com <console command> -- Send specified command to server console to execute.
  • !mute <playername/steamid> <time (1s1m1h1d, optional)> <reason (optional)> -- Mute player.
  • !unmute <playername/steamid> -- Unmute a player.
  • !ban <name/id> <reason> -- Ban a player.
  • !unban <name/id> -- Unban a player.

Discord Bot Command Permissions

The command permission system allows you to control the people who can use each command by Discord roles. Unlike channel permissions, command permissions are global across all channels. You can edit these command permissions under "Commandroles" in the config. Put in the roles you want to access that command, or leave blank to allow everyone to use it.

Discord Bot Channel Permission Flags

Your channels are fully customizable and need channel permissions assigned to them in the config. The bot will only relay information or monitor for specific commands if they are assigned to it. You can assign these items in "Channels">"perms" in the configuration file.

Available Channel Permissions

  • cmd_allow -- Enable command checking in channel, needed for using any commands.
  • cmd_ban -- Enable !ban command in channel.
  • cmd_unban -- Enable !ban command in channel.
  • cmd_players -- Enable !players command in channel.
  • cmd_kick -- Enable !kick command in channel.
  • cmd_com -- Enable admin !com command in channel.
  • cmd_mute -- Enable !mute command in channel.
  • cmd_unmute -- Enable !unmute command in channel.
  • msg_chat -- Display general chat in the channel.
  • msg_gesture -- Display gesture emojis in the channel.
  • msg_join -- Display player joins in the channel.
  • msg_quit -- Display player quits in the channel.
  • msg_joinlog -- Display Name/IP/Stead ID in channel (For admin channels).
  • msg_pm -- Display player to player private messages in channel.
  • msg_mute -- Display player mutes in the channel.
  • msg_serverinit -- Display "server back online" message in the channel.
  • msg_helispawn -- Display message in channel when Helicopter spawns.
  • msg_planespawn -- Display message in channel when Cargo Plane spawns.
  • msg_bradleyspawn -- Display message in channel when Bradley APC spawns.
  • msg_shipspawn -- Display message in channel when Cargo Ship spawns.
  • msg_chinookspawn -- Display message in channel when Chinook spawns.
  • death_pvp -- Display pvp deaths in channel.
  • death_animal -- Display PVE animal deaths in the channel.
  • death_npc -- Display PVE scientist deaths in the channel.
  • death_vehicle -- Display PVE Heli/Bradley deaths in the channel.
  • game_report -- Display reports from in game /report command in the channel.
  • game_bug -- Display reports from in game /bug command in the channel.
  • log_admingive -- Log F1 item spawns.
  • log_kicks -- Log kicks to channel.
  • log_bans -- Log bans to channel. (Use Native: true for Enhanced Ban System)
  • log_clans -- Log clans create/disband to channel. (Clans & Clans Reborn supported)
  • log_clanchat -- Log clan chat to channel. (Clans & Clans Reborn supported)
  • log_groups -- Log when players added/removed to/from a group.
  • log_perms -- Log when players/groups are granted/revoked permissions.
  • log_namechange -- Logs when players change their name and rejoin your server.
  • plugin_discordauth -- Logs auths & deauths in DiscordAuth plugin.
  • plugin_signartist -- Logs images people put on signs with SignArtist plugin.

Plugin Requirements:

Server User/Group Permissions

  • rustcord.hidejoinquit -- Joins/Quits will not show up in the msg_join/msg_quit channel(s).
  • rustcord.hidechat -- Chat will not show up in msg_chat channel(s).

Planned Features & Known Issues

You can keep up with development of our plugin and which issues we're aware of on Trello!

Configuration

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.

{
  "Apikey":"Your Discord Bot token",
  "AutoReloadPlugin": true,
  "AutoReloadTime": 501,
  "Channels":[
    {
      "Channelid":"Channel ID for main channel",
      "perms":[
        "cmd_allow",
        "cmd_players",
        "cmd_kick",
        "cmd_com",
        "msg_join",
        "msg_quit",
        "msg_chat",
        "death_pvp",
        "death_npc",
        "death_animal",
        "death_vehicle",
        "msg_serverinit"
      ]
    },
    {
      "Channelid":"Channel ID for admin channel",
      "perms":[
        "msg_joinlog",
        "msg_pm"
      ]
    },
    {
      "Channelid":"Channel ID for player report channel",
      "perms":[
        "game_report"
      ]
    },
    {
      "Channelid":"Channel ID for bug report channel",
      "perms":[
        "game_bug"
      ]
    }
  ],
  "Commandprefix":"!",
  "Commandroles":{
    "players":[
    ],
    "kick":[
      "Admins",
      "Staff",
      "Mods"
    ],
    "mute":[
      "Admins",
      "Staff",
      "Mods"
    ],
    "unmute":[
      "Admins",
      "Staff",
      "Mods"
    ],
    "com":[
      "Admins",
      "Staff"
    ]
  },
  "FilteredWord":"<censored>",
  "FilterWords":[
    "Shit",
    "Fuck",
    "Cunt"
  ],
  "LogExcludeGroups": [ 
    "default"
  ],
  "LogExcludePerms": [
    "example.permission"
  ]
}

FAQ

Q: How do I set up Discord for this?
A: You can find instructions on making a Discord bot HERE.

Q: 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.

Credits

Plugin Creator: Kirollos      Maintainer: OuTSMoKE

Your contributions, big or small, were appreciated! Special thanks to those that helped along the way:

Mughisi, LaserHydra, SLUT, mspeedie, birthdates, MrPoundSign, MisterPixie, Tricky, DylanSMR

    Download
    Donate
    6.2K downloads
    216 watchers

    discordintegration
    Collaborators
    • Kirollos
      Developer