ErdbeerbaerLP / DiscordIntegration-Forge

Forge version of the Discord Integration mod
https://modrinth.com/plugin/dcintegration
MIT License
99 stars 53 forks source link

[Bug]: Whitelist does not appear to be working in the latest version. #391

Open bconlon1 opened 2 years ago

bconlon1 commented 2 years ago

What happened?

Trying to set up the whitelist system doesn't seem to be working, despite using the same settings from using the mod in a previous version, having vanilla whitelist off and the server in online mode (server.properties attached), and also testing with a non-operator player. I could be forgetting something here but as far as I can see everything should be configured correctly.

Game Version

Other

What platform are you using?

Forge

Platform version

Minecraft: 1.18.1; Forge: 39.0.36; Discord Integration: 2.3.5

Config File

# General options for the bot
[general]
  # Insert your Bot Token here!
  # DO NOT SHARE IT WITH ANYONE!
  botToken = "CENSORED"
  # The channel ID where the bot will be working in
  botChannel = "932055510700658708"
  # The bot's status message
  # 
  # PLACEHOLDERS:
  # %online% - Online Players
  # %max% - Maximum Player Amount
  botStatusName = "%online% players online"
  # Type of the bot's status
  # Allowed Values: DISABLED,PLAYING,WATCHING,LISTENING,STREAMING,COMPETING
  botStatusType = "WATCHING"
  # URL of the bot's stream when using the status type 'STREAMING'
  # Has to start with https://twitch.tv/ or https://www.youtube.com/watch?v=
  streamingURL = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  # Enable checking for updates?
  # Notification will be shown after every server start in log when update is available
  enableUpdateChecker = true
  # The minimum release type for the update checker to notify
  # Allowed values: release, beta, alpha
  updateCheckerMinimumReleaseType = "beta"
  # Set to false to disable config migration from other mods/plugins to this one
  # This does not prevent updating of this config after mod updates
  allowConfigMigration = true
  # Attempt to parse id-based mentions to names in in-game chat
  parseMentionsIngame = true
# Configuration options for commands
[commands]
  # The Role IDs of your Admin Roles
  # Now supports multiple roles which can access admin commands
adminRoleIDs = [  "583051771581038617", "413826741715337216", "118816233624829952"  ]
  # Add your custom commands here
  # You can also generate some on https://erdbeerbaerlp.de/dcintegration-commands/
  # You must op this UUID in the ops.txt or some custom commands won't work!
  senderUUID = "8d8982a5-8cf9-4604-8feb-3dd5ee1f83a3"
  # Enable help command?
  # Disabling also removes response when you entered an invalid command
  # Requires server restart
  helpCmdEnabled = true
  # Enable the list command in discord
  # Requires server restart
  listCmdEnabled = true
  # Enable the uptime command in discord
  # Requires server restart
  uptimeCmdEnabled = true
  # Set to false to completely disable the "Unknown Command" message
  showUnknownCommandMessage = true
  # Set to true to enable the "Unknown Command" message in all channels
  showUnknownCommandEverywhere = false

    [[commands.customCommands]]
      name = "kick"
      description = "Kicks an player from the Server"
      mcCommand = "kick %player% %reason%"
      adminOnly = true
      hidden = false

        [[commands.customCommands.args]]
          name = "player"
          description = "The player to be kicked"
          optional = false

        [[commands.customCommands.args]]
          name = "reason"
          description = "Reason for the kick"
          optional = true

    [[commands.customCommands]]
      name = "ban"
      description = "Bans a player from the Server"
      mcCommand = "ban %player% %reason$"
      adminOnly = true
      hidden = false

        [[commands.customCommands.args]]
          name = "player"
          description = "The player to be banned"
          optional = false

        [[commands.customCommands.args]]
          name = "reason"
          description = "Reason for the ban"
          optional = true
# Toggle some message related features
[messages]
  # Enable formatting conversion (Markdown <==> Minecraft)
  convertCodes = true
  # Send formatting codes from mc chat to discord
  # Has no effect when markdown <==> Minecraft is enabled
  formattingCodesToDiscord = false
  # Should /say output be sent to discord?
  sendOnSayCommand = true
  # Should /me output be sent to discord?
  sendOnMeCommand = true
  # When an /say command's message starts with this prefix, it will not be sent to discord
  sayCommandIgnoredPrefix = "§4§6§k§r"
  # Should tamed entity death be visible in discord?
  sendDeathMessagesForTamedAnimals = true
