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.
This commit is contained in:
Tronax 2026-08-09 11:09:35 +02:00
parent b8a99e6e9e
commit af073e77ec
Signed by: Tronax
SSH key fingerprint: SHA256:2pKKXDZucWvaF/GzXNz0FY53EAO1YDLN80bqS+TTz/o
5 changed files with 134 additions and 19 deletions

View file

@ -65,9 +65,22 @@ else
VNC_PWFLAG="-nopw"
fi
# Low-Latency-x11vnc-Optionen. Für Minecraft sind vor allem wichtig:
# -threads parallele Eingabe-/Ausgabe-Threads → weniger Lag
# -pointer_mode 4 flüssigere Mausübertragung (Default 1 ist träge)
# -norepeat Server-seite Tastaturwiederholung unterdrücken (sonst
# doppelte Auto-Repeat-Tasten im Spiel)
# -nocursorshape / -cursor none kein Cursor-Shape-Traffic (Cursor ist eh
# vom Spiel übermalt); -cursorX aber als sichtbarer Fallback
# -nodpms -nofbpm Energiesparen aus (sonst ruckelt es nach Leerlauf)
# -nowf -nowcr kein Wireframe/Rate-Limit beim Fensterziehen
# -noxdamage-suffix stabilereDamage-Erfassung
# Encoding/Qualität werden vom Client (noVNC) ausgehandelt, nicht hier erzwungen.
X11VNC_EXTRA="${X11VNC_EXTRA:--threads -pointer_mode 4 -norepeat -nodpms -nofbpm -nowf -nowcr}"
cat > /tmp/x11vnc.conf <<EOF
[program:x11vnc]
command=/usr/bin/x11vnc -display :0 -forever -shared ${VNC_PWFLAG} -rfbport 5900
command=/usr/bin/x11vnc -display :0 -forever -shared ${VNC_PWFLAG} -rfbport 5900 ${X11VNC_EXTRA}
priority=20
autostart=true
autorestart=true