Der Support für v1.9.0 oder niedriger wurde eingestellt. Die folgenden Informationen gelten nur für v1.11.0 oder höher.

Konfiguration

Server

Wir verwenden YAML für die Konfiguration von Strawberry Chat. Damit du nicht die ganze Konfiguration selber schreiben musst, haben wir eine Beispielkonfiguration Allerdings um vollständig zu verstehen, welcher Wert was konfiguriert, kannst du dir diese Tabelle anschauen:

Server-KonfigurationErklärung
addressDie IP-Adresse, wo man den Server mit erreichen kann (z.B. 192.168.0.157)
portDer zugehörige und nötige Port (z.B. 49200 —> 192.168.0.157:49200)
nameDer Name des Chat-Servers (Server Name) (z.B. My personal Server!)
descriptionEine Beschreibung über den Chat-Server (z.B. This is my personal chat server)
edition_keyEin nicht-entwickeltes Argument zur Konfiguration einer Edition
update_channelDer Update-Kanal des Chat Servers (stable, dev, canary)
config_verVersions-Wert der Konfiguration. Sollte nicht geändert werden.
Allgemeine KonfigurationErklärung
max_message_lengthMaximale Länge einer Nachricht (z.B. 256)
max_usersMaximale Anzahl der Online-Nutzern (z.B. 32)
max_registered_usersMaximale Anzahl der registrierten Nutzern (z.B. 64)
max_username_lengthMaximale Länge des Nutzernamens (z.B. 32)
max_password_lengthMaximale Länge des Passworts (z.B. 256)
recv_allowed_bytesMaximale Größe der erlaubten empfangenen Bytes (z.B. 8192)
watchdog_timeoutZeit, ab wann der Watchdog den Server bei einem Freeze neu starten soll (z.B. 4)
Flag-KonfigurationErklärung
enable_messagesAktiviert oder deaktiviert das loggen von Nutzern-Nachrichten (true, false)
enable_queueAktiviert oder deaktiviert die Warteschlange (true, false)
debug_modeAktiviert oder deaktiviert den Debug-Mode. Nützlich um Fehler einfacher nachzuverfolgen (true, false)
online_modeAktiviert oder deaktiviert den Online-Mode. Dies deaktiviert jegliche Funktionen der Strawberry API (Nicht empfohlen) (true, false)
admins_wait_queueAktiviert oder deaktiviert ob Admins in der Warteschlange warten müssen. (true, false)
bots_wait_queueAktiviert oder deaktiviert ob Bots in der Warteschlange warten müssen. (true, false)
special_messagesAktiviert oder deaktiviert b e s o n d e r e Nachrichten (true, false)
Sicherheits-KonfigurationErklärung
require_signingAktiviert oder deaktiviert das benötigen eines verifizierten Clients. Dieses Feature ist allerdings noch nicht verfügbar (true, false)
signing_keyDer Signierungs-Key für die verifizierten Clients
banned_ipsEine Liste an gebannten IP-Adressen (z.B. [192.168.0.157])
Datenbank-KonfigurationErklärung
driverDer verwendete Treiber für die Datenbankverwaltung (sqlite, mysql)
check_same_threadAktiviert oder deaktiviert die Erkennung ob etwas im gleichen Thread abläuft (true, false)
hostMySQL Datenbank Host
portMySQL Datenbank Port
userMySQL Datenbank Nutzername
passwordMySQL Datenbank Nutzerpasswort
database_nameMySQL Datenbankname
database_tableMySQL Datenbanktabelle

Client

Auch für unseren Client verwenden wir YAML für die Konfiguration. Damit du nicht die ganze Konfiguration selber schreiben musst, haben wir eine Beispielkonfiguration (Legacy/Stable/Main) Allerdings um vollständig zu verstehen, welcher Wert was konfiguriert, kannst du dir diese Tabelle anschauen:

Client-KonfigurationErklärung
languageDie Sprache des Clients (de_DE, en_US)
update_channelDer Update-Kanal des Clients (stable, dev, canary)
detect_same_system_messagesAktiviert oder deaktiviert die Erkennung von gleichen Systemnachrichten (true, false)
config_verVersions-Wert der Konfiguration. Sollte nicht geändert werden.
enable_notificationsAktiviert oder deaktiviert die Chat-Benachrichtung (true, false)

Das Argument enable_notifications ist nur für v2.6.0 oder höher verfügbar.


Networking

Dieser Konfigurationsteil bezieht sich auf das Netzwerkverhalten des Clients. Der folgende Code-Block funktioniert nur ab v2.6.0

networking:
  online_mode: false
  keep_alive: true
  latency_mode: false
  latency_mode_time: 1
Networking-KonfigurationErklärung
online_modeAktiviert oder deaktiviert den Online-Mode. Dies deaktiviert jegliche Funktionen der Strawberry API (Nicht empfohlen) (true, false)
keep_aliveAktiviert oder deaktiviert Keep-Alive Pings zum Server. Das deaktivieren führt dazu das du nach einer bestimmten Zeit vom Server disconnected wirst. (true, false)
latency_modeAktiviert oder deaktiviert den Latenz-Modus. Dieser dient dazu bei langsamen Verbindung weiterhin Stabilität zu bieten (true, false)
latency_mode_timeDie Zeit zwischen bestimmten “Latency-Events” (z.B. 1, 2, 0.5)

Einige Argumente sind nur für v2.6.0 verfügbar. Darunter zählen: latency_mode, latency_mode_time


Autoserver

Dieser Konfigurationsteil bezieht sich auf das Autoserver-Verhalten des Clients.

autoserver:
  enabled: false
  server_id: 2
Autoserver-KonfigurationErklärung
enabledAktiviert oder deaktiviert Autoserver (Das automatische verbinden mit einem Server beim Start des Clients) (true, false)
server_idServer-ID des Servers (z.B. 1, 2)

Vorkonfigurierte Server

Dieser Konfigurationsteil bezieht sich auf Vorkonfigurierte Server. Eine Beispielkonfiguration könnte folgendermaßen aufgebaut sein:

2: 
name: localhost
address: 127.0.0.1
port: 8080
type: Local Development Server
autologin: true
compatibility_mode: false
credentials:
    username: username
    password: password
Server-KonfigurationErklärung
nameName des Servers (z.B. My server)
addressIP-Adresse des Servers (z.B. 127.0.0.1)
portPort des Servers (z.B. 8080)
typeEine eigene Typenbeschreibung des Servers (z.B. programming, school)
autologinAktiviert oder deaktiviert Autologin für diesen Server (true, false)
compatibility_modeAktiviert oder deaktiviert den Kompatiblitätsmodus für diesen Server (true, false)
credentials/usernameDer Nutzername der für Autologin benötigt wird (z.B. user)
credentials/usernameDas Passwort das für Autologin benötigt wird (z.B. password)

Das Argument compatibility_mode ist nur für v2.5.0 oder höher verfügbar.