# Advanced options
[advanced]
  # Custom channel ID for server specific messages (like Join/leave)
  # Leave 'default' to use default channel
  serverChannelID = "default"
  # Custom channel ID for death messages
  # Leave 'default' to use default channel
  deathsChannelID = "default"
  # Custom channel for for ingame messages
  # Leave 'default' to use default channel
  chatOutputChannelID = "default"
  # Custom channel where messages get sent to minecraft
  # Leave 'default' to use default channel
  chatInputChannelID = "default"
# Config options which only have an effect when using forge
[forgeSpecific]
  # A list of blacklisted modids
  # Adding one will prevent the mod to send messages to discord using forges IMC system
IMC_modIdBlacklist = [  "examplemod"  ]
  # Show item information, which is visible on hover ingame, as embed in discord?
  sendItemInfo = true
# Configuration for linking
[linking]
  # Unlink players when they leave the discord server for whatever reason (ex. leave,kick,ban)?
  unlinkOnLeave = true
  # Should discord linking be enabled?
  # If whitelist is on, this can NOT be disabled
  # DOES NOT WORK IN OFFLINE MODE!
  enableLinking = true
  # Role ID of an role an player should get when he links his discord account
  # Leave as 0 to disable
  linkedRoleID = "0"
  # Enable discord based whitelist?
  # This will override the link config!
  # To whitelist use the whitelist command in the bot DMs
  whitelistMode = true
  # Adding Role IDs here will require the players to have at least ONE of these roles to link account
requiredRoles = [  "899043161748426773"  ]
settingsBlacklist = [    ]

    # Allows you to configure the default values of some personal settings
    [linking.personalSettingsDefaults]
      default_useDiscordNameInChannel = true
      default_ignoreReactions = false
      default_pingSound = true
# Webhook configuration
[webhook]
  # Whether or not the bot should use a webhook (it will create one)
  enable = false
  # The avatar to be used for server messages
  serverAvatarURL = "https://raw.githubusercontent.com/ErdbeerbaerLP/Discord-Chat-Integration/master/images/srv.png"
  # The name to be used for server messages
  serverName = "Minecraft Server"
  # The URL where the player avatar gets fetched from
  # 
  # PLACEHOLDERS:
  # %uuid% - Returns the player's UUID with dashes
  # %uuid_dashless% - Returns the player's UUID without dashes
  # %name% - Returns the player's name
  # %randomUUID% - Returns an random UUID which can be used to prevent discord cache
  playerAvatarURL = "https://minotar.net/avatar/%uuid%?randomuuid=%randomUUID%"
