Wie GoatixAnalytics funktioniert

Verstehe die technische Architektur hinter der Echtzeit-Überwachung deiner Minecraft Server

System-Architektur

GoatixAnalytics basiert auf einer modernen, drei-schichtigen Architektur:

1

Minecraft Server Plugin

Das GoatixAnalytics Plugin läuft direkt auf deinem Minecraft Server. Es sammelt fortlaufend Systeminformationen und Spielerdaten.

Technologie: Java Plugin (Spigot/Paper/Bukkit API)
Ausführung: Synchron mit dem Server Tick
2

GoatixAnalytics API

Die REST API empfängt die Metrik-Daten vom Plugin und speichert sie in der Datenbank. Sie ist mit modernster Sicherheit geschützt.

Technologie: Laravel PHP API mit Token-Authentifizierung
Rate Limiting: 10 Requests pro Minute pro Server
3

Web Frontend & Dashboard

Das Web-Frontend zeigt deine Metriken in Echtzeit an, mit interaktiven Graphen, Statistiken und intelligenten Hinweisen.

Technologie: Blade Templates + Chart.js für Visualisierung
Update: Automatische Datenaktualisierung im Browser

Datenflusss:

Minecraft Server
Plugin sammelt Daten
GoatixAnalytics API
Speichert Metriken
Web Dashboard
Zeigt Daten an

Der Datenfluss im Detail

1

Plugin sammelt Daten

Das GoatixAnalytics Plugin läuft im Hintergrund deines Minecraft Servers. Alle 60 Sekunden werden folgende Daten gesammelt und versendet:

System-Daten

  • CPU-Auslastung (%)
  • RAM-Nutzung (Bytes)
  • Java Heap Memory
  • Thread-Anzahl

Minecraft-Daten

  • TPS (Ticks Pro Sekunde)
  • MSPT (ms pro Tick)
  • Spieler Online
  • Chunks & Entities
Die Datenerfassung erfolgt asynchron, um die Server-Performance nicht zu beeinflussen
2

Plugin sendet Daten zur API

Die gesammelten Daten werden als JSON-Payload an die GoatixAnalytics API gesendet. Der API-Token authentifiziert den Request.

POST /api/v1/metrics HTTP/1.1 Host: www.goatixanalytics.eu Content-Type: application/json Authorization: Bearer YOUR_API_TOKEN { "timestamp": "2025-11-29T15:30:45Z", "cpu_usage": 45.2, "ram_used": 4856500000, "tps": 19.8, "player_count": 24, "mspt": 42.5, ... }
Sicherheit: HTTPS-Verschlüsselung + Token-Authentifizierung + Rate Limiting
3

API validiert und speichert Daten

Die API validiert alle eingehenden Daten auf Korrektheit und Typ. Ungültige Requests werden abgelehnt. Valide Daten werden in der Datenbank gespeichert.

Validierung

Typ-Prüfung und Range-Validierung für alle Metriken

Speicherung

Metriken werden in der MySQL-Datenbank mit Timestamp gespeichert

Bestätigung

Plugin erhält JSON-Response mit Success-Status

{ "success": true, "message": "Metric recorded successfully", "data": { "id": 12345, "server_id": 1, "recorded_at": "2025-11-29T16:30:45+01:00", ... } }
4

Dashboard ruft Daten ab

Wenn du dein Server-Dashboard öffnest, lädt es alle Metriken für den gewünschten Zeitraum von der API.

Verfügbare Zeiträume: 60 Minuten, 6 Stunden, 24 Stunden, 7 Tage, 30 Tage

Abfrage-Beispiel:

GET /api/v1/metrics?from=2025-11-29&to=2025-11-30

5

Graphen und Statistiken werden generiert

Der Server verarbeitet die Rohdaten und generiert automatisch Graphen und Statistiken:

Graphen (Chart.js)

  • Zeitbasierte Liniendiagramme
  • Interaktive Zoom/Pan Funktion
  • Export als Bild

Automatische Statistiken

  • Durchschnittswerte (Average)
  • Maximalwerte (Max)
  • Minimalwerte (Min)
AI-Insights: Intelligente Hinweise basierend auf den Daten (z.B. Warnung bei hoher CPU-Last)
6

Daten werden im Dashboard angezeigt

Die verarbeiteten Daten werden in deinem persönlichen Server-Dashboard angezeigt. Du siehst Echtzeit-Informationen, Graphen und Hinweise zur Server-Performance.

Speicherung und Verarbeitung

Metriken-Tabelle (Datenbank)

Jeder Metric-Eintrag in der Datenbank speichert folgende Felder:

Feld Typ Beschreibung
id INT (Primary Key) Eindeutige Metric-ID
server_id INT (Foreign Key) Verweis auf Server
cpu_usage DECIMAL(5,2) CPU-Auslastung in Prozent
ram_used BIGINT RAM-Nutzung in Bytes
tps DECIMAL(4,2) Ticks Pro Sekunde
player_count INT Spieler online
mspt DECIMAL(6,2) Millisekunden pro Tick
recorded_at DATETIME Zeitstempel (UTC)
... 15+ weitere Felder Verschiedene Network, Heap, Thread, etc.
Indexierung: Die Tabelle ist auf (server_id, recorded_at) indexiert für schnelle Zeitbereichs-Abfragen

