Glossar
Ein komplettes Nachschlagewerk aller Fachbegriffe und Konzepte. Wenn du auf einen unbekannten Begriff stößt, findest du hier eine schnelle Erklärung.
A
Aktion / Action
Eine Operation, die das System ausführt (z.B. "sende Command an Minecraft"). Actions werden durch Events ausgelöst und sind in der actions.mca konfiguriert.
Beispiel: Das Gift-Event "Rose" triggert die Action "play_sound".
Async / Asynchrone Programmierung
Programmierung, bei der mehrere Aufgaben nicht nacheinander, sondern parallel laufen. Ein Prozess muss nicht warten, bis ein anderer fertig ist.
In diesem Projekt: TikTok-Events ankommen (Async 1) während der Main-Loop Minecraft-Commands verarbeitet (Async 2).
API (Application Programming Interface)
Eine Schnittstelle, über die zwei Programme miteinander kommunizieren.
In diesem Projekt: Wir nutzen die TikTokLive API (um Events zu empfangen) und die RCON API (um Commands an Minecraft zu senden).
C
Combo-Gift
Ein Gift, das mehrfach hintereinander gesendet werden kann. Der Nutzer sieht eine Animation mit den Gesamtzahl der Gifts.
Beispiel: Jemand sendet dieselbe Rose 5-mal → der Nutzer sieht "Rose ×5".
Im Code: event.gift.combo == True und event.repeat_count == 5
CORS (Cross-Origin Resource Sharing)
Ein Sicherheits-Mechanismus in Webserver, der bestimmt, welche externe Websites Anfragen senden dürfen.
In diesem Projekt: Unser Flask-Server nutzt CORS, um Plugin-GUIs Zugriff auf die APIs zu geben.
Command-Line Argument / Flag
Ein Wert, den man beim Starten eines Programms übergibt.
Beispiel:
python main.py --gui-hidden --register-only
Hier sind --gui-hidden und --register-only Flags.
D
DCS (Direct Control System)
Ein Kommunikations-Protokoll, bei dem Daten direkt via HTTP übertragen werden.
Vorteil: Schnell & zuverlässig.
Nachteil: Erfordert offene HTTP-Ports.
Alternative: ICS (Interface Control System).
Dekorator
Ein Python-Feature (@...), das eine Funktion mit zusätzlichem Verhalten "verziert".
Beispiel:
@client.on(GiftEvent)
def handle_gift(event):
pass
Das @client.on(...) Dekorator registriert diese Funktion als Event-Handler.
Dependency (Abhängigkeit)
Ein externes Paket, das dein Projekt braucht.
In diesem Projekt:
TikTokLive- AbhängigkeitFlask- Abhängigkeit- All sind in
requirements.txtaufgelistet.
E
Event
Ein Ereignis, das im System passiert.
Beispiele:
- Jemand sendet ein Gift
- Jemand folgt
- Ein Spieler stirbt in Minecraft
- Der Server startet
Alle Events haben Eigenschaften (Daten), z.B. event.user, event.gift.name.
Event-Handler
Eine Funktion, die auf ein Event reagiert.
Beispiel:
@client.on(GiftEvent)
def on_gift(event):
print(f"Gift empfangen: {event.gift.name}")
on_gift ist der Event-Handler für GiftEvents.
F
Flask
Ein Python-Webframework zum Erstellen von Webservern.
Verwendung in unserem Projekt:
- Webhooks (Empfang von Minecraft-Events)
- GUIs (pywebview nutzt Flask für die Backend-API)
Nicht zu verwechseln mit: Django (anderes Framework), FastAPI (neuer Standard).
Function
Siehe Handler/Funktion.
G
Glossar
Dieses Dokument! Ein Nachschlagewerk von Fachbegriffen.
H
Handler
Siehe Event-Handler.
HTTP / HTTPS
Netzwerk-Protokolle zum Übertragen von Daten über das Internet / Netzwerk.
HTTP = unsicher (aber schneller)
HTTPS = verschlüsselt (aber komplexer)
In diesem Projekt: Wir nutzen HTTP lokal (nicht über Internet).
I
ICS (Interface Control System)
Ein Kommunikations-Protokoll, bei dem Daten via GUI/Screen-Capture übertragen werden.
Vorteil: Funktioniert überall (auch mit TikTok Live Studio).
Nachteil: Langsamer & komplexer.
Alternative: DCS (Direct Control System).
Import
Das Laden von externem Code in dein Programm.
Beispiel:
from core import load_config
Das lädt die load_config-Funktion aus dem core-Modul.
J
JSON
Ein Datenformat zum speichern & übertragen von strukturierten Daten.
Format:
{
"name": "John",
"age": 30,
"gifts": ["Rose", "Diamond"]
}
In diesem Projekt: Wird für Konfigurationen, Window-States und Daten verwendet.
L
Logging / Logs
Das Speichern von Programmierungsvorgängen in eine Datei oder als Output.
Zweck: Debuggen & Monitoring.
Beispiel:
logging.info("Gift received")
logging.error("Connection failed")
Logs landen dann in logs/debug.log.
M
main.py
Die Haupt-Programmdatei des Projekts. Sie verbindet TikTok mit dem Rest des Systems.
Middleware
Software, die zwischen zwei anderen Systemen vermittelt.
In unserem Projekt: main.py enthält den Webhook-Endpunkt und ist Middleware zwischen Minecraft und den Plugins. server.py hingegen startet den Minecraft-Server selbst.
Migration
Der Prozess, Daten von alt zu neu zu übertragen.
In diesem Projekt:
- Config-Migration: Alte
config.yamlwird auf neue Struktur aktualisiert - Siehe Config für Details.
Module
Wiederverwendbare Code-Bausteine, die andere Dateien/Projekte nutzen können.
In diesem Projekt:
core/models.py- Datenstrukturen-Modulecore/paths.py- Pfad-Module- Immer im
src/core/Ordner.
O
Overlay
Eine visuelle Element, die über den Stream / Screen gelegt wird.
Beispiel: Ein Counter zeigt auf dem Screen "Deaths: 5", "Likes: 200".
In diesem Projekt: Plugins nutzen Overlays um Daten visuell darzustellen.
P
Parameter
Ein Wert, der an eine Funktion übergeben wird.
Beispiel:
def create_client(user): # 'user' ist der Parameter
...
create_client("my_streamer") # 'my_streamer' wird übergeben
Path / Pfad
Ein Dateipfad im Dateisystem.
Windows: C:\Users\...\config\config.yaml
Linux: /home/.../config/config.yaml
Plugin
Ein eigenständiges Program, das sich ins Streaming Tool einfügt.
Beispiele:
- Timer (Countdown-Timer)
- DeathCounter (Zählt Tode)
- Dein Custom-Plugin
Port
Ein virtueller "Hafen", über den ein Server Verbindungen akzeptiert.
Beispiel: http://localhost:8080 - Port ist 8080.
Config: Alle Ports sind in der config.yaml konfigurierbar.
Pseudo-Code
Vereinfachter Code, der nicht syntax-korrekt ist, aber die Logik zeigt.
Beispiel:
1. Wenn Gift kommt
2. Finde Konfiguration
3. Führe Action aus
Q
Queue / Warteschlange
Eine Datenstruktur, die Elemente in der Reihenfolge speichert, in der sie hinzugefügt wurden (FIFO: First-In-First-Out).
In unserem Projekt:
trigger_queue: Speichert die zu verarbeitenden Triggerlike_queue: Speichert Like-Updates für das Overlay
R
Race Condition
Ein Bug, der auftritt, wenn zwei Threads gleichzeitig auf die gleiche Ressource zugreifen.
Beispiel: Thread 1 liest event.total, Thread 2 ändert es → Inkonsistenz!
Lösung: Lock (Mutex) - nur ein Thread darf gleichzeitig zugreifen.
Registry / Registrierung
Eine Zentrale Verwaltungs-Datei oder -System.
In diesem Projekt: PLUGIN_REGISTRY registriert alle Module & Plugins mit ihren Einstellungen.
RCON (Remote Console)
Ein Protokoll & Server, über den man Minecraft-Commands remote senden kann.
Beispiel: Statt direkt in der Minecraft Console zu tippen, sendet das Tool via RCON den Command /say "Hey!".
Reverse Engineering
Das Nachbauen eines Systems, indem man sein Verhalten von außen beobachtet.
In diesem Projekt: Die TikTokLive API basiert auf Reverse Engineering (nicht offiziell von TikTok).
S
Streak / Steigerung
Ein Combo, das mehrfach hintereinander aktiviert wird.
Beispiel: Dieselbe Rose wird 5-mal hintereinander gesendet → "Streak: 5".
SQL / Datenbank
Ein System zur strukturierten Datenspeicherung (in diesem Projekt nicht zentral relevant).
T
Thread / Threading
Ein eigenständiger Ausführungs-Fluss innerhalb eines Programms.
Analoge: Ein Programm mit 2 Threads is wie ein Streamer mit 2 Mikrophonen – beide können gleichzeitig sprechen.
Gefahr: Racing Conditions (zwei Threads ändern Daten parallel).
Trigger
Eine Bedingung, die eine Action ausführt.
Beispiel:
gift_1001ist ein Trigger (wenn dieses Gift kommt)followist ein Trigger (wenn jemand folgt)- Wenn Trigger ausgelöst → Action wird ausgeführt
TikTokLive API
Die externe Bibliothek, über die wir TikTok Live-Streams erreichen.
Basiert auf: Reverse Engineering (nicht offiziell).
Nutzen: from TikTokLive import TikTokLiveClient
U
Update
Ein neuer Release / eine neue Version des Projekts.
Prozess:
- Neue Version wird auf GitHub hochgeladen
- Nutzer startet das Programm
- Update-Script laden neue Version
- Alte Daten bleiben erhalten (
config/,data/überschrieben nicht)
Details: Siehe Update.
V
Validator
Ein Modul, das überprüft, ob Daten korrekt sind.
Beispiel: validator.py prüft, ob config.yaml valides YAML ist.
Variable
Ein benanntes Behältnis für Daten.
Beispiel: gift_name = event.gift.name - gift_name ist die Variable.
W
Webhook
Ein Mechanismus, bei dem ein System automatisch Daten an ein anderes sendet, wenn etwas passiert.
Im Projekt:
- Minecraft Server sendet Webhook an unser Tool (wenn Player stirbt, spawnt, etc.)
- Unser Tool verarbeitet dann den Webhook
Format: Normalerweise HTTP POST mit JSON-Daten.
X
(keine gängigen Begriffe)
Y
YAML
Ein Datenformat zum Speichern von strukturierten Daten (ähnlich JSON, aber lesbar-freundlicher).
Format:
timer:
enable: true
start_time: 10
max_time: 60
In diesem Projekt: config.yaml ist in YAML geschrieben.
Z
Zentralisierung
Das Konzept, alles an einem Ort zu verwalten.
Im Projekt: PLUGIN_REGISTRY ist zentrale Verwaltung aller Plugins.
Schnell-Index nach Kategorie
Event-System
- Event, Event-Handler, Trigger, Action
- Webhook, RCON
Technik
- API, HTTP/HTTPS, Port
- Thread/Threading, Race Condition
- Async, Middleware
Python & Code
- Import, Module, Decorator
- Parameter, Variable, Handler
- Function, Logging
Datenformate
- JSON, YAML, Datenbank
Struktur & Organisation
- Registry, Migration
- Queue, Warteschlange
- Path / Pfad
Control & Kommunikation
- DCS, ICS, Flask
- CORS
Debugging & Entwicklung
- Logging, Validator
- Pseudo-Code, Reverse Engineering
"Ich verstehe den Begriff XYZ immer noch nicht!"
Das ist OK. Hier sind Optionen:
- Re-read Lesse es einfach nochmal
- Context: Suche nach dem Begriff in der Dokumentation – der Kontext hilft
- Code lesen: Schau dir an, wie der Begriff im echten Code verwendet wird
- Frag: Andere Entwickler oder eine KI um Hilfe