# Allows you to modify and translate most of the messages this bot will send
[localization]
  # This is what will be displayed ingame when someone types into the bot's channel
  # PLACEHOLDERS:
  # %user% - The username
  # %id% - The user ID
  # %msg% - The message
  ingame_discordMessage = "§8[Discord]§r <%user%> %msg%"
  # This is what will be displayed ingame when someone sends an reply into the bot's channel
  # PLACEHOLDERS:
  # %user% - The username
  # %id% - The user ID
  # %msg% - The reply message
  # %ruser% - The username of the message that got the reply
  # %rmsg% - The replied message
  ingame_discordReplyMessage = "§8[Discord]§r <%user%> §7in reply to <%ruser%>:§r %msg%"
  # Message shown when hovering over the username of an discord message
  # PLACEHOLDERS:
  # %user% - The username/nickname (Someone123)
  # %user#tag% - The username with tag (someone#0001)
  # %id% - The user ID
  # 
  # NOTE: using an @ here can cause ping sounds ingame
  discordUserHover = ""
  # This message will edited in / sent when the server finished starting
  serverStarted = "Server Started!"
  # Message to show while the server is starting
  # This will be edited to SERVER_STARTED_MSG when webhook is false
  serverStarting = "Server Starting..."
  # This message will be sent when the server was stopped
  serverStopped = "Server Stopped!"
  # The message to print to discord when it was possible to detect a server crash
  serverCrash = "Server Crash Detected :panic:"
  # Gets sent when an player joins
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  playerJoin = "%player% joined the game"
  # Gets sent when an player leaves
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  playerLeave = "%player% left the game"
  # Gets sent when an player dies
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  # %msg% - The death message
  playerDeath = "%player% %msg%"
  # Message sent instead of playerLeave, when the player times out
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  playerTimeout = "%player% timed out"
  # Gets sent when an player finishes an advancement
  # Supports MulitLined messages using \n
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  # %name% - The advancement name
  # %desc% - The advancement description
  advancementMessage = "%player% just made the advancement **%name%**\n_%desc%_"
  # The chat message in discord, sent from an player in-game
  # 
  # PLACEHOLDERS:
  # %player% - The player's name
  # %msg% - The chat message
  discordChatMessage = "<%player%> %msg%"
  # Sent to a player when someone reacts to his messages
  # PLACEHOLDERS:
  # %name% - (Nick-)Name of the user who reacted (format: 'SomeNickName')
  # %name2% - Name of the user who reacted with discord discriminator (format: 'SomeName#0123')
  # %msg% - Content of the message which got the reaction
  # %emote% - The reacted emote
  reactionMessage = "§8[Discord]§r <%name%> §7reacted to your message \"§r%msg%§7\" §7with %emote%§r"
  # Message shown for attachments
  attachment = "Attachment"
  # Message shown for stickers
  sticker = "Sticker"
  # Header for Embeds
  embed = "Embed"
  # Message shown for embed images
  embedImage = "Image"
  # Message shown for embed messages
  embedMessage = "Message"
  # Hover message for the bot tag ingame
  bot = "This user is an bot"

    # Strings about the discord commands
    [localization.commands]
      # Shown in console when trying to use the discord command
      ingameOnly = "This command can only be executed ingame"
      # Shown when successfully reloading the config file
      configReloaded = "Config reloaded!"
      # Shown when an subcommand is disabled
      subcommandDisabled = "This subcommand is disabled!"
      # Message sent when user does not have permission to run a command
      noPermission = "You don't have permission to execute this command!"
      # Message sent when an invalid command was typed
      # 
      # PLACEHOLDERS:
      unknownCommand = "Unknown command, try `/help` for a list of commands"
      # Message if a player provides less arguments than required
      notEnoughArguments = "Not enough arguments"
      # Message if a player provides too many arguments
      tooManyArguments = "Too many arguments"
      # Message if a player can not be found
      # 
      # PLACEHOLDERS:
      # %player% - The player's name
      playerNotFound = "Can not find player \"%player%\""
      # The message for 'list' when no player is online
      cmdList_empty = "There is no player online..."
      # The header for 'list' when one player is online
      cmdList_one = "There is 1 player online:"
      # The header for 'list'
      # PLACEHOLDERS:
      # %amount% - The amount of players online
      cmdList_header = "There are %amount% players online:"
      # Header of the help command
      cmdHelp_header = "Your available commands in this channel:"
      # Message sent when ignoring Discord messages
      commandIgnore_ignore = "You are now ignoring Discord messages!"
      # Message sent when unignoring Discord messages
      commandIgnore_unignore = "You are no longer ignoring Discord messages!"
      # Message sent when using the uptime command
      # 
      # PLACEHOLDERS:
      # %uptime% - Uptime in uptime format, see uptimeFormat
      cmdUptime_message = "The server is running for %uptime%"
      # The format of the uptime command
      # For more help with the formatting visit https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DurationFormatUtils.html
      uptimeFormat = "dd 'days' HH 'hours' mm 'minutes'"
      # Shows when running slash commands as command response
      executing = "Executing..."
      # Command argument description for the linkcheck command's Discord user parameter
      cmdLinkcheck_userargDesc = "The discord user to check"
      # Command argument description for the linkcheck command's minecraft player parameter
      cmdLinkcheck_mcargDesc = "The minecraft player's UUID or Name to check"
      # Sent when checked user is not linked
      cmdLinkcheck_notlinked = "This account is not linked!"
      # 
      cmdLinkcheck_discordAcc = "Discord-Account: "
      cmdLinkcheck_minecraftAcc = "Minecraft Account: "
      cmdLinkcheck_cannotGetPlayer = "Error getting player information! Maybe you used an invalid name / UUID"
      cmdSett_key = "Destination settings key"
      cmdSett_val = "Settings value"
      cmdSett_set = "Change an setting"
      cmdSett_get = "Retrieve an setting value"

        # Command descriptions
        [localization.commands.descriptions]
          settings = "Allows you to edit your personal settings"
          uptime = "Displays the server uptime"
          help = "Displays a list of all commands"
          list = "Lists all players currently online"
          link = "Links your Discord account with your Minecraft account"
          whitelist = "Whitelists you on the server by linking with Discord"
          linkcheck = "Shows info about an linked discord user or an ingame player"

    # Strings about the account linking feature
    [localization.linking]
      # Sent to the user when he linked his discord successfully
      # PLACEHOLDERS:
      # %player% - The in-game player name
      linkSuccessful = "Your account is now linked with %player%.\nUse /settings to view and set some user-specific settings"
      # Sent to the user when linking fails
      linkFailed = "Account link failed"
      # Sent when an already linked user attempts to link an account
      # PLACEHOLDERS:
      # %player% - The in-game player name
      alreadyLinked = "Your account is already linked with %player%"
      # Sent when attempting to use personal commands while not linked
      # PLACEHOLDERS:
      # %method% - The currently enabled method for linking
      notLinked = "Your account is not linked! Link it first using %method%"
      # Message of the link method in whitelist mode
      # Used by %method% placeholder
      linkMethodWhitelistCode = "joining the server and then using `/link <whitelist-code>` here"
      # Message of the link method in normal mode
      # Used by %method% placeholder
      linkMethodIngame = "`/discord link` ingame"
      # Sent when attempting to whitelist-link with an non uuid string
      # PLACEHOLDERS:
      # %arg% - The provided argument
      link_argumentNotUUID = "Argument \"%arg%\" is not an valid UUID or Name. Use `/whitelist <Name-or-UUID>`"
      # Sent when attempting to link with an unknown number
      invalidLinkNumber = "Invalid link number! Use `/discord link` ingame to get your link number"
      # Sent when attempting to link with an invalid number
      linkNumberNAN = "This is not a number!"
      # Message shown to players who are not whitelisted using discord
      # No effect if discord whitelist is off
      notWhitelistedCode = "§cYou are not whitelisted.\nCheck pinned messages in #ants-relay for more information\nhttps://discord.gg/SSFgGht\nYour Whitelist-Code is: §6%code%"
      # Sent when trying to link without an required role
      link_requiredRole = "You need to have an role to use this"
      # Sent when trying to link as an non-member
      link_notMember = "You are not member of the Discord-Server this bot is operating in!"
      # Sent to the user when he linked his discord successfully
      # PLACEHOLDERS:
      # %name% - The linked discord name
      # %name#tag% - The linked discord name with tag
      linkSuccessfulIngame = "Your account is now linked with discord-user %name#tag%"
      # Message shown to players who want to link their discord account ingame
      # 
      # PLACEHOLDERS:
      # %num% - The link number
      linkMsgIngame = "Send this command as a direct message to the bot to link your account: /link %num%\nThis number will expire after 10 minutes"
      # Shown when hovering over the link message
      hoverMsg_copyClipboard = "Click to copy command to clipboard"

    # Strings about the personal settings feature
    [localization.personalSettings]
      # Message for getting an setting's value
      personalSettingGet = "This settings value is `%bool%`"
      # Sent when user sucessfully updates an prersonal setting
      settingUpdateSuccessful = "Successfully updated setting!"
      # Header of the personal settings list
      personalSettingsHeader = "Personal Settings list:"
      # Error message when providing an invalid personal setting name
      invalidPersonalSettingKey = "`%key%` is not an valid setting!"
      settingsCommandUsage = "Usages:\n\n/settings - lists all available keys\n/settings get <key> - Gets the current settings value\n/settings set <key> <value> - Sets an Settings value"
      # Sent when setting an personal setting fails
      settingUpdateFailed = "Failed to set value :/"
      # Sent when attempting to change an blacklisted setting
      settingUpdateBlocked = "The server owner disabled changing of this setting"

        # Descriptions of the settings
        [localization.personalSettings.descriptons]
          ignoreDiscordChatIngame = "Configure if you want to ignore discord chat ingame"
          useDiscordNameInChannel = "Should the bot send messages using your discord name and avatar instead of your in-game name and skin?"
          ignoreReactions = "Configure if you want to ignore discord reactions ingame"
          pingSound = "Toggle the ingame ping sound"
          hideFromDiscord = "Setting this to true will hide all of your minecraft messages from discord"
