High-Performance Anti-FreeCam/ESP Detection Plugin
AntiCam is a powerful, production-ready Minecraft plugin designed to detect and prevent FreeCam and ESP (Extra Sensory Perception) exploits. Built with modern Java practices and optimized for high-performance servers.
- Chunk Loading Analysis - Detects chunks loaded far from player position
- Bulk Chunk Detection - Identifies rapid chunk loading patterns
- Light Update Monitoring - Tracks suspicious light updates
- Entity Interaction - Catches impossible entity reach distances
- Block Interaction - Detects block interactions beyond normal reach
- Teleport Anomaly - Identifies impossible movement speeds
- Camera Desync - Detects camera rotation without body movement
- Multithreaded Architecture - Work-stealing thread pool for optimal CPU utilization
- Caffeine Caching - High-performance in-memory caching with automatic expiration
- Async Processing - All detections processed asynchronously on dedicated thread pool
- PacketEvents Integration - Low-level packet interception for minimal overhead
- Metrics Collection - Built-in performance monitoring and statistics
- GrimAC Compatible - Seamless integration with GrimAC anticheat
- Public API - Extensive API for third-party plugin integration
- Event System - Fire custom events for violations and actions
- Custom Checks - Register your own detection checks
- Violation Decay System - Automatic violation level decay over time
- Multiple Action Types - Kick, ban, warn, or execute custom commands
- Per-Check Configuration - Fine-tune each detection independently
- Admin Notifications - Real-time alerts for staff members
- Java 21 or higher
- Paper 1.21+ (or any Paper-based fork)
- PacketEvents 2.11.1+ (required dependency)
- GrimAC (optional, for integration features)
- Download the latest release from Releases
- Install PacketEvents if not already installed
- Place
AntiCam-1.0.0.jarin your server'spluginsfolder - Restart your server
- Configure
plugins/AntiCam/config.ymlto your preferences
| Command | Description | Permission |
|---|---|---|
/anticam reload |
Reload configuration | anticam.admin |
/anticam info <player> |
View player detection info | anticam.admin |
/anticam clear <player> |
Clear player violations | anticam.admin |
/anticam debug |
Toggle debug mode | anticam.admin |
/anticam stats |
View plugin statistics | anticam.admin |
Aliases: /ac, /freecam
| Permission | Description | Default |
|---|---|---|
anticam.admin |
Access to all commands | OP |
anticam.notify |
Receive violation notifications | OP |
anticam.bypass |
Bypass all detections | None |
anticam.api |
Access to API features | OP |
Default Configuration (Click to expand)
# General Settings
settings:
debug-mode: false
check-creative-mode: false
async-processing: true
metrics-enabled: true
thread-pool-size: 0 # Auto-detect
cache-expiration-minutes: 5
cache-max-size: 1000
# GrimAC Integration
integration:
grimac:
enabled: true
exemption-enabled: true
exemption-duration-ms: 5000
# Detection Settings
detection:
chunk-loading:
enabled: true
max-distance: 128
load-vl: 5
unload-vl: 3
entity-interaction:
enabled: true
max-reach: 6.0
vl: 8
# ... (see full config in plugin)
# Violation System
violations:
threshold: 50
decay-time: 30
decay-amount: 5
# Actions
actions:
type: kick # kick, ban, warn, or command
kick-message: "You have been kicked for suspected FreeCam/ESP usage!"Look for version in releases!
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.sun-mc-dev</groupId>
<artifactId>AntiCam</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>import me.sunmc.fcam.api.AntiCamAPI;
import me.sunmc.fcam.api.AntiCamAPIProvider;
import me.sunmc.fcam.api.check.CheckType;
import me.sunmc.fcam.api.events.ViolationEvent;
public class MyPlugin extends JavaPlugin {
private AntiCamAPI antiCamAPI;
@Override
public void onEnable() {
// Get API instance
if (AntiCamAPIProvider.isInitialized()) {
antiCamAPI = AntiCamAPIProvider.get();
// Get player violation level
UUID playerUUID = player.getUniqueId();
int violations = antiCamAPI.getViolationLevel(playerUUID);
// Clear violations
antiCamAPI.clearViolations(playerUUID);
// Get player data snapshot
PlayerDataSnapshot data = antiCamAPI.getPlayerData(playerUUID);
if (data != null) {
double x = data.getX();
boolean inGrace = data.isInTeleportGracePeriod();
}
// Register custom check
Check myCheck = new CustomCheck();
antiCamAPI.registerCheck(myCheck);
}
}
}import org.jetbrains.annotations.NotNull;
@EventHandler
public void onViolation(@NotNull ViolationEvent event) {
Player player = event.getPlayer();
CheckType check = event.getCheckType();
String details = event.getDetails();
int totalVL = event.getTotalViolations();
// Custom handling
if (totalVL > 30) {
getLogger().warning(player.getName() + " is suspicious!");
}
// Cancel the violation
event.setCancelled(true);
}AntiCam is designed for high-performance production servers:
- Thread Pool: Work-stealing ForkJoinPool for optimal CPU utilization
- Caching: Caffeine cache with automatic eviction and statistics
- Async Processing: All detections processed asynchronously
- Memory Efficient: Automatic cleanup of inactive player data
- Metrics: Built-in performance monitoring and reporting
On a typical server with 100 players:
- CPU Usage: < 2% (average)
- Memory: ~50MB
- Detection Latency: < 1ms average
- Cache Hit Rate: > 95%
When GrimAC is installed, AntiCam automatically:
- Exempts players flagged by GrimAC (configurable grace period)
- Coordinates detections to avoid conflicts
- Shares violation data
- Provides unified detection system
Enable debug mode to see detailed detection logs:
/anticam debugOr in config.yml:
settings:
debug-mode: trueDebug logs include:
- Detection triggers and results
- Exemption status
- Violation calculations
- Performance metrics
View real-time plugin statistics:
/anticam statsDisplays:
- Plugin version and uptime
- Online players
- Active threads
- Memory usage
- Cache hit rate
- Detection counts
Violations automatically decay over time:
- After
decay-timeseconds of no violations - Reduces VL by
decay-amountevery interval - Prevents permanent flagging of legitimate players
git clone https://github.com/sun-mc-dev/AntiCam.git
cd AntiCam
mvn clean packageCompiled JAR will be in target/AntiCam-1.0.0.jar
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Issues: GitHub Issues
- Discord: Join our Discord
- Wiki: Documentation
- PacketEvents - For the excellent packet interception library
- GrimAC - For anticheat integration and compatibility
- Caffeine - For high-performance caching
- Paper - For the modern Minecraft server platform
- Add Discord Integration for alerts
- Machine learning-based detection patterns
- Web dashboard for statistics
- Database storage for violation history
- Multiserver support with Redis
- Advanced heuristic analysis
- Configurable AI-powered auto-tuning
This plugin is designed to detect and prevent cheating. However, no anticheat is perfect. Always review violations manually and avoid fully automated punishments for best results.
Made with โค๏ธ by SunMC