Server Sizing Guide
Hardware requirements and resource planning for GAPE.
GAPE Resource Usage
Base Overhead
- Per-packet processing: 300-500 nanoseconds
- Memory per player: ~1KB (violation tracking + rate limits)
- CPU cores: Async mode uses 1-2 cores depending on thread pool
- Disk I/O: Minimal (batch writes for logs/database)
Scalability
GAPE scales linearly with player count:
- 100 players: ~100KB memory, negligible CPU
- 500 players: ~500KB memory, 0.5-1 core in async mode
- 1000 players: ~1MB memory, 1-2 cores in async mode
Minimum Requirements
Small Server (1-50 Players)
- CPU: 2 cores @ 2.5GHz
- RAM: 2GB total (Minecraft + GAPE)
- Disk: 10GB SSD
- Network: 10 Mbps
GAPE adds negligible overhead at this scale.
Medium Server (50-200 Players)
- CPU: 4 cores @ 3.0GHz
- RAM: 4-6GB total
- Disk: 50GB SSD
- Network: 50 Mbps
Enable async mode with 4-thread pool.
Large Server (200-500 Players)
- CPU: 8 cores @ 3.5GHz
- RAM: 8-12GB total
- Disk: 100GB NVMe SSD
- Network: 100 Mbps
Async mode with 8-thread pool, MySQL database.
Extra-Large Server (500-1000+ Players)
- CPU: 16+ cores @ 4.0GHz+
- RAM: 16-32GB total
- Disk: 250GB+ NVMe SSD
- Network: 250+ Mbps
Async mode with 12-16 thread pool, dedicated MySQL server.
Recommended Specifications
Budget Server (1-50 Players)
- CPU: 3 cores @ 3.0GHz
- RAM: 4GB
- Disk: 20GB SSD
- Cost: $5-10/month VPS
Standard Server (50-200 Players)
- CPU: 6 cores @ 3.5GHz
- RAM: 8GB
- Disk: 80GB NVMe SSD
- Cost: $20-40/month VPS or dedicated
High-Performance Server (200-500 Players)
- CPU: 12 cores @ 4.0GHz
- RAM: 16GB
- Disk: 200GB NVMe SSD
- Cost: $60-120/month dedicated
Enterprise Server (500-1000+ Players)
- CPU: 24+ cores @ 4.5GHz+
- RAM: 32-64GB
- Disk: 500GB+ NVMe SSD (RAID for redundancy)
- Cost: $150-500+/month dedicated
Configuration by Server Size
1-50 Players
- Async mode: Disabled
- Thread pool: N/A
- Cache size: 100-500 entries
- Database: SQLite, batch writes every 60s
- Logging: File only, threshold mode
- All checks: Enabled with default settings
50-200 Players
- Async mode: Enabled
- Thread pool: 4-6 threads
- Cache size: 500-1000 entries
- Database: SQLite or MySQL, batch writes every 30s
- Logging: Async file writes, daily rotation
- All checks: Enabled, moderate thresholds
200-500 Players
- Async mode: Enabled
- Thread pool: 8-12 threads
- Cache size: 2000-5000 entries
- Database: MySQL, batch writes every 15s
- Logging: Async, compressed, hourly rotation
- All checks: Enabled, balanced thresholds
500-1000+ Players
- Async mode: Enabled
- Thread pool: 12-16 threads
- Cache size: 5000-10000 entries
- Database: Dedicated MySQL server, batch writes every 10s
- Logging: Async, compressed, aggressive cleanup
- All checks: Enabled, optimized for high throughput
Network Bandwidth
GAPE's Network Impact
GAPE doesn't generate network traffic - it only inspects existing packets. However, your server needs bandwidth for:
- Player connections: ~50-100 KB/s per player average
- Peak activity: Can spike to 200-300 KB/s per player
- Attacks: Packet floods can consume 1-10 MB/s per attacker
Bandwidth Requirements
- 50 players: 10-25 Mbps
- 100 players: 25-50 Mbps
- 500 players: 100-250 Mbps
- 1000 players: 250-500 Mbps
Storage Requirements
GAPE's Disk Usage
- Plugin JAR: ~2-5MB
- Config files: ~50KB
- Violation logs: 1-100MB depending on server size and retention
- Database: 10-500MB depending on retention period
Log Growth Rates
- Small server: 1-5MB per day
- Medium server: 5-20MB per day
- Large server: 20-100MB per day
- During attack: Can spike to 500MB+ per day
Storage Recommendations
- SSD minimum (NVMe preferred for 200+ players)
- Enable log compression to save 80-90% space
- 7-14 day log retention is usually sufficient
- Archive old logs to slower/cheaper storage
Hosting Provider Recommendations
Budget Hosting (1-50 Players)
- Shared Minecraft hosting (BisectHosting, Apex, etc.)
- VPS providers (OVH, Hetzner, DigitalOcean)
- $5-15/month
Performance Hosting (50-200 Players)
- Dedicated Minecraft hosting (Sparked Host, EnviroMC)
- High-frequency VPS (Bloom.host, Pebblehost)
- Budget dedicated servers (OVH, Hetzner)
- $20-60/month
Enterprise Hosting (200+ Players)
- Dedicated servers (Hetzner, OVH, Psychz)
- Enterprise Minecraft hosting (EnviroMC, Sparked)
- Custom hardware in datacenter
- $80-300+/month
Scaling Considerations
Vertical Scaling
Upgrade existing server hardware:
- Pros: Simple, no architecture changes
- Cons: Limited by single-server capacity
- Good for: Up to 500-800 players
Horizontal Scaling
Add multiple servers behind proxy:
- Pros: Unlimited scaling potential
- Cons: Complex, requires BungeeCord/Velocity
- Good for: 500+ players
- GAPE note: Install on each backend server
Cost Analysis
Monthly Costs by Server Size
| Players | Budget | Recommended | High-Performance |
|---|---|---|---|
| 1-50 | $5-10 | $10-20 | $20-40 |
| 50-200 | $15-30 | $30-60 | $60-100 |
| 200-500 | $40-80 | $80-150 | $150-250 |
| 500-1000 | $100-200 | $200-400 | $400-800 |
Future-Proofing
Planning for Growth
- Start with 2x current player count capacity
- Monitor resource usage trends
- Scale before reaching 80% capacity
- Keep 20-30% headroom for traffic spikes
When to Upgrade
- CPU: Consistent 80%+ usage during peak
- RAM: Using 85%+ of available memory
- TPS: Dropping below 19.5 regularly
- Network: 70%+ bandwidth utilization
Tip: GAPE's overhead is minimal. Size your server for Minecraft's requirements first - GAPE will run fine on hardware that can handle your player count.