# Configuration for the in-game command '/discord'
[ingameCommand]
  # Enable the /discord command to show an custom message with invite URL?
  enabled = true
  # The message displayed when typing /discord in the server chat
  message = "Join our discord! https://discord.gg/SSFgGht"
  # The message shown when hovering the /discord command message
  hoverMessage = "Click to open the invite url"
  # The url to open when clicking the /discord command text
  inviteURL = "https://discord.gg/SSFgGht"
# The command log channel is an channel where every command execution gets logged
[commandLog]
  # Channel ID for the command log channel
  # Leave 0 to disable
  channelID = "0"
  # The format of the log messages
  # 
  # PLACEHOLDERS:
  # %sender% - The name of the Command Source
  # %cmd% - executed command (e.g. "say Hello World"
  # %cmd-no-args% - Command without arguments (e.g. "say"
  message = "%sender% executed command `%cmd%`"
  # A list of commands that should NOT be logged
ignoredCommands = [  "list", "help", "?"  ]
# Configure votifier integration here
# (Spigot only)
[votifier]
  # Should votifier messages be sent to discord?
  enabled = true
  # Custom channel ID for Votifier messages
  # Leave 'default' to use default channel
  votifierChannelID = "default"
  # The message format of the votifier message
  # 
  # PLACEHOLDERS:
  # %player% - The player´s name
  # %site% - The name of the vote site
  # %addr% - (IP) Address of the site
  message = ":ballot_box: %player% just voted on %site%"
  # Name of the webhook title
  name = "Votifier"
  # URL of the webhook avatar image
  avatarURL = "https://www.cubecraft.net/attachments/bkjvmqn-png.126824/"
