Skip to main content

Glossary

Централизованный глоссарий терминов GOLOOT.


B

Bot Status

Синонимы: BotRegistrationState, статус бота

Состояние взаимодействия пользователя с Telegram ботом. Enum значения:

  • NEW_USER — создан в TMA, никогда не писал боту
  • ACTIVE — написал /start боту
  • REACTIVATED — разблокировал бота после блокировки
  • BLOCKED — заблокировал бота

Используется в онбординге для проверки подписки на бота.

См. также: Onboarding


Buff

Синонимы: Бафф, бустер

Временный бонус, активируемый из инвентаря. Типы: XP Catalyst (множитель опыта), Scrap Catalyst (множитель валюты), Streak Shield (защита стрика). Баффы одного типа и тира стакаются (продлевают время), разных тиров — нет.

См. также: Streak Shield, Buffs


Buff Event

Синонимы: Событие баффа

Запись в истории использования баффа. Типы: ACTIVATION (активация), EXTENSION (продление), APPLICATION (применение множителя), SHIELD_USE (использование щита).

См. также: Buff, Buffs


Ban Appeal

Синонимы: Апелляция бана

Заявка забаненного пользователя на пересмотр бана. Использует telegramAuthLight для аутентификации. Лимиты: 1 апелляция/день, автоблокировка после 3 отклонений.

См. также: Ticket, Feedback


BannedSteamId

Синонимы: Забаненный Steam ID

Запись о заблокированном Steam-аккаунте в таблице banned_steam_ids. Используется для предотвращения обхода банов через создание новых аккаунтов.

Поля:

  • steamId — SteamID64 забаненного аккаунта (unique)
  • originalUserId — ID изначально забаненного пользователя
  • reason — причина бана (копия User.banReason)

Механика: При попытке привязать забаненный Steam ID — пользователь автоматически банится как связанный с нарушителем.

См. также: Steam Verification, Steam Verification


Boost

Синонимы: Буст, множитель удачи

Увеличение вероятности выпадения материалов (FRAGMENT, BLUEPRINT) для игроков в Luck Pool. Базовый буст × 3.0, максимальный × 12.9 при максимальном Seniority.

См. также: Luck Pool, Seniority


Broadcast

Синонимы: Массовая рассылка, mass push

Отправка push-уведомления всем подходящим пользователям. Обрабатывается батчами (25 user/batch, 1s delay) для соблюдения лимитов Telegram API (30 msg/sec).

Retry: 3 попытки с exponential backoff (5 → 15 → 45 мин)

См. также: Push Notification, Telegram Bot


Budget Period

Синонимы: Период бюджета

Временной интервал (10 дней) для контроля расходов на крафт. Бюджет периода: 3333₽ (333₽/день). Остаток переносится внутри месяца, сгорает в конце.

См. также: Budget Control


C

Coupon

Синонимы: Купон, Free Case Open

Право на бесплатное открытие платного кейса. Хранится в UserFreeCaseOpens. Источник: награда за квесты.

См. также: Cases


Craft

Синонимы: Крафт, создание предмета

Процесс создания скина из материалов (FRAGMENT, BLUEPRINT, RESOURCE). Требует Scrap и активный сезон. Материалы выпадают из кейсов, активные игроки получают буст в Luck Pool.

Ключевые модели:

  • CraftHistory — история крафтов пользователя
  • CraftBudgetLog — лог для Budget Control System

См. также: Craft System, Item, Luck Pool


Craft Recipe

Синонимы: Рецепт крафта

JSON-объект в Item.craftRecipe, описывающий материалы для создания скина.

Структура:

{
"materials": [
{ "itemId": "blueprint-xxx", "quantity": 1 },
{ "itemId": "fragment-xxx", "quantity": 5 }
]
}

Дополнительно требуется Item.craftScrapCost Scrap.

См. также: Craft


D

Denormalized Fields

Синонимы: Денормализованные поля, cached counters

Предрассчитанная статистика, хранящаяся напрямую на User модели для быстрого чтения (O(1) вместо O(n) агрегации).

Примеры полей:

  • scrapFromQuizzes, scrapFromCases, scrapFromSpins — источники Scrap
  • xpFromQuests, xpFromAchievements — источники XP
  • quizzesCompleted, correctAnswers, casesOpened — счётчики активности

