Überblick

Wartet auf Freigabe v1.3.0
Plattformen
Paper, Spigot, Folia
Minecraft
1.21 oder neuer
Java
21
Erforderlich
Keine
Optional
Vault, PlaceholderAPI, HeadDB

ReferralTrack zeigt, welche Serverliste, welches Video, welche Discord-Einladung oder welcher Freund jeden Spieler auf deinen Server gebracht hat. Spieler teilen dem Server mit /referral mit, woher sie kommen, oder geben den dauerhaften Einladungscode eines Freundes ein und können dafür eine Belohnung erhalten. Alles wird in deiner eigenen Datenbank gespeichert (SQLite oder MySQL/MariaDB). Außer dem von dir konfigurierten Discord-Webhook verlässt nichts den Server.

Voraussetzungen #

  • Minecraft 1.21 oder neuer, Java 21.
  • Paper, Spigot oder Folia.
  • Vault und ein Vault-kompatibles Wirtschafts-Plugin sind optional und nur für Geldbelohnungen nötig.
  • PlaceholderAPI ist optional.
  • HeadDB und Head Database sind optional und fügen den Menüs eigene Köpfe hinzu. Ohne sie wird ein normales Bukkit-Material verwendet.

Die Datenbankbibliotheken sind im Jar enthalten, daher lädt der erste Start nichts herunter.

Installation #

  1. Lege ReferralTrack.jar in plugins/ und starte den Server.
  2. Bearbeite plugins/ReferralTrack/config.yml: deine Quellen, Belohnungen und den Discord-Webhook.
  3. Führe /referraltrack validate und danach /referraltrack reload aus.
  4. Führe /referraltrack doctor aus, um Datenbank, Belohnungen und Anbindungen zu prüfen.

Funktionen #

  • Quellcodes. Spieler geben /referral youtube (oder einen beliebigen von dir definierten Code) ein. Ein falsch getippter bekannter Code wie yotube wird dem nächstliegenden zugeordnet.
  • Dauerhafte persönliche Codes. Jeder Spieler erhält einen kollisionssicheren Einladungscode (zum Beispiel RT-AB12CD3), der an seine UUID gebunden ist und daher eine Namensänderung übersteht. Freundesnamen und Quellcodes funktionieren weiterhin.
  • Belohnungen. Geld über Vault und/oder Konsolenbefehle, mit einem Limit pro IP-Adresse, einer Prüfung auf dieselbe IP bei Freundeseinladungen, Belohnungsobergrenzen und Einladungs-Meilensteinen.
  • Verifizierte Empfehlungen (optional). Belohnungen und Ranglistengutschrift können zurückgehalten werden, bis der neue Spieler eine Schwelle für Spielzeit und Beitritte erreicht. Standardmäßig aus.
  • Betrugsprüfung (optional). Erklärbare Risikosignale können eine Empfehlung zurückhalten, damit das Team sie genehmigt oder ablehnt.
  • Kampagnen (optional). Zeitlich begrenzte Kampagnen mit eigenen Daten, Codes, Multiplikatoren, Belohnungen und Meilensteinen.
  • Spielerzentrale. /referral öffnet ein persönliches Menü mit Code, Quelle, Validierungsstatus und Belohnungen des Spielers. Auf Servern, die das unterstützen, kann sich die Zentrale als nativer Java-Dialog öffnen.
  • Team-Werkzeuge. Dashboard, Analysen, Wachstumsrangliste, Reward Rescue, Konfigurationsvalidierung und ein Zustandsbericht.
  • Discord. Sofortkarten, Tages- und Wochenberichte und eine Live-Statistiknachricht, jeweils in einen eigenen Kanal leitbar.
  • Presets und Themes. Sieben Start-Presets und drei visuelle Themes, die nur mit Bestätigung und einem Backup angewendet werden.
  • Sprachen. Englisch, Türkisch, Spanisch, Deutsch und brasilianisches Portugiesisch.

Netzwerke #

Setze in einem Netzwerk settings.join-tracking-enabled auf einem Eingangsserver (zum Beispiel der Lobby) auf true und auf den anderen auf false, und richte alle Server auf dieselbe MySQL/MariaDB-Datenbank aus. Setze settings.reward-delivery-enabled nur auf dem Server auf true, auf dem deine echte Wirtschaft läuft. Anderswo beanspruchte Belohnungen werden als ausstehend gespeichert und beim nächsten Login dort zugestellt. Jede Belohnungszeile hat serverübergreifend genau einen aktiven Zustellungsbesitzer.

Aktiviere hinter BungeeCord oder Velocity die IP-Weiterleitung auf dem Proxy. Ohne sie zeigt jeder Spieler die Adresse des Proxys, und die Prüfungen pro IP würden alle blockieren. SQLite ist kein gemeinsamer Speicher; ein Netzwerk benötigt MySQL/MariaDB.

Update #

ReferralTrack ersetzt eine angepasste config.yml nie stillschweigend. Ändert sich die Konfigurationsversion, behält es das Original als config.yml.bak-v<old>, schreibt die vollständige neue Referenz nach config.new-v<new>.yml, ändert nur die Versionsmarkierung in deiner Datei und listet beim Start fehlende Pfade auf. Mitgelieferte Standardwerte halten neue Optionen funktionsfähig, bis du sie übernimmst. Von dir bearbeitete Sprachdateien werden nicht überschrieben; fehlende Schlüssel greifen auf den mitgelieferten englischen Text zurück.