Appearance
Performance Optimization
Optimize your game servers for best performance.
Overview
Performance optimization improves:
- Server FPS/TPS (ticks per second)
- Player experience and latency
- Resource efficiency
- Server stability
- Player capacity
General Optimization
Resource Allocation
CPU Allocation:
- Allocate enough cores for game engine
- Leave headroom for OS and other processes
- Monitor CPU usage patterns
- Consider single-thread vs multi-thread performance
Memory Allocation:
- Set appropriate heap/RAM limits
- Leave 20-30% buffer for OS
- Monitor for memory leaks
- Increase if swapping occurs
Disk I/O:
- Use SSD instead of HDD
- Separate OS disk from game disk
- Monitor disk usage
- Enable write caching if safe
Network Optimization
Bandwidth:
- Ensure sufficient upstream bandwidth
- Monitor network saturation
- Use QoS if multiple servers
- Consider CDN for downloads
Latency:
- Choose server location near players
- Optimize network stack
- Reduce packet loss
- Use DDoS protection
Game-Specific Optimization
Minecraft
Server Software:
- Use Paper/Purpur for better performance
- Avoid Bukkit/Spigot for large servers
- Consider Fabric for modded
Configuration:
yaml
# server.properties
view-distance=8 # Lower for better performance
simulation-distance=6
entity-broadcast-range-percentage=75
# paper.yml
max-auto-save-chunks-per-tick: 8
optimize-explosions: true
mob-spawner-tick-rate: 2Performance Tips:
- Limit entities (item frames, mobs, minecarts)
- Use entity culling
- Optimize redstone contraptions
- Pregenerate world chunks
- Enable async chunk loading
ARK: Survival Evolved
Configuration:
ini
# GameUserSettings.ini
bDisableStructurePlacementCollision=True
OverrideStructurePlatformPrevention=True
bAllowUnlimitedRespecs=True
# Reduce entity counts
StructureResistanceMultiplier=0.5
RaidDinoCharacterFoodDrainMultiplier=2.0Performance Tips:
- Limit max tamed dinos per tribe
- Reduce wild dino spawn rate
- Lower item spoil times
- Use structure limits
- Clear abandoned structures regularly
- Optimize tribe/player counts
Rust
Configuration:
# server.cfg
server.maxplayers 100 # Don't exceed capacity
server.worldsize 3500 # Smaller = better performance
server.seed 12345 # Consistent world
server.saveinterval 300 # Save less frequentlyPerformance Tips:
- Reduce entity count
- Optimize Bradley/Heli spawns
- Lower plant growth rates
- Reduce decay times
- Wipe regularly
- Use smaller maps for fewer players
Valheim
Configuration:
# Start parameters
-nographics
-batchmode
-crossplayPerformance Tips:
- Regular world saves
- Limit concurrent players
- Reduce world size
- Clear old structures
- Optimize building complexity
System-Level Optimization
Linux Kernel Tuning
bash
# /etc/sysctl.conf
# Network performance
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# File system
vm.swappiness = 10
vm.vfs_cache_pressure = 50CPU Governor
bash
# Use performance governor
sudo cpupower frequency-set -g performance
# Or in /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"Disable Unnecessary Services
bash
# Stop services you don't need
sudo systemctl disable bluetooth
sudo systemctl disable cups
sudo systemctl disable avahi-daemonMonitoring & Diagnostics
Key Metrics
Server Performance:
- TPS/FPS (should be steady)
- CPU usage per core
- RAM usage and allocation
- Disk I/O wait times
Player Experience:
- Average ping
- Packet loss
- Rubber-banding incidents
- Connection timeouts
Monitoring Tools
Built-in:
- Arcadium dashboard metrics
- Game server console
- Server query stats
External:
- htop (CPU/RAM)
- iotop (Disk I/O)
- iftop (Network)
- nethogs (Per-process network)
Profiling
Game-Specific:
Minecraft:
/spark profiler start
[wait 30-60 seconds]
/spark profiler stopARK: Check server logs for:
- Slow ticks
- Long save times
- Entity count warnings
Optimization Checklist
Before Launch
- [ ] Appropriate hardware selected
- [ ] Server software configured
- [ ] World/map pregenerated
- [ ] Resource limits set
- [ ] Monitoring enabled
- [ ] Backup system tested
Weekly Maintenance
- [ ] Review performance metrics
- [ ] Check for memory leaks
- [ ] Clear old/abandoned structures
- [ ] Update game/mods
- [ ] Optimize database (if applicable)
- [ ] Test backup restoration
Monthly Review
- [ ] Analyze player capacity trends
- [ ] Review resource utilization
- [ ] Plan hardware upgrades if needed
- [ ] Optimize entity limits
- [ ] Review and adjust configs
Common Performance Issues
Low TPS/FPS
Causes:
- Too many entities
- Complex redstone/logic
- Large player count
- Insufficient CPU
Solutions:
- Reduce entity counts
- Optimize contraptions
- Upgrade CPU
- Lower player limit
High Memory Usage
Causes:
- Memory leaks
- Insufficient allocation
- Too many loaded chunks
- Large mod packs
Solutions:
- Increase allocation
- Restart regularly
- Reduce view distance
- Remove problematic mods
Disk I/O Bottleneck
Causes:
- HDD instead of SSD
- Frequent world saves
- Large world size
- Insufficient RAM (causes swapping)
Solutions:
- Upgrade to SSD
- Reduce save frequency
- Increase RAM
- Optimize file system
Network Lag
Causes:
- Insufficient bandwidth
- DDoS attack
- Network congestion
- ISP issues
Solutions:
- Upgrade bandwidth
- Enable DDoS protection
- Optimize network stack
- Consider different host/location
Advanced Techniques
Load Balancing
For multiple servers:
- Distribute players across servers
- Use proxy (BungeeCord, Velocity)
- Geographic load balancing
- Dynamic scaling
Caching
- Cache frequently accessed data
- Use Redis for session data
- CDN for static content
- Database query caching
Containerization
Benefits of Docker:
- Resource isolation
- Easy scaling
- Consistent environments
- Better resource utilization