Minecraft Server Implementation Plan

MedivalC Modpack on Minecraft 1.20.1 Forge

8
Total Tasks
3
Phases
2
Parallel Groups
4
Agents
Low
Complexity

Architecture Overview

Internet | [Router NAT] Port Forward 9123 -> 9123 | minecraft.ai-servicers.com:9123 | [UFW Firewall] Allow 9123/tcp | +------------------------+ | linuxserver.lan | | | | +------------------+ | | | Docker Container | | | | minecraft-medivalc | | | | | | | itzg/minecraft | | | | :java17 | | | | | | | | Port: 9123 | | | | RCON: 25575 | | | +------------------+ | | | | | /opt/minecraft/ | | +- data/ | | +- backups/ | | +- docker-compose.yml | | +- .env | | +- backup.sh | +------------------------+ | [Cron] Every 3hrs 11AM-2AM backup.sh

Implementation Phases

Phase 1 Setup

Task 1.1 PM
Verify Prerequisites
Verification checklist
Task 1.2 Developer
Create Project Directory
/opt/minecraft/ structure

Phase 2 Implementation Parallel Group A

Task 2.1 Developer
Create docker-compose.yml
Container configuration
Task 2.2 Developer
Create .env File
RCON password secret
Task 2.3 Developer
Create Backup Script
backup.sh with RCON
Task 2.4 Security
Configure UFW Firewall
Port 9123 rule

Phase 3 Deployment & Validation Parallel Group B

Task 3.1 Developer
Deploy Server
Running container
Task 3.2 Developer
Install Cron & Documentation
Cron job, logrotate, CLAUDE.md
Task 3.3 QA
Validate Connectivity & Backups
Test report

Dependency Graph

1.1 (PM: Verify) | v 1.2 (Dev: Directory) | +------+------+------+ v v v v 2.1 2.2 2.3 2.4 <- Parallel Group A (yml) (.env) (bkup) (UFW) | | +--+---+ v 3.1 (Dev: Deploy) | +------+ v v 3.2 3.3 <- Parallel Group B (Cron) (QA)

Deliverables

# Deliverable Task Agent
1 /opt/minecraft/ directory 1.2 Developer
2 docker-compose.yml 2.1 Developer
3 .env with RCON password 2.2 Developer
4 backup.sh script 2.3 Developer
5 UFW rule for port 9123 2.4 Security
6 /etc/cron.d/minecraft-backup 3.2 Developer
7 /etc/logrotate.d/minecraft-backup 3.2 Developer
8 CLAUDE.md documentation 3.2 Developer

Success Criteria

Server starts and loads mods successfully
Docker healthcheck passes
LAN connection works at linuxserver.lan:9123
External connection works at minecraft.ai-servicers.com:9123 (after router config)
Whitelist blocks unauthorized players
Backups run on schedule (11AM-2AM, every 3 hours)

Risk Mitigation

Mod Incompatibility
Verify mod loading in Task 3.1 before exposing externally
Memory Exhaustion
Hard limit of 12GB in Docker compose
Backup During Play
RCON save-off/save-on + player notification
Concurrent Backup Runs
Flock locking in backup script
External Access Abuse
Online mode + whitelist enforcement
Log File Growth
Logrotate configuration for backup log

Agent Workload

PM
1
task
Developer
5
tasks
Security
1
task
QA
1
task

Peer Review Summary

Claude Ready
Complete and appropriately simple. Added troubleshooting section.
Gemini Minor Revision
Added backup locking, log rotation, first-run timing note.
Codex Ready
Added healthcheck, stdin_open/tty for console access.

User Actions Required

Before External Access Works

  • Configure router port forwarding: External 9123 → linuxserver.lan:9123 (TCP)
  • Add initial players to whitelist after deployment
  • First startup takes 5-10 minutes for Forge installation