1.1.2
Compatibility
Changes
Version: 1.1.2 Release Type: Major Feature Update
New Features - Account Per IP Limiting
This release introduces a comprehensive system to limit the number of Minecraft accounts that can connect from the same IP address simultaneously, with full Folia thread-safety.
Please delete your old config file, start your server and start the server again and configure it as you would like!
New Features:
- Account Per IP Limit - Limit simultaneous connections from the same IP address
- Configurable maximum accounts per IP (default: 3)
- Two enforcement modes: BLOCK or KICK_OLDEST
- BLOCK mode: Prevents new connections when limit reached
- KICK_OLDEST mode: Automatically kicks oldest session to allow new connection
- Whitelisted players automatically bypass limit
- Disabled by default for backward compatibility
- FOLIA-SAFE: Thread-safe session tracking with ConcurrentHashMap
- FOLIA-SAFE: Synchronized methods for atomic operations
- Local/private IPs bypass tracking (127.0.0.1, 192.168.x.x, etc.)
Configuration:
# Account Per IP Limit
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
# New messages
messages:
account-limit-reached: |
&c&lConnection Limit Reached
&7Maximum accounts per IP: &c{max}
&7Current connections from your IP: &c{current}
account-limit-kicked: |
&c&lYou have been disconnected
&7A new account connected from your IP address.
Technical Details:
- SessionManager: Thread-safe using ConcurrentHashMap and synchronized methods
- SessionInfo: Data class storing player name, UUID, and connection timestamp
- PlayerDisconnectListener: Automatic session cleanup on disconnect
- Performance: O(1) session checks, ~130KB memory for 1000 players from 250 IPs
- Integration: Checks occur after whitelist validation, before API checks
- Folia Compatibility: Works correctly in Folia's multi-threaded region environment
Use Cases:
- Prevent multi-account abuse on economy servers
- Limit alt accounts in competitive PvP
- Enforce fair-play policies on faction servers
- Reduce server load from excessive multi-accounting
- Comply with server rules about account limits
Compatibility:
- Fully backward compatible with v1.1.1
- No configuration changes required (feature disabled by default)
- No breaking changes to existing functionality
- Tested on Folia 1.19+ builds
- Verified thread-safe for Folia's multi-region architecture
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:y05wfnBZ:5BKEUXFg"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:y05wfnBZ:5BKEUXFg"
}