Trade-off: Быстрые чтения, но каждая операция должна атомарно обновлять счётчики.

См. также: Profile


F

Feed Event

Синонимы: Событие ленты, Live Feed Event

Событие активности пользователя, отображаемое в публичной ленте. Типы: CASE_OPENED, SPIN_WON, ITEM_CRAFTED, ITEM_WITHDRAWN, ACHIEVEMENT_UNLOCKED, REFERRAL_BONUS, RAFFLE_WIN.

Фильтруется по значимости: только TIER_1+ предметы, Scrap >= 500, XP >= 1000. Username анонимизируется (@ale***).

См. также: Live Feed


I

InviteSession

Синонимы: Сессия приглашения

Промежуточная сущность для отслеживания перехода по реферальной/UTM ссылке до регистрации пользователя.

Lifecycle: PENDING → ACTIVATED (при регистрации) или EXPIRED (через 72ч)

Данные: telegramId, metadata (JSON с referralCode или UTM параметрами), expiresAt

См. также: Referral, Referral Code, Referrals


Item

Синонимы: Предмет

Объект в инвентаре пользователя. Типы: SKIN (финальный скин), BLUEPRINT (рецепт), FRAGMENT (осколок), RESOURCE (ресурс), BUFF (временный бафф).

См. также: Inventory, Salvage


L

Lazy Reset

Синонимы: Ленивый сброс

Паттерн сброса прогресса DAILY/WEEKLY квестов при первом запросе пользователя после истечения периода, а не по cron.

Преимущества: Равномерная нагрузка (нет пика в полночь), reward не сгорает (если квест COMPLETED но не CLAIMED — сброс не происходит).

См. также: Quest, Quest Rotation


Leaderboard

Синонимы: Рейтинг, таблица лидеров

Ранжированный список игроков по XP в текущем сезоне. Обновляется каждые 10 минут через RankUpdateJob. Показывает топ-10 + позицию текущего пользователя с distanceToTop10.

См. также: Season, XP


Luck Pool

Синонимы: Пул удачи

Механика поощрения активных игроков через увеличение вероятностей. Игрок попадает в пул при достижении 50% прогресса крафта любого скина. Участники пула получают Boost к вероятности материалов.

См. также: Boost, Seniority, Budget Control


O

Onboarding

Синонимы: Активация, регистрация, activation workflow

Процесс верификации подписок (бот + канал) перед предоставлением доступа к приложению. Гейтинг для контролируемой воронки входа пользователей.

Шаги онбординга:

  1. bot_subscription — пользователь написал /start боту
  2. channel_subscription — пользователь подписан на Telegram канал

Ключевая особенность: OnboardingService только проверяет подписки, активация InviteSession происходит отдельно в auth flow.

См. также: Bot Status, InviteSession, Onboarding


P

Passive Income

Синонимы: Пассивный доход

Процент от заработка Scrap приглашённого пользователя, автоматически начисляемый рефереру.

Формула: passiveAmount = floor(scrapAmount × PASSIVE_INCOME_PERCENT / 100)

Конфигурация: 10% по умолчанию (REFERRAL_PASSIVE_INCOME_PERCENT)

Минимум: 1 Scrap если исходный заработок > 0

См. также: Referral, Referrals


Promo Code

Синонимы: Промокод, promotional code

Код для получения бонусов (SCRAP, XP, предметы, купоны на кейсы) в рамках маркетинговых кампаний.

Особенности:

  • Одноразовый per telegramId (защита от мультиаккаунтов)
  • Может быть ограничен по времени (startsAt, expiresAt) и количеству активаций (maxRedemptions)
  • Может быть только для новых пользователей (onlyNewUsers: < 24h + без prior redemptions)
  • Атрибутируется к UTM-кампании при активации

См. также: Reward Snapshot, Coupon, Promo Codes


Push Notification

Синонимы: Пуш, уведомление

Сообщение, отправляемое пользователю через Telegram бота. Поддерживает текст, изображения, кнопки с click tracking.

Статусы: PENDING → SENDING → SENT/FAILED/CANCELLED

