AntiAlt
A comprehensive Paper/Purpur plugin for detecting alternate accounts using IP tracking and optional VPN checks. Includes optional Discord integration and a secure web dashboard for staff.
Features
IP Tracking System
Anti-VPN System (Optional)
Discord Integration (Optional)
Web Dashboard (Optional)
Secure Authentication
IP Whitelist
---
Commands
| Command | Description |
|---------|-------------|
|
|
|
|
|
|
|
|
|
Aliases:
---
Permissions
| Permission | Description | Default |
|------------|-------------|---------|
|
|
|
|
|
|
Note:
---
Setup Guide
Basic Setup
1. Drop the plugin JAR into your
2. Start/restart the server
3. Edit
4. Run
Anti-VPN Setup
1. Get an API key from your chosen provider:
2. Set
3. Set
4. Set
Discord Setup
1. Create a Discord bot at Discord Developer Portal
2. Enable the following intents:
3. Invite the bot to your server with appropriate permissions
4. Set
5. Set
6. Set
7. (Optional) Set
Dashboard Setup
1. Set
2. Configure the port (default: 8080)
3. Important for Pterodactyl/Docker users: Set
4. Make sure the port is accessible (firewall, port allocation in Pterodactyl)
5. Use
6. Access the dashboard via
---
Whitelisting IPs
If a trusted player is being blocked due to VPN detection or alt detection, you can whitelist their IP:
Whitelisted IPs bypass all VPN and alt checks.
You can also copy whitelist commands directly from the dashboard by clicking the
button next to any IP in the detection logs.
---
API Providers
ProxyCheck.io
IPHub
IPQualityScore
---
Troubleshooting
Dashboard not accessible
VPN checks failing
Players being incorrectly blocked
---
Support
For issues and feature requests, please message, or leave a reply on this post and I will reply as soon as possible.
---
License
This project is proprietary software developed by VoidlessDev. Not to be resold.
A comprehensive Paper/Purpur plugin for detecting alternate accounts using IP tracking and optional VPN checks. Includes optional Discord integration and a secure web dashboard for staff.
Features
IP Tracking System
- Tracks each player's IP address on join
- Stores UUID, username, last known IP, and historical IP list
- Detects when multiple accounts share the same IP
- Configurable maximum accounts per IP
Anti-VPN System (Optional)
- Toggleable via config
- Supports multiple providers:
- ProxyCheck.io
- IPHub
- IPQualityScore
- Async API calls with caching
- Configurable kick/log behavior
- Fallback: allows login but logs if API fails
Discord Integration (Optional)
- Logs alt detections, VPN detections, and API failures
- Optional moderator alerts
- Slash commands for staff:
/lookup <player>- Look up player info/checkip <ip>- Check an IP address/antialt reload- Reload configuration/antialt stats- View statistics- Role-based command permissions
Web Dashboard (Optional)
- Secure web dashboard for staff
- Search players by username, UUID, or IP
- View:
- IP history
- Linked accounts
- VPN flags
- Join history
- Detection logs with IPs (for easy whitelisting)
- Real-time server status
- Copy IP and whitelist commands directly from the dashboard
Secure Authentication
- Dashboard only accessible to authenticated staff
- In-game authentication using permission-gated linking command
- One-time, expiring login tokens
- Session management with configurable timeout
IP Whitelist
- Whitelist specific IPs to bypass all checks
- Useful for trusted players using VPNs
- Full management commands
---
Commands
| Command | Description |
|---------|-------------|
|
/antialt reload | Reload the plugin configuration ||
/antialt lookup <player> | Look up a player's alt information ||
/antialt checkip <ip> | Check an IP address for alts and VPN ||
/antialt stats | View plugin statistics ||
/antialt linkdashboard | Generate a login link for the web dashboard ||
/antialt whitelist add <ip> [reason] | Add an IP to the whitelist ||
/antialt whitelist remove <ip> | Remove an IP from the whitelist ||
/antialt whitelist list | List all whitelisted IPs ||
/antialt whitelist check <ip> | Check if an IP is whitelisted |Aliases:
/aa, /altcheck---
Permissions
| Permission | Description | Default |
|------------|-------------|---------|
|
antialt.admin | Full access to all AntiAlt features | OP ||
antialt.lookup | Allows looking up player alt information | OP ||
antialt.dashboard | Allows generating dashboard login tokens | OP ||
antialt.reload | Allows reloading the plugin configuration | OP ||
antialt.bypass | Bypasses alt and VPN checks | OP ||
antialt.whitelist | Allows managing the IP whitelist | OP |Note:
antialt.admin includes all other permissions as children.---
Setup Guide
Basic Setup
1. Drop the plugin JAR into your
plugins folder2. Start/restart the server
3. Edit
plugins/AntiAlt/config.yml to your preferences4. Run
/antialt reload to apply changesAnti-VPN Setup
1. Get an API key from your chosen provider:
2. Set
settings.anti-vpn.enabled: true3. Set
settings.anti-vpn.api-key to your API key4. Set
settings.anti-vpn.provider to your provider nameDiscord Setup
1. Create a Discord bot at Discord Developer Portal
2. Enable the following intents:
GUILD_MEMBERS, MESSAGE_CONTENT3. Invite the bot to your server with appropriate permissions
4. Set
discord.enabled: true5. Set
discord.bot-token to your bot token6. Set
discord.log-channel-id to the channel ID for logs7. (Optional) Set
discord.required-role-id to restrict command accessDashboard Setup
1. Set
dashboard.enabled: true2. Configure the port (default: 8080)
3. Important for Pterodactyl/Docker users: Set
dashboard.external-host to your server's public IP4. Make sure the port is accessible (firewall, port allocation in Pterodactyl)
5. Use
/antialt linkdashboard in-game to get a login link6. Access the dashboard via
http://YOUR-IP:8080---
Whitelisting IPs
If a trusted player is being blocked due to VPN detection or alt detection, you can whitelist their IP:
Code:
/antialt whitelist add 192.168.1.100 Trusted staff member
Whitelisted IPs bypass all VPN and alt checks.
You can also copy whitelist commands directly from the dashboard by clicking the
---
API Providers
ProxyCheck.io
- Free tier: 1,000 queries/day
- Reliable detection
- Recommended for most servers
IPHub
- Free tier: 1,000 queries/day
- Good accuracy
IPQualityScore
- Free tier: 5,000 queries/month
- Detailed fraud scoring
---
Troubleshooting
Dashboard not accessible
- Make sure the port is open in your firewall
- For Pterodactyl: Allocate the port in your server's Network settings
- Set
external-hostin config to your public IP - Use
http://nothttps://unless you've configured SSL
VPN checks failing
- Verify your API key is correct
- Check if you've exceeded your API quota
- The plugin will allow players through if API checks fail (failsafe)
Players being incorrectly blocked
- Increase
max-accounts-per-ipif players share IPs (families, universities) - Whitelist known good IPs with
/antialt whitelist add <ip> - Give trusted players the
antialt.bypasspermission
---
Support
For issues and feature requests, please message, or leave a reply on this post and I will reply as soon as possible.
---
License
This project is proprietary software developed by VoidlessDev. Not to be resold.
