Конфигурация
Tribescore настраивается через три файла в папке плагина
(ShooterGame/Binaries/Win64/ArkApi/Plugins/Tribescore/):
| Файл | Назначение |
|---|---|
config.json |
Основные настройки: лицензия, база данных, активация, право участия, модификаторы начисления очков, голограммы и чат-команды. |
structures.json |
Значения очков для построек, по тиру постройки и по конкретным чертежам. |
dinos.json |
Значения очков и правила подсчёта для динозавров, по видам. |
💡 Проверяйте перед запуском. Всегда проверяйте ваш JSON после редактирования (например, через JSONLint). Код ошибки загрузки
1114означает синтаксическую ошибку JSON.
Ключи LicenseKey, Verbose, LogToFile и Database являются общими для каждого
плагина Bytemart и задокументированы на странице
Общая конфигурация. Эта страница описывает только
ключи, уникальные для Tribescore.
config.json
DebugMode
Когда установлено true, консоль становится более подробной, и вам разрешается
зарабатывать tribescore со своего собственного племени — полезно для тестирования
начисления очков на dev-сервере. На боевом сервере оставьте false.
TribescoreActivation
Глобально задерживает начисление очков после запуска сервера (вайпа), чтобы у племён было время восстановиться до начала соревнования.
| Поле | Тип | Описание |
|---|---|---|
Activation.Type |
string | "delay" — включить начисление очков через Value секунд после запуска сервера. "timestamp" — включить начисление очков в фиксированный Unix timestamp. |
Activation.Value |
number | Задержка в секундах (для delay) или Unix timestamp (для timestamp). Установите 0, чтобы отключить функцию и включить начисление очков немедленно. |
Message |
string | Показывается игрокам, которые запускают начисление очков, пока оно ещё на кулдауне. Плейсхолдер {cooldown} заменяется на оставшееся время. |
TribescoreEligibility
Определяет, какие племена могут зарабатывать очки, в зависимости от размера состава.
| Поле | Тип | Описание |
|---|---|---|
MinPlayers |
number | Минимальное количество участников (всего), которое должно быть у племени, чтобы зарабатывать очки. |
MinOnlinePlayers |
number | Минимальное количество участников, которые должны быть онлайн, чтобы племя зарабатывало очки. 0 отключает эту проверку. |
Scoring
Сердце плагина. Здесь находятся базовые значения (а также в structures.json /
dinos.json); подраздел Modifiers умножает их.
| Поле | Тип | Описание |
|---|---|---|
GainLossRatio |
number | Когда явный LossOverride не задан (в structures.json / dinos.json), потеря очков обороняющегося составляет gain × GainLossRatio. При 0.75 обороняющийся теряет 75% от того, что получил атакующий. |
Structures.Enabled |
boolean | Включить начисление очков за уничтоженные постройки. Настройте значения в structures.json. |
Structures.DefaultValue |
number | Очки за постройку без совпадения по тиру или чертежу. |
Dinos.Enabled |
boolean | Включить начисление очков за убитых динозавров. Настройте значения в dinos.json. |
Dinos.DefaultValue |
number | Очки за динозавра без переопределения по конкретному виду. |
Players.Enabled |
boolean | Включить начисление очков за убитых вражеских игроков. |
Players.Value |
number | Фиксированное количество очков, начисляемое за убийство вражеского игрока. |
Modifiers.OfflineProtection
Уменьшает (или увеличивает) очки, заработанные против племени, которое полностью находилось офлайн какое-то время — препятствуя офлайн-рейдам.
| Поле | Тип | Описание |
|---|---|---|
Enabled |
boolean | Переключатель функции. |
ActivatesAfter |
number | Количество секунд, которое племя должно быть полностью офлайн, прежде чем защита вступит в силу. |
Modifier |
number | Множитель, применяемый после активации. < 1 уменьшает выигрыш атакующего (например, 0.75 = −25%). |
Применяется на основе обороняющегося.
Modifiers.PermissionModifiers
Усиливает (или ослабляет) очки на основе прав доступа ArkApi атакующего. Требует плагин Permissions из ArkServerAPI.
| Поле | Тип | Описание |
|---|---|---|
Enabled |
boolean | Переключатель функции. |
TribePermissionsOnly |
boolean | Когда установлено true, проверять только права уровня племени (игнорировать индивидуальные права игроков). |
OnlinePlayersOnly |
boolean | Когда установлено true, учитывать только права участников, находящихся в данный момент онлайн; иначе проверяются все участники. |
Modifiers[] |
array | Пары право → множитель. Одновременно применяется только один модификатор; если совпадают несколько, используется наибольший. |
Modifiers[].Permission |
string | Узел права доступа, которым должен обладать игрок/племя. |
Modifiers[].Value |
number | Применяемый множитель (> 1 увеличивает выигрыш). |
Применяется на основе атакующего.
Modifiers.ScoreDifferenceRatio
Балансирует сильные и слабые племена. Сравниваемое отношение — это очки
обороняющегося, делённые на очки атакующего; Modifier совпадающего
интервала масштабирует выигрыш атакующего — так что большие племена, фармящие
маленькие, ослабляются, а аутсайдеры, атакующие гигантов, усиливаются.
| Поле | Тип | Описание |
|---|---|---|
Enabled |
boolean | Переключатель функции. |
Intervals[] |
array | Диапазоны отношения очков обороняющегося/атакующего, каждый со своим множителем. |
LowerBound / UpperBound |
number | Диапазон отношения, который покрывает этот модификатор. Используйте -1 в качестве UpperBound верхнего диапазона, чтобы обозначить «без верхнего предела». |
Modifier |
number | Множитель, применяемый, когда отношение попадает в этот диапазон. |
Как читать значения по умолчанию:
- Отношение
≥ 2(у обороняющегося ≥ 2× очков атакующего) → 1.2× буст для атакующего аутсайдера. - Отношение между
1.5и2→ 1.1× буст. - Отношение между
0.25и0.5→ 0.6× ослабление. - Отношение
< 0.25(у обороняющегося менее четверти очков атакующего) → 0.25× — жёсткое ослабление за фарм гораздо более слабых племён.
Использует оба — и атакующего, и обороняющегося.
Holograms
Управляет плавающими числами очков, которые появляются в мире при изменении счёта.
Damager — это текст +points, показываемый атакующему; Damagee — это текст
-points, показываемый обороняющемуся.
| Поле | Тип | Описание |
|---|---|---|
DecimalPrecision |
number | Количество знаков после запятой, показываемое в значении {points}. |
LifeSpan |
number | Количество секунд, в течение которых голограмма остаётся видимой. |
Scale.X / Scale.Y |
number | Размер текста по каждой оси. |
FadeTime.In / FadeTime.Out |
number | Длительность появления / исчезновения в секундах. |
Velocity.X/Y/Z |
number | Скорость дрейфа текста; по умолчанию он плывёт вверх (Z). |
Damager / Damagee |
object | Всплывающие окна выигрыша / потери. Enabled переключает каждое; Text использует плейсхолдер {points}; Color — это RGB (0–255). |
Игроки могут включать или отключать голограммы для себя с помощью чат-команды
/holograms (см. Команды).
ChatCommands
Включает, переименовывает и стилизует три внутриигровые чат-команды. Каждая имеет
переключатель Enabled и настраиваемый триггер Command; отключение одной из них
полностью снимает её регистрацию.
Общие поля для каждой команды: TextSize (число), Color (RGB {R,G,B}) и
DisplayTime (секунды, в течение которых сообщение остаётся на экране).
Holograms — переключает отображение голограмм для каждого игрока. On и Off
каждое задаёт сообщение-подтверждение (Text, TextSize, Color, DisplayTime),
показываемое при переключении.
Leaderboard — выводит топ племён.
| Поле | Описание |
|---|---|
Lines |
Сколько племён показывать в списке. |
Text |
Формат строки. Плейсхолдеры: {rank}, {tribe}, {score}. |
PerRankColor |
Необязательные переопределения цвета для каждого места, ключом является ранг ("1", "2", "3", …), каждое — объект RGB. |
MyTribeRank — выводит ранг собственного племени вызывающего. Text
поддерживает те же плейсхолдеры {rank}, {tribe}, {score}.
Messages
Зарезервировано для настройки сообщений; по умолчанию пусто ({}).
structures.json
Значения очков для построек, определяемые сначала по тиру постройки, затем
переопределяемые конкретными чертежами. Постройка, которая ни с чем не
совпадает, использует DefaultValue.
| Поле | Тип | Описание |
|---|---|---|
Tiers |
object | Значения по тирам, ключом является материал постройки (Thatch, Wood, Stone, Adobe, Metal, Tek). |
Tiers.<tier>.Value |
number | Очки, которые атакующий получает за уничтожение постройки этого тира. |
Tiers.<tier>.LossOverride |
number | (необязательно) Фиксированные очки, которые теряет обороняющийся. Если опущено, используется Value × GainLossRatio. |
DefaultValue |
number | Резервное значение, когда постройка не совпадает ни с одним тиром или пользовательской записью. |
Customs[] |
array | Переопределения по конкретным чертежам, которые имеют приоритет над значением тира. |
Customs[].BlueprintPath |
string | Полный путь чертежа постройки. Используйте ts.addstructure, чтобы автоматически добавить постройку, на которую вы смотрите (см. Команды). |
Customs[].Value |
number | Очки за этот конкретный чертёж. |
Customs[].LossOverride |
number | (необязательно) Фиксированная потеря для этого чертежа. |
dinos.json
Значения очков и правила подсчёта по видам динозавров. Defaults применяется к
каждому динозавру, не указанному в Customs.
| Поле | Тип | Описание |
|---|---|---|
Value |
number | Очки, которые атакующий получает за убийство этого динозавра. |
LossOverride |
number | (необязательно) Фиксированные очки, которые теряет обороняющийся. Если опущено, используется Value × GainLossRatio. |
CountBabies |
boolean | Засчитывается ли убийство детёнышей/молодых динозавров. |
CountWithoutSaddle |
boolean | Засчитывается ли прирученный динозавр без седла. |
CountNotMounted |
boolean | Засчитывается ли динозавр, на котором в данный момент не едут верхом. |
ScoreFromWild |
boolean | Засчитывается ли убийство дикого (неприрученного) динозавра этого вида. |
Customs[].BlueprintPath |
string | Полный путь чертежа вида, на который нацелено это переопределение. |
Каждая запись Customs может задавать любое подмножество этих полей;
неуказанные поля берутся из Defaults.