🎮 PufferPanel Game Server Management
Web-based game server management panel for the Seattle VM
Overview
PufferPanel provides a comprehensive web interface for managing game servers, including Minecraft, Source engine games, and other popular multiplayer games.
Deployment Information
Host Location
- Host: Seattle VM (
homelab_vm) - Container:
pufferpanel-seattle - Status: ✅ Active
- Access:
https://games.vish.gg
Container Configuration
services:
pufferpanel:
image: pufferpanel/pufferpanel:latest
container_name: pufferpanel-seattle
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- pufferpanel-config:/etc/pufferpanel
- pufferpanel-data:/var/lib/pufferpanel
- game-servers:/var/lib/pufferpanel/servers
ports:
- "8080:8080"
- "25565:25565" # Minecraft
- "27015:27015" # Source games
networks:
- game-network
Managed Game Servers
Minecraft Servers
- Vanilla Minecraft: Latest release version
- Paper Minecraft: Performance-optimized server
- Modded Minecraft: Forge/Fabric mod support
- Bedrock Edition: Cross-platform compatibility
Source Engine Games
- Garry's Mod: PropHunt and sandbox modes
- Left 4 Dead 2: Co-op survival campaigns
- Counter-Strike: Classic competitive gameplay
- Team Fortress 2: Team-based multiplayer
Other Games
- Satisfactory: Factory building dedicated server
- Valheim: Viking survival multiplayer
- Terraria: 2D adventure and building
- Don't Starve Together: Survival multiplayer
Server Management
Web Interface
- URL:
https://games.vish.gg - Authentication: Local user accounts
- Features: Start/stop, console access, file management
- Monitoring: Real-time server status and logs
User Management
# Create admin user
docker exec pufferpanel-seattle pufferpanel user add --admin admin
# Create regular user
docker exec pufferpanel-seattle pufferpanel user add player
# Set user permissions
docker exec pufferpanel-seattle pufferpanel user perms player server.minecraft.view
Server Templates
- Pre-configured: Common game server templates
- Custom templates: Tailored server configurations
- Auto-updates: Automatic game updates
- Backup integration: Scheduled server backups
Network Configuration
Port Management
# Port mappings for different games
ports:
- "25565:25565" # Minecraft Java
- "19132:19132/udp" # Minecraft Bedrock
- "27015:27015" # Source games
- "7777:7777/udp" # Satisfactory
- "2456-2458:2456-2458/udp" # Valheim
Firewall Rules
# Allow game server ports
sudo ufw allow 25565/tcp comment "Minecraft Java"
sudo ufw allow 19132/udp comment "Minecraft Bedrock"
sudo ufw allow 27015/tcp comment "Source games"
sudo ufw allow 7777/udp comment "Satisfactory"
Storage Management
Server Data
/var/lib/pufferpanel/servers/
├── minecraft-vanilla/
│ ├── world/
│ ├── plugins/
│ └── server.properties
├── gmod-prophunt/
│ ├── garrysmod/
│ └── srcds_run
└── satisfactory/
├── FactoryGame/
└── Engine/
Backup Strategy
- Automated backups: Daily world/save backups
- Retention policy: 7 daily, 4 weekly, 12 monthly
- Storage location:
/mnt/backups/game-servers/ - Compression: Gzip compression for space efficiency
Performance Optimization
Resource Allocation
# Per-server resource limits
deploy:
resources:
limits:
memory: 4G # Minecraft servers
cpus: '2.0'
reservations:
memory: 2G
cpus: '1.0'
Java Optimization (Minecraft)
# JVM arguments for Minecraft servers
-Xms2G -Xmx4G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
Network Optimization
- TCP optimization: Tuned for game traffic
- Buffer sizes: Optimized for low latency
- Connection limits: Prevent resource exhaustion
- Rate limiting: Anti-DDoS protection
Monitoring and Alerts
Server Monitoring
- Resource usage: CPU, memory, disk I/O
- Player count: Active players per server
- Performance metrics: TPS, latency, crashes
- Uptime tracking: Server availability statistics
Alert Configuration
# Prometheus alerts for game servers
- alert: GameServerDown
expr: up{job="pufferpanel"} == 0
for: 5m
labels:
severity: critical
annotations:
summary: "Game server {{ $labels.instance }} is down"
- alert: HighMemoryUsage
expr: container_memory_usage_bytes{name="minecraft-server"} / container_spec_memory_limit_bytes > 0.9
for: 10m
labels:
severity: warning
annotations:
summary: "High memory usage on {{ $labels.name }}"
Security Configuration
Access Control
- User authentication: Local user database
- Role-based permissions: Admin, moderator, player roles
- Server isolation: Containerized server environments
- Network segmentation: Isolated game network
Security Hardening
# Disable unnecessary services
systemctl disable --now telnet
systemctl disable --now rsh
# Configure fail2ban for SSH
sudo fail2ban-client set sshd bantime 3600
# Regular security updates
sudo apt update && sudo apt upgrade -y
Backup Security
- Encrypted backups: AES-256 encryption
- Access controls: Restricted backup access
- Integrity checks: Backup verification
- Offsite storage: Cloud backup copies
Troubleshooting
Common Issues
Server Won't Start
# Check server logs
docker exec pufferpanel-seattle pufferpanel logs minecraft-server
# Verify port availability
netstat -tulpn | grep :25565
# Check resource limits
docker stats pufferpanel-seattle
Connection Issues
# Test network connectivity
telnet games.vish.gg 25565
# Check firewall rules
sudo ufw status numbered
# Verify DNS resolution
nslookup games.vish.gg
Performance Problems
# Monitor resource usage
htop
# Check disk I/O
iotop
# Analyze network traffic
nethogs
Log Analysis
# View PufferPanel logs
docker logs pufferpanel-seattle
# View specific server logs
docker exec pufferpanel-seattle tail -f /var/lib/pufferpanel/servers/minecraft/logs/latest.log
# Check system logs
journalctl -u docker -f
Maintenance Procedures
Regular Maintenance
- Weekly: Server restarts and updates
- Monthly: Backup verification and cleanup
- Quarterly: Security audit and updates
- Annually: Hardware assessment and upgrades
Update Procedures
# Update PufferPanel
docker pull pufferpanel/pufferpanel:latest
docker-compose up -d pufferpanel
# Update game servers
# Use PufferPanel web interface for game updates
Backup Procedures
# Manual backup
docker exec pufferpanel-seattle pufferpanel backup create minecraft-server
# Restore from backup
docker exec pufferpanel-seattle pufferpanel backup restore minecraft-server backup-name
Integration with Homelab
Monitoring Integration
- Prometheus: Server metrics collection
- Grafana: Performance dashboards
- NTFY: Alert notifications
- Uptime Kuma: Service availability monitoring
Authentication Integration
- Authentik SSO: Single sign-on integration (planned)
- LDAP: Centralized user management (planned)
- Discord: Player authentication via Discord (planned)
Backup Integration
- Automated backups: Integration with homelab backup system
- Cloud storage: Backup to cloud storage
- Monitoring: Backup success/failure notifications
Status: ✅ PufferPanel managing multiple game servers with automated backups and monitoring