Перейти к содержанию

🏆 Tribescore

Tribescore — это соревновательная система подсчёта очков племён для ARK: Survival Evolved. Племена зарабатывают tribescore, уничтожая вражеские постройки, динозавров и игроков в PvP. Очки сохраняются в MySQL и отображаются через таблицу лидеров и систему рангов, а плавающие «голограммные» числа всплывают в мире каждый раз, когда очки зарабатываются или теряются.

Начисление очков проходит через настраиваемый мультипликативный конвейер модификаторов, что позволяет сохранять честность соревнования: защита офлайн-племён, балансировка по разнице очков между сильными и слабыми племенами, бусты на основе прав доступа и временные бусты, выдаваемые администратором.

Возможности

  • PvP-начисление очков: Начисление очков за уничтожение вражеских построек, убийство прирученных динозавров и убийство вражеских игроков. Каждый источник настраивается отдельно и может быть отключён.
  • Значения по тирам и по чертежам: Постройки оцениваются по тиру постройки (Thatch → Tek) с переопределениями по конкретным чертежам; динозавры оцениваются по видам с детальными флагами (детёныши, без седла, дикие и т. д.).
  • Конвейер модификаторов: Балансируйте игру с помощью защиты офлайн-племён, коэффициента разницы очков «сильный против слабого», модификаторов прав доступа и временных бустов.
  • Таблица лидеров и ранги: Внутриигровые чат-команды /leaderboard и /triberank, работающие на основе постоянной таблицы лидеров в MySQL.
  • Внутриигровые голограммы: Настраиваемый плавающий текст +points / -points, который игроки могут включать или отключать для себя.
  • Инструменты администратора: Выдавайте/забирайте очки, предоставляйте временные бусты, проводите аудит истории транзакций племени и оценивайте стоимость базы — всё из консоли/RCON.
  • Сопутствующий Discord-бот: Входящий в комплект бот публикует живую таблицу лидеров в Discord, добавляет слэш-команды для поиска племён и отмечает подозрительное начисление очков. См. Discord-бот.

Как работает начисление очков

Когда вражеская постройка, динозавр или игрок уничтожены, базовое значение очков берётся из таблиц начисления (structures.json, dinos.json или фиксированного значения игрока в config.json). Затем это базовое значение умножается через конвейер модификаторов:

1
2
3
4
5
final score = base points
            × OfflineProtection(defender)
            × ScoreDifferenceRatio(attacker, defender)
            × PermissionModifier(attacker)
            × TimedBoost(attacker, type)

Атакующее племя получает результат; обороняющееся племя теряет (настраиваемое отдельно) количество. Все параметры смотрите на странице Конфигурация.

Установка

  1. Убедитесь, что на вашем сервере установлена поддерживаемая версия ArkApi (Tribescore требует ArkApi 3.51 или новее).
  2. Настройте базу данных MySQL/MariaDB — см. Общую конфигурацию.
  3. Скачайте Tribescore.zip с вашей панели управления Bytemart.
  4. Остановите сервер (сначала выполните saveworld) или выгрузите любую предыдущую версию командой plugins.unload Tribescore.
  5. Распакуйте архив в папку Tribescore внутри ShooterGame/Binaries/Win64/ArkApi/Plugins/.
  6. Откройте config.json и заполните ваш LicenseKey и учётные данные Database (см. Конфигурация).
  7. Запустите сервер и убедитесь, что при запуске нет ошибок.

Обновление

  • Вручную: plugins.unload Tribescore, замените файлы, затем plugins.load Tribescore.
  • Автоматически (горячая перезагрузка): переименуйте новый Tribescore.dll в Tribescore.dll.arkapi и поместите его в папку плагина — ArkApi загрузит новую версию и автоматически выгрузит старую.

Всегда проверяйте список изменений на предмет изменений в конфигурации при обновлении; такой инструмент, как Diffchecker, помогает выявить новые или переименованные ключи.


Дальнейшие шаги:

  • Конфигурация — полный config.json, а также structures.json и dinos.json.
  • Команды — админ-команды консоли/RCON и внутриигровые чат-команды.
  • Discord-бот — сопутствующий бот: живая таблица лидеров, слэш-команды и выявление злоупотреблений.
  • Общая конфигурация — общие ключи LicenseKey, Database, LogToFile и Verbose.