Konfiguration
Tribescore wird über drei Dateien im Plugin-Ordner konfiguriert
(ShooterGame/Binaries/Win64/ArkApi/Plugins/Tribescore/):
| Datei | Zweck |
|---|---|
config.json |
Haupteinstellungen: Lizenz, Datenbank, Aktivierung, Berechtigung, Punkte-Modifikatoren, Hologramme und Chatbefehle. |
structures.json |
Punktwerte für Strukturen, nach Baustufe und pro Blueprint. |
dinos.json |
Punktwerte und Zählregeln für Dinos, pro Spezies. |
💡 Vor dem Start validieren. Validiere dein JSON nach jeder Änderung stets (z. B. mit JSONLint). Ein Ladefehler mit dem Code
1114bedeutet einen JSON-Syntaxfehler.
Die Schlüssel LicenseKey, Verbose, LogToFile und Database werden von jedem
Bytemart-Plugin gemeinsam genutzt und sind auf der Seite
Gemeinsame Konfiguration dokumentiert. Diese Seite
behandelt nur die Schlüssel, die für Tribescore spezifisch sind.
config.json
DebugMode
Wenn true, wird die Konsole ausführlicher und du darfst Tribescore vom eigenen
Stamm verdienen — nützlich, um die Punktevergabe auf einem Entwicklungsserver zu testen.
Lasse diesen Wert auf einem Live-Server auf false.
TribescoreActivation
Verzögert die Punktevergabe global nach einem Serverstart (Wipe), damit Stämme Zeit haben, sich neu zu etablieren, bevor der Wettbewerb beginnt.
| Feld | Typ | Beschreibung |
|---|---|---|
Activation.Type |
string | "delay" — aktiviert die Punktevergabe Value Sekunden nach dem Serverstart. "timestamp" — aktiviert die Punktevergabe zu einem festen Unix-Zeitstempel. |
Activation.Value |
number | Verzögerung in Sekunden (bei delay) oder der Unix-Zeitstempel (bei timestamp). Setze auf 0, um die Funktion zu deaktivieren und die Punktevergabe sofort zu aktivieren. |
Message |
string | Wird Spielern angezeigt, die die Punktevergabe auslösen, während sie noch in der Abklingzeit ist. Der Platzhalter {cooldown} wird durch die verbleibende Zeit ersetzt. |
TribescoreEligibility
Steuert, welche Stämme abhängig von ihrer Mitgliederzahl Punkte verdienen können.
| Feld | Typ | Beschreibung |
|---|---|---|
MinPlayers |
number | Mindestanzahl an Mitgliedern (insgesamt), die ein Stamm haben muss, um Punkte zu verdienen. |
MinOnlinePlayers |
number | Mindestanzahl an Mitgliedern, die online sein müssen, damit der Stamm Punkte verdient. 0 deaktiviert diese Prüfung. |
Scoring
Das Herzstück des Plugins. Basiswerte befinden sich hier (sowie in structures.json /
dinos.json); der Unterabschnitt Modifiers multipliziert sie.
| Feld | Typ | Beschreibung |
|---|---|---|
GainLossRatio |
number | Wenn kein expliziter LossOverride gesetzt ist (in structures.json / dinos.json), beträgt der Punktverlust des Verteidigers gain × GainLossRatio. Bei 0.75 verliert ein Verteidiger 75 % dessen, was der Angreifer gewonnen hat. |
Structures.Enabled |
boolean | Aktiviert die Punktevergabe für zerstörte Strukturen. Werte werden in structures.json konfiguriert. |
Structures.DefaultValue |
number | Punkte für eine Struktur ohne Übereinstimmung bei Stufe oder Blueprint. |
Dinos.Enabled |
boolean | Aktiviert die Punktevergabe für getötete Dinos. Werte werden in dinos.json konfiguriert. |
Dinos.DefaultValue |
number | Punkte für einen Dino ohne speziesspezifische Überschreibung. |
Players.Enabled |
boolean | Aktiviert die Punktevergabe für getötete feindliche Spieler. |
Players.Value |
number | Feste Punkte, die pro getötetem feindlichen Spieler vergeben werden. |
Modifiers.OfflineProtection
Verringert (oder erhöht) die gegen einen Stamm verdienten Punkte, der bereits eine Weile vollständig offline ist — um Offline-Raiding zu unterbinden.
| Feld | Typ | Beschreibung |
|---|---|---|
Enabled |
boolean | Schaltet die Funktion ein oder aus. |
ActivatesAfter |
number | Sekunden, die ein Stamm vollständig offline sein muss, bevor der Schutz greift. |
Modifier |
number | Multiplikator, der bei Aktivierung angewendet wird. < 1 verringert den Gewinn des Angreifers (z. B. 0.75 = −25 %). |
Wird basierend auf dem Verteidiger angewendet.
Modifiers.PermissionModifiers
Erhöht (oder senkt) die Punkte basierend auf den ArkApi-Berechtigungen des Angreifers. Erfordert das Permissions-Plugin aus der ArkServerAPI.
| Feld | Typ | Beschreibung |
|---|---|---|
Enabled |
boolean | Schaltet die Funktion ein oder aus. |
TribePermissionsOnly |
boolean | Wenn true, werden nur Berechtigungen auf Stammesebene geprüft (individuelle Spielerberechtigungen werden ignoriert). |
OnlinePlayersOnly |
boolean | Wenn true, werden nur die Berechtigungen der aktuell online befindlichen Mitglieder berücksichtigt; andernfalls werden alle Mitglieder geprüft. |
Modifiers[] |
array | Paare aus Berechtigung → Multiplikator. Es gilt jeweils nur ein Modifikator; wenn mehrere zutreffen, wird der größte verwendet. |
Modifiers[].Permission |
string | Der Berechtigungsknoten, den der Spieler/Stamm besitzen muss. |
Modifiers[].Value |
number | Angewendeter Multiplikator (> 1 erhöht den Gewinn). |
Wird basierend auf dem Angreifer angewendet.
Modifiers.ScoreDifferenceRatio
Balanciert starke gegen schwache Stämme. Das verglichene Verhältnis ist die Punktzahl des
Verteidigers geteilt durch die Punktzahl des Angreifers; der Modifier des
passenden Intervalls skaliert den Gewinn des Angreifers — so werden große Stämme, die
kleine abfarmen, geschwächt, und Außenseiter, die Giganten angreifen, gestärkt.
| Feld | Typ | Beschreibung |
|---|---|---|
Enabled |
boolean | Schaltet die Funktion ein oder aus. |
Intervals[] |
array | Bänder des Verhältnisses Verteidiger-/Angreiferpunktzahl, jeweils mit einem Multiplikator. |
LowerBound / UpperBound |
number | Das Verhältnisband, das dieser Modifikator abdeckt. Verwende -1 als UpperBound des obersten Bandes, um „keine obere Grenze" auszudrücken. |
Modifier |
number | Multiplikator, der angewendet wird, wenn das Verhältnis in dieses Band fällt. |
Die Standardwerte gelesen:
- Verhältnis
≥ 2(Verteidiger hat ≥ 2× die Punktzahl des Angreifers) → 1.2×-Boost für den angreifenden Außenseiter. - Verhältnis zwischen
1.5und2→ 1.1×-Boost. - Verhältnis zwischen
0.25und0.5→ 0.6×-Abschwächung. - Verhältnis
< 0.25(Verteidiger hat weniger als ein Viertel der Punktzahl des Angreifers) → 0.25× — eine harte Abschwächung beim Abfarmen deutlich schwächerer Stämme.
Nutzt sowohl den Angreifer als auch den Verteidiger.
Holograms
Steuert die schwebenden Punktzahlen, die in der Spielwelt erscheinen, wenn sich die
Punkte ändern. Damager ist der +points-Text, der dem Angreifer angezeigt wird;
Damagee ist der -points-Text, der dem Verteidiger angezeigt wird.
| Feld | Typ | Beschreibung |
|---|---|---|
DecimalPrecision |
number | Anzahl der Nachkommastellen, die im {points}-Wert angezeigt werden. |
LifeSpan |
number | Sekunden, die das Hologramm sichtbar bleibt. |
Scale.X / Scale.Y |
number | Textgröße auf der jeweiligen Achse. |
FadeTime.In / FadeTime.Out |
number | Ein- / Ausblenddauer in Sekunden. |
Velocity.X/Y/Z |
number | Driftgeschwindigkeit des Textes; der Standardwert lässt ihn nach oben schweben (Z). |
Damager / Damagee |
object | Die Gewinn- / Verlust-Einblendungen. Enabled schaltet jede einzeln ein oder aus; Text verwendet den Platzhalter {points}; Color ist RGB (0–255). |
Spieler können Hologramme für sich selbst mit dem Chatbefehl /holograms ein- oder
ausschalten (siehe Befehle).
ChatCommands
Aktiviert, benennt um und gestaltet die drei In-Game-Chatbefehle. Jeder hat einen
Enabled-Schalter und einen anpassbaren Command-Auslöser; das Deaktivieren eines
Befehls hebt seine Registrierung vollständig auf.
Gemeinsame Felder bei jedem Befehl: TextSize (number), Color (RGB {R,G,B}) und
DisplayTime (Sekunden, die die Nachricht auf dem Bildschirm bleibt).
Holograms — schaltet die spielerbezogene Hologrammanzeige um. On und Off
definieren jeweils die Bestätigungsnachricht (Text, TextSize, Color,
DisplayTime), die beim Umschalten angezeigt wird.
Leaderboard — gibt die besten Stämme aus.
| Feld | Beschreibung |
|---|---|
Lines |
Wie viele Stämme aufgelistet werden. |
Text |
Zeilenformat. Platzhalter: {rank}, {tribe}, {score}. |
PerRankColor |
Optionale Farbüberschreibungen pro Platzierung, indexiert nach Rang ("1", "2", "3", …), jeweils ein RGB-Objekt. |
MyTribeRank — gibt den Rang des eigenen Stammes des Aufrufers aus. Text
unterstützt dieselben Platzhalter {rank}, {tribe}, {score}.
Messages
Reserviert für die Anpassung von Nachrichten; standardmäßig leer ({}).
structures.json
Punktwerte für Strukturen, zuerst nach Baustufe aufgelöst und dann durch spezifische
Blueprints überschrieben. Eine Struktur, die auf nichts passt, verwendet
DefaultValue.
| Feld | Typ | Beschreibung |
|---|---|---|
Tiers |
object | Werte pro Stufe, indexiert nach Baumaterial (Thatch, Wood, Stone, Adobe, Metal, Tek). |
Tiers.<tier>.Value |
number | Punkte, die der Angreifer für das Zerstören einer Struktur dieser Stufe gewinnt. |
Tiers.<tier>.LossOverride |
number | (optional) Feste Punkte, die der Verteidiger verliert. Wenn ausgelassen, wird Value × GainLossRatio verwendet. |
DefaultValue |
number | Ausweichwert, wenn eine Struktur auf keine Stufe oder keinen benutzerdefinierten Eintrag passt. |
Customs[] |
array | Überschreibungen pro Blueprint, die Vorrang vor dem Stufenwert haben. |
Customs[].BlueprintPath |
string | Vollständiger Blueprint-Pfad der Struktur. Verwende ts.addstructure, um die Struktur, die du gerade ansiehst, automatisch anzuhängen (siehe Befehle). |
Customs[].Value |
number | Punkte für diesen spezifischen Blueprint. |
Customs[].LossOverride |
number | (optional) Fester Verlust für diesen Blueprint. |
dinos.json
Punktwerte und Zählregeln pro Dino-Spezies. Defaults gilt für jeden Dino, der nicht in
Customs aufgeführt ist.
| Feld | Typ | Beschreibung |
|---|---|---|
Value |
number | Punkte, die der Angreifer für das Töten dieses Dinos gewinnt. |
LossOverride |
number | (optional) Feste Punkte, die der Verteidiger verliert. Wenn ausgelassen, wird Value × GainLossRatio verwendet. |
CountBabies |
boolean | Ob das Töten von Baby-/Jungdinos Punkte bringt. |
CountWithoutSaddle |
boolean | Ob ein gezähmtes Tier ohne Sattel Punkte bringt. |
CountNotMounted |
boolean | Ob ein Dino, der gerade nicht geritten wird, Punkte bringt. |
ScoreFromWild |
boolean | Ob das Töten eines wilden (ungezähmten) Dinos dieser Spezies Punkte bringt. |
Customs[].BlueprintPath |
string | Vollständiger Blueprint-Pfad der Spezies, auf die diese Überschreibung abzielt. |
Jeder Customs-Eintrag kann eine beliebige Teilmenge dieser Felder setzen; nicht
angegebene Felder greifen auf Defaults zurück.