šŸ“š AnziUtils Documentation

Welcome to the AnziUtils wiki! AnziUtils is an all-in-one administrative utility and security plugin offering robust VPN detection, alt-limiting, geolocation filters, combat logging, a custom grave system, and much more. Below you will find a complete breakdown of all modules, commands, permissions, and configuration options required to run the plugin optimally on your server.

Getting Started

Welcome to AnziUtils! This guide will help you set up and configure the plugin for your Minecraft server.

Requirements

  • Java 8 or higher
  • Minecraft Server 1.8+
  • Spigot, CraftBukkit, or Paper
  • (Optional) PlaceholderAPI for placeholder support
  • Valid AnziUtils License Key

Installation

Step 1: Download

Download the latest AnziUtils JAR file from the BuiltByBit release page.

Step 2: Install

  1. Stop your Minecraft server
  2. Navigate to your server's plugins/ directory
  3. Place the AnziUtils JAR file in this directory
  4. Start your server

Step 3: License Setup

After the first startup, AnziUtils will generate configuration files in plugins/AnziUtils/. You must insert your license key before the plugin will function:

license:
  key: "YOUR_LICENSE_KEY_HERE"

Step 4: Configuration

Edit the generated YAML files to customize the plugin for your server.

Configuration Guide

1. Activating the Plugin

Insert your license into the configuration to permit the plugin to boot.

license:
  key: "YOUR_LICENSE_KEY_HERE"

2. Setting Up Database Tracking

By default, AnziUtils constructs a local sqlite database. For proxy networks (BungeeCord/Velocity), configure a centralized mysql database so Alt-Limits track perfectly across different servers!

database:
  type: sqlite
  # For MySQL:
  # type: mysql
  # host: localhost
  # port: 3306
  # database: anziutils
  # username: root
  # password: password

3. VPN & Proxy Detection

AnziUtils uses proxycheck.io for seamless VPN detection.

vpn-detection:
  enabled: true
  block-vpn: false # if true, blocks VPN users
  check-proxies: true
  action: "warn" # or "kick"

4. Alt-Account Limiter

Restrict the maximum number of unique UUIDs permitted to log in from the same IPv4 address.

alt-account-limiter:
  enabled: true
  max-accounts-per-ip: 3
  kick-message: "&cToo many accounts from your IP!"

5. Country Filter (GeoIP)

Configure Blacklists or Whitelists based upon resolved country codes.

country-filter:
  enabled: true
  mode: "whitelist" # or "blacklist"
  countries:
    - "US"
    - "UK"
    - "CA"

6. Combat Restrictions

Inside the combat-log block, toggle what players can use under combat tagging.

combat-logging:
  enabled: true
  combat-duration: 30 # seconds
  disable-enderpearls: true
  disable-chorusfruit: true
  disable-goldenapples: true
  disable-totems: true
  disable-inventory: true
  disable-flight: true
  blocked-commands:
    - "home"
    - "warp"
    - "teleport"
    - "spawn"
  safe-zone-regions:
    - "spawn"
    - "safe_zone"

7. Grave System Configuration

grave-system:
  enabled: true
  grave-duration: 1800 # 30 minutes
  show-hologram: true
  hologram-height: 0.5
  hologram-text: "&eāš°ļø &a%player%'s Grave"
  
  anti-theft:
    enabled: true
    owner-only-duration: 600 # 10 minutes
    killer-access: true

8. PlaceholderAPI Expansions

If you run PAPI, AnziUtils auto-registers internal expansions. Use these across your scoreboard/tab plugins to display IP and security data live:

%anziutils_combat_time% — Time remaining in combat
%anziutils_combat_active% — Combat status (true/false)
%anziutils_country% — Player's last known country
%anziutils_city% — Player's last known city
%anziutils_ip% — Player's IP address
%anziutils_alts% — Number of alts from this IP

config.yml

Main configuration file with all plugin settings:

