Autostart (Init-Script) für Teamspeak3

16. Mai 2019 Keine Kommentare

Um Teamspeak3 automatisch zu starten benötigt man ein Init-Script oder ein Systemd Unit file.

Da Teamspeak3 über das mitgelieferte Init-Script immer im Kontext des Users gestartet wird der das Script aufruft, ist es nicht geeignet um direkt beim booten ausgeführt zu werden, da der User in diesem Fall root ist.

Unter Debian/Ubuntu kann die Lösung so aussehen.

/etc/init.d/teamspeak3

#!/bin/bash

### BEGIN INIT INFO
# Provides:             teamspeak3
# Default-Start:        2 3 4 5
# Default-Stop:         1
# Required-Start:       $remote_fs
# Required-Stop:        $remote_fs
# Short-Description:    Teamspeak3
### END INIT INFO

DAEMON="ts3server"
USER="tss"
DAEMON_PATH="/home/tss/teamspeak3-server_linux-amd64"
PIDFILE="/run/ts3server.pid"
NICE="-10"
OPTIONS="query_ip=127.0.0.1 query_ssh_ip=127.0.0.1 filetransfer_ip=127.0.0.1 createinifile=1"

. /lib/lsb/init-functions

start() {
  log_begin_msg "Starting Teamspeak server:" "ts3server"
  if start-stop-daemon -S -o -m -q -b -N $NICE -d $DAEMON_PATH -p $PIDFILE -x $DAEMON -u $USER -c $USER -- $OPTIONS; then
    log_end_msg 0
  else
    log_end_msg 1
    exit 1
  fi
}

stop() {
  log_begin_msg "Stopping Teamspeak server:" "ts3server"
  if start-stop-daemon -K --remove-pidfile -o -q -d $DAEMON_PATH -p $PIDFILE -x $DAEMON -u $USER; then
    log_end_msg 0
  else
    log_end_msg 1
    exit 1
  fi
}

case "$1" in
  start)
      start
    ;;
  stop)
      stop
    ;;
  restart|force-reload|reload)
      stop
      start
    ;;
  *)
      echo "Usage: /etc/init.d/teamspeak3 {start|stop|restart}" >&2
      exit 1
    ;;
esac

exit 0

Nun noch die Variablen anpassen und den Autostart aktivieren

update-rc.d teamspeak3 defaults 20
KategorienDebian, Dies & Das, Ubuntu

Apache SSL Einstellungen für SSLLabs A-Rating

12. Mai 2019 Keine Kommentare

Mithilfe des SSLLabs Servertests ist es möglich den eigenen Webserver hinsichtlich TLS Einstellungen stetig zu überprüfen.

Debian 9 wird aktuell mit Apache 2.4.25 ausgeliefert, der leider noch keinen Support für das neuste (und sicherste) TLS 1.3 mitbringt.
Debian 10 wird mit Apache 2.4.38 / OpenSSL 1.1.1 bestückt und unterstützt somit TLS 1.3.
Dennoch ist es möglich auch mit TLS 1.2 ein A-Rating zu erhalten, indem man lediglich die besten Ciphers anbietet und alle anderen TLS Versionen deaktiviert.

Folgende Settings in der Datei /etc/apache2/mods-enabled/ssl.conf ermöglichen dies:

SSLHonorCipherOrder On
SSLCipherSuite TLSv1.3:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384
SSLCompression off
SSLProtocol +all -SSLv3 -TLSv1 -TLSv1.1

Diese Einstellungen gewährleisten auch dass TLS 1.3 sofort unterstützt wird, sobald der Server dieses Protokoll kennt. Alle weiteren Einstellungen können auf dem Standardwert belassen werden.

Achtung: Durch den Wegfall von TLSv1 und TLSv1.1 werden sehr alte OS/Browser Kombinationen nicht mehr unterstützt. Ein Beispiel hierfür wäre IE 8 auf Windows XP. Wer diese Clients weiterhin unterstützen möchte, findet auf Applied Crypto Hardening ein passendes Konfigurationsbeispiel.

Aktuelle Clientsysteme verwenden die beiden bis dato als sicher geltenden Ciphers ECDHE-RSA-AES256-GCM-SHA384 und ECDHE-RSA-AES128-GCM-SHA256, während auch älteren Clients der Verbindungsaufbau über ECDHE-RSA-AES256-SHA384 (CBC) ermöglicht wird.
Diese CBC Cipher gilt zwar als problematisch, wird aber nur von alten Clients verwendet und beherrscht dennoch Forward Secrecy. Im SMTP Bereich spielt diese Cipher ebenfalls noch eine bedeutende Rolle und ist z.B. seitens Outlook.com die Standard-Cipher für ausgehende E-Mails.

KategorienApache - PHP, Debian

Battlefield 4 Tearing und Input Lag verhindern mit VSync und FPS Limit

17. Juni 2016 Keine Kommentare

In Battlefield 4 hatte ich das Problem dass Tearing auftritt. Man sieht es wenn man im Spiel einen großen Masten oder eine Antenne mittig anzeigen lässt und anschließend mit der Maus schnell von links nach rechts bewegt. Sieht man während dem Bewegen nicht nur eine Antenne sondern eine krumme Antenne oder gleich mehrere Antennen, dann tritt Tearing auf.

Tearing_(simulated)

Grundsätzlich kommt Tearing immer dann vor, wenn Grafikkarte und Monitor nicht synchronisiert arbeiten. Meist in Kombination mit einem 60Hz Monitor, die auch heute noch Standard sind und nur Enthusiasten einen 144Hz Monitor mit gutem Display besitzen. Letztere kosten mit IPS Display 700€ aufwärts. Für mich zu viel des Guten also musste eine andere Lösung gefunden werden.

Im Endeffekt gibt es Stand heute folgende Möglichkeiten Tearing nahezu komplett zu verhindern:

  1. Man kauft ein 144Hz Display und aktiviert (G-Sync|V-Sync|Freesync)
  2. Man kauft ein Display mit Freesync (AMD) oder GSync (Nvidia) Support
  3. Man aktiviert VSync das überall kostenlos funktioniert

Bei Variante 3. gibt es allerdings ein paar Nachteile. Das Größte davon sind die s.g. Input-Lags die hier erklärt werden.

Durch clevere Steuerung der Max FPS lässt sich aber auch dieses Phänomen eingrenzen.

Dazu habe ich im Battlefield 4 Ordner eine user.cfg Datei abgelegt und folgende Werte eingetragen:

GameTime.MaxVariableFPS 59.6
RenderDevice.VSyncEnable 1

Man sollte danach das Spiel starten und in den Grafik Optionen prüfen ob vertikale Synchronisation (VSync) auch wirklich aktiviert ist.
Ansonsten über das Menü aktivieren.

Das Ergebnis bei mir: Tearing wird verhindert und das Input-Lag ist klein.

Als netter Nebeneffekt lässt man die Grafikkarte auch nicht unnötig auf 100% laufen. Liefert eine Grafikkarte mehr als 60 FPS dann setzt sich auf einem 60Hz Display ein Einzelbild auf dem Monitor aus mehreren Bildern der Grafikkarte zusammen => Tearing entsteht.
Das spart Strom und die Lüfter drehen auch nicht sonderlich hoch.

Monitor Wishlist 2017: >=144Hz, 2160p oder 1440p, Displayport 1.3, IPS Panel, GSync oder Freesync Support

KategorienDies & Das