# Configure Dynmap integration here
[dynmap]
  # The message format of the message forwarded to discord
  # 
  # PLACEHOLDERS:
  # %sender% - The sender´s name
  # %msg% - The Message
  dcMessage = "<%sender%> %msg%"
  # Custom channel ID for dynmap chat
  # Leave 'default' to use default channel
  dynmapChannelID = "default"
  # Name of the webhook title
  name = "Dynmap Web-Chat"
  # URL of the webhook avatar image
  avatarURL = "https://styles.redditmedia.com/t5_2kl3ct/styles/communityIcon_am5zopqnjhs41.png"
  # The name format of the message forwarded to the dynmap webchat
  # 
  # PLACEHOLDERS:
  # %name% - The discord name of the sender (including nickname)
  # %name#tag% - The discord name with tag of the sender (without nickname)
  webName = "%name% (discord)"
  # Name shown in discord when no name was specified on the website
  unnamed = "Unnamed"
# Configure some plugin-specific BStats settings here
# Everything can be seen here: https://bstats.org/plugin/bukkit/DiscordIntegration/9765
# 
# Does not apply to fabric yet, as there is no bstats for it
[bstats]
  # Allow sending of installed addon stats (Name and version of installed addons)
  sendAddonStats = true
# Settings for servers running as Bungeecord-suberver
[bungee]
  # Set this to true if the server is running as an subserver of an bungeecord network and therefore needs to be in offline mode
  # Setting this will force account linking in offline mode
  # Do NOT use for actual offline mode servers, as this will break the linking feature because of the UUIDs!
  # 
  # Currently no support for floodgate running on bungee
  isBehindBungee = false

Crash report / Error log (if applicable)

No response

Additional Information

Other Mods Included:


#Sun Jan 16 03:29:32 UTC 2022
allow-flight=true
allow-nether=true
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
difficulty=easy
enable-command-block=true
enable-jmx-monitoring=false
enable-query=true
enable-rcon=false
enable-status=true
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=2
gamemode=survival
generate-structures=true
generator-settings=
hardcore=false
hide-online-players=false
level-name=world
level-seed=
level-type=default
max-players=20
max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
network-compression-threshold=256
online-mode=true
op-permission-level=4
player-idle-timeout=0
prevent-proxy-connections=false
pvp=true
query.port=25565
rate-limit=0
rcon.password=
rcon.port=25575
require-resource-pack=false
resource-pack=
resource-pack-prompt=
resource-pack-sha1=
server-ip=0.0.0.0
server-port=25565
simulation-distance=10
spawn-animals=true
spawn-monsters=true
spawn-npcs=true
spawn-protection=16
sync-chunk-writes=true
text-filtering-config=
use-native-transport=true
view-distance=10
white-list=false
bconlon1 commented 2 years ago

I believe I've narrowed this down to the MixinConnector attribute at https://github.com/ErdbeerbaerLP/DiscordIntegration-Forge/blob/13cc47a6642428ed8699953fc004601f9ad8183d/build.gradle#L146 being commented out, as uncommenting it makes the whitelist work again.