AnziUtils:
  # License
  license:
    key: "YOUR_LICENSE_KEY"
  
  # Database
  database:
    type: "sqlite"
  
  # VPN Detection
  vpn-detection:
    enabled: true
    block-vpn: false
    check-proxies: true
    
  # Combat Logging
  combat-logging:
    enabled: true
    combat-duration: 30
    block-commands:
      - "home"
      - "warp"
      - "teleport"
    
  # Grave System
  grave-system:
    enabled: true
    grave-duration: 1800
    show-hologram: true
    
  # Discord Webhook
  discord:
    enabled: false
    webhook-url: "YOUR_WEBHOOK_URL_HERE"
    
  # Panic Mode
  panic-mode:
    enabled: true
    lockdown-countries: ["US", "UK"]

messages.yml

Customize all messages sent to players:

Messages:
  vpn-blocked: "&c&lāš ļø VPNs are not allowed on this server!"
  combat-logged: "&c&lāš ļø You combatlogged! Your items have been saved in a grave."
  combat-active: "&c&lCOMBAT ACTIVE - &c%anziutils_combat_time%s remaining"
  grave-created: "&aāœ“ Grave created at %grave_location%"
  panic-enabled: "&c&lāš ļø PANIC MODE ACTIVATED - Server Lockdown Enabled"
  alt-limit-reached: "&cToo many accounts from your IP address!"
  mute-notification: "&7&oYou are muted due to suspicious activity."

šŸ›”ļø Security & Access Control Features

Lukittu License Verification

AnziUtils is secured under an enterprise-level licensing structure to prevent unauthorized offline tampering and ensure you get dedicated support. Your license key activates all features and provides security protection.

VPN / Proxy Detection

Seamlessly integrated with proxycheck.io to block out bad actors trying to mask their identity. The system is capable of warning staff or outright kicking offenders.

  • Real-time VPN detection on player join
  • Proxy detection and filtering
  • Configurable action (warn/kick/log)
  • Staff notifications for VPN hits

Alt Account Limiter

Restricts the maximum number of unique UUIDs permitted to log into your server from the exact same IPv4 address, blocking bot nets and ban evaders.

  • Configurable max accounts per IP
  • Cross-server tracking (with centralized database)
  • Custom kick messages
  • Bypass permissions available

Country Filter (GeoIP)

Configure Blacklists or Whitelists based upon the resolved country code of connecting players. Keep localized servers strictly to their targeted player base!

  • Country-based access control
  • Whitelist or blacklist modes
  • Real-time geolocation lookup
  • Staff notifications for blocked countries

IP Protection Exemptions

Whitelist safe IPs (like 127.0.0.1 servers) directly from security filtering using the permission anziutils.exempt.

āš”ļø Advanced Combat Logging & Panic System

Combat Tagging

Tags players when entering PvP combat, showing a custom actionbar timer with remaining combat duration.

Panic Mode & Smart Mutes

Trigger a heavy-security lockdown with /anziutils panic anytime the server experiences a bot raid. Panic Mode:

  • Temporarily forces the alt-limiter down to 1 account
  • Enforces a strict whitelist-only country policy
  • Smart-mutes concurrent connections
  • Sends Discord alerts to staff

Smart Mute Profiling

Suspicious flagged joins are silently muted in chat and prevented from executing chat-based commands for a predetermined interval. This prevents spam and malicious activity during attacks.

Anti-Escape Restrictions

Prevent players from running away using cheap tactics. Configurable restrictions include:

  • šŸŽÆ Enderpearls
  • šŸŽ Chorus Fruit
  • ⭐ Golden Apples
  • šŸ›”ļø Totems of Undying
  • āœˆļø Flight / Elytra gliding
  • šŸ“¦ Opening containers / inventory
  • ⚔ Chat commands like /tp, /spawn, /home

WorldGuard Integration

Automatically exempts safezones and spawn protections from initiating combat tags, allowing players to safely travel through protected areas.

Grace Period

Configure a temporary PvP grace period when a player first joins the server, protecting new players from immediate attacks.

🪦 Secure Player Graves

Never lose items again! Graves save player loot when they combatlog or die in protected areas.

Head Graves GUI

Instead of dropping vanilla items, deaths spawn a player head at the death location. Players can click the head to access an inventory interface of their lost items.

Anti-Theft Protection Timers

Only the grave owner or the killer can interact and loot the grave for the first X minutes. Once the protection expires, it becomes public loot! This creates exciting gameplay dynamics around grave-raiding and loot-protection.

