# DiscordSRV Configuration # Need help? Join our Discord, https://discordsrv.com/discord # Don't touch pls ConfigVersion: 1.22.0 # Bot token; don't know what this is? Look at the video on the plugin page for instructions BotToken: "MY BOT TOKEN" # Channel links from game to Discord # syntax is Channels: {"in-game channel name from Minecraft": "numerical channel ID from Discord", "another in-game channel name from Minecraft": "another numerical channel ID from Discord"} # # All of DiscordSRV's messages will go to the first channel unless there's a channel for that type of messages defined: # when using a compatible chat plugin, the channel name will be the one from that plugin (for chat messages) # - If you're using TownyChat, the default channel is usually called "general" instead of "global" # for player chat messages (when not using a chat plugin): global # for server start/stop messages: status # for achievement/advancement messages: awards # for death messages: deaths # for join messages: join # for leave messages: leave # for dynmap messages: dynmap # for watchdog messages: watchdog # for /discord broadcast: broadcasts (unless specified in the command) # # The first part of channel pairs is not the Discord channel name! Channels: {"global": "808376066870739034"} # Console channel numerical ID (NOT NAME), leave blank to disable the console channel all together DiscordConsoleChannelId: "808376109669810217" # Invitation link shown to players when using /discord and on the message shown to unlinked players when linking is enforced DiscordInviteLink: "discord.gg/changethisintheconfig.yml" # Debug options, don't touch unless needed # # DebugLevel: 0 = no debug, 1 = debug, 2 = debug with stack traces # DebugLevel: 0 DebugJDA: false DebugJDARestActions: false CancelConsoleCommandIfLoggingFailed: true ForcedLanguage: none # https://cravatar.eu/helmavatar/{username}/{size}.png#{texture} AvatarUrl: https://crafatar.com/avatars/{uuid-nodashes}.png?size={size}&overlay#{texture} Experiment_JdbcAccountLinkBackend: "jdbc:mysql://HOST:PORT/DATABASE?autoReconnect=true&useSSL=false" Experiment_JdbcTablePrefix: "discordsrv" Experiment_JdbcUsername: "username" Experiment_JdbcPassword: "password" Experiment_WebhookChatMessageDelivery: false Experiment_WebhookChatMessageUsernameFormat: "%displayname%" Experiment_WebhookChatMessageFormat: "%message%" Experiment_WebhookChatMessageUsernameFromDiscord: false Experiment_WebhookChatMessageAvatarFromDiscord: false Experiment_MCDiscordReserializer_ToDiscord: false Experiment_MCDiscordReserializer_ToMinecraft: false Experiment_MCDiscordReserializer_InBroadcast: false PrintGuildsAndChannels: true ForceTLSv12: true NoopHostnameVerifier: false ParseEmojisToNames: true MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS: 3 TimestampFormat: EEE, d. MMM yyyy HH:mm:ss z DateFormat: yyyy-MM-dd Timezone: UTC # Plugin hooks # # DisabledPluginHooks: plugin hooks that will not be used (usually just the name of the plugin) # VentureChatBungee: enables the VentureChat hook's BungeeCord functionality (messages are received from every server, requires atleast 1 player to be online) # EnablePresenceInformation: enabled presence information, which is required for some of our PlaceholderAPI placeholders. Keep in mind this requires the "Presence Intent" from the Discord developer portal # UseModernPaperChatEvent: only use this if you have a chat plugins that SPECIFICALLY utilizes Paper's "AsyncChatEvent" DisabledPluginHooks: [] VentureChatBungee: false EnablePresenceInformation: false UseModernPaperChatEvent: false # Game Information # Sets the "Playing: ______" indicator for the bot. # Can be a single, static value, or cycle through multiple different options # You can preface the status with "playing", "watching", or "listening to" to set the activity type # PlaceholderAPI placeholders are supported # # DiscordGameStatus: Text to display. Can be a single value e.g. "Minecraft", or multiple values e.g. ["Minecraft", "yourip.changeme.com"] # StatusUpdateRateInMinutes: How frequently to cycle the status DiscordGameStatus: "Minecraft" StatusUpdateRateInMinutes: 2 # Chat channel information # The chat channel is the text channel that all messages in-game will be sent to and all messages sent # to this channel on Discord will be sent in-game # # DiscordChatChannelDiscordToMinecraft: whether or not to send messages in the chat channel to the server chat # DiscordChatChannelMinecraftToDiscord: whether or not to send messages in the server chat to the chat channel # DiscordChatChannelTruncateLength: the maximum length of messages from Discord to be sent to Minecraft # DiscordChatChannelTranslateMentions: whether or not to translate mentions like @Person for Minecraft to Discord messages # DiscordChatChannelAllowedMentions: types of mentions allowed in Minecraft to Discord messages; types missing from the default value are "role", "here", & "everyone" # DiscordChatChannelPrefixRequiredToProcessMessage: the character(s) required to prefix a message for it to be sent from Minecraft to Discord (example "!") # DiscordChatChannelRolesAllowedToUseColorCodesInChat: list of roles allowed to use color/format codes in Discord to Minecraft chat # DiscordChatChannelBroadcastDiscordMessagesToConsole: whether or not to print processed discord messages to the console # DiscordChatChannelRequireLinkedAccount: whether or not to require players have their Discord account linked to their Minecraft to have their Discord messages sent to Minecraft # DiscordChatChannelBlockBots: whether or not bots should be blocked from Discord -> MC chat # DiscordChatChannelBlockedIds: ids of discord users (or bots) that should not have their messages processed & sent to MC # DiscordChatChannelRolesSelectionAsWhitelist: if the following list should be treated as a whitelist (true) or a blacklist (false) # DiscordChatChannelRolesSelection: list of roles that should be filtered from all of a user's roles # DiscordChatChannelRoleAliases: list of role aliases (alternate names for roles to use in Minecraft messages) # DiscordChatChannelDiscordToMinecraft: true DiscordChatChannelMinecraftToDiscord: true DiscordChatChannelTruncateLength: 256 DiscordChatChannelTranslateMentions: true DiscordChatChannelAllowedMentions: [user, channel, emote] DiscordChatChannelPrefixRequiredToProcessMessage: "" DiscordChatChannelRolesAllowedToUseColorCodesInChat: ["Developer", "Owner", "Admin", "Moderator"] DiscordChatChannelBroadcastDiscordMessagesToConsole: true DiscordChatChannelRequireLinkedAccount: false DiscordChatChannelBlockBots: false DiscordChatChannelBlockedIds: ["000000000000000000", "000000000000000000", "000000000000000000"] DiscordChatChannelRolesSelectionAsWhitelist: false DiscordChatChannelRolesSelection: ["Don't show me!", "Misc role"] DiscordChatChannelRoleAliases: {"Developer": "Dev"} # Console channel information # The console channel is the text channel that receives messages which are then run as server commands # by the console as well as having the server's console being streamed to line by line # # You can customize the message including removing timestamps in messages.yml # # DiscordConsoleChannelLogRefreshRateInSeconds: rate in seconds between sending lines from the console # DiscordConsoleChannelUsageLog: # %date%: current date # example: 2017-01-01 # PlaceholderAPI placeholders are supported # DiscordConsoleChannelBlacklistActsAsWhitelist: whether or not the blacklisted commands list acts as a whitelist instead of blacklist # DiscordConsoleChannelBlacklistedCommands: phrases wrapped in quotation marks that users should not be able to send as commands to the console # DiscordConsoleChannelFilters: regex filters to be applied to console lines being sent to Discord, if the result is empty the message won't be sent at all # DiscordConsoleChannelLevels: levels to send to console channel via appender # DiscordConsoleChannelAllowPluginUpload: should uploading plugins to the console channel add them to the server automatically # DiscordConsoleChannelLogRefreshRateInSeconds: 5 DiscordConsoleChannelUsageLog: "Console-%date%.log" DiscordConsoleChannelBlacklistActsAsWhitelist: false DiscordConsoleChannelBlacklistedCommands: ["?", "op", "deop", "execute"] DiscordConsoleChannelFilters: {".*(?i)async chat thread.*": "", ".*There are \\d+ of a max of \\d+ players online.*": ""} DiscordConsoleChannelLevels: [info, warn, error] DiscordConsoleChannelAllowPluginUpload: false # Chat channel command execute command # These options control the ability to say "!c kick Notch", or whatever the prefix is to run a command, # as the console, from a registered chat channel. # # DiscordChatChannelConsoleCommandEnabled: whether or not to allow console commands from a chat channel. # DiscordChatChannelConsoleCommandNotifyErrors: whether or not to send a user who tries to run a command without permission that they don't have permission # DiscordChatChannelConsoleCommandPrefix: prefix to use for console commands. e.g. "!c tps" # DiscordChatChannelConsoleCommandRolesAllowed: the user roles that are allowed to execute server commands from the chat channel # DiscordChatChannelConsoleCommandWhitelist: list of commands that are able to be ran with DiscordChatChannelConsoleCommandPrefix # DiscordChatChannelConsoleCommandWhitelistBypassRoles: list of roles that bypass the whitelist # DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: should the command whitelist act as a blacklist instead # DiscordChatChannelConsoleCommandExpiration: time in seconds until a sent command output is automatically removed by the bot. set to 0 to disable expiration. # DiscordChatChannelConsoleCommandExpirationDeleteRequest: whether or not to delete the message of the person that originally issued the command # DiscordChatChannelConsoleCommandEnabled: true DiscordChatChannelConsoleCommandNotifyErrors: true DiscordChatChannelConsoleCommandPrefix: "!c" DiscordChatChannelConsoleCommandRolesAllowed: ["Developer", "Owner"] DiscordChatChannelConsoleCommandWhitelist: ["say", "lag", "tps"] DiscordChatChannelConsoleCommandWhitelistBypassRoles: ["Owner", "Developer"] DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: false DiscordChatChannelConsoleCommandExpiration: 0 DiscordChatChannelConsoleCommandExpirationDeleteRequest: true # Chat channel player list command # All the config stuff for the player list command # # DiscordChatChannelListCommandEnabled: whether the command is enabled # DiscordChatChannelListCommandMessage: the command people can type to get the player list # DiscordChatChannelListCommandExpiration: time in seconds until a sent player list message is automatically removed by the bot. set to 0 to disable expiration. # DiscordChatChannelListCommandExpirationDeleteRequest: whether or not to delete the message of the person that originally requested for the player list # DiscordChatChannelListCommandEnabled: true DiscordChatChannelListCommandMessage: "playerlist" DiscordChatChannelListCommandExpiration: 10 DiscordChatChannelListCommandExpirationDeleteRequest: true # Chat channel blacklisted phrases & regex # # DiscordChatChannelGameFilters: regex filters to be applied to chat messages being sent to Discord, if the result is empty the message won't be sent at all # DiscordChatChannelDiscordFilters: regex filters to be applied to chat messages being sent to Minecraft, if the result is empty the message won't be sent at all # DiscordChatChannelGameFilters: {} DiscordChatChannelDiscordFilters: {".*Online players\\(.*": "", ".*\\*\\*No online players\\*\\*.*": ""} # Channel topic updater settings # # ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: whether or not the channel topics should be changed at server shutdown at all # ChannelTopicUpdaterRateInMinutes: amount of minutes between automatically updating the channel topics with fresh information # ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: true ChannelTopicUpdaterRateInMinutes: 10 # Discord canned responses # These are triggers (commands in a way) that will trigger a "canned response" to be sent as a reply to them # You should probably change these from their defaults or add your own # # Syntax is {"TRIGGER": "RESPONSE", "TRIGGER": "RESPONSE", ...} # If you do not want any canned responses, set this to just {} # PlaceholderAPI placeholders are supported for the values # DiscordCannedResponses: {"!ip": "yourserveripchange.me", "!site": "http://yoursiteurl.net"} # Minecraft to Discord account linking # These are the config options pertaining to how linking a Minecraft account to a Discord account functions # # MinecraftDiscordAccountLinkedConsoleCommands: commands to run when an account is linked, see below for possible placeholders # MinecraftDiscordAccountUnlinkedConsoleCommands: commands to run when an account is unlinked, see below for possible placeholders # %minecraftplayername%: player's Minecraft username # example: Notch # %minecraftuuid%: player's uuid # example: you know what a uuid looks like # %discordid%: linked discord account's id # example: 12345678901234567890 # %discordname%: linked discord account's username # example: Notch # # MinecraftDiscordAccountLinkedRoleNameToAddUserTo: the name of a discord role to add a discord user to when they link their account # MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: allows sending a new code to the bot to unlink and relink with the new code # MinecraftDiscordAccountLinkedConsoleCommands: ["", "", ""] MinecraftDiscordAccountUnlinkedConsoleCommands: ["", "", ""] MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "Linked" MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: false # Server watchdog # # The watchdog constantly monitors the last time your server performed a game tick # If the time since the last tick goes above the set interval in seconds, Discord messages can be triggered # # ServerWatchdogEnabled: whether or not the watchdog is enabled at all # ServerWatchdogTimeout: time in seconds that need to elapse before the watchdog takes action (Spigot's crash detection uses 60 for this) # the minimum for this value is 10 # ServerWatchdogMessageCount: the amount of times ServerWatchdogMessage is sent. useful if you *really* want to make sure you know something's up # ServerWatchdogEnabled: true ServerWatchdogTimeout: 30 ServerWatchdogMessageCount: 3