Einführung in Strawberry Chat
Was ist Strawberry Chat?
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-Konfiguration | Erklärung |
---|---|
address | Die IP-Adresse, wo man den Server mit erreichen kann (z.B. 192.168.0.157 ) |
port | Der zugehörige und nötige Port (z.B. 49200 —> 192.168.0.157:49200 ) |
name | Der Name des Chat-Servers (Server Name) (z.B. My personal Server! ) |
description | Eine Beschreibung über den Chat-Server (z.B. This is my personal chat server ) |
edition_key | Ein nicht-entwickeltes Argument zur Konfiguration einer Edition |
update_channel | Der Update-Kanal des Chat Servers (stable , dev , canary ) |
config_ver | Versions-Wert der Konfiguration. Sollte nicht geändert werden. |
Allgemeine Konfiguration | Erklärung |
---|---|
max_message_length | Maximale Länge einer Nachricht (z.B. 256 ) |
max_users | Maximale Anzahl der Online-Nutzern (z.B. 32 ) |
max_registered_users | Maximale Anzahl der registrierten Nutzern (z.B. 64 ) |
max_username_length | Maximale Länge des Nutzernamens (z.B. 32 ) |
max_password_length | Maximale Länge des Passworts (z.B. 256 ) |
recv_allowed_bytes | Maximale Größe der erlaubten empfangenen Bytes (z.B. 8192 ) |
watchdog_timeout | Zeit, ab wann der Watchdog den Server bei einem Freeze neu starten soll (z.B. 4 ) |
Flag-Konfiguration | Erklärung |
---|---|
enable_messages | Aktiviert oder deaktiviert das loggen von Nutzern-Nachrichten (true , false ) |
enable_queue | Aktiviert oder deaktiviert die Warteschlange (true , false ) |
debug_mode | Aktiviert oder deaktiviert den Debug-Mode. Nützlich um Fehler einfacher nachzuverfolgen (true , false ) |
online_mode | Aktiviert oder deaktiviert den Online-Mode. Dies deaktiviert jegliche Funktionen der Strawberry API (Nicht empfohlen) (true , false ) |
admins_wait_queue | Aktiviert oder deaktiviert ob Admins in der Warteschlange warten müssen. (true , false ) |
bots_wait_queue | Aktiviert oder deaktiviert ob Bots in der Warteschlange warten müssen. (true , false ) |
special_messages | Aktiviert oder deaktiviert b e s o n d e r e Nachrichten (true , false ) |
Sicherheits-Konfiguration | Erklärung |
---|---|
require_signing | Aktiviert oder deaktiviert das benötigen eines verifizierten Clients. Dieses Feature ist allerdings noch nicht verfügbar (true , false ) |
signing_key | Der Signierungs-Key für die verifizierten Clients |
banned_ips | Eine Liste an gebannten IP-Adressen (z.B. [192.168.0.157]) |
Datenbank-Konfiguration | Erklärung |
---|---|
driver | Der verwendete Treiber für die Datenbankverwaltung (sqlite , mysql ) |
check_same_thread | Aktiviert oder deaktiviert die Erkennung ob etwas im gleichen Thread abläuft (true , false ) |
host | MySQL Datenbank Host |
port | MySQL Datenbank Port |
user | MySQL Datenbank Nutzername |
password | MySQL Datenbank Nutzerpasswort |
database_name | MySQL Datenbankname |
database_table | MySQL 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-Konfiguration | Erklärung |
---|---|
language | Die Sprache des Clients (de_DE , en_US ) |
update_channel | Der Update-Kanal des Clients (stable , dev , canary ) |
detect_same_system_messages | Aktiviert oder deaktiviert die Erkennung von gleichen Systemnachrichten (true , false ) |
config_ver | Versions-Wert der Konfiguration. Sollte nicht geändert werden. |
enable_notifications | Aktiviert 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-Konfiguration | Erklärung |
---|---|
online_mode | Aktiviert oder deaktiviert den Online-Mode. Dies deaktiviert jegliche Funktionen der Strawberry API (Nicht empfohlen) (true , false ) |
keep_alive | Aktiviert 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_mode | Aktiviert oder deaktiviert den Latenz-Modus. Dieser dient dazu bei langsamen Verbindung weiterhin Stabilität zu bieten (true , false ) |
latency_mode_time | Die 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-Konfiguration | Erklärung |
---|---|
enabled | Aktiviert oder deaktiviert Autoserver (Das automatische verbinden mit einem Server beim Start des Clients) (true , false ) |
server_id | Server-ID des Servers (z.B. 1 , 2 ) |
Vorkonfigurierte Server
Dieser Konfigurationsteil bezieht sich auf Vorkonfigurierte Server. Eine Beispielkonfiguration könnte folgendermaßen aufgebaut sein:
Server-Konfiguration | Erklärung |
---|---|
name | Name des Servers (z.B. My server ) |
address | IP-Adresse des Servers (z.B. 127.0.0.1 ) |
port | Port des Servers (z.B. 8080 ) |
type | Eine eigene Typenbeschreibung des Servers (z.B. programming , school ) |
autologin | Aktiviert oder deaktiviert Autologin für diesen Server (true , false ) |
compatibility_mode | Aktiviert oder deaktiviert den Kompatiblitätsmodus für diesen Server (true , false ) |
credentials/username | Der Nutzername der für Autologin benötigt wird (z.B. user ) |
credentials/username | Das 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.