PromoTimeCode

The plugin creates a referral program on the server: YouTubers create promo codes, players activate them, play for a certain amount of time, and receive a donation (a group), while the YouTuber receives a monetary reward for each player they refer.

EN:

🎮 PromoTimeCode

Referral program for YouTube bloggers on your Minecraft server

Paper 1.17.1 – 26.2 LuckPerms Required Java 17+ MIT License


📖 What is this?

PromoTimeCode is a plugin that creates a referral program for YouTube bloggers.

YouTubers create promo codes. Players activate them, play a certain amount of time, and receive a group via LuckPerms. The YouTuber gets a reward for each player.


✨ Features

  • 🎯 Create unique promo codes
  • ⏱️ Automatic playtime tracking (online only)
  • 🎁 Auto-rewards via LuckPerms
  • 💰 YouTuber balance system
  • 📊 TOP promo codes (/promo top)
  • 📤 Export data to CSV (/promo export)
  • 💾 Backup system (/promo backup)
  • 🛡️ Anti-cheat protection
  • 🔒 IP-based anti-bot protection — limit activations from one IP
  • ⏸️ AFK check — timer pauses when player is idle
  • 🌐 Multi-language support (ru, en)
  • ⚙️ Fully customizable messages

📋 Commands

👤 For all players

  • /promo help — Show help
  • /promo <code> — Activate a code
  • /promo progress — Show progress

🎥 For YouTubers

  • /promo create <code> — Create a code
  • /promo info — Info about your code

🛡️ For administrators

  • /promo show <code> — View code info
  • /promo balance add/remove <code> <amount> — Change balance
  • /promo delete <code> — Delete a code
  • /promo reload — Reload the plugin
  • /promo ipstats <player> — View IP statistics
  • /promo top — TOP promo codes
  • /promo export — Export data to CSV
  • /promo backup create/list/restore — Backup management

🛡️ Anti-Cheat Protection

  • 🔒 Cannot activate own code
  • 🔒 Only 1 code per account
  • 🔒 Only 1 code per YouTuber
  • 🔒 Time counted only while online
  • 🔒 Time resets on activation
  • 🔒 IP limit — restrict activations from one IP (configurable)
  • 🔒 AFK check — timer pauses when player is idle (configurable)
  • 🔒 Abuse logging — all suspicious activations are logged

⚙️ Installation

  1. Install LuckPerms on your server
  2. Download PromoTimeCode.jar
  3. Copy to the plugins/ folder
  4. Restart the server
  5. Edit config.yml, antiabuse.yml, rewards.yml if needed
  6. Grant permissions: /lp user <player> permission set promotimecode.youtube true

⚙️ Configuration

settings:
  default-duration-minutes: 60
  default-balance: 50.0
  default-playtime-minutes: 120
  check-interval-seconds: 10
  one-code-per-youtuber: true

messages:
  prefix: "&6[Promo] &r"
  code-created: "&aPromo code &e%code% &ahas been created!"

extra:
  log-actions: true
  default-group: "VIP"

anti-abuse:
  max-activations-per-ip: 3          # Max activations from one IP
  enable-afk-check: true             # Enable AFK check
  afk-threshold-seconds: 60          # Seconds without movement = AFK
  enable-ip-limit: true              # Enable IP limit
  afk-warning-cooldown: 30           # Warning cooldown (seconds)

🔧 Requirements

  • Core: Paper / Spigot 1.17.1 – 26.2
  • Dependencies: LuckPerms
  • Java: 17 or higher

📊 Data Storage

/plugins/PromoTimeCode/
├── config.yml                 # Main configuration
├── antiabuse.yml              # Anti-abuse settings
├── rewards.yml                # Reward effects settings
├── playerdata/                # Player data (JSON)
├── codes/                     # Promo codes (JSON)
├── ip_data.json               # IP activation data
├── abuse_log.txt              # Abuse logs
├── exports/                   # CSV exports
├── backups/                   # Backups
└── languages/                 # Language files (ru, en)

❓ FAQ

Can a YouTuber activate their own code?
No. Anti-cheat protection prevents it.

How many codes can a YouTuber create?
Only 1.

How many codes can a player activate?
Only 1.

Does time count while offline?
No. Only while online.

Is a database required?
No. All data is stored in JSON files.

How does anti-bot protection work?
IP limit restricts activations from one IP. AFK check pauses timer when player is idle. All suspicious activity is logged.


🔗 Links


🚀 Quick Start

/promo create TEST2024
/promo TEST2024
/promo progress

⭐ Star on GitHub if you find this plugin useful! ⭐

Made with ❤️ for the Minecraft community

RU:

🎮 PromoTimeCode

Реферальная программа для YouTube-блогеров на вашем сервере Minecraft

Paper 1.17.1 – 26.2 LuckPerms Required Java 17+ MIT License


📖 Что это?

PromoTimeCode — это плагин, который создает реферальную программу для YouTube-блогеров.

Ютуберы создают промокоды. Игроки активируют их, отыгрывают время и получают группу через LuckPerms. Ютубер получает награду за каждого игрока.


✨ Возможности

  • 🎯 Создание уникальных промокодов
  • ⏱️ Автоматический подсчёт времени (только в онлайне)
  • 🎁 Автовыдача групп через LuckPerms
  • 💰 Баланс ютубера
  • 📊 ТОП промокодов (/promo top)
  • 📤 Экспорт данных в CSV (/promo export)
  • 💾 Система бэкапов (/promo backup)
  • 🛡️ Защита от накруток
  • 🔒 Защита от ботов по IP — ограничение активаций с одного IP
  • ⏸️ AFK-проверка — таймер останавливается при бездействии
  • 🌐 Мультиязычность (ru, en)
  • ⚙️ Гибкая настройка сообщений

📋 Команды

👤 Для всех игроков

  • /promo help — справка
  • /promo <код> — активировать код
  • /promo progress — прогресс

🎥 Для ютуберов

  • /promo create <код> — создать код
  • /promo info — информация о коде

🛡️ Для администраторов

  • /promo show <код> — информация о коде
  • /promo balance add/remove <код> <сумма> — изменить баланс
  • /promo delete <код> — удалить код
  • /promo reload — перезагрузка
  • /promo ipstats <игрок> — статистика по IP
  • /promo top — ТОП промокодов
  • /promo export — экспорт в CSV
  • /promo backup create/list/restore — управление бэкапами

🛡️ Защита от накруток

  • 🔒 Свой код нельзя активировать
  • 🔒 Только 1 код на аккаунт
  • 🔒 Только 1 код на ютубера
  • 🔒 Время считается только в онлайне
  • 🔒 Время обнуляется при активации
  • 🔒 IP-лимит — ограничение активаций с одного IP (настраивается)
  • 🔒 AFK-проверка — таймер останавливается при бездействии (настраивается)
  • 🔒 Логирование нарушений — все подозрительные активации пишутся в лог

⚙️ Установка

  1. Установи LuckPerms на сервер
  2. Скачай PromoTimeCode.jar
  3. Скопируй в папку plugins/
  4. Перезапусти сервер
  5. Настрой config.yml, antiabuse.yml, rewards.yml при необходимости
  6. Выдай права: /lp user <ник> permission set promotimecode.youtube true

⚙️ Конфигурация

settings:
  default-duration-minutes: 60
  default-balance: 50.0
  default-playtime-minutes: 120
  check-interval-seconds: 10
  one-code-per-youtuber: true

messages:
  prefix: "&6[Promo] &r"
  code-created: "&aПромокод &e%code% &aсоздан!"

extra:
  log-actions: true
  default-group: "VIP"

anti-abuse:
  max-activations-per-ip: 3          # Максимум активаций с одного IP
  enable-afk-check: true             # Включить AFK-проверку
  afk-threshold-seconds: 60          # Секунд без движения = AFK
  enable-ip-limit: true              # Включить IP-лимит
  afk-warning-cooldown: 30           # Интервал между предупреждениями (сек)

🔧 Требования

  • Ядро: Paper / Spigot 1.17.1 – 26.2
  • Зависимости: LuckPerms
  • Java: 17 или выше

📊 Хранение данных

/plugins/PromoTimeCode/
├── config.yml                 # Основные настройки
├── antiabuse.yml              # Настройки защиты
├── rewards.yml                # Настройки наград
├── playerdata/                # Данные игроков (JSON)
├── codes/                     # Промокоды (JSON)
├── ip_data.json               # Данные активаций по IP
├── abuse_log.txt              # Логи нарушений
├── exports/                   # CSV экспорты
├── backups/                   # Бэкапы
└── languages/                 # Языковые файлы (ru, en)

❓ Часто задаваемые вопросы

Может ли ютубер активировать свой код?
Нет. Защита от накруток.

Сколько кодов может создать ютубер?
Только 1.

Сколько кодов может активировать игрок?
Только 1.

Считается ли время в оффлайне?
Нет. Только в онлайне.

Нужна ли база данных?
Нет. Все данные в JSON.

Как работает защита от ботов?
IP-лимит ограничивает активации с одного IP. AFK-проверка останавливает таймер при бездействии. Все подозрительные действия логируются.


🔗 Ссылки


🚀 Быстрый старт

/promo create TEST2024
/promo TEST2024
/promo progress

⭐ Поставь звезду на GitHub, если плагин полезен! ⭐

Сделано с ❤️ для Minecraft сообщества

The PromoTimeCode Team

profile avatar
Owner
  • 1
    Projects
  • 23
    Downloads