CTmine-client/docker-compose.yml
Tronax af073e77ec
VNC-Steuerung verbessern: Low-Latency, Maus, Tastatur, Resize
Die Steuerung ist jetzt auf Minecraft (Menü, Chat, Inventar, AFK-Farmen)
optimiert. Für Mouselook/PVP bleibt VNC ungeeignet (Protokollgrenze,
dokumentiert).

x11vnc (serverseitig, entrypoint.sh):
- -threads: parallele I/O-Threads → weniger Eingabe-Lag
- -pointer_mode 4: flüssigere Mausübertragung (Default 1 ist träge)
- -norepeat: verhindert doppelte Tastaturwiederholungen im Spiel
- -nodpms -nofbpm -nowf -nowcr: Energiesparen/Rate-Limiting aus
- Über X11VNC_EXTRA env var frei konfigurierbar

noVNC-Client (VncViewer.vue):
- resize=remote statt scaling: Xvfb folgt Fenstergröße (1:1-Maus-Mapung)
- reconnect=1: auto-Reconnect bei Abbruch
- clipboard=1: Zwischenablage Browser <-> Container
- view_only=0: Eingabe explizit freigeschaltet
- Klick ins Bild setzt Tastaturfokus ins iframe
- Hinweis auf Mausfreigabe (Strg+Alt+Umschalt), Fokus-Button

README: neuer Abschnitt "Steuerung über VNC" mit Grenzerklärung.
.env.example + docker-compose.yml: X11VNC_EXTRA durchgereicht.
2026-08-09 11:09:35 +02:00

38 lines
1.1 KiB
YAML

# CTmine-client · ContainerMine Client
# Start: docker compose up -d --build
# Web: http://localhost:8080
services:
ctmine-client:
image: ctmine-client:latest
container_name: ctmine-client
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
environment:
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
TZ: ${TZ:-Europe/Berlin}
DISPLAY_WIDTH: ${DISPLAY_WIDTH:-1280}
DISPLAY_HEIGHT: ${DISPLAY_HEIGHT:-720}
DISPLAY_REFRESH: ${DISPLAY_REFRESH:-60}
DISPLAY_DEPTH: ${DISPLAY_DEPTH:-24}
VNC_PASSWORD: ${VNC_PASSWORD:-}
X11VNC_EXTRA: ${X11VNC_EXTRA:--threads -pointer_mode 4 -norepeat -nodpms -nofbpm -nowf -nowcr}
NOVNC_PATH: ${NOVNC_PATH:-}
ports:
- "${WEB_PORT:-8080}:8080"
volumes:
# Persistente Daten: Microsoft-Account, Prism-Instanzen, .minecraft
- ./config:/config
# Software-Rendering braucht Shared Memory für OpenGL.
shm_size: "1gb"
#Optionale GPU-Beschleunigung (im Software-Rendering-Modus nicht nötig):
# devices:
# - /dev/dri:/dev/dri