AntiSpoof - Client Spoof Detection icon

AntiSpoof - Client Spoof Detection -----

Detect and block spoofed clients with advanced brand and channel analysis.



Code (YAML):

#        ___          __  _ _____                   ____
#       /   |  ____  / /_(_) ___/____  ____  ____  / __/
#      / /| | / __ \/ __/ /\__ \/ __ \/ __ \/ __ \/ /_  
#     / ___ |/ / / / /_/ /___/ / /_/ / /_/ / /_/ / __/  
#    /_/  |_/_/ /_/\__/_//____/ .___/\____/\____/_/    
#                            /_/                      
#                   Made by GigaZelensky

# ──────────────────────────────────────────────────────────
#                  AntiSpoof Configuration
# ──────────────────────────────────────────────────────────
# Welcome to AntiSpoof. This plugin helps server admins detect and manage
# client-side modifications by analyzing client information sent by players.
#
# ⚠️ Note: While this plugin enhances security, it is not foolproof.
# Skilled users can (ironically) spoof their client details to bypass detection.
#
# By default, the plugin only verifies whether a player claiming to use
# 'vanilla' has registered plugin channels, something that is impossible
# on a true vanilla client.
# ──────────────────────────────────────────────────────────

# ⏳ Delay (in seconds) before checking for client spoofing.
# Set to 0 for an immediate check upon player login (unrealiable). (Default: 1)
delay-in-seconds
: 1

# ️ Debug Mode
# If enabled, logs client channels and brand details in the console when a player logs in.
debug
: false

# ──────────────────────────────────────────────────────────
#                  Core Detection Settings
# ──────────────────────────────────────────────────────────

# Vanilla Spoof Detection
# Detects when a player claims to use vanilla but has registered plugin channels
vanillaspoof-check
:
  # Whether to check if a player claiming "vanilla" client has plugin channels
  enabled
: true
  # Whether to send alerts to Discord for this violation type
  discord-alert
: true
  # Custom alert messages for this specific violation
  alert-message
: "&8[&cAntiSpoof&8] &e%player% flagged! &cVanilla client with plugin channels"
  console-alert-message
: "%player% flagged! Vanilla client with plugin channels"
  # Whether to punish the player if detection is positive
  punish
: false
  # Punishment actions to execute
  # Available placeholders: %player%, %reason%, %brand%, %channel%
  punishments
:
   - "kick %player% &cVanilla spoof detected: %reason%"
    # - "ban %player% &cVanilla client spoofing detected"

# Super Strict Mode (Not Recommended)
# Blocks players who either:
#    - Do NOT have a "vanilla" client, OR
#    - Have registered plugin channels (indicating mods/plugins)
# ⚠️ This is an extremely strict mode and may block legitimate players
non-vanilla-check
:
  # Whether to enable this strict check
  enabled
: false
  # Whether to send alerts to Discord for this violation type
  discord-alert
: false
  # Custom alert messages for this specific violation
  alert-message
: "&8[&cAntiSpoof&8] &e%player% flagged! &cClient modifications detected"
  console-alert-message
: "%player% flagged! Client modifications detected"
  # Whether to punish the player if detection is positive
  punish
: false
  # Punishment actions to execute
  # Available placeholders: %player%, %reason%, %brand%, %channel%
  punishments
:
   - "kick %player% &cNon-vanilla client with channels detected"
    # - "tempban %player% 1h &cUsing a modified client"

# ──────────────────────────────────────────────────────────
#               No Brand Detection Settings
# ──────────────────────────────────────────────────────────
# Some hacked clients avoid detection by not sending a client brand at all
# This check flags players who connect without providing any brand information
no-brand-check
:
  # Whether to flag players who don't send a client brand
  enabled
: true
  # Whether to send alerts to Discord for this violation type
  discord-alert
: true
  # Custom alert messages for this specific violation
  alert-message
: "&8[&cAntiSpoof&8] &e%player% flagged! &cNo client brand detected"
  console-alert-message
: "%player% flagged! No client brand detected"
  # Whether to punish the player if detection is positive
  punish
: false
  # Punishment actions to execute
  # Available placeholders: %player%, %reason%
  punishments
