Home›Java›Mods›PromoTimeCode
PromoTimeCode
ModsJava

PromoTimeCode

Java mod listed for Minecraft 1.7–1.18. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
EN:
PromoTimeCode
Referral program for YouTube bloggers on your Minecraft server​

Code (Text):
Paper: 1.7.4 – 26.2
LuckPerms: Required
Java: 17+
License: MIT
----------------------------------------------------------------

What is this?

PromoTimeCode is a powerful Minecraft server plugin that creates a referral program for YouTube bloggers and streamers.

YouTubers create unique promo codes, players activate them, play a certain amount of time on the server, and receive a group via LuckPerms. The YouTuber receives a reward for each player who completes the conditions.

----------------------------------------------------------------

✨ Features


----------------------------------------------------------------

How it works?

YouTuber → Creates a code → Player activates → Player plays → Reward is granted automatically!

1. YouTuber creates a promo code:
Code (Text):
/promo create KVASS2024
- One YouTuber = one code
- Cannot activate own code

2. Player activates the code:
Code (Text):
/promo KVASS2024
- Only 1 code per account
- IP limit — max activations from one IP (configurable)

3. Player plays on the server:
Code (Text):
/promo progress
=== Progress for code KVASS2024 ===
Played: 65/120 minutes
Status: ⏳ Waiting...
- Time is counted only while online
- AFK check — timer pauses if player doesn't move
- Logging out "freezes" progress

4. Reward is granted automatically!
- Group via LuckPerms
- Coins added to YouTuber's balance
- In-game notifications

----------------------------------------------------------------

Commands

For all players:
/promo help Show help
/promo <code> Activate a promo code
/promo progress Show your progress


For YouTubers:
/promo create <code> Create a promo 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


----------------------------------------------------------------

Anti-Cheat Protection


----------------------------------------------------------------

⚙ 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 if needed
  6. Grant permissions:
    Code (Text):
    /lp user <player> permission set promotimecode.youtube true

----------------------------------------------------------------

⚙ Configuration

Code (Text):

settings:
  default-duration-minutes: 60      # Group duration (minutes)
  default-balance: 50.0              # YouTuber reward (coins)
  default-playtime-minutes: 120      # Time required to play (minutes)
  check-interval-seconds: 10         # Check interval (seconds)
  one-code-per-youtuber: true        # 1 code per YouTuber

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

extra:
  log-actions: true                  # Log to console
  default-group: "VIP"               # Default group

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.7.4+
Dependencies LuckPerms
Java 17 or higher


----------------------------------------------------------------

Data Storage

Code (Text):

/plugins/PromoTimeCode/
├── config.yml                 # Main configuration
├── playerdata.json            # Player data (encrypted)
├── ip_data.json               # IP activation data
├── abuse_log.txt              # Abuse logs
└── codes/
    └── KVASS2024.json         # Each promo code's data
 
Code file format:
Code (Text):

{
  "code": "KVASS2024",
  "groupName": "vip",
  "durationMinutes": 60,
  "rewardMoney": 50.0,
  "requiredPlaytime": 120,
  "author": "Kvassuk",
  "players": ["uuid1", "uuid2"],
  "balance": 400.0,
  "completedPlayers": 8
}
 
----------------------------------------------------------------

Examples

For YouTubers:
Code (Text):

/promo create MYCODE
/promo info

=== Your promo code MYCODE ===
Group: vip
Duration: 60 min
YouTuber reward: 50.0 coins
Required playtime: 120 min
Activated by: 15 players
Completed: 8 players
Current balance: 400.0 coins
 
For players:
Code (Text):

/promo MYCODE
[Promo] You have successfully activated code MYCODE!
Play 120 minutes to receive your reward

/promo progress
=== Progress for code MYCODE ===
Played: 65/120 minutes
Status: ⏳ Waiting...
 
----------------------------------------------------------------

❓ FAQ

Can a YouTuber activate their own code?
Click to expand...
No! Anti-cheat protection prevents YouTubers from activating their own promo codes.

How many codes can a YouTuber create?
Click to expand...
By default — only 1 code. Administrators can create unlimited codes.

How many codes can a player activate?
Click to expand...
Only 1 code. Players cannot activate multiple promo codes.

Does time count if the player leaves the server?
Click to expand...
No! Time is counted only while online. Progress is saved when they leave.

Is a database required?
Click to expand...
No! All data is stored in JSON files. MySQL is not required.

Can messages be customized?
Click to expand...
Yes! All messages and colors can be changed in config.yml without rebuilding the plugin.

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

----------------------------------------------------------------

Bug Reports

  1. Create an Issue on https://github.com/Henezi/PromoTimeCode
  2. Attach server logs
  3. Describe steps to reproduce

----------------------------------------------------------------

License

This project is distributed under the MIT license.

----------------------------------------------------------------

Support


----------------------------------------------------------------

⭐ Like the plugin? Star it on GitHub! ⭐
Made with ❤️ for the Minecraft community​

----------------------------------------------------------------

Quick Start

Code (Text):

# 1. Install LuckPerms
# 2. Download PromoTimeCode.jar
# 3. Copy to plugins/
# 4. Restart the server
# 5. Done!

# Create your first code:
/promo create TEST2024

# Activate the code:
/promo TEST2024

# Check progress:
/promo progress
 
Good luck and have fun!​



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

Code (Text):
Paper: 1.7.4 – 26.2
LuckPerms: Required
Java: 17+
Лицензия: MIT
----------------------------------------------------------------