Technische Details

Technologie-Stack

Server-Seite

  • Laravel 11 (PHP Framework)
  • MySQL 8.0 (Datenbank)
  • Carbon (DateTime Library)

Client-Seite

  • Blade Templates
  • Chart.js (Graph-Visualisierung)
  • Tailwind CSS (Styling)

Plugin

  • Java Plugin API
  • Spigot/Paper/Bukkit
  • HTTP Client Library

Sicherheit & Performance

Sicherheit

  • HTTPS Verschlüsselung
  • Token-Authentifizierung
  • Rate Limiting
  • Input Validierung

Performance

  • Datenbank-Indexierung
  • Query Optimization
  • Caching-Strategien

Plugin Konfiguration

Nach der Installation erstellt das Plugin eine config.yml Datei im plugins/GoatixAnalytics Verzeichnis. Dort kannst du verschiedene Einstellungen vornehmen.

API Token

Der API Token ist essentiell und muss in der config.yml eingetragen werden:

api: token: "DEIN_API_TOKEN_HIER"

Den Token findest du im Dashboard unter "Server bearbeiten" oder als Neubenutzer nach der Server-Registrierung.

Sprache & Chat-Nachrichten

Du kannst die Sprache der Plugin-Meldungen einstellen und das Chat-Prefix anpassen:

# Sprache (de | en) language: de # Chat-Prefix für Meldungen (Farbcodes erlaubt) chat-prefix: "&8[&dGoatixAnalytics&8] "

Unterstützte Sprachen: Deutsch (de), Englisch (en)

Debug-Modus

Aktiviere Debug-Logs für Fehlersuche:

# Debug-Logs aktivieren (true/false) debug: false

Nur für Entwicklung verwenden. Kann die Server-Performance beeinträchtigen.

Metriken ein-/ausschalten

Du kannst einzelne Metriken aktivieren oder deaktivieren. Standardmäßig sind alle aktiv:

fields: cpu_usage: true memory_usage_percent: true tps: true mspt: true tick_time: true ram_used: true ram_total: true java_heap_used: true java_heap_max: true disk_used: true disk_total: true disk_read_speed: true disk_write_speed: true world_size: true player_count: true max_players: true loaded_chunks: true entity_count: true mod_count: true plugin_count: true network_in: true network_out: true bandwidth_usage: true ping_average: true packet_loss: true uptime: true thread_count: true additional_data: true

Tipp: Setze einen Metriken-Wert auf false, um ihn nicht zu erfassen.

Speicher sparen: Indem du nicht benötigte Metriken deaktivierst, reduzierst du Datenbankgröße und Netzwerkauslastung.

Hinweis: Nach Änderungen an der config.yml muss der Server neu gestartet werden, damit die Konfiguration wirksam wird.

Häufig gestellte Fragen

Wie oft werden Daten gesendet?

Das Plugin sendet alle 60 Sekunden Metriken an die API. Diese Frequenz ist standardmäßig festgelegt und nicht konfigurierbar. Dies sorgt für konsistente, zuverlässige Datenerfassung ohne unnötige Netzwerkauslastung.

Beeinträchtigt das Plugin die Server-Performance?

Nein, das Plugin ist vollständig optimiert und asynchron implementiert. Die Datenerfassung erfolgt in separaten Threads und blockiert nicht den Main Server Thread. Der Overhead ist minimal und liegt typischerweise unter 1% CPU und wenigen MB RAM.

Was passiert wenn die API nicht erreichbar ist?

Das Plugin hat eine eingebaute Fehlerbehandlung und Retry-Logik. Wenn die API nicht erreichbar ist, werden die Daten lokal gepuffert und beim nächsten erfolgreichen Request übertragen. Kein Datenverlust.

Kann das Plugin Spieler-Namen sammeln?

Nein, das Plugin ist datenschutzfreundlich und sammelt keine persönlichen Daten. Es speichert nur die anonyme Anzahl der angemeldeten Spieler und Systeminformationen. Keine Spieler-Namen oder IPs werden erfasst.

Wie lange werden die Daten gespeichert?

Alle Metrik-Daten werden unbegrenzt in deinem GoatixAnalytics Konto gespeichert. Du behältst jederzeit Zugriff auf all deine historischen Daten so lange dein Server registriert ist. Es gibt keine Aufbewahrungsfrist oder Datenlöschung.

Kann ich die Daten exportieren?

Derzeit kannst du die Graphen als Bilder exportieren. Ein direkter Datenexport im JSON oder CSV Format ist für zukünftige Updates geplant. Alle Daten gehören dir und du kannst sie jederzeit anfragen.

Welche Fehlerbehandlung gibt es?

Die API hat robuste Fehlerbehandlung: Ungültige Anfragen werden mit aussagekräftigen Fehlermeldungen abgelehnt, Authentifizierungsfehler werden protokolliert, Rate Limits werden durchgesetzt. Das Dashboard zeigt auch Fehlerzustände an (z.B. "Keine Daten verfügbar").

Bereit zu starten?

Installiere das GoatixAnalytics Plugin und beginne mit der Überwachung deines Servers