Особенности:

  • Bot-blocked detection → автообновление User.botStatus
  • Scheduled sending через PushSchedulerService
  • Массовая рассылка через BroadcastService

См. также: Broadcast, Telegram Bot


Q

Quest

Синонимы: Квест, задание

Задача для пользователя с наградой за выполнение.

Типы (по периоду): PERMANENT, DAILY, WEEKLY, EVENT.

Категории (по действию): QUIZ, CASES, SOCIAL, SPECIAL, COLLECTION, RECYCLE, RUST.

Поддерживает Shared Progress (одно действие засчитывается во все подходящие квесты) и Lazy Reset (сброс при запросе, не по cron).

См. также: Quest Rotation, Quests


Quest Rotation

Синонимы: Ротация квестов

Механика выбора фиксированных наборов DAILY/WEEKLY квестов из пула.

Seeded shuffle на основе даты — все пользователи видят одинаковые квесты в один день.

  • DAILY: 3 квеста
  • WEEKLY: 1 квест

См. также: Quest


Quiz

Синонимы: Квиз, викторина

Вопрос с вариантами ответов для TG канала. Автоматически публикуется после поста, живёт ~3 часа, затем удаляется. Типы: SINGLE (один правильный ответ), MULTIPLE (несколько правильных). Награда: Scrap за правильный ответ (по умолчанию 100). XP/SP планируются.

См. также: Quiz Category, Quizzes


Quiz Category

Синонимы: Категория квизов

Группировка квизов по тематике (например "Rust", "Крафт"). Иерархия: Category → Subcategory → Quiz. При деактивации категории каскадно деактивируются все её подкатегории и квизы.

См. также: Quiz


Quiz Publication

Синонимы: Публикация квиза

Автоматическая публикация квиза в discussion group Telegram канала после поста. Реализована в TelegramQuizService.

Механика:

  • Fisher-Yates shuffle вариантов ответов
  • Сохранение shuffledOrder для корректной валидации
  • Real-time статистика в сообщении ("X ответов • Y% правильных")
  • Expiration: 24ч (production), 30сек (test)

См. также: Quiz, Telegram Bot


R

Raffle

Синонимы: Розыгрыш, лотерея

Еженедельный розыгрыш скинов за Streak Points. Пользователи покупают билеты, победитель определяется случайным образом. Розыгрыш каждое воскресенье в 20:00 UTC. Параметры зависят от tier приза (50-250 билетов).

См. также: Streak Points, Streaks


Raffle Ticket

Синонимы: Билет розыгрыша

Право на участие в розыгрыше. Покупается за Streak Points. Цена прогрессивная: 100 SP (билеты 1-5), 150 SP (6-15), 200 SP (16-30), 300 SP (31-50).

См. также: Raffle, Streak Points


Referral

Синонимы: Реферал, приглашённый друг

Связь между пользователем-реферером и приглашённым пользователем. Создаётся при активации InviteSession.

Данные: referrerId, referredId (unique), bonusXpClaimed, bonusScrapClaimed, passiveScrapEarned

Награды:

  • Рефереру: +100 XP при активации
  • Приглашённому: +500 Scrap при активации
  • Пассивный доход: 10% от заработка реферала (до конца сезона)

См. также: Referral Code, Passive Income, Referrals


Referral Code

Синонимы: Реферальный код, инвайт-код

Уникальный код пользователя для генерации реферальных ссылок.

Формат ссылки: https://t.me/bot/app?startapp=ref_CODE

Ограничения: Один код на пользователя (userId unique), код автоматически создаётся при первом запросе.

Аналитика: clicksCount, связь с ReferralClickAnalytics для детального трекинга.

См. также: Referral, InviteSession, Referrals


Reward Snapshot

Синонимы: Снапшот награды

JSON-копия награды на момент активации промокода. Хранит immutable историю того, что именно получил пользователь, независимо от последующих изменений конфигурации промокода.

Структура:

{
"type": "SCRAP",
"amount": 500,
"itemId": null,
"itemName": null,
"caseId": null,
"caseName": null
}

Зачем нужен: Если админ изменит награду промокода после активации, история останется корректной — пользователь увидит то, что реально получил.

