modified: docker-compose.yaml
new file: scripts/console.sh new file: scripts/logs.sh new file: scripts/restart.sh new file: scripts/start.sh new file: scripts/stop.sh
This commit is contained in:
@@ -90,6 +90,7 @@ services:
|
||||
- PASSWORD_ACCESS=true
|
||||
- USER_PASSWORD=${SFTP_PASSWORD:-changeme123}
|
||||
- DOCKER_MODS=linuxserver/mods:openssh-server-docker-cli
|
||||
- MC_CONTAINER=${CONTAINER_NAME:-minecraft-server}
|
||||
|
||||
ports:
|
||||
- "${SFTP_PORT:-2222}:2222"
|
||||
@@ -97,6 +98,7 @@ services:
|
||||
volumes:
|
||||
- minecraft-data:/minecraft
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./scripts:/scripts:ro
|
||||
|
||||
networks:
|
||||
- minecraft-network
|
||||
|
||||
31
scripts/console.sh
Normal file
31
scripts/console.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# Minecraft Console - Live Logs mit Command-Eingabe
|
||||
|
||||
CONTAINER="${MC_CONTAINER:-minecraft-server}"
|
||||
|
||||
echo "=== Minecraft Console ==="
|
||||
echo "Container: $CONTAINER"
|
||||
echo "Drücke STRG+C zum Beenden"
|
||||
echo "Commands: 'say <text>', 'list', 'stop', etc."
|
||||
echo "=========================="
|
||||
echo ""
|
||||
|
||||
# Starte Live-Logs im Hintergrund
|
||||
docker logs -f "$CONTAINER" 2>&1 &
|
||||
LOGS_PID=$!
|
||||
|
||||
# Trap für sauberes Beenden
|
||||
trap "kill $LOGS_PID 2>/dev/null; exit" INT TERM
|
||||
|
||||
# Command-Loop
|
||||
while true; do
|
||||
read -p "> " cmd
|
||||
if [ -n "$cmd" ]; then
|
||||
if [ "$cmd" = "exit" ] || [ "$cmd" = "quit" ]; then
|
||||
echo "Beende Console..."
|
||||
kill $LOGS_PID 2>/dev/null
|
||||
exit 0
|
||||
fi
|
||||
docker exec "$CONTAINER" rcon-cli "$cmd"
|
||||
fi
|
||||
done
|
||||
11
scripts/logs.sh
Normal file
11
scripts/logs.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
# View live logs
|
||||
|
||||
CONTAINER="${MC_CONTAINER:-minecraft-server}"
|
||||
LINES="${1:-100}"
|
||||
|
||||
echo "=== Minecraft Logs (last $LINES lines) ==="
|
||||
echo "Drücke STRG+C zum Beenden"
|
||||
echo ""
|
||||
|
||||
docker logs -f "$CONTAINER" --tail "$LINES"
|
||||
9
scripts/restart.sh
Normal file
9
scripts/restart.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# Restart Minecraft Server
|
||||
|
||||
CONTAINER="${MC_CONTAINER:-minecraft-server}"
|
||||
|
||||
echo "Restarting Minecraft Server: $CONTAINER"
|
||||
/scripts/stop.sh
|
||||
sleep 3
|
||||
/scripts/start.sh
|
||||
8
scripts/start.sh
Normal file
8
scripts/start.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Start Minecraft Server
|
||||
|
||||
CONTAINER="${MC_CONTAINER:-minecraft-server}"
|
||||
|
||||
echo "Starting Minecraft Server: $CONTAINER"
|
||||
docker start "$CONTAINER"
|
||||
docker logs -f "$CONTAINER" --tail 50
|
||||
12
scripts/stop.sh
Normal file
12
scripts/stop.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
# Stop Minecraft Server (graceful)
|
||||
|
||||
CONTAINER="${MC_CONTAINER:-minecraft-server}"
|
||||
|
||||
echo "Stopping Minecraft Server: $CONTAINER"
|
||||
echo "Sending 'stop' command..."
|
||||
docker exec "$CONTAINER" rcon-cli stop
|
||||
|
||||
echo "Waiting for graceful shutdown (max 60s)..."
|
||||
docker stop -t 60 "$CONTAINER"
|
||||
echo "Server stopped."
|
||||
Reference in New Issue
Block a user