:
   - "kick %player% &cNo client brand detected"
    # - "ban %player% &cSuspicious client detected (no brand)"

# ──────────────────────────────────────────────────────────
#                 Channel Detection Settings
# ──────────────────────────────────────────────────────────
blocked-channels
:
  # Enable channel-based detection
  enabled
: false
  # Whether to send alerts to Discord for blocked channel violations
  discord-alert
: false
 
  # ⚪ Whitelist Mode
  # - FALSE: Block listed channels.
  # - SIMPLE: Only allow players with at least one whitelisted channel.
  # - STRICT: Only allow players who match the exact whitelist and have no extra channels.
  whitelist-mode
: FALSE
 
  # List of channels to block/whitelist
  values
:
   - "^fabric-screen-handler-api-v1:open_screen$"
    # Add more channels to block here
    # - "another:blocked:channel"
    # - "(?i).*litematica.*"
    # - "(?i).*fabric.*"

  # Custom alert messages for this specific violation
  alert-message
: "&8[&cAntiSpoof&8] &e%player% flagged! &cUsing blocked channel: &f%channel%"
  console-alert-message
: "%player% flagged! Using blocked channel: %channel%"

  # Alert when a player's plugin channel is modified
  modifiedchannels
:
    enabled
: true
    # Whether to send Discord alerts for modified channels
    discord-alert
: false
    alert-message
: "&8[&cAntiSpoof&8] &e%player% modified channel: &f%channel%"
    console-alert-message
: "%player% modified channel: %channel%"

  # Whether to punish the player if detection is positive
  punish
: false
  # Punishment actions to execute
  # Available placeholders: %player%, %reason%, %brand%, %channel%
  punishments
:
   - "kick %player% &cBlocked channel detected: %channel%"
    # - "tempban %player% 1d &cUsing blocked mod channels"

# ──────────────────────────────────────────────────────────
#                 Client Brands Configuration
# ──────────────────────────────────────────────────────────
# This section allows for granular control over different client types.
# Each brand can have its own detection patterns, alert messages,
# punishments, and special exemptions.
client-brands
:
  # Master switch for the client brands system
  enabled
: true
 
  # Default settings for brands not explicitly configured
  default
:
    flag
: true
    alert
: true
    discord-alert
: false
    punish
: false
    # Default alert message if not specified for a brand
    alert-message
: "&8[&cAntiSpoof&8] &7%player% using unknown client: &e%brand%"
    console-alert-message
: "%player% using unknown client: %brand%"
 
  # Brand-specific configurations
  brands
:
    # Lunar Client Configuration
    lunar
:
      enabled
: true
      values
:
       - "^lunarclient:v\\d+\\.\\d+\\.\\d+-\\d{4}$"
      # Whether to count the player as flagged by AntiSpoof
      flag
: false
      # Whether to send in-game alerts for this brand
      alert
: true
      # Whether to send Discord alerts for this brand
      discord-alert
: false
      # Custom alert messages for this brand
      alert-message
: "&8[&eAntiSpoof&8] &7%player% is using &9Lunar Client &7version: &b%brand%"
      console-alert-message
: "%player% is using Lunar Client: %brand%"
      # Whether to punish players using this brand
      punish
: false
      # Punishment commands if punish is true
      punishments
: [ ]
      # Channels that must be present for this brand to be legitimate
      required-channels
:
       - "lunar.*"   # Must have at least one lunar channel
      # Punish players if they do not have the channel(s)? Set to false to simply alert.
      required-channels-punish
: false
      required-channels-punishments
:
       - "kick %player% &cLunar Client spoofing detected"

    # Badlion Client Configuration
    badlion
:
      enabled
: true
      values
:
       - "^badlion.*"
        - "^BLC.*"
      flag
: false
      alert
: true
      discord-alert
: false
      alert-message
: "&8[&eAntiSpoof&8] &7%player% is using &b%brand%"
      console-alert-message
: "%player% is using Badlion Client: %brand%"
      punish
: false
      punishments
: [ ]
      required-channels
: [ ]
      required-channels-punish
: false
      required-channels-punishments
:
       - "kick %player% &cLunar Client spoofing detected"

    # Forge Configuration
    forge
:
      enabled
