Introduction

RedGames is a feature-rich Minecraft minigame plugin featuring 15 chat-based games, 8 solo arcade games, and 5 multiplayer GUI games. Players compete to type fastest, solve puzzles, answer trivia, play arcade games, and complete challenges to earn points, tokens, boosters, cosmetics, and leaderboard progress.

Chat Games

  • Reaction
  • Unscramble
  • Trivia
  • Math
  • Algebra
  • Guess Number
  • Unreverse
  • Completion
  • Click Button
  • Hoverable
  • Shopping List
  • Random
  • Clue Cracker
  • Naughty Nice
  • Action (in-world)

Solo Arcade Games

  • Memory Match
  • Lights Out
  • Sliding Puzzle
  • Color Sort
  • Whack-a-Mole
  • Blackjack
  • Roulette
  • Slots

Multiplayer Games

  • Present Pick
  • Hot Potato
  • Memory Pattern
  • Musical Chairs
  • Reaction Grid

Key Features

  • Games Hub GUI
  • Difficulty selection
  • Auto-scheduler
  • Voting system
  • Daily/weekly challenges
  • YAML scripting
  • Token shop
  • Cosmetics & boosters
  • Win streaks
  • Leaderboard GUI

Integrations

  • Vault (economy)
  • PlaceholderAPI
  • DecentHolograms

Storage Options

  • YAML (default)
  • SQLite
  • MySQL

Installation

  1. Place RedGames-*.jar in your server's plugins/ folder
  2. Restart the server
  3. Config files generate in plugins/RedGames/

Requirements

  • Spigot or Paper 1.16+
  • Java 8 or higher

Optional Plugins

  • Vault + economy plugin for money rewards
  • PlaceholderAPI for placeholders
  • DecentHolograms for win holograms

Migrating from SimonSays

RedGames automatically migrates your player data from SimonSays on first launch.

  1. Remove the old SimonSays jar from /plugins
  2. Place the new RedGames jar in /plugins
  3. Restart your server
  4. Player data (stats, tokens, ranks) migrates automatically
Important: After migration, update your permissions from simonsays.* to redgames.* and placeholders from %simonsays_*% to %redgames_*%.

First Steps

After installation, here's how to get started:

Start Your First Game

/rg start reaction easy

This starts a Reaction game on easy difficulty. Players type the displayed word to win.

Open the Games Hub

/rg hub

Opens a GUI where players can browse and join available games.

View the Leaderboard

/rg leaderboard gui

Opens the leaderboard GUI showing top players.

Check Your Stats

/rg stats

View your wins, points, and streak information.

Auto-Run: By default, games start automatically every 5-10 minutes. Configure this in config.yml under auto-run.

Games Hub

The Games Hub is a unified interface for browsing and starting all game types.

Opening the Hub

/rg hub

Or use the alias: /rg arcade

Features

  • Solo Arcade Games - Browse and start single-player puzzle games
  • Multiplayer Games - View and join multiplayer lobbies
  • Player Stats - See your tokens, points, and rank at a glance
  • Difficulty Selection - Choose Easy, Normal, or Hard before starting

How It Works

  1. Open the hub with /rg hub
  2. Click on a game to start
  3. Select your difficulty (Easy, Normal, or Hard)
  4. Game begins immediately (solo) or lobby opens (multiplayer)

Configuration

Customize the hub layout and appearance in games-hub.yml.

Difficulty System

All arcade and multiplayer games support three difficulty levels with reward scaling.

Difficulty Levels

DifficultyReward MultiplierChallenge
Easy0.5xMore time, simpler puzzles
Normal1.0xStandard settings
Hard2.0xLess time, greater complexity

How It Works

When you start a game from the Games Hub, a difficulty selection GUI appears. Choose your preferred difficulty and the game starts with those settings.

Reward Scaling

Both base rewards and time bonuses are multiplied by the difficulty multiplier:

  • Easy: Base reward x 0.5
  • Normal: Base reward x 1.0
  • Hard: Base reward x 2.0
Risk vs Reward: Hard mode offers double rewards but with less time and increased complexity. Choose based on your skill level!

Per-Game Settings

Each game has difficulty-specific settings in its config file:

difficulties:
  easy:
    time-limit: 90
    grid-size: 3
  normal:
    time-limit: 60
    grid-size: 4
  hard:
    time-limit: 45
    grid-size: 5

reward-multiplier:
  easy: 0.5
  normal: 1.0
  hard: 2.0

Command Reference

All commands use /redgames or the alias /rg.

Game Control

CommandDescription
/rg start <type> <difficulty>Start a game
/rg start <type> <difficulty> -fForce start (bypass player minimum)
/rg start <type> <difficulty> --with <content>Start with custom content
/rg stopStop the current game
/rg statusView game status

Player Commands

