promotional bannermobile promotional banner

HWID-Tracker (Notification/Listing/Kick/Ban) by Area

Silently tracks player hardware IDs to enable HWID-based bans, multi-account detection, and operator alerts.

HWID Tracker (Notification / Listing / Kick / Ban)

HWID Tracker is a lightweight utility mod for NeoForge that silently tracks the hardware ID (HWID) of players connecting to your server โ€” enabling reliable HWID-based bans, multi-account detection, and instant operator alerts.

Unlike name or IP bans, a HWID ban is tied to the player's physical hardware, making it significantly harder to evade by simply creating a new account or switching networks.

๐Ÿงฉ Multiple Minecraft versions supported: 1.21.1โ€“1.21.5 (one file) ยท 1.21.8 ยท 1.21.10 ยท 1.21.11 ยท 26.1. Download the file matching your server's Minecraft version from the Files tab.

โš ๏ธ Note: This mod requires installation on both server and client. Add it as a required mod in your modpack. Players without the mod cannot connect.

๐Ÿ”’ Privacy: The HWID is hashed client-side with SHA-256 before being sent to the server. No raw hardware data ever leaves the client. This mod makes zero external network connections โ€” all data is stored locally on your server, and multi-account detection is exposed as a local event for other mods to react to if needed.


โœจ Features

  • ๐Ÿ” Silent HWID tracking โ€” hardware data is collected automatically on login, with no prompt or notification shown to the player
  • ๐Ÿ”จ HWID + UUID + IP ban in one command โ€” /hban covers all three ban layers simultaneously
  • โณ Temporary bans โ€” ban players for a specific duration (t:30m, t:12h, t:1d, t:2w), auto-lifted when expired, with the correct expiry date shown on the ban screen
  • ๐Ÿšซ Multi-account detection โ€” detects when two accounts share the same hardware and kicks the second account instantly
  • โœ… Bypass list โ€” exempt trusted players from the multi-account kick with /hbypass, e.g. siblings sharing one PC or approved second accounts
  • โš™๏ธ Configurable โ€” multi-account kicking can be turned off entirely via config, while HWID tracking and manual ban commands keep working
  • ๐Ÿ“ข Operator alerts โ€” all online operators (admin permission) receive an immediate in-game notification on multi-account attempts
  • ๐Ÿ“ Per-player HWID files โ€” each player gets their own config/user-hwids/<uuid>.txt with name, UUID, HWID hash, IP, first seen and last seen
  • ๐Ÿ“‹ Ban list file โ€” all bans are stored in config/user-hwids/bans.json with reason, banner name, timestamp and optional expiry
  • ๐Ÿ” Vanilla ban integration โ€” automatically writes to banned-players.json and banned-ips.json on ban, removes on unban/expiry
  • โ™ป๏ธ Full unban support โ€” /hunban removes the player from all three ban lists at once
  • ๐Ÿ”Ž HWID lookup command โ€” /hwid shows all stored data for any player, online or offline
  • ๐Ÿ”Œ Event API โ€” fires a public HwidMultiAccountEvent on the NeoForge event bus, so other mods can react to multi-account detections locally without any dependency on this mod's internals
  • โšก Lightweight โ€” no database, no external connections, pure file-based storage

๐Ÿ“‹ Commands

All commands require operator/admin permission.

Command Description
/hwid <name> Show HWID data for a player (online or offline) โ€” UUID, IP, HWID hash, first/last seen, ban status
/hban <name> permanent Permanent ban by HWID + UUID + IP (works for online and offline players)
/hban <name> permanent <reason> Permanent ban with a custom reason
/hban <name> t:<duration> Temporary ban for the given duration
/hban <name> t:<duration> <reason> Temporary ban with a custom reason
/hunban <name> Remove all bans for a player (HWID, UUID and IP)
/hbanlist List all active HWID bans with type (permanent/temporary), expiry, reason, banner and timestamp
/hbypass add <name> Exempt a player from the multi-account kick (online or offline players)
/hbypass remove <name> Remove a player from the bypass list
/hbypass list List all bypass entries with who added them and when

Supported duration units: m (minutes) ยท h (hours) ยท d (days) ยท w (weeks)

Examples:

/hban Steve permanent Cheating
/hban Steve t:1d Griefing
/hban Steve t:30m

โš™๏ธ Configuration

After the first server start, config/hwidtracker-server.toml is created automatically:

[general]
    # If true, a joining player is kicked when their hardware ID (HWID) already
    # belongs to another player currently online (multi-account detection).
    # Set to false to disable this check entirely โ€“ HWID tracking and manual
    # /hban, /hunban, /hbanlist and /hwid commands keep working either way.
    multi_account_kick_enabled = true

๐Ÿ”„ How It Works

Step What happens
1. Player joins Client mod silently reads Mainboard Serial + CPU ID + total RAM
2. Hash Values are combined and hashed with SHA-256 โ€” no raw hardware data ever leaves the client
3. Packet sent The hash is sent to the server in a silent custom packet
4. Ban check Server checks the hash against bans.json โ€” if banned (and not expired), player is disconnected and added to vanilla ban lists, including the correct expiry date for temporary bans
5. Multi-account check If enabled in config, the server checks if the same HWID hash is already active in the current session โ€” if so, the second account is kicked, operators are alerted in-game, and HwidMultiAccountEvent is fired for other mods. Accounts on the /hbypass list are allowed through silently
6. File saved Player data (name, UUID, HWID, IP, timestamps) is written to config/user-hwids/<uuid>.txt
7. Expiry check Background task runs every 60s โ€” expired temporary bans are automatically removed from all ban lists

๐ŸŽฏ Example Use Case

A player gets caught cheating. You run /hban PlayerName t:7d Cheating. The mod instantly:

  • Kicks them from the server
  • Writes their HWID, UUID and IP to bans.json with a 7-day expiry
  • Adds them to vanilla banned-players.json and banned-ips.json, including the exact unban date and time
  • After 7 days, the ban is automatically lifted across all lists

They create a new account and try to rejoin during the ban. The moment their client connects, the HWID hash matches โ†’ they are disconnected before they can even move, with the ban's reason and expiry date shown, and you receive an in-game alert.


๐Ÿ“ฆ Technical Details

Minecraft Versions 1.21.1โ€“1.21.5 (one file) ยท 1.21.8 ยท 1.21.10 ยท 1.21.11 ยท 26.1 โ€” pick the matching file from the Files tab
Mod Loader NeoForge (required version matches the Minecraft version โ€” see file listing)
Java Version 21 (Minecraft 1.21.x files) ยท 25 (Minecraft 26.1 file)
Side Client + Server (required on both)
External connections None โ€” all data stays on your server
Dependencies None (OSHI is bundled with the game)
Mod ID hwidtracker
Config config/hwidtracker-server.toml
Storage config/user-hwids/
HWID Components Mainboard Serial ยท CPU Identifier ยท Total RAM

ยฉ 2area | Discord: 2area | CurseForge: https://www.curseforge.com/members/2area/projects | All rights reserved.

The HWID-Tracker (Notification/Listing/Kick/Ban) by Area Team

profile avatar
Owner
  • 2
    Followers
  • 7
    Projects
  • 2.5K
    Downloads

More from 2areaView all