new file: .env.example
new file: .gitignore new file: README.md new file: docker-compose.yml
This commit is contained in:
65
.env.example
Normal file
65
.env.example
Normal file
@@ -0,0 +1,65 @@
|
||||
# ========================================
|
||||
# MINECRAFT SERVER KONFIGURATION
|
||||
# ========================================
|
||||
|
||||
# ===== Server Software =====
|
||||
# Mögliche Werte: PAPER, PURPUR, SPIGOT, FABRIC, FORGE, VANILLA, VELOCITY
|
||||
SERVER_TYPE=PAPER
|
||||
|
||||
# Minecraft Version (z.B. 1.21, 1.20.4, 1.19.4, latest)
|
||||
MC_VERSION=1.21
|
||||
|
||||
# ===== Server Name & Info =====
|
||||
SERVER_NAME=Mein Minecraft Server
|
||||
MOTD=§6Willkommen auf meinem Server!
|
||||
SERVER_PORT=25565
|
||||
|
||||
# ===== RAM Einstellungen =====
|
||||
MIN_RAM=2G
|
||||
MAX_RAM=4G
|
||||
|
||||
# ===== Spieler Einstellungen =====
|
||||
MAX_PLAYERS=20
|
||||
DIFFICULTY=normal
|
||||
GAMEMODE=survival
|
||||
PVP=true
|
||||
|
||||
# ===== Welt Einstellungen =====
|
||||
WORLD_NAME=world
|
||||
# Optional: Seed für Weltgenerierung (leer lassen für random)
|
||||
WORLD_SEED=
|
||||
VIEW_DISTANCE=10
|
||||
SIMULATION_DISTANCE=8
|
||||
|
||||
# ===== Velocity/BungeeCord Integration =====
|
||||
# Setze auf FALSE wenn Server hinter Velocity/Bungeecord läuft
|
||||
ONLINE_MODE=TRUE
|
||||
# Velocity Secret (nur bei Velocity Modern Forwarding)
|
||||
VELOCITY_SECRET=
|
||||
|
||||
# ===== Features =====
|
||||
ENABLE_COMMAND_BLOCK=true
|
||||
SPAWN_PROTECTION=16
|
||||
ALLOW_FLIGHT=false
|
||||
ENABLE_WHITELIST=false
|
||||
ENFORCE_WHITELIST=false
|
||||
|
||||
# ===== RCON (für Console Zugriff) =====
|
||||
RCON_PASSWORD=minecraft
|
||||
RCON_PORT=25575
|
||||
|
||||
# ===== Operators (Admins) =====
|
||||
# Komma-getrennte Liste von Spielernamen oder UUIDs
|
||||
OPS=
|
||||
|
||||
# ===== Timezone =====
|
||||
TIMEZONE=Europe/Berlin
|
||||
|
||||
# ========================================
|
||||
# SFTP KONFIGURATION (Zugriff auf MC Server Ordner)
|
||||
# ========================================
|
||||
|
||||
SFTP_PORT=2222
|
||||
SFTP_USER=mcadmin
|
||||
# ⚠️ WICHTIG: Ändere dieses Passwort!
|
||||
SFTP_PASSWORD=changeme123
|
||||
32
.gitignore
vendored
Normal file
32
.gitignore
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
# .env Datei wird in Coolify über Environment Variables verwaltet
|
||||
.env
|
||||
|
||||
# Node.js (falls alte Generator-Dateien noch da sind)
|
||||
node_modules/
|
||||
package-lock.json
|
||||
|
||||
# Logs
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
|
||||
# Backups
|
||||
backups/
|
||||
*.tar.gz
|
||||
|
||||
# Alte Generator-Dateien (nicht mehr benötigt)
|
||||
server.js
|
||||
views/
|
||||
public/
|
||||
Dockerfile
|
||||
.dockerignore
|
||||
package.json
|
||||
create-minecraft-server.sh
|
||||
495
README.md
Normal file
495
README.md
Normal file
@@ -0,0 +1,495 @@
|
||||
# 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:
|
||||
```bash
|
||||
# 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:
|
||||
1. Gehe zu Coolify Dashboard
|
||||
2. **New Resource** → **Docker Compose**
|
||||
3. Verbinde dein Gitea Repository
|
||||
4. Branch: `main`
|
||||
5. **Deploy!**
|
||||
|
||||
Der Generator läuft dann auf Port 3000 und ist über deine Coolify-Domain erreichbar.
|
||||
|
||||
### 2. Minecraft Server erstellen
|
||||
|
||||
1. Öffne den Generator in deinem Browser
|
||||
2. Fülle das Formular aus:
|
||||
- Server Name (z.B. lobby, survival, minigames)
|
||||
- Minecraft Version
|
||||
- Server Software (Paper empfohlen)
|
||||
- RAM Einstellungen
|
||||
- Velocity Secret
|
||||
- SFTP Zugangsdaten
|
||||
3. Klicke auf **"Server-Dateien generieren"**
|
||||
4. ZIP-Datei wird automatisch heruntergeladen
|
||||
|
||||
### 3. Server deployen
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
1. **New Resource** → **Docker Compose**
|
||||
2. Gitea Repository verbinden
|
||||
3. **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:
|
||||
|
||||
```yaml
|
||||
proxies:
|
||||
velocity:
|
||||
enabled: true
|
||||
online-mode: false
|
||||
secret: 'dein-secret'
|
||||
```
|
||||
|
||||
### 2. Velocity Proxy Konfiguration
|
||||
|
||||
Füge deine Server zur `velocity.toml` hinzu:
|
||||
|
||||
```toml
|
||||
[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
|
||||
|
||||
1. Öffne FileZilla
|
||||
2. **Host:** `sftp://dein-server.de`
|
||||
3. **Port:** Der konfigurierte SFTP Port (z.B. 2222)
|
||||
4. **Benutzer:** Dein SFTP Username
|
||||
5. **Passwort:** Dein SFTP Passwort
|
||||
6. Verbinden!
|
||||
|
||||
### Verbindung mit WinSCP
|
||||
|
||||
1. Öffne WinSCP
|
||||
2. Neuer Session
|
||||
- Protokoll: SFTP
|
||||
- Host: dein-server.de
|
||||
- Port: SFTP Port
|
||||
- Benutzername & Passwort
|
||||
3. Anmelden!
|
||||
|
||||
### Ordnerstruktur über SFTP
|
||||
|
||||
```
|
||||
/home/[username]/
|
||||
├── plugins/ # Hier Plugins hochladen (.jar Dateien)
|
||||
├── config/ # Konfigurationsdateien
|
||||
└── data/ # Weltdaten (nur lesend)
|
||||
```
|
||||
|
||||
### Plugins installieren
|
||||
|
||||
1. Verbinde dich via SFTP
|
||||
2. Navigiere zu `/plugins`
|
||||
3. Lade deine `.jar` Dateien hoch
|
||||
4. Starte Server neu in Coolify oder via SSH:
|
||||
```bash
|
||||
docker-compose restart minecraft-[server-name]
|
||||
```
|
||||
|
||||
## 🔧 Deployment in Coolify
|
||||
|
||||
### Option 1: Über Git Repository (Empfohlen)
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
1. **New Resource** → **Docker Compose**
|
||||
2. Git Repository verbinden
|
||||
3. Branch auswählen (main)
|
||||
4. Deploy!
|
||||
|
||||
### Option 2: Direkt auf Coolify Server
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
docker-compose restart minecraft-[server-name]
|
||||
```
|
||||
|
||||
### Server stoppen
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### Server starten
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 🔒 Sicherheit Best Practices
|
||||
|
||||
### 1. Firewall Konfiguration
|
||||
|
||||
Nur Velocity Proxy sollte sich zu Backend-Servern verbinden können:
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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`:
|
||||
|
||||
```yaml
|
||||
command: ${SFTP_USER}:neues-sicheres-passwort:1000:1000:plugins,config,data
|
||||
```
|
||||
|
||||
### 4. Regelmäßige Updates
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```yaml
|
||||
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`:
|
||||
```yaml
|
||||
chunks:
|
||||
auto-save-interval: 6000 # 5 Minuten statt 1
|
||||
```
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Problem: Server startet nicht
|
||||
|
||||
**Lösung:**
|
||||
```bash
|
||||
# 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:**
|
||||
1. Prüfe ob Secret in Velocity und Paper identisch ist
|
||||
2. Stelle sicher dass `online-mode=false` auf Backend-Server
|
||||
3. Teste Netzwerk-Verbindung:
|
||||
```bash
|
||||
# Auf Velocity Server
|
||||
telnet backend-server 25565
|
||||
```
|
||||
|
||||
### Problem: SFTP Login funktioniert nicht
|
||||
|
||||
**Lösung:**
|
||||
```bash
|
||||
# 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:**
|
||||
1. Prüfe ob Plugin kompatibel mit Minecraft Version ist
|
||||
2. Checke Server Logs nach Fehlern:
|
||||
```bash
|
||||
docker-compose logs minecraft-[server-name] | grep ERROR
|
||||
```
|
||||
3. Stelle sicher dass `.jar` Dateien im richtigen Ordner sind
|
||||
4. Restart nach Plugin-Installation:
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
# In docker-compose.yml VERSION ändern
|
||||
VERSION: "1.21.1"
|
||||
|
||||
# Neustart
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Plugins updaten
|
||||
|
||||
1. Via SFTP zu `/plugins` verbinden
|
||||
2. Alte `.jar` löschen
|
||||
3. Neue `.jar` hochladen
|
||||
4. 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 Server
|
||||
- `atmoz/sftp` - SFTP Server
|
||||
|
||||
---
|
||||
|
||||
**Made with ❤️ for the Minecraft Community**
|
||||
126
docker-compose.yml
Normal file
126
docker-compose.yml
Normal file
@@ -0,0 +1,126 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
minecraft:
|
||||
image: itzg/minecraft-server:latest
|
||||
container_name: minecraft-server
|
||||
restart: unless-stopped
|
||||
|
||||
environment:
|
||||
# ===== BASIS KONFIGURATION =====
|
||||
EULA: "TRUE"
|
||||
|
||||
# Server Software & Version
|
||||
TYPE: ${SERVER_TYPE:-PAPER}
|
||||
VERSION: ${MC_VERSION:-1.21}
|
||||
|
||||
# ===== MEMORY EINSTELLUNGEN =====
|
||||
MEMORY: ${MAX_RAM:-4G}
|
||||
INIT_MEMORY: ${MIN_RAM:-2G}
|
||||
USE_AIKAR_FLAGS: "true"
|
||||
|
||||
# ===== SERVER EINSTELLUNGEN =====
|
||||
SERVER_NAME: ${SERVER_NAME:-Minecraft Server}
|
||||
MOTD: ${MOTD:-§6Minecraft Server §7- §bPowered by Coolify}
|
||||
MAX_PLAYERS: ${MAX_PLAYERS:-100}
|
||||
DIFFICULTY: ${DIFFICULTY:-normal}
|
||||
MODE: ${GAMEMODE:-survival}
|
||||
PVP: ${PVP:-true}
|
||||
|
||||
# ===== WORLD EINSTELLUNGEN =====
|
||||
LEVEL: ${WORLD_NAME:-world}
|
||||
SEED: ${WORLD_SEED:-}
|
||||
MAX_WORLD_SIZE: ${MAX_WORLD_SIZE:-29999984}
|
||||
VIEW_DISTANCE: ${VIEW_DISTANCE:-10}
|
||||
SIMULATION_DISTANCE: ${SIMULATION_DISTANCE:-8}
|
||||
|
||||
# ===== VELOCITY/BUNGEECORD =====
|
||||
ONLINE_MODE: ${ONLINE_MODE:-FALSE}
|
||||
# Für Velocity Modern Forwarding
|
||||
PAPER_PROXY_SECRET: ${VELOCITY_SECRET:-}
|
||||
|
||||
# ===== PERFORMANCE =====
|
||||
ENABLE_ROLLING_LOGS: "true"
|
||||
MAX_TICK_TIME: ${MAX_TICK_TIME:-60000}
|
||||
|
||||
# ===== PLUGINS/MODS =====
|
||||
PLUGINS_SYNC_UPDATE: "true"
|
||||
REMOVE_OLD_MODS: "false"
|
||||
|
||||
# ===== FEATURES =====
|
||||
ENABLE_COMMAND_BLOCK: ${ENABLE_COMMAND_BLOCK:-true}
|
||||
SPAWN_PROTECTION: ${SPAWN_PROTECTION:-16}
|
||||
ALLOW_FLIGHT: ${ALLOW_FLIGHT:-false}
|
||||
ENABLE_WHITELIST: ${ENABLE_WHITELIST:-false}
|
||||
ENFORCE_WHITELIST: ${ENFORCE_WHITELIST:-false}
|
||||
|
||||
# ===== RCON (für Console Zugriff) =====
|
||||
ENABLE_RCON: "true"
|
||||
RCON_PASSWORD: ${RCON_PASSWORD:-minecraft}
|
||||
RCON_PORT: 25575
|
||||
|
||||
# ===== TIMEZONE =====
|
||||
TZ: ${TIMEZONE:-Europe/Berlin}
|
||||
|
||||
# ===== OPERATOR =====
|
||||
OPS: ${OPS:-}
|
||||
|
||||
ports:
|
||||
- "${SERVER_PORT:-25565}:25565"
|
||||
- "${RCON_PORT:-25575}:25575"
|
||||
|
||||
volumes:
|
||||
- minecraft-data:/data
|
||||
|
||||
networks:
|
||||
- minecraft-network
|
||||
|
||||
labels:
|
||||
- "coolify.managed=true"
|
||||
|
||||
healthcheck:
|
||||
test: mc-health
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 180s
|
||||
|
||||
# ===== SFTP SERVER FÜR VOLLZUGRIFF AUF MC SERVER =====
|
||||
sftp:
|
||||
image: atmoz/sftp:latest
|
||||
container_name: minecraft-sftp
|
||||
restart: unless-stopped
|
||||
|
||||
ports:
|
||||
- "${SFTP_PORT:-2222}:22"
|
||||
|
||||
volumes:
|
||||
- minecraft-data:/home/${SFTP_USER:-mcadmin}/minecraft
|
||||
- sftp-ssh-keys:/home/${SFTP_USER:-mcadmin}/.ssh
|
||||
|
||||
command: ${SFTP_USER:-mcadmin}:${SFTP_PASSWORD:-changeme123}:1000:1000:minecraft
|
||||
|
||||
networks:
|
||||
- minecraft-network
|
||||
|
||||
labels:
|
||||
- "coolify.managed=true"
|
||||
|
||||
depends_on:
|
||||
- minecraft
|
||||
|
||||
volumes:
|
||||
minecraft-data:
|
||||
driver: local
|
||||
labels:
|
||||
- "coolify.managed=true"
|
||||
sftp-ssh-keys:
|
||||
driver: local
|
||||
labels:
|
||||
- "coolify.managed=true"
|
||||
|
||||
networks:
|
||||
minecraft-network:
|
||||
driver: bridge
|
||||
labels:
|
||||
- "coolify.managed=true"
|
||||
Reference in New Issue
Block a user