How It Works

  1. Player combatlogs or dies in combat
  2. All dropped items are collected into a grave
  3. An interactive player head marks the grave location
  4. Items are stored in YAML files or database
  5. Player can click the head to retrieve items
  6. After timer expires, grave becomes public loot

Configuration

grave-system:
  enabled: true
  grave-duration: 1800 # 30 minutes
  show-hologram: true
  hologram-height: 0.5 # above the block
  hologram-text: "&eāš°ļø &a%player%'s Grave"
  
  anti-theft:
    enabled: true
    owner-only-duration: 600 # 10 minutes
    killer-access: true
  
  auto-cleanup:
    enabled: true
    cleanup-after: 2592000 # 30 days in seconds

šŸ“Š Admin Tools & Discord Integration

Interactive Player GUI

Use /anziutilsgui to open an inventory interface allowing staff to inspect any player's network history, country, and alt-accounts connected to their IP.

  • View player network history
  • Check geolocation data
  • Identify linked alt accounts
  • See security status and flags

Discord Webhook Integration

Broadcasts critical alerts such as Panic Mode activation, VPN hits, and administrative debugging directly into a private staff channel.

  • 🚫 VPN/Proxy detection alerts
  • āš”ļø Combat log deaths
  • 🚨 Alt-account limit reached notifications
  • āš ļø Panic Mode activation
  • šŸ”„ Server restart notifications
  • šŸŽÆ Suspicious join logs

Database Logging

Captures network metrics natively into SQLite or MySQL, allowing you to:

  • Track player connection history
  • Monitor VPN/proxy attempts
  • Analyze alt-account patterns
  • Generate security reports

Interactive Rule Books

Use /anziutilsbook <player> to spawn customized written rulebooks to players, ensuring they understand server rules on join.

Configuration

discord:
  enabled: true
  webhook-url: "https://discordapp.com/api/webhooks/YOUR_WEBHOOK_ID"
  
  events:
    vpn-detected: true
    combat-log: true
    alt-limit: true
    panic-mode: true
    suspicious-join: true
    
  embed-color: 16711680 # Red in decimal

Test Your Webhook

Use /anziutilstest to send a test packet to your Discord webhook and verify the integration is working correctly.

šŸ”‘ Comprehensive Permissions Guide

Control who can use which commands and features with these permissions.

Administrative Permissions

Permission Description Default
anziutils.admin Access to debug and system commands OP
anziutils.command Access to standard commands and reloads OP
anziutils.gui Access to /anziutilsgui OP
anziutils.notify Broadcasts VPN, Proxy, and suspicious IP logs OP
anziutils.book Access to /anziutilsbook command OP

Bypass Permissions

Permission Description
anziutils.exempt Exempts player IP from VPN detection, alt limits, and all security kicks
anziutils.combatlog.bypass Universal bypass - player is never combat tagged
anziutils.combatlog.bypass.enderpearls Can throw enderpearls while in combat
anziutils.combatlog.bypass.goldenapples Can eat golden apples in combat
anziutils.combatlog.bypass.chorusfruit Can eat chorus fruit in combat
anziutils.combatlog.bypass.totems Can trigger totems in combat
anziutils.combatlog.bypass.inventory Can open chests/inventory in combat
anziutils.combatlog.bypass.flight Can fly or use elytra in combat
anziutils.combatlog.bypass.commands Can use blocked commands in combat

Troubleshooting

Q: Plugin doesn't start

A: Check that you have Java 8+ and a compatible server version (1.8+). Check the console for error messages.

Q: VPN detection not working

A: Ensure your server has internet access. Check that vpn-detection.enabled is set to true in config.yml.

Q: Combat logging not triggering

A: Verify that combat-logging.enabled is true and combat-duration is set to a reasonable value (default: 30 seconds).

Q: Graves not saving items

A: Make sure grave-system.enabled is true and check server permissions for the plugins folder.

Q: Discord webhook not working

A: Verify the webhook URL is correct and that your server can reach Discord's servers. Test connectivity with /anziutils test-discord

Q: Need more help?

A: Join our Discord server for support and bug reports.