CommandDescription
/rg hubOpen the Games Hub GUI
/rg arcadeOpen the Arcade GUI
/rg play <game> [difficulty]Start a solo arcade game directly
/rg join <game>Join a multiplayer game
/rg leaveLeave current multiplayer game
/rg leaderboard gui [type] [page]Open leaderboard
/rg stats [player]View statistics
/rg toggleToggle broadcast messages
/rg voteOpen the active vote GUI
/rg vote <number>Cast a vote for the next game
/rg challengesOpen the challenges GUI
/rg boostersOpen the booster inventory GUI

Shop & Currency

CommandDescription
/rg shopOpen the shop GUI
/rg cosmeticsManage owned cosmetics
/rg tokensCheck your token balance
/rg tokens <player>Check another player's tokens
/rg tokens give <player> <amount>Give tokens (admin)
/rg tokens take <player> <amount>Take tokens (admin)
/rg tokens set <player> <amount>Set tokens (admin)

Administration

CommandDescription
/rg reloadReload all configurations
/rg games listList disabled game types
/rg games enable <type>Enable a game type
/rg games disable <type>Disable a game type
/rg prob get [type]View scheduler weights
/rg prob set <type> <weight>Set scheduler weight
/rg log [page]View game history
/rg world blacklist add <world>Blacklist a world
/rg test <name>Run test tasks
/rg vote startStart a vote manually
/rg vote stopCancel the active vote
/rg vote statusView current vote counts
/rg challenges reset daily|weeklyForce challenge rotation
/rg challenges reloadReload challenge definitions
/rg challenges statusView active challenge state
/rg scripts reloadReload YAML scripts
/rg scripts listList loaded scripts
/rg scripts test <name>Fire a script against yourself for testing
/rg scripts validateReload scripts and report validation warnings

The --with Flag

Use custom content instead of random selection:

# Custom trivia question
/rg start trivia easy --with What is 2+2?|4

# Multiple accepted answers
/rg start trivia easy --with Capital of France?|Paris,paris

# Custom reaction word
/rg start reaction hard --with supercalifragilistic

# Combine with force flag
/rg start trivia easy -f --with Your question here|answer

Permissions

Player Permissions

PermissionDescriptionDefault
redgames.statusView game statustrue
redgames.leaderboard.guiOpen leaderboard GUItrue
redgames.toggleToggle broadcaststrue
redgames.statsView statisticstrue
redgames.shopOpen shop GUItrue
redgames.tokensView own tokenstrue
redgames.cosmeticsManage cosmeticstrue
redgames.arcadePlay arcade gamestrue
redgames.playPlay solo arcade games directlytrue
redgames.boostersOpen booster inventorytrue
redgames.voteOpen vote GUI and cast votestrue
redgames.challengesOpen challenges GUItrue

Admin Permissions

PermissionDescriptionDefault
redgames.adminFull accessop
redgames.startStart gamesop
redgames.stopStop gamesop
redgames.reloadReload configop
redgames.tokens.othersView others' tokensop
redgames.tokens.adminGive/take/set tokensop
redgames.gamesEnable/disable gamesop
redgames.probSet scheduler weightsop
redgames.logView game logop
redgames.worldManage world filterop
redgames.arcade.bypass_cooldownBypass arcade cooldownsop
redgames.scriptsManage YAML scriptsop

Game Modes Overview

RedGames features three categories of games:

Chat Games (15)

Type-to-win games in chat. First correct answer wins.

  • Reaction, Unscramble
  • Trivia, Math, Algebra
  • Guess Number, Unreverse
  • Completion, Random
  • Click Button, Hoverable
  • Shopping List
  • Clue Cracker, Naughty Nice
  • Action (in-world tasks)

Arcade Games (8)

Solo GUI puzzle and casino games. Start anytime via /rg hub or /rg arcade.

  • Memory Match - Find matching pairs
  • Lights Out - Turn off all lights
  • Sliding Puzzle - Arrange tiles in order
  • Color Sort - Sort colors into tubes
  • Whack-a-Mole - Click moles before they hide
  • Blackjack - Play against the dealer
  • Roulette - Bet and spin the wheel
  • Slots - Match symbols for payouts

Multiplayer Games (5)

Join lobbies and compete against other players.

  • Present Pick - Avoid the coal!
  • Hot Potato - Pass before it explodes!
  • Memory Pattern - Repeat the sequence
  • Musical Chairs - Grab a chair!
  • Reaction Grid - Fastest click wins

Game Types for Commands

Use these names with /rg start:

REACTION, UNSCRAMBLE, TRIVIA, MATH, ALGEBRA, GUESS_NUMBER, UNREVERSE, COMPLETION,
CLICK_BUTTON, HOVERABLE, SHOPPING_LIST, RANDOM, CLUE_CRACKER, NAUGHTY_NICE,
ACTION, PRESENT_PICK, HOT_POTATO, MUSICAL_CHAIRS, REACTION_GRID, MEMORY_PATTERN

Difficulties

Most games support three difficulties: easy, medium, hard

Each difficulty has different time limits, rewards, and content pools.

Chat Games

Chat games broadcast a challenge and the first player to type the correct answer wins.

Reaction

Type the displayed word exactly. Simple speed test.

/rg start reaction easy

Unscramble

Unscramble a jumbled word (e.g., "pplae" = "apple").

/rg start unscramble medium

Trivia

Answer a trivia question. Supports multiple accepted answers.

/rg start trivia hard

Math

Solve an arithmetic problem (addition, subtraction, multiplication, division).

/rg start math easy

Algebra

Solve single-variable equations or systems of equations. Higher difficulties add more variables and larger ranges.

/rg start algebra hard

Guess Number

Guess a random number within a range.

/rg start guess_number medium

Unreverse

Type the original word from its reversed form (e.g., "elppa" = "apple").

/rg start unreverse hard

Completion

Complete a word with missing letters (e.g., "a_p_e" = "apple").

/rg start completion medium

Random

Type a randomly generated string of characters.

/rg start random hard

Click Button

Click a button that appears in chat. Requires MiniMessage and chat channel.

/rg start click_button easy

Hoverable

Hover over text to reveal a hidden word, then type it. Requires MiniMessage.

/rg start hoverable medium

Shopping List

Memorize a list of items shown briefly, then type them all.

/rg start shopping_list easy

Clue Cracker

Solve bracketed clues like [COLD][3 BALLS][CARROT] = "snowman".

/rg start clue_cracker easy

Naughty Nice

Judge if a scenario is "naughty" or "nice". Fast-paced Christmas game!

/rg start naughty_nice hard

Arcade Games

Solo puzzle games played in a GUI. Open via /rg hub or /rg arcade. All arcade games support Easy, Normal, and Hard difficulties with reward scaling.

Memory Match

Classic memory card game. Flip cards to find matching pairs.

  • Click two cards to flip them
  • Match all pairs before time runs out
  • Grid size: 3x2 (Easy) → 4x3 (Normal) → 4x4 (Hard)

Lights Out

Toggle lights to turn them all off. Clicking a light also toggles adjacent lights!

  • Click buttons to toggle them and neighbors
  • Goal: Turn all lights off
  • Grid size: 3x3 (Easy) → 4x4 (Normal) → 5x5 (Hard)

Sliding Puzzle

Classic tile-sliding puzzle. Rearrange numbered tiles in order.

  • Slide tiles into the empty space
  • Arrange all tiles in numerical order
  • Grid size: 3x3 (Easy) → 4x4 (Normal) → 5x5 (Hard)

Color Sort

Sort colored items into matching tubes.

  • Move items between tubes to group matching colors
  • Each tube can only contain one color when complete
  • Complexity: 3 colors/5 tubes (Easy) → 4/6 (Normal) → 6/8 (Hard)

Whack-a-Mole

Classic arcade action. Click moles as they pop up!

  • Moles appear randomly - click them before they hide
  • Golden moles are worth 3x points
  • Mole speed and score targets scale with difficulty

Blackjack

Play Blackjack against the dealer. Hit, stand, or double down before the dealer resolves their hand.

Roulette

Place bets on numbers, colors, or ranges, then spin the wheel. The GUI handles the spin animation and payout result.

Slots

Spin a three-reel slot machine and match symbols for configurable payout multipliers.

Difficulty & Rewards

Each difficulty has different time limits and reward multipliers:

DifficultyTimeReward Multiplier
EasyMore time0.5x
NormalStandard1.0x
HardLess time2.0x

Cooldowns

Arcade games have cooldowns between plays. Admins can bypass with redgames.arcade.bypass_cooldown.

Multiplayer GUI Games

Games with lobbies where multiple players compete. Start with /rg start or join via /rg join. All multiplayer games support difficulty selection with reward scaling.

Present Pick

Multi-round elimination game. Pick wrapped presents and avoid the coal!

/rg start PRESENT_PICK easy
  1. Players join during lobby phase (click chat or /rg join presentpick)
  2. Each round: Pick a present from the grid
  3. Coal eliminates you; bonuses give points or extra lives
  4. Last player standing wins!

Hard difficulty adds extra coal slots for increased challenge.

Hot Potato

Pass the hot potato before it explodes!

/rg start HOT_POTATO easy
  1. Players join during lobby phase
  2. A "potato" item appears in a random player's inventory
  3. Click to pass it to another player
  4. When timer expires, holder is eliminated
  5. Last player standing wins!

Round times: 15s (Easy) → 10s (Normal) → 7s (Hard)

Memory Pattern

Simon Says-style memory game. Watch the pattern, then repeat it!

/rg start MEMORY_PATTERN easy
  1. Players join during lobby phase
  2. A pattern of colors/positions is shown
  3. Players must repeat the pattern correctly
  4. Pattern length increases each round
  5. Last player standing wins!

Musical Chairs

Classic party game. Compete for chairs when the music stops!

/rg start MUSICAL_CHAIRS easy
  1. Players join during lobby phase
  2. Music plays - players wait
  3. Music stops - click a chair to sit!
  4. One chair is removed each round
  5. Player without a chair is eliminated

Reaction Grid

Multi-player reaction competition. Fastest click wins!

/rg start REACTION_GRID easy
  1. Players join during lobby phase
  2. A grid of squares is displayed
  3. Squares highlight randomly - click them fast!
  4. Players compete for fastest reaction times
  5. Highest score wins!

Difficulty & Rewards

DifficultyReward Multiplier
Easy0.5x
Normal1.0x
Hard2.0x

Player Commands

  • /rg join <game> - Join a game lobby
  • /rg leave - Leave current game

Action Tasks (In-World)

Action games require completing in-world tasks like breaking blocks, crafting, or killing mobs.

/rg start action hard

Supported Action Types

TypeDescription
BREAK_BLOCKBreak specific blocks
PLACE_BLOCKPlace specific blocks
HARVEST_CROPHarvest crops
PLANT_SEEDPlant seeds or crops
TNT_PRIMEIgnite TNT
CRAFT_ITEMCraft items
SMELT_ITEMSmelt items in furnace
ENCHANTEnchant items
BUCKET_FILLFill a bucket
BUCKET_EMPTYEmpty a bucket
KILL_ENTITYKill mobs
DAMAGE_ENTITYDamage a specific entity type
TAME_ENTITYTame animals
SHOOT_BOWShoot arrows (optional: hit targets)
SHOOT_CROSSBOWShoot a crossbow
SHEARShear sheep or other shearable entities
BREEDBreed animals
RIDE_ENTITYRide an entity
MILK_COWMilk cows with a bucket
LEASH_ENTITYLeash a mob with a lead
FISHCatch fish
TRADE_VILLAGERComplete villager trades
CONSUME_ITEMEat/drink items
DROP_ITEMDrop items
PICKUP_ITEMPick up dropped items
JUMPJump a number of times
SNEAKToggle sneak
SWIMSwim a distance
SLEEPSleep in a bed
ENTER_PORTALEnter a Nether or End portal
THROW_SNOWBALLThrow snowballs
THROW_EGGThrow eggs
THROW_ENDER_PEARLThrow ender pearls
THROW_TRIDENTThrow a trident
RING_BELLRing a bell
COLLECT_HONEYCollect honey from a hive or nest
OPEN_CHESTOpen a chest, trapped chest, or barrel
TAKE_DAMAGETake damage
MULTI_ACTIONComplete multiple tasks

Example Configuration

- type: KILL_ENTITY
  display: "Slay 5 zombies with a sword"
  requirements:
    amount: 5
    types: ["ZOMBIE"]
    weapon_type: "SWORD"

- type: MULTI_ACTION
  display: "Survival combo"
  requirements:
    amount: 1
    actions:
      - type: BREAK_BLOCK
        requirements:
          amount: 5
          material: "minecraft:oak_log"
      - type: CRAFT_ITEM
        requirements:
          amount: 1
          material: "minecraft:bread"

Main Configuration

File: plugins/RedGames/config.yml

Auto-Run Scheduler

auto-run:
  enabled: true
  min-interval: 300        # Minimum seconds between games
  max-interval: 600        # Maximum seconds between games
  difficulties: [easy, medium, hard]
  enabled-games:
    - REACTION
    - UNSCRAMBLE
    - TRIVIA
    # Add more game types here

General Settings

settings:
  minimum-players: 2       # Required players to start
  broadcast-countdown: true

messages:
  prefix: "&b[RedGames] "
  use-minimessage: false   # Enable for gradients/hover/click

Scheduler Weights

Control how often each game type is selected:

scheduler:
  probabilities:
    REACTION: 3      # Higher = more likely
    UNSCRAMBLE: 2
    TRIVIA: 2
    MATH: 1

Voting

voting:
  enabled: false
  mode: auto
  post-game-delay: 5
  vote-duration: 20
  option-count: 3
  show-live-counts: true
  allow-vote-change: true
  min-players: 2
  countdown-display: BOSS_BAR
  option-history: 2
  extra-votes:
    redgames.vote.vip: 2

Daily & Weekly Challenges

challenges:
  enabled: true
  daily-count: 3
  weekly-count: 2
  daily-history: 3
  weekly-history: 2
  broadcast-on-reset: true
  reset:
    daily:
      time: "00:00"
    weekly:
      day: MONDAY
      time: "00:00"

World Filtering

features:
  world-filter:
    mode: blacklist     # blacklist or whitelist
    worlds:
      - world_nether
      - world_the_end

Game Configuration Files

Each game type has its own config in plugins/RedGames/games/

Config File Locations

Solo Arcade Games

  • games/arcade/memory-match.yml
  • games/arcade/lights-out.yml
  • games/arcade/sliding-puzzle.yml
  • games/arcade/color-sort.yml
  • games/arcade/whack-a-mole.yml
  • games/arcade/blackjack.yml
  • games/arcade/roulette.yml
  • games/arcade/slots.yml

Multiplayer Games

  • games/multigui/present-pick.yml
  • games/multigui/hot-potato.yml
  • games/multigui/memory-pattern.yml
  • games/multigui/musical-chairs.yml
  • games/multigui/reaction-grid.yml

Other Config Files

  • games-hub.yml - Games Hub GUI layout
  • arcade.yml - Solo arcade manager settings
  • shop.yml - Token shop configuration
  • challenges/daily.yml - Daily challenge definitions
  • challenges/weekly.yml - Weekly challenge definitions
  • scripts/*.yml - YAML automation scripts

Common Settings

settings:
  min-players: 2
  countdown-seconds: 5
  case-sensitive: false
  ignore-diacritics: true
  broadcast-winner: true
  enabled-difficulties: []  # Empty = all enabled

difficulties:
  easy:
    time-limit: 15
  medium:
    time-limit: 12
  hard:
    time-limit: 8

Rewards

rewards:
  points:
    enabled: true
    base-amount: 10
    time-bonus:
      enabled: true
      per-second-remaining: 2

  commands:
    enabled: true
    commands:
      - "say %player% won!"           # Always runs
      - command: "give %player% diamond 1"
        chance: 25                    # 25% chance

  economy:
    enabled: false
    amount: 100.0

Custom Messages

messages:
  game:
    starting: "&eGame starts in &6%seconds%s"
    display: "&fType: &b%word%"
    cancelled: "&cNot enough players"
    time-up: "&cTime's up! Answer: %answer%"
  player:
    won: "&a%player% &7won!"
    won-points: "&a+%points% points"

Effects & Display

Configure how game events are displayed to players.

Display Channels

effects:
  channels:
    countdown: ["title"]
    start: ["title"]
    prompt: ["title"]      # Options: title, chat, actionbar, bossbar
    win: ["title"]
    time_up: ["title"]

Titles

effects:
  titles:
    countdown:
      enabled: true
      title: "&e&l%seconds%"
      subtitle: "&7Get ready"
      fade-in: 5
      stay: 10
      fade-out: 5

Sounds

effects:
  sounds:
    enabled: true
    countdown_tick: "minecraft:block.note_block.hat,0.6,1.8"
    start: "minecraft:ui.toast.in,1.0,1.0"
    win: "minecraft:ui.toast.challenge_complete,1.0,1.0"

Win Particles

effects:
  particles:
    win:
      enabled: true
      type: "FIREWORKS_SPARK"
      count: 60

Boss Bar Timer

Boss bars are isolated by context: chat games use a global timer, solo arcade games use player-specific timers, and multiplayer GUI sessions use group timers. This prevents overlapping games from fighting over the same boss bar.

effects:
  bossbar:
    timer:
      enabled: true
      title: "&e%time%s remaining"
      color: YELLOW
      style: SOLID

Win Holograms

effects:
  hologram:
    win:
      enabled: true
      duration-ticks: 120
      lines:
        - "&6Winner: &e%player%"
        - "&7%game% (%difficulty%)"

MiniMessage Formatting

Enable MiniMessage for gradients, hover text, and click actions.

Enable MiniMessage

messages:
  use-minimessage: true

Gradients

# Two-color gradient
prefix: "<gradient:#ff0080:#ffc800>[RedGames]</gradient> "

# Multi-color gradient
won: "<gradient:#00ff00:#ffff00:#ff0000>%player% won!</gradient>"

# Rainbow effect
display: "<rainbow>Type this word!</rainbow>"

Hover & Click Actions

Only work in chat messages (not titles/actionbar):

# Hover tooltip
won: "<hover:show_text:'Winner!'><gold>%player% won!</gold></hover>"

# Click to run command
help: "<click:run_command:'/rg leaderboard gui'>View Leaderboard</click>"

# Click to copy
display: "<click:copy_to_clipboard:'%word%'>Click to copy</click>"
Backward Compatible: All legacy & color codes and #hex colors continue to work when MiniMessage is enabled.

Voting System

The voting system lets players choose which game runs next. Votes can open automatically after games or be started manually by admins.

Player Flow

  1. A game ends
  2. RedGames waits for the configured post-game delay
  3. A vote opens with several game and difficulty options
  4. Players vote through chat clicks, /rg vote <number>, or the vote GUI
  5. The most-voted option starts when the timer expires

Commands

CommandDescription
/rg voteOpen the active vote GUI
/rg vote <number>Vote for an option
/rg vote startAdmin: start a vote manually
/rg vote stopAdmin: cancel the active vote
/rg vote statusAdmin: view options and vote counts

Configuration

voting:
  enabled: true
  mode: auto                  # auto or manual
  post-game-delay: 5
  vote-duration: 20
  option-count: 3
  show-live-counts: true
  allow-vote-change: true
  min-players: 2
  countdown-display: BOSS_BAR # BOSS_BAR, ACTION_BAR, or NONE
  reminder-at: 10
  option-history: 2
  extra-votes:
    redgames.vote.vip: 2
    redgames.vote.mvp: 3
  options:
    pool: []                  # Empty = build from enabled auto-run games

Weighted Votes

Players with configured permission nodes can have their vote count for more than one vote. For example, a player with redgames.vote.mvp can count as 3 votes if that permission is configured under voting.extra-votes.

Daily & Weekly Challenges

Challenges give players rotating objectives that reset on a schedule. Progress is tracked per-player and completion can trigger YAML script rewards.

How It Works

  • Daily and weekly challenge definitions live in plugins/RedGames/challenges/
  • RedGames picks active challenges using weighted random selection
  • History settings help avoid repeating the same challenges too often
  • Players open the GUI with /rg challenges
  • Completing a challenge fires on_daily_complete or on_weekly_complete
  • Completing all active daily challenges fires on_daily_sweep

Objective Types

ObjectiveDescription
WIN_GAMESWin a number of games
PLAY_GAMESParticipate in a number of games
WIN_STREAKReach a target win streak
EARN_POINTSEarn a target number of points
WIN_FASTWin under a time threshold
WIN_TYPESWin using distinct game types
WIN_DIFFICULTIESWin across distinct difficulties
PARTICIPATEBe online/participating when games end

Challenge Definition Example

win_3_action:
  name: "Action Star"
  description: "Win 3 Action games"
  icon: DIAMOND_SWORD
  difficulty: medium
  objective:
    type: WIN_GAMES
    amount: 3
    game_type: ACTION
  weight: 8

Admin Commands

CommandDescription
/rg challengesOpen the challenges GUI
/rg challenges reset dailyForce a daily challenge rotation
/rg challenges reset weeklyForce a weekly challenge rotation
/rg challenges reloadReload challenge definitions
/rg challenges statusView active challenges and reset timers

YAML Scripting

The scripting system lets server owners automate rewards, messages, commands, effects, boosters, and conditional logic without writing Java.

Script Files

Scripts live in plugins/RedGames/scripts/*.yml. An example file is created automatically on first startup.

Script Structure

streak_reward:
  trigger: on_streak_reached
  priority: 10
  conditions:
    - streak: "== 5"
  actions:
    - broadcast: "&6%player% is on a 5-win streak!"
    - give_points: 250
    - play_fireworks: true

Triggers

TriggerWhen It Fires
on_game_winA player wins a game
on_game_loseA player loses an arcade/game session
on_game_startA game starts
on_game_endA game ends
on_game_timeoutA game times out
on_streak_reachedA player's streak increases
on_streak_brokenA player's streak is reset
on_daily_completeA daily challenge is completed
on_weekly_completeA weekly challenge is completed
on_daily_sweepA player completes all active dailies
on_booster_activateA booster activates
on_first_win_of_dayA player gets their first win of the day
on_leaderboard_topA player reaches a top leaderboard position

Common Conditions

conditions:
  - game_type: [REACTION, TRIVIA]
  - difficulty: hard
  - permission: redgames.vip
  - streak: ">= 3"
  - random: 10
  - cooldown: 3600
  - placeholder: "%vault_eco_balance% >= 1000"

Common Actions

actions:
  - give_points: 100
  - multiply_points: 1.5
  - give_money: 500
  - send_message: "&aBonus reward!"
  - send_actionbar: "&eStreak bonus active"
  - broadcast: "&6%player% hit a bonus!"
  - run_command: "give %player% diamond 1"
  - play_sound:
      sound: ENTITY_PLAYER_LEVELUP
      volume: 1.0
      pitch: 1.0
  - give_booster:
      type: POINT_MULTIPLIER
      multiplier: 2.0
      duration: 300

Commands

CommandDescription
/rg scripts reloadReload all script files
/rg scripts listList loaded scripts
/rg scripts test <name>Run one script against yourself
/rg scripts validateReload and report validation warnings

Shop System

Players earn tokens from winning and spend them in the shop. File: shop.yml

Open the Shop

/rg shop

Token Configuration

shop:
  enabled: true
  currency:
    name: "Tokens"
    symbol: "T"
  tokens:
    per-win:
      enabled: true
      base-amount: 5
      difficulty-multiplier:
        easy: 1.0
        medium: 1.5
        hard: 2.0

Shop Items

items:
  diamond_kit:
    category: rewards
    display-name: "&bDiamond Kit"
    description:
      - "&7Get diamond tools!"
    icon: DIAMOND
    price: 100
    one-time: true           # Can only buy once
    commands:
      - "give %player% diamond_pickaxe 1"

  golden_apple:
    category: rewards
    display-name: "&6Golden Apple"
    icon: GOLDEN_APPLE
    price: 25
    stock: 10                # Limited stock
    item:
      material: GOLDEN_APPLE
      amount: 1

Admin Token Commands

/rg tokens give <player> <amount>
/rg tokens take <player> <amount>
/rg tokens set <player> <amount>

Cosmetics

Cosmetics customize how players appear when winning games.

Cosmetic Types

  • TITLE - Displayed before name: "[Champion] Steve won!"
  • PREFIX - Alternative prefix style
  • PARTICLE - Custom win particles (e.g., hearts, flames)

Managing Cosmetics

/rg cosmetics

Opens a GUI to view, equip, and unequip owned cosmetics.

Configuring in shop.yml

items:
  title_champion:
    category: cosmetics
    display-name: "&6Champion Title"
    description:
      - "&ePreview: &6[Champion] &7YourName"
    icon: GOLD_INGOT
    price: 100
    one-time: true
    cosmetic:
      type: TITLE
      id: champion
      display: "&6[Champion]"

  particle_hearts:
    category: cosmetics
    display-name: "&cHeart Particles"
    icon: RED_DYE
    price: 75
    one-time: true
    cosmetic:
      type: PARTICLE
      id: hearts
      particle: HEART
      count: 30

Boosters

Temporary bonuses that are purchased into a booster inventory and activated when the player chooses. Open the booster GUI with /rg boosters.

Booster Types

  • POINT_MULTIPLIER - Multiply points earned for a timed duration
  • EXTRA_TIME - Add bonus seconds to game timers for a set number of uses
  • STREAK_PROTECTION - Protect your win streak from losses for a set number of uses

Inventory & Activation

  • Buying a booster adds it to the player's booster inventory instead of activating it immediately
  • The GUI shows inventory counts, active status, remaining time, and remaining uses
  • Players left-click a booster in the GUI to activate it
  • Point multipliers queue if one is already active
  • Extra Time and Streak Protection stack their remaining uses

Configuration in shop.yml

items:
  double_points:
    category: boosters
    display-name: "&6Double Points"
    icon: EXPERIENCE_BOTTLE
    price: 50
    booster:
      type: POINT_MULTIPLIER
      multiplier: 2.0
      duration: 3600         # 1 hour in seconds

  extra_time:
    category: boosters
    display-name: "&bExtra Time"
    icon: CLOCK
    price: 30
    booster:
      type: EXTRA_TIME
      bonus-seconds: 5
      uses: 3                # 3 activations

  streak_shield:
    category: boosters
    display-name: "&dStreak Shield"
    icon: SHIELD
    price: 40
    booster:
      type: STREAK_PROTECTION
      uses: 1

Win Streaks

Players build streaks by winning consecutive games.

How Streaks Work

  • Win - Streak increases by 1
  • Participate but lose - Streak resets to 0
  • Don't participate - Streak unchanged
  • Have STREAK_PROTECTION - Streak protected on loss

Configuration

streaks:
  announce: true
  min-streak: 2
  message: "&c&e%player% is on a %streak% win streak!"

Best Streak

Your best streak is tracked separately in stats. View with /rg stats.

PlaceholderAPI

Use %redgames_<placeholder>% in any plugin that supports PlaceholderAPI.

Player Stats

  • %redgames_total_score% - Total points
  • %redgames_tokens% - Token balance
  • %redgames_overall_rank% - Overall rank
  • %redgames_<type>_score% - Score for game type
  • %redgames_<type>_rank% - Rank for game type

Game State

  • %redgames_current_game_type% - Current game type
  • %redgames_time_until_game% - Seconds until next game
  • %redgames_game_win_time% - Last win time

Leaderboard (Top-N)

  • %redgames_overall_player_1% - #1 player name
  • %redgames_overall_score_1% - #1 player score
  • %redgames_<type>_player_N% - Nth player for type

Challenges

  • %redgames_daily_1_name% - Active daily challenge name
  • %redgames_daily_1_progress% - Progress as current/required
  • %redgames_daily_1_percent% - Progress percentage
  • %redgames_daily_1_complete% - true/false completion state
  • %redgames_weekly_1_name% - Active weekly challenge name
  • %redgames_weekly_1_progress% - Weekly progress as current/required
  • %redgames_daily_reset% - Time until daily reset
  • %redgames_weekly_reset% - Time until weekly reset
  • %redgames_daily_sweep% - true if all active dailies are complete

Economy (Vault)

Optional money rewards via Vault integration.

Per-Game Config

rewards:
  economy:
    enabled: true
    amount: 100.0
    broadcast-message: true

Global Defaults

# In config.yml
economy:
  enabled: false
  rewards:
    reaction: 100.0
    trivia: 150.0

Storage Backends

Performance Guidance

RedGames is lightweight for normal gameplay and is suitable for larger servers when using SQLite or MySQL storage. For high-population servers, avoid YAML storage because large player files and leaderboard scans can become slower over time.

BackendBest ForNotes
YAMLSmall/medium servers, testingSimple setup, but saves and leaderboard scans can slow down as player data grows.
SQLITEMedium/large single-server setupsBetter structured storage without needing a separate database server.
MYSQLLarge servers and production networksRecommended for high player counts, frequent leaderboard use, and long-term data growth.

YAML (Default)

Player stats, tokens, boosters, and challenge progress are stored under plugins/RedGames/data/.

Stored Data

  • Player stats, points, wins, streaks, and best times
  • Token balances, cosmetics, booster inventory, and active boosters
  • Daily/weekly challenge progress and active challenge state
  • Script cooldowns

SQLite

File-based SQL database. Good for medium servers.

storage:
  type: SQLITE
  sqlite:
    file: "redgames.db"

MySQL

For large servers or multi-server setups.

storage:
  type: MYSQL
  mysql:
    host: localhost
    port: 3306
    database: redgames
    username: root
    password: ""
    table-prefix: rg_

Troubleshooting

Economy Not Working

  • Ensure Vault is installed
  • Ensure an economy plugin is installed (e.g., EssentialsX)
  • Enable rewards.economy.enabled: true in game configs

Placeholders Empty

  • Install PlaceholderAPI
  • Identifier is redgames (not simonsays)
  • Some values are blank when no game is active

Scheduler Not Running

  • Check auto-run.enabled: true
  • Ensure enough players are online (settings.minimum-players)
  • Check that game types are enabled in enabled-games

Voting Not Opening

  • Check voting.enabled: true
  • Check voting.mode; manual mode only opens votes when an admin runs /rg vote start
  • Ensure enough players are online for voting.min-players
  • Verify the voting option pool or auto-run enabled games contains valid game types

Challenges Not Progressing

  • Check challenges.enabled: true
  • Run /rg challenges status to confirm active challenges are selected
  • Check the objective filters for game type and difficulty
  • Run /rg challenges reload after editing challenge files

Scripts Not Running

  • Run /rg scripts validate and check the console for warnings
  • Make sure the script file is in plugins/RedGames/scripts/ and ends with .yml
  • Check the trigger name, conditions, cooldowns, and permissions

Games Not Starting

  • Use -f flag to force start: /rg start reaction easy -f
  • Check if game type is disabled in games.disabled
  • Check world filter settings

Frequently Asked Questions

Q: Will my data from SimonSays transfer to RedGames?

A: Yes! RedGames automatically migrates all player data (stats, tokens, ranks) on first launch. No manual steps required.

Q: Do I need to update my permissions after upgrading?

A: Yes. Update simonsays.* to redgames.* in your permissions plugin.

Q: What about my PlaceholderAPI placeholders?

A: Update %simonsays_*% to %redgames_*% in your scoreboard/hologram plugins.

Q: How do I use gradients in messages?

A: Enable messages.use-minimessage: true, then use <gradient:#color1:#color2>text</gradient>

Q: Where do I add custom words/questions?

A: In plugins/RedGames/games/<type>/wordlists/ or the game's YAML file.

Q: What's the difference between Points and Tokens?

A: Points are for leaderboards. Tokens are currency for the shop. Both are earned from winning.

Q: Do boosters activate when I buy them?

A: No. Boosters go into your booster inventory. Open /rg boosters to activate them when you are ready.

Q: How are challenge rewards configured?

A: Challenges track progress only. Rewards are handled by YAML scripts using on_daily_complete, on_weekly_complete, and on_daily_sweep triggers.

Q: Can players influence the next game?

A: Yes. Enable voting.enabled and players can vote after games or during manually started vote windows.

Q: How does difficulty affect rewards?

A: Easy = 0.5x, Normal = 1.0x, Hard = 2.0x. Both base rewards and time bonuses are multiplied.

Q: Is RedGames performant on larger servers?

A: Yes, with the right storage backend. Gameplay is lightweight, but larger servers should use SQLite or MySQL instead of YAML. MySQL is recommended for high player counts, frequent leaderboard use, or long-term production servers.

Q: Can cosmetics conflict with chat plugins?

A: No. Cosmetics only appear in RedGames win messages, not regular chat.

Q: How do I reset a player's data?

A: For YAML, edit data/players.yml. For SQL, use database commands.

Support

Discord: discord.gg/5QzFAXQJuS