Что это?

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

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

----------------------------------------------------------------

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


----------------------------------------------------------------

Как это работает?

Ютубер → Создает код → Игрок активирует → Игрок играет → Награда выдается автоматически!

1. Ютубер создает промокод:
Code (Text):
/promo create KVASS2024
- Один ютубер = один код
- Нельзя активировать свой код

2. Игрок активирует код:
Code (Text):
/promo KVASS2024
- Только 1 код на аккаунт
- IP-лимит — макс. активаций с одного IP (настраивается)

3. Игрок играет на сервере:
Code (Text):
/promo progress
=== Прогресс по коду KVASS2024 ===
Отыграно: 65/120 минут
Статус: ⏳ Ожидание...
- Время считается только в онлайне
- AFK-проверка — таймер останавливается, если игрок не двигается
- Выход из игры "замораживает" прогресс

4. Награда выдается автоматически!
- Группа через LuckPerms
- Монеты на баланс ютуберу
- Уведомления в чате

----------------------------------------------------------------

Команды

Для всех игроков:
/promo help Показать справку
/promo <код> Активировать промокод
/promo progress Показать прогресс


Для ютуберов:
/promo create <код> Создать промокод
/promo info Информация о вашем коде


Для администраторов:
/promo show <код> Информация о коде
/promo balance add/remove <код> <сумма> Изменить баланс
/promo delete <код> Удалить промокод
/promo reload Перезагрузить плагин
/promo ipstats <игрок> Статистика по IP


----------------------------------------------------------------

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


----------------------------------------------------------------

⚙ Установка

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

----------------------------------------------------------------

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

Code (Text):

settings:
  default-duration-minutes: 60      # Время действия группы (мин)
  default-balance: 50.0              # Награда ютуберу (монет)
  default-playtime-minutes: 120      # Время для отыгровки (мин)
  check-interval-seconds: 10         # Интервал проверки (сек)
  one-code-per-youtuber: true        # 1 код на ютубера

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.7.4+
Зависимости LuckPerms
Java 17 или выше


----------------------------------------------------------------

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

Code (Text):

/plugins/PromoTimeCode/
├── config.yml                 # Основные настройки
├── playerdata.json            # Данные игроков (зашифровано)
├── ip_data.json               # Данные активаций по IP
├── abuse_log.txt              # Логи нарушений
└── codes/
    └── KVASS2024.json         # Данные каждого промокода
 
Формат файла кода:
Code (Text):

{
  "code": "KVASS2024",
  "groupName": "vip",
  "durationMinutes": 60,
  "rewardMoney": 50.0,
  "requiredPlaytime": 120,
  "author": "Kvassuk",
  "players": ["uuid1", "uuid2"],
  "balance": 400.0,
  "completedPlayers": 8
}
 
----------------------------------------------------------------

Примеры использования

Для ютубера:
Code (Text):

/promo create MYCODE
/promo info

=== Ваш промокод MYCODE ===
Группа: vip
Длительность: 60 мин
Награда ютуберу: 50.0 монет
Нужно отыграть: 120 мин
Активировали: 15 игроков
Выполнили условия: 8 игроков
Текущий баланс: 400.0 монет
 
Для игрока:
Code (Text):

/promo MYCODE
[Promo] Вы успешно активировали код MYCODE!
Отыграйте 120 минут для получения награды

/promo progress
=== Прогресс по коду MYCODE ===
Отыграно: 65/120 минут
Статус: ⏳ Ожидание...
 
----------------------------------------------------------------

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

Может ли ютубер активировать свой код?
Click to expand...
Нет! Встроена защита от накрутки — ютубер не может активировать свой собственный промокод.

Сколько кодов может создать один ютубер?
Click to expand...
По умолчанию — только 1 код. Администраторы могут создавать сколько угодно.

Сколько кодов может активировать один игрок?
Click to expand...
Только 1 код. Нельзя активировать несколько промокодов на один аккаунт.

Считается ли время, если игрок вышел с сервера?
Click to expand...
Нет! Время считается только когда игрок онлайн. При выходе прогресс сохраняется.

Нужна ли база данных?
Click to expand...
Нет! Все данные хранятся в обычных файлах (JSON). Не требуется MySQL.

Можно ли настроить сообщения?
Click to expand...
Да! Все сообщения и цвета можно изменить в config.yml без пересборки плагина.

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

----------------------------------------------------------------

Сообщения об ошибках

  1. Создайте Issue на https://github.com/Henezi/PromoTimeCode
  2. Приложите логи сервера
  3. Опишите шаги для воспроизведения

----------------------------------------------------------------

Лицензия

Этот проект распространяется под лицензией MIT.

----------------------------------------------------------------

Поддержка


----------------------------------------------------------------

⭐ Понравился плагин? Поставь звезду на GitHub! ⭐
Сделано с ❤️ для Minecraft сообщества​

----------------------------------------------------------------

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

Code (Text):

# 1. Установи LuckPerms
# 2. Скачай PromoTimeCode.jar
# 3. Скопируй в plugins/
# 4. Перезапусти сервер
# 5. Готово!

# Создай первый код:
/promo create TEST2024

# Активируй код:
/promo TEST2024

# Проверь прогресс:
/promo progress
 
Удачи в использовании!​

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

PromoTimeCode is a free Minecraft Java mod. Compatible with Minecraft 1.7, 1.8, 1.9, 1.10 and newer. Downloaded 25 times (via Spigot). Download it and open it directly in the game.

Explore more