См. также: Promo Code, Promo Codes


Rust Quest

Синонимы: Раст-квест, игровой квест

Квест категории RUST, прогресс которого отслеживается через Rust плагин на игровом сервере.

Типы событий:

  • TIME — наиграть N минут
  • COMMAND — выполнить команду
  • GATHER — собрать ресурсы
  • LOOT_CONTAINER — открыть контейнеры
  • LOOT_ITEM — получить предметы
  • KILL_ANIMAL — убить животных

Требования: Привязанный Steam аккаунт, запуск квеста через /start.

См. также: Rust Webhook, Quest, Rust Integration


Rust Webhook

Синонимы: Вебхук Rust плагина

HTTP-событие, отправляемое Rust плагином при игровых действиях игрока.

Содержит: eventType, steamId, serverId, timestamp, data (детали события).

Аутентификация: Bearer API Key уникальный для каждого сервера.

См. также: Rust Quest, Rust Integration


S

Salvage

Синонимы: Разбор, утилизация

Конвертация предмета (BLUEPRINT, FRAGMENT, RESOURCE) в опыт (XP). Формула: XP = item.salvageXP × quantity. Недоступен между сезонами (COUNTDOWN).

См. также: Item, Inventory


Scrap

Синонимы: Скрап

Основная внутриигровая валюта. Получается за активность (кейсы, спины, квесты). Тратится на открытие платных кейсов и спинов.


Shared Progress

Синонимы: Общий прогресс

Паттерн в системе квестов: одно действие пользователя засчитывается во ВСЕ подходящие квесты одновременно.

Пример: Пройденный квиз про оружие увеличивает прогресс: "Пройди 5 квизов про оружие" + "Пройди 10 любых квизов" + ежедневный "Пройди 3 квиза".

Реализация: QuestProgressService.incrementCategoryProgress() в одной транзакции.

См. также: Quest, Quests


Season

Синонимы: Сезон

Временной соревновательный период (3 месяца) с рейтингом по XP. Статусы: COUNTDOWN → ACTIVE → COMPLETED. При завершении сбрасывается прогресс всех пользователей, топ-10 получают скины.

Длительность 3 месяца выбрана для контроля накопления предметов и объёма выводов.

См. также: Season Reward, Season Reset, Seasons


Season Reset

Синонимы: Сброс сезона, межсезонье

Полный сброс прогресса пользователей при завершении сезона:

  • Scrap, XP, level, streaks → 0
  • UserInventory (кроме SEASON_REWARD и SKIN items) → удаляется
  • QuizResult, UserQuest, UserAchievement → сбрасывается

Сохраняется: friendsInvited, SEASON_REWARD items, SKIN items.

См. также: Season, Seasons


Season Reward

Синонимы: Награда сезона

Скин Steam, выдаваемый топ-10 игрокам при завершении сезона.

ПозицияTier
#1legendary
#2-3mythical
#4-10epic

Хранится в инвентаре с sourceType: SEASON_REWARD (не сбрасывается между сезонами).

См. также: Season, Reward Tier


Reward Tier

Синонимы: Уровень награды

Категория сезонной награды по ценности: legendary, mythical, epic. Определяется по позиции в рейтинге при завершении сезона.

См. также: Season Reward


Seniority

Синонимы: Стаж, activePeriods

Количество периодов (10 дней), в течение которых игрок был активен в Luck Pool. Влияет на множитель Boost: × 1.2 за каждый период, максимум × 4.3 при 9 периодах.

При крафте скина Seniority сбрасывается до 1 (anti-abuse механика).

См. также: Luck Pool, Boost


Steam Verification

Синонимы: Верификация Steam, Steam linking

Процесс валидации Steam Trade URL для получения SteamID и верификации аккаунта перед выводом скинов.

Два типа верификации:

  • Автоматическая: API проверка библиотеки, возраста аккаунта, количества игр
  • Ручная: Одобрение администратором для edge cases (низкая стоимость библиотеки, новый аккаунт)

Проверяемые поля:

  • steamAccountCreatedAt — возраст аккаунта
  • steamLibraryValueUsd — стоимость библиотеки
  • steamGamesCount — количество игр

См. также: Steam Verification, Steam Trade URL, Withdraw Readiness


Steam Trade URL

Синонимы: Trade URL, Trade Link

Уникальная ссылка Steam для получения трейд-офферов. Формат: https://steamcommunity.com/tradeoffer/new/?partner={ID}&token={TOKEN}.

Содержит:

  • partner — Partner ID (steamId - 76561197960265728)
  • token — Уникальный токен для авторизации трейда

Использование:

  • Извлечение SteamID64 при верификации
  • Отправка трейд-офферов при выводе скинов

См. также: Steam Verification, Trade Offer


Streak

Синонимы: Стрик, серия

Количество дней подряд, когда пользователь заходил в приложение и забирал награду. Влияет на множитель Streak Points: от ×1.0 (1-6 дней) до ×2.5 (56+ дней).

См. также: Streak Points, Streak Shield, Streaks


Streak Decay

Синонимы: Сгорание очков, decay

Механика списания Streak Points при неактивности. После 7 дней без входа: -10% баланса ежедневно.

Формула: newBalance = currentBalance × (0.9 ^ daysInactive)

См. также: Streak Points


Streak Multiplier

Синонимы: Множитель стрика

Коэффициент увеличения ежедневной награды в зависимости от длины стрика.

ДниМножитель
1-6×1.0
7-13×1.2
14-27×1.5
28-55×2.0
56+×2.5

См. также: Streak, Streak Points


Streak Points

Синонимы: SP, очки серии, очки лояльности

Валюта лояльности. Начисляется за ежедневные входы (daily claim). Формула: BASE (50) × multiplier + topBonus. Используется для покупки билетов в розыгрышах и открытия Streak Cases.

См. также: Streak, Raffle Ticket, Streak Decay


Streak Shield

Синонимы: Щит стрика, защита серии

Бафф-предмет, защищающий стрик от сброса при пропуске дня. Выпадает из кейсов. Автоматически используется при пропуске (1 shield = 1 день защиты). Лимит: 3 активных shield одновременно.

См. также: Streak, Buff, Buffs


T

Tier

Синонимы: Редкость, Rarity

Уровень редкости предмета (TIER_0–TIER_5). Определяет визуальные стили: цвет рамки и градиент.

TierНазваниеЦвет
TIER_0ОбычныйСерый
TIER_1НеобычныйЗелёный
TIER_2РедкийСиний
TIER_3ЭпическийФиолетовый
TIER_4МифическийКрасный
TIER_5ЛегендарныйЗолотой

SCRAP/XP не имеют tier (null → TIER_0). FRAGMENT/BLUEPRINT наследуют от targetSkin.

См. также: Tier System


Ticket

Синонимы: Тикет, обращение

Запрос пользователя в службу поддержки. Типы: PROBLEM, SUGGESTION, VERIFICATION_REQUEST, BAN_APPEAL, WITHDRAWAL_ISSUE. Статусы: NEW → IN_PROGRESS → RESOLVED. Auto-close после 10 дней неактивности.

См. также: Ban Appeal, Feedback


Trade Hold

Синонимы: Блокировка трейда, trade lock

Период (обычно 7 дней), в течение которого предмет нельзя обменять после получения. Устанавливается Steam для защиты от мошенничества.

В контексте GOLOOT:

  • Предметы на Steam боте могут быть в trade hold после пополнения инвентаря
  • WithdrawReadinessService проверяет tradable статус и возвращает дату разблокировки
  • UI показывает "Доступен через N дней" если предмет заблокирован

См. также: Trade Offer, Steam Trade Bot


Trade Job

Синонимы: Job вывода

Задача в in-memory очереди TradeQueueService на обработку вывода предмета.

Lifecycle: PENDING → PROCESSING → SENT/FAILED

Данные: withdrawalId, userId, itemId, tradeUrl, status, createdAt

Особенности:

  • Обрабатывается последовательно (1 job/sec)
  • Хранится в памяти — теряется при рестарте сервера
  • Не путать с Withdrawal (запись в БД) — job это задача в очереди

См. также: Withdrawal, Steam Trade Bot


Trade Offer

Синонимы: Трейд-оффер, Steam trade

Предложение обмена предметами в Steam. В контексте GOLOOT бот отправляет трейд пользователю для передачи скина.

States в Steam:

StateНазваниеРезультат
2ActiveОжидает ответа
3Accepted✅ → COMPLETED
5Expired❌ → FAILED
7Declined❌ → FAILED

Поля: tradeOfferId сохраняется в Withdrawal для отслеживания.

См. также: Withdrawal, Steam Trade Bot


S

Синонимы: Короткая ссылка

Сокращённый URL для маркетинговой кампании. Формат: goloot.online/{influencer}/{code}.

Функции:

  • Редирект на Telegram Mini App
  • Open Graph превью для соцсетей
  • Поддержка expiration date

См. также: UTM, UTM Tracking


U

User

Синонимы: Пользователь, игрок

Человек, взаимодействующий с платформой GOLOOT.


User Reset

Синонимы: Account wipe, сброс аккаунта, /stop command

Полная очистка данных аккаунта, инициируемая командой /stop в Telegram боте. Выполняется в транзакции с 12 шагами.

Что удаляется:

  • Инвентарь, история кейсов/спинов/крафтов
  • Результаты квизов, достижения
  • Сезонная статистика, feed events
  • Все балансы (Scrap, XP, SP)

Что сохраняется:

  • referral_codes — пользователь может снова приглашать друзей после /start
  • user_feedback — ценно для бизнеса
  • Analytics данные

Состояние после сброса: botStatus=BLOCKED, все InviteSession маркируются как USER_RESET.

См. также: Profile, InviteSession


UTM

Синонимы: Urchin Tracking Module, UTM-метки

Стандарт маркетинговой разметки ссылок для отслеживания источников трафика.

Параметры:

  • source — источник (telegram, youtube, vk)
  • medium — способ (cpc, social, influencer)
  • campaign — название кампании
  • term — ключевое слово (опционально)
  • content — вариант объявления (опционально)

См. также: UTM Tracking, ShortLink, Conversion


UTM Conversion

Синонимы: Конверсия, UTM-конверсия

Регистрация пользователя, пришедшего по маркетинговой ссылке.

Tracking:

  • utm_campaigns.conversions — агрегированный счётчик
  • utm_tracking.converted — флаг конверсии визита
  • conversionRate = conversions / clicksCount × 100%

См. также: UTM, UTM Tracking


W

Withdrawal

Синонимы: Вывод, запрос на вывод

Запись в БД о процессе вывода виртуального предмета в Steam.

Lifecycle: PENDING → PROCESSING → SENT → COMPLETED/FAILED

Ключевые поля:

  • tradeUrl — snapshot Trade URL на момент запроса (защита от изменения mid-flow)
  • tradeOfferId — ID трейд-оффера Steam после отправки
  • failureReason — причина ошибки (показывается пользователю)

Особенности:

  • Виртуальный предмет удаляется ТОЛЬКО при статусе COMPLETED
  • При FAILED предмет остаётся в инвентаре — можно повторить вывод

См. также: Trade Job, Trade Offer, Steam Trade Bot


Withdraw Readiness

Синонимы: Готовность к выводу

7-точечная проверка перед выводом скина в Steam:

#ПроверкаОписание
1hasTradeUrlTrade URL установлен
2isSteamVerifiedSteam верифицирован
3isInventoryPublicИнвентарь Steam публичный
4noActiveWithdrawalНет активного вывода
5itemExistsПредмет есть в инвентаре
6itemWithdrawableТип предмета — SKIN
7botAvailableБот с предметом доступен

Результат: canWithdraw: boolean + детальный breakdown всех проверок.

См. также: Steam Verification, Profile


Weight

Синонимы: Вес

Числовое значение, определяющее вероятность выпадения награды. Формула: P(item) = weight / sum(all_weights).

В Cases: CaseReward.weight. В Spins: SpinItem.weight.

См. также: Boost


X

XP

Синонимы: Experience, опыт

Основная метрика прогресса в сезоне, определяющая позицию в рейтинге. Только растёт (не тратится). Сбрасывается при завершении сезона.

Источники: Cases, Spins, Quests, Achievements, Referrals, Salvage.

См. также: Season, Leaderboard