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
- Install LuckPerms on your server
- Download PromoTimeCode.jar
- Copy to the
plugins/folder - Restart the server
- Edit
config.yml,antiabuse.yml,rewards.ymlif needed - 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-проверка — таймер останавливается при бездействии (настраивается)
- 🔒 Логирование нарушений — все подозрительные активации пишутся в лог
⚙️ Установка
- Установи LuckPerms на сервер
- Скачай PromoTimeCode.jar
- Скопируй в папку
plugins/ - Перезапусти сервер
- Настрой
config.yml,antiabuse.yml,rewards.ymlпри необходимости - Выдай права:
/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 сообщества