Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
NamelessIPLogger is a Velocity and Paper plugin for moderation and security auditing. It builds historical correlations between player UUIDs, usernames, and IP addresses, logs connection activity, and enriches IP records with local GeoIP MMDB data. Player lookups are local; no per-player external API requests are made.
Please be aware, this plugin is licensed under the PolyForm Noncommercial License 1.0.0 and as such cannot be used by servers/proxies that participate in/allow/facilitate any of the following to occur with real-world money:
- the sale of ranks,
- the acceptance of donations tied to perks,
- the sale of cosmetics,
- the running of ads/sponsorships,
- the sale of any form of monetized access,
- and/or the generation of any other form of revenue
(Please see the GitHub README for the latest info; this description may lag behind slightly)
What it does
- Builds long-term UUID, username, and IP correlation records.
- Logs connection and disconnection events with timestamps, session IDs, and session duration.
- Enriches IP records with country, region, city, timezone, ISP, ASN, latitude, longitude, and lookup status when GeoIP logging is enabled.
- Stores data in plain TSV files under
plugins/namelessiplogger/for review, export, and external analysis. - Supports configurable logging controls for usernames, IPs, GeoIP enrichment, TSV outputs, console logs, command access, and retention pruning.
- Caches GeoIP lookups in memory for faster repeated lookups.
Why you would want it
If you investigate ban evasion, alt accounts, account sharing, or suspicious activity, this plugin gives you fast historical identity/IP evidence for operational moderation workflows.
GeoIP providers
Two providers are supported through config.yml:
- DB-IP (default): no account required, uses DB-IP City Lite and ASN Lite MMDB downloads.
- MaxMind GeoLite2: requires a MaxMind account/license key, uses GeoLite2 City and ASN downloads.
Databases are downloaded when needed, refreshed after the configured staleness interval, and can be forced immediately with /niplookup updatedb.
Commands
Commands are console-only by default. Set commands.allow-admin-permission: "true" to also allow players with namelessiplogger.admin to use them.
| Command | Description |
|---|---|
/niplookup uuid <uuid> |
Look up all data for a UUID |
/niplookup username <name> |
Look up all data for a username |
/niplookup ip <ip> |
Look up all data for an IP |
/niplookup reload |
Reload config without restarting the platform |
/niplookup updatedb |
Force immediate GeoIP database redownload |
/niplookup checkupdates |
Manually check GitHub Releases for a newer stable version |
Aliases: /niplog, /iplookup, /iplog
Additional subcommand aliases are also accepted: user, name, update-db, refreshdb, checkupdate, updatecheck, update-check, and updates.
Privacy and network disclosure
This plugin can store UUIDs, usernames, IPs, connection timestamps, session durations, and optional GeoIP enrichment. Logging fields, TSV outputs, console output, retention, and player command access are configurable.
Outbound network activity is limited to:
- GeoIP database downloads when needed.
- Optional scheduled stable-release update checks against GitHub Releases, enabled by default.
- Manual update checks when
/niplookup checkupdatesis run. - Optional anonymous telemetry pings to NamelessTelemetry, enabled by default.
Telemetry does not send player UUIDs, usernames, player IPs, connection logs, or GeoIP data. It sends only a hashed local instance ID, UTC date, project name, and count. Set telemetry.enabled: "false" to disable it.
Treat stored identity/IP data as sensitive and set retention policies appropriate for your jurisdiction and server policy.
Nightly auto-builds
Nightly development builds are published automatically from the latest main or master branch changes, and can also be triggered manually.
https://github.com/NanashiTheNameless/NamelessIPLogger/releases/tag/nightly
Nightly builds are intended for testing and may change more frequently than stable versioned releases. Built-in update checks ignore prereleases and the nightly tag.