: true
      values
:
       - "^fml,forge.*"
        - "^forge.*"
      flag
: false
      alert
: true
      discord-alert
: false
      alert-message
: "&8[&eAntiSpoof&8] &7%player% is using &b%brand%"
      console-alert-message
: "%player% is using Forge: %brand%"
      punish
: false
      punishments
: [ ]
      required-channels
:
       - "(?i).*forge.*"
      required-channels-punish
: false
      required-channels-punishments
:
       - "kick %player% &cChannel spoofing detected"
     
    # Fabric Configuration
    fabric
:
      enabled
: true
      values
:
       - "^fabric$"
      flag
: false
      alert
: true
      discord-alert
: false
      alert-message
: "&8[&eAntiSpoof&8] &7%player% is using &b%brand%"
      console-alert-message
: "%player% is using Fabric: %brand%"
      punish
: false
      punishments
: [ ]
      required-channels
:
       - "(?i).*fabric.*" # Matches any channel containing "fabric" (case insensitive)
      required-channels-punish
: false
      required-channels-punishments
:
       - "kick %player% &cChannel spoofing detected"

    # LabyMod Configuration
    labymod
:
      enabled
: true
      values
:
       - "^labymod.*"
      flag
: false
      alert
: true
      discord-alert
: false
      alert-message
: "&8[&eAntiSpoof&8] &7%player% is using &b%brand%"
      console-alert-message
: "%player% is using %brand%"
      punish
: false
      punishments
: [ ]
      required-channels
: [ ]
      required-channels-punish
: false
      required-channels-punishments
:
       - "kick %player% &cChannels spoofing detected"

    # Hacked Clients Configuration
    hacked
:
      enabled
: true
      values
:
       - "(?i).*wurst.*"
        - "(?i).*impact.*"
        - "(?i).*aristois.*"
        - "(?i).*future.*"
        - "(?i).*meteor.*"
        - "(?i).*inertia.*"
        - "(?i).*sigma.*"
        - "(?i).*liquidbounce.*"
      flag
: true
      alert
: true
      discord-alert
: true
      alert-message
: "&8[&cAntiSpoof&8] &e%player% is using &c&lknown hacked client: &f%brand%"
      console-alert-message
: "ALERT! %player% is using known hacked client: %brand%"
      punish
: true
      punishments
:
       - "kick %player% &cHacked client detected: %brand%"
        # - "ban %player% &cUse of hacked client detected"

    # Vanilla Configuration
    vanilla
:
      enabled
: true
      values
:
       - "^vanilla$"
      flag
: false # Only flags if the player is caught spoofing
      alert
: false   # Don't alert for vanilla clients by default
      discord-alert
: false
      alert-message
: "&8[&cAntiSpoof&8] &7%player% is using &d%brand%"
      console-alert-message
: "%player% is using %brand%"
      punish
: false
      punishments
: [ ]
      # Special settings for vanilla
      # "strict-check" flags if the client has ANY plugin channels (Must be enabled to detect VanillaSpoof)
      # You can add this "strict-check" to any client brand and only then will it be processed by the earlier "vanillaspoof-check"
      strict-check
: true   # Enable strict checking for vanilla (must have NO channels)

    vanilla-variation
: # When a client shows "Vanilla" or "vAnilla2" but not "vanilla"
      enabled
: true
      values
:
       - "^(?!vanilla$).*?(?i)vanilla.*"
      flag
: true
      alert
: true
      discord-alert
: true
      alert-message
: "&8[&cAntiSpoof&8] &e%player% using fake Vanilla: &c%brand%"
      console-alert-message
: "%player% is using fake Vanilla: %brand%"
      punish
: false
      punishments
: [ ]
      strict-check
: true

# ──────────────────────────────────────────────────────────
#                Bedrock Handling Settings
# ──────────────────────────────────────────────────────────
bedrock-handling
:
  # Choose how to handle Bedrock players.
  # Options:
  #   - "IGNORE": Completely ignore these players; process them like regular players.
  #   - "EXEMPT": Process them but don't punish them for failing checks.
  #
  # Either way, Bedrock players won't get the anti-spoof treatment.
  # "EXEMPT" mode is highly recommended as "IGNORE" can easily falsely punish Bedrock players.
  mode
: "EXEMPT"

  # Geyser Spoofing Detection
  # Detects players claiming a client brand including a variation of "geyser" without being verified
  # as Bedrock players by the Floodgate API.
  geyser-spoof
:
    # Whether to enable geyser spoofing detection
    enabled
: true
    # Whether to send alerts to Discord for Geyser spoofing violations
    discord-alert
: true
    # Custom alert messages for this specific violation
    alert-message
: "&8[&cAntiSpoof&8] &e%player% flagged! &cGeyser client spoofing"
    console-alert-message
: "%player% flagged! Geyser client spoofing with brand: %brand%"

    # Whether to punish the player if detection is positive
    punish
: false
    # Punishment actions to execute
    # Available placeholders: %player%, %reason%, %brand%
    punishments
:
     - "kick %player% &cGeyser client spoofing detected"
      # - "ban %player% &cGeyser client spoofing"

  # Check Player Prefix:
  # This option checks whether a player is identified as a Bedrock player by verifying their prefix.
  # When enabled, the system will verify if the player's username or identifier starts with the specified prefix.
  # Default prefix is ".", and if a player's client brand includes "geyser" in any form without matching
  # the expected prefix, they will be flagged.
  prefix-check
:
    enabled
: true
    # The prefix used to identify Bedrock players.
    prefix
: "."

# ──────────────────────────────────────────────────────────
#                 Discord Webhook Settings
# ──────────────────────────────────────────────────────────
discord
:
  enabled
: false
  webhook
: ""
  embed-title
: "**AntiSpoof Alert**"
  embed-color
: "#2AB7CA"
  violation-content
:
    - "**Player**
: %player%"
    - "**Violations**:%violations%"
    - "**Client Version**
: %viaversion_version%" # Requires Viaversion and PlaceholderAPI
    - "**Brand**
: %brand%"
    - "**Channels**:"
    - "%channel%" # Vertical channel list

# Global settings for all alerts (used as fallback)
# These options control whether to send join messages for players to Discord
# even when they don't trigger any violations
global-alerts
:
  # Whether to send alerts to Discord when players join with a brand
  join-brand-alerts
: false
  # Whether to send alerts to Discord when players register initial channels
  initial-channels-alerts
: false

# ──────────────────────────────────────────────────────────
#                  Update Checker Settings
# ──────────────────────────────────────────────────────────
# Checks for updates from GitHub when the server starts
update-checker
:
  # Whether to check for updates on startup
  enabled
: true
  # Whether to notify admins when they join
  notify-on-join
: true

# ──────────────────────────────────────────────────────────
#                Legacy Punishment Settings
# ──────────────────────────────────────────────────────────
# Legacy global punishment system (for backward compatibility)
# These punishments will be used if a specific check has 'punish: true'
# but doesn't have its own punishments defined
# Available placeholders: %player%, %reason%, %brand%, %channel%
punishments
:
 - "kick %player% &cSuspicious client detected!"
  # - "ban %player% &cClient spoofing detected"

# ──────────────────────────────────────────────────────────
#                 Legacy Alert Messages
# ──────────────────────────────────────────────────────────
# Legacy global alert system (for backward compatibility)
# These messages will be used if a specific check is enabled
# but doesn't have its own alerts defined
# Available placeholders: %player%, %reason%, %brand%, %channel%
# Defines the message sent to players with the `antispoof.alerts` permission
# when a spoofing attempt is detected.
messages
:
  # Message shown to players with antispoof.alerts permission
  alert
: "&8[&cAntiSpoof&8] &e%player% flagged! &c%reason%"
  # Message logged to console (no color codes needed)
  console-alert
: "%player% flagged! %reason%"
  # Message for multiple violations
  multiple-flags
: "&8[&cAntiSpoof&8] &e%player% has multiple violations: &c%reasons%"
  # Message for console when multiple violations
  console-multiple-flags
: "%player% has multiple violations: %reasons%"
 
Resource Information
Author:
----------
Total Downloads: 98
First Release: Mar 6, 2025
Last Update: Mar 19, 2025
Category: ---------------
All-Time Rating:
0 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings