Minecraft Server Generator für Coolify
Web-basierter Generator für Minecraft Server mit Velocity-Netzwerk Integration und SFTP-Zugriff. Direkt in Coolify deploybar!
🎯 Features
- ✅ Web-Interface - Benutzerfreundliche Oberfläche zur Server-Erstellung
- ✅ Automatische Generierung - Download fertiger Docker Compose Konfigurationen
- ✅ Velocity Integration - Perfekt für Proxy-Netzwerke konfiguriert
- ✅ SFTP Zugriff - Einfache Plugin-Verwaltung über FileZilla/WinSCP
- ✅ Persistent Volumes - Daten bleiben bei Updates erhalten
- ✅ Docker Compose Ready - Direkt in Coolify nutzbar
- ✅ Health Checks - Automatische Überwachung
- ✅ Performance Optimiert - Aikar Flags und Best Practices
🚀 Schnellstart
1. Generator in Coolify deployen
Auf Gitea hochladen:
# Repository initialisieren
git init
git add .
git commit -m "Initial commit: Minecraft Server Generator"
# Auf Gitea pushen
git remote add origin https://dein-gitea-server/user/minecraft-generator.git
git push -u origin main
In Coolify importieren:
- Gehe zu Coolify Dashboard
- New Resource → Docker Compose
- Verbinde dein Gitea Repository
- Branch:
main - Deploy!
Der Generator läuft dann auf Port 3000 und ist über deine Coolify-Domain erreichbar.
2. Minecraft Server erstellen
- Öffne den Generator in deinem Browser
- Fülle das Formular aus:
- Server Name (z.B. lobby, survival, minigames)
- Minecraft Version
- Server Software (Paper empfohlen)
- RAM Einstellungen
- Velocity Secret
- SFTP Zugangsdaten
- Klicke auf "Server-Dateien generieren"
- ZIP-Datei wird automatisch heruntergeladen
3. Server deployen
# ZIP entpacken
unzip minecraft-lobby.zip
# Neues Git Repo erstellen
cd minecraft-lobby
git init
git add .
git commit -m "Initial commit: Lobby Server"
# Auf Gitea pushen
git remote add origin https://dein-gitea-server/user/mc-lobby.git
git push -u origin main
Dann in Coolify:
- New Resource → Docker Compose
- Gitea Repository verbinden
- Deploy!
📖 Voraussetzungen
- Coolify Installation
- Gitea oder anderer Git-Server
- Docker & Docker Compose (automatisch durch Coolify)
📁 Generierte Struktur
Nach dem Ausführen wird folgende Struktur erstellt:
[server-name]/
├── docker-compose.yml # Docker Compose Konfiguration
├── .coolify.yml # Coolify spezifische Config
├── config/ # Server Konfiguration
│ ├── paper-global.yml # Velocity Integration
│ ├── spigot.yml
│ └── server.properties
├── deploy.sh # Deployment Script
├── README.md # Server-spezifische Dokumentation
└── .gitignore
🌐 Velocity Netzwerk Setup
1. Backend Server (Lobby, Survival, etc.)
Jeder Backend-Server wird automatisch mit Velocity-Support konfiguriert:
proxies:
velocity:
enabled: true
online-mode: false
secret: 'dein-secret'
2. Velocity Proxy Konfiguration
Füge deine Server zur velocity.toml hinzu:
[servers]
lobby = "server1.coolify:25565"
survival = "server2.coolify:25566"
minigames = "server3.coolify:25567"
try = [
"lobby"
]
[forced-hosts]
"lobby.deine-domain.de" = ["lobby"]
"survival.deine-domain.de" = ["survival"]
"minigames.deine-domain.de" = ["minigames"]
[player-info-forwarding]
mode = "modern"
secret = "dein-gemeinsames-secret"
📦 SFTP Plugin-Verwaltung
Jeder Server bekommt einen eigenen SFTP-Container für einfache Plugin-Verwaltung.
Verbindung mit FileZilla
- Öffne FileZilla
- Host:
sftp://dein-server.de - Port: Der konfigurierte SFTP Port (z.B. 2222)
- Benutzer: Dein SFTP Username
- Passwort: Dein SFTP Passwort
- Verbinden!
Verbindung mit WinSCP
- Öffne WinSCP
- Neuer Session
- Protokoll: SFTP
- Host: dein-server.de
- Port: SFTP Port
- Benutzername & Passwort
- Anmelden!
Ordnerstruktur über SFTP
/home/[username]/
├── plugins/ # Hier Plugins hochladen (.jar Dateien)
├── config/ # Konfigurationsdateien
└── data/ # Weltdaten (nur lesend)
Plugins installieren
- Verbinde dich via SFTP
- Navigiere zu
/plugins - Lade deine
.jarDateien hoch - Starte Server neu in Coolify oder via SSH:
docker-compose restart minecraft-[server-name]
🔧 Deployment in Coolify
Option 1: Über Git Repository (Empfohlen)
# In deinem Server-Ordner
cd [server-name]
# Git initialisieren
git init
git add .
git commit -m "Initial commit: [server-name]"
# Zu deinem Repository pushen
git remote add origin https://github.com/dein-user/dein-repo.git
git push -u origin main
Dann in Coolify:
- New Resource → Docker Compose
- Git Repository verbinden
- Branch auswählen (main)
- Deploy!
Option 2: Direkt auf Coolify Server
# Kopiere Ordner auf Coolify Server
scp -r [server-name] user@coolify-server:/pfad/
# SSH auf Server
ssh user@coolify-server
# Deploy
cd /pfad/[server-name]
./deploy.sh
🎮 Mehrere Server erstellen
Du kannst das Skript mehrmals ausführen für verschiedene Server:
# Lobby Server
./create-minecraft-server.sh
# Input: lobby, 1.21, Paper, 2GB-4GB, Port 25565, SFTP Port 2222
# Survival Server
./create-minecraft-server.sh
# Input: survival, 1.21, Paper, 4GB-8GB, Port 25566, SFTP Port 2223
# Minigames Server
./create-minecraft-server.sh
# Input: minigames, 1.20.4, Paper, 2GB-4GB, Port 25567, SFTP Port 2224
Jeder Server bekommt:
- Eigenen Docker Container
- Eigene Volumes (Daten persistent)
- Eigenen SFTP Zugang
- Eigenen Port
🛠️ Server Management
Logs ansehen (in Coolify oder SSH)
# Alle Logs
docker-compose logs -f
# Nur Minecraft Server
docker-compose logs -f minecraft-[server-name]
# Nur SFTP Server
docker-compose logs -f sftp-[server-name]
Server Console
# Interaktive Minecraft Console
docker exec -it mc-[server-name] rcon-cli
# Dann kannst du Commands ausführen:
> list
> op Username
> whitelist add Username
Backup erstellen
# Erstelle Backup Ordner
mkdir -p backups
# Backup
docker run --rm \
-v mc-[server-name]-data:/data \
-v $(pwd)/backups:/backup \
alpine tar czf /backup/backup-$(date +%Y%m%d-%H%M%S).tar.gz -C /data .
Server neustarten
docker-compose restart minecraft-[server-name]
Server stoppen
docker-compose down
Server starten
docker-compose up -d
🔒 Sicherheit Best Practices
1. Firewall Konfiguration
Nur Velocity Proxy sollte sich zu Backend-Servern verbinden können:
# Auf Backend-Server (z.B. mit ufw)
sudo ufw allow from [VELOCITY-PROXY-IP] to any port 25565
sudo ufw deny 25565 # Blockiere von allen anderen
2. Sichere Secrets verwenden
# Generiere sichere Secrets
openssl rand -base64 32
Nutze diesen Output für forwarding-secret.
3. SFTP Passwörter ändern
Nach dem ersten Setup, ändere SFTP Passwörter in der docker-compose.yml:
command: ${SFTP_USER}:neues-sicheres-passwort:1000:1000:plugins,config,data
4. Regelmäßige Updates
# Docker Images updaten
docker-compose pull
docker-compose up -d
📊 Performance Tipps
1. Aikar Flags (bereits aktiviert)
Die optimalen JVM Flags sind bereits gesetzt via USE_AIKAR_FLAGS: "true".
2. View Distance anpassen
In server.properties oder als Environment Variable:
VIEW_DISTANCE: 8 # Reduzieren bei Lag
SIMULATION_DISTANCE: 6
3. Paper Timings
Auf dem Server:
/timings on
# Warte 10-15 Minuten
/timings paste
Analysiere die URL um Lag-Quellen zu finden.
4. Chunk-Loading optimieren
In paper-world-defaults.yml:
chunks:
auto-save-interval: 6000 # 5 Minuten statt 1
🐛 Troubleshooting
Problem: Server startet nicht
Lösung:
# Prüfe Logs
docker-compose logs minecraft-[server-name]
# Häufige Fehler:
# - Port bereits belegt → Ändere Port in docker-compose.yml
# - Zu wenig RAM → Erhöhe Memory Limits
# - EULA nicht akzeptiert → Sollte automatisch sein, prüfe EULA: "TRUE"
Problem: Velocity Verbindung fehlgeschlagen
Lösung:
- Prüfe ob Secret in Velocity und Paper identisch ist
- Stelle sicher dass
online-mode=falseauf Backend-Server - Teste Netzwerk-Verbindung:
# Auf Velocity Server telnet backend-server 25565
Problem: SFTP Login funktioniert nicht
Lösung:
# Prüfe SFTP Container Status
docker-compose ps sftp-[server-name]
# Prüfe Logs
docker-compose logs sftp-[server-name]
# Teste Verbindung
sftp -P [SFTP-PORT] [USER]@[HOST]
Problem: Plugins werden nicht geladen
Lösung:
- Prüfe ob Plugin kompatibel mit Minecraft Version ist
- Checke Server Logs nach Fehlern:
docker-compose logs minecraft-[server-name] | grep ERROR - Stelle sicher dass
.jarDateien im richtigen Ordner sind - Restart nach Plugin-Installation:
docker-compose restart minecraft-[server-name]
📚 Empfohlene Plugins
Essentials
- LuckPerms - Permission Management
- EssentialsX - Core Commands
- Vault - Economy API
Velocity Netzwerk
- LiteBans - Network-wide Bans
- TAB - Tablist & Scoreboard
- AdvancedPortals - Server Portale
- ViaVersion - Multi-Version Support
Performance & Optimization
- Chunky - Pre-generate Chunks
- FarmControl - Optimize Farms
- ClearLag - Remove Entity Lag
Fun & Features
- Citizens - NPCs
- WorldEdit - Building Tools
- CoreProtect - Rollback System
- Geyser - Bedrock Support (optional)
🔄 Update Prozess
Server Software updaten
# In docker-compose.yml VERSION ändern
VERSION: "1.21.1"
# Neustart
docker-compose pull
docker-compose up -d
Plugins updaten
- Via SFTP zu
/pluginsverbinden - Alte
.jarlöschen - Neue
.jarhochladen - Server neustarten
📞 Support & Community
- Paper Docs: https://docs.papermc.io/
- Velocity Docs: https://docs.papermc.io/velocity
- Coolify Docs: https://coolify.io/docs
📝 Changelog
Version 1.0.0 (Initial Release)
- ✅ Automatische Server-Erstellung
- ✅ Velocity Integration
- ✅ SFTP Support
- ✅ Docker Compose Setup
- ✅ Coolify Kompatibilität
- ✅ Health Checks
- ✅ Persistent Volumes
🙏 Credits
Erstellt für einfaches Minecraft Server Management mit Coolify.
Verwendete Docker Images:
itzg/minecraft-server- Minecraft Serveratmoz/sftp- SFTP Server
Made with ❤️ for the Minecraft Community