Chat Games
No reviews yet
A spigot plugin aimed to add chat based games into your server to increase user engagement.
Features small, self-contained games within Minecraft.
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Sponge is a dedicated server implementation that supports vanilla and mod loaders like Forge and Fabric while also providing the Sponge API for plugins.
Spigot is a popular software for running dedicated servers that can load Plugins created with the Bukkit API.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
ChatGames
A Minecraft plugin that adds interactive chat-based minigames to engage your server's players with trivia, math challenges, word scrambles, and reaction games.
Why use ChatGames?
- Instant, lightweight chat minigames that keep your chat active.
- Multi-platform: same core works across Spigot, Paper, Folia, and Sponge via a platform abstraction layer.
- Fully configurable games, schedules, messages and reward commands.
- Small, well-documented, and easy to extend.
Features
-
Multiple Game Types:
- Trivia - Answer trivia questions correctly
- Math - Solve math problems
- Unscramble - Unscramble words
- Multiple Choice - Pick the correct answer from several options
- Reaction - Respond quickly
-
Automatic Game Scheduling - Games start automatically at configurable intervals
-
Customizable Rewards - Configure commands to run when players win (economy rewards, items, etc.)
Quick Install
- Drop the plugin
.jarinto your server'splugins/folder. - Start the server once to generate default configurations.
- Edit
config.yml,en-us.yml, and the individual game files.
Configuration
Main Configuration
config.yml
# ChatGames Configuration
# https://github.com/RareHyperIon/ChatGames
# Available: en-us
language: en-us
# Interval between automatic games (in seconds)
game-interval: 300
# Minimum players online to start automatic games
minimum-players: 1
# Whether to automatically start games at intervals
automatic-games: true
# Cooldown after wrong answer in multiple choice (in ticks, 20 ticks = 1 second)
answer-cooldown-ticks: 60
# Enable debug logging
debug: false
```
</details>
<details>
<summary>language/en-us.yml</summary>
```yml
# ChatGames Language File - English (US)
# Message shown when a player tries to use a command they don't have access to
permission: "<red>You don't have permission to use this command.</red>"
# Message shown when ChatGames has been successfully reloaded
reload: "<green>Successfully reloaded ChatGames!</green>"
# Cooldown message when player tries to answer too quickly after wrong answer
cooldown: "<red>You cannot answer this question as you've already tried recently.</red>"
Game Configuration
games/math.yml
name: math
display-name: "<gold>Math Wizard</gold>"
timeout: 60 # The time players have to win the game. (in seconds)
reward-commands:
- "give {player} diamond {rand:1-3}"
messages:
start: |
<gold><bold>MATH WIZARD</bold></gold>
<gray>Solve the equation below!</gray>
{question}
win: |
<green><bold>✓</bold> <yellow>{player}</yellow> solved it!</green>
<gray>Answer: <white>{answer}</white></gray>
timeout: |
<red><bold>✗</bold> Time's up!</red>
<gray>Answer: <white>{answer}</white></gray>
questions:
- ["<yellow>12 + 8 = ?</yellow>", "20"]
- ["<yellow>25 - 7 = ?</yellow>", "18"]
- ["<yellow>6 × 7 = ?</yellow>", "42"]
- ["<yellow>144 ÷ 12 = ?</yellow>", "12"]
- ["<yellow>15 + 23 = ?</yellow>", "38"]
- ["<yellow>50 - 18 = ?</yellow>", "32"]
- ["<yellow>9 × 8 = ?</yellow>", "72"]
- ["<yellow>100 ÷ 5 = ?</yellow>", "20"]
games/multiple-choice.yml
name: multiple choice
display-name: "<green>Multiple Choice</green>"
timeout: 45 # The time players have to win the game. (in seconds)
cooldown: 60 # Ticks to wait after wrong answer (60 ticks = 3 seconds)
reward-commands:
- "give {player} emerald {rand:1-3}"
messages:
start: |
<green><bold>MULTIPLE CHOICE</bold></green>
<gray>Type the correct letter!</gray>
{question}
win: |
<green><bold>✓</bold> <yellow>{player}</yellow> chose correctly!</green>
<gray>Answer: <white>{answer}</white></gray>
timeout: |
<red><bold>✗</bold> Nobody answered!</red>
<gray>Correct: <white>{answer}</white></gray>
questions:
q1:
question: "<yellow>What is the largest planet in our solar system?</yellow>"
answers:
- "A. Earth"
- "B. Jupiter"
- "C. Saturn"
- "D. Mars"
correct-answer: "B"
q2:
question: "<yellow>Which programming language is Minecraft written in?</yellow>"
answers:
- "A. Python"
- "B. C++"
- "C. Java"
- "D. JavaScript"
correct-answer: "C"
q3:
question: "<yellow>What is 2 + 2 × 2?</yellow>"
answers:
- "A. 6"
- "B. 8"
- "C. 4"
- "D. 10"
correct-answer: "A"
q4:
question: "<yellow>Which mob drops blaze rods?</yellow>"
answers:
- "A. Ghast"
- "B. Blaze"
- "C. Wither Skeleton"
- "D. Magma Cube"
correct-answer: "B"
games/reaction.yml
name: reaction
display-name: "<red>Reaction Test</red>"
timeout: 30 # The time players have to win the game. (in seconds)
reward-commands:
- "give {player} diamond {rand:1-3}"
messages:
start: |
<red><bold>REACTION TEST</bold></red>
<gray>Be the first to respond!</gray>
{question}
win: |
<green><bold>✓</bold> <yellow>{player}</yellow> was fastest!</green>
timeout: |
<red><bold>✗</bold> Nobody reacted in time!</red>
# Variants allow different reaction challenges
# If answer is empty string "", any message wins (fastest typer)
# If answer is specified, must type that exact word
# If answer is "CLICK", then it will be clickable.
# - Optional: Add hover="Your text" for custom hover message
# - Example: <button hover='Click me!'>Press here</button>
# - Without hover attribute, no hover text will be shown
# - You can include colors in the hover attribute.
variants:
- name: "Type Fast"
challenge: "<gold><bold>Type: <yellow>MINECRAFT</yellow></bold></gold>"
answer: "MINECRAFT"
- name: "First Word"
challenge: "<gold><bold>Type any word now!</bold></gold>"
answer: ""
- name: "Click Fast"
challenge: "<button hover='Click to win!' win><gold><bold>Click me to win!</bold></gold></button>"
answer: "CLICK"
- name: "Click Fast"
challenge: "<yellow>Click the star!</yellow>\n\n<button win>[<gold><bold>⭐</bold></gold>]</button> <button>[<red><bold>❤</bold></red>️]</button> <button>[<green><bold>🟢</bold></green>]</button>"
answer: "CLICK"
- name: "Color"
challenge: "<gold><bold>Type: <yellow>RED</yellow></bold></gold>"
answer: "RED"
games/trivia.yml
name: trivia
display-name: "<aqua>Trivia Time</aqua>"
timeout: 45 # The time players have to win the game. (in seconds)
reward-commands:
- "give {player} emerald {rand:1-3}"
messages:
start: |
<aqua><bold>TRIVIA TIME</bold></aqua>
<gray>Answer the question below!</gray>
{question}
win: |
<green><bold>✓</bold> <yellow>{player}</yellow> got it right!</green>
<gray>Answer: <white>{answer}</white></gray>
timeout: |
<red><bold>✗</bold> Nobody got it!</red>
<gray>Answer: <white>{answer}</white></gray>
questions:
- ["<yellow>What is the capital of France?</yellow>", "Paris"]
- ["<yellow>How many continents are there?</yellow>", "7"]
- ["<yellow>What year did the Titanic sink?</yellow>", "1912"]
- ["<yellow>What is the largest ocean?</yellow>", "Pacific"]
- ["<yellow>Who painted the Mona Lisa?</yellow>", "Leonardo da Vinci"]
- ["<yellow>What is the speed of light?</yellow>", "299792458"]
- ["<yellow>What is H2O commonly known as?</yellow>", "Water"]
games/unscramble.yml
name: unscramble
display-name: "<light_purple>Word Scramble</light_purple>"
timeout: 60 # The time players have to win the game. (in seconds)
reward-commands:
- "give {player} gold_ingot {rand:1-5}"
messages:
start: |
<light_purple><bold>WORD SCRAMBLE</bold></light_purple>
<gray>Unscramble the word!</gray>
{question}
win: |
<green><bold>✓</bold> <yellow>{player}</yellow> unscrambled it!</green>
<gray>Word: <white>{answer}</white></gray>
timeout: |
<red><bold>✗</bold> Time ran out!</red>
<gray>Word: <white>{answer}</white></gray>
words: [
"SMARTPHONE", "COMPUTER", "GAMING",
"KEYBOARD", "MINECRAFT", "DIAMOND",
"ADVENTURE", "TREE", "GOLD", "LOG"
]
Supported Platforms & Versions
| Platform | Supported Versions |
|---|---|
| Spigot | 1.13.x – 1.21.x |
| Paper | 1.20.6 – 1.21.x |
| Folia | 1.20.6 – 1.21.x |
| Sponge | 1.21.x |
Commands
| Command | Permission | Description |
|---|---|---|
/chatgames reload |
chatgames.reload |
Reload all configurations |
/chatgames start <game> |
chatgames.start |
Manually start a game |
/chatgames stop |
chatgames.stop |
Stop the current game |
/chatgames list |
chatgames.list |
List all available games |
/chatgames info |
chatgames.info |
Show plugin information |
/chatgames toggle |
chatgames.toggle |
Toggle automatic games on or off |
Permissions
| Permission | Description |
|---|---|
chatgames.reload |
Allows reloading the plugin |
chatgames.start |
Allows manually starting a game |
chatgames.stop |
Allows stopping the current game |
chatgames.list |
Allows listing all available games |
chatgames.info |
Allows viewing plugin information |
chatgames.toggle |
Allows toggling automatic games |
Troubleshooting
Games not starting:
- Check
minimum-playerssetting inconfig.yml - Verify enough players are online
- Check console for errors
Rewards not working:
- Verify placeholder format is
{player} - Check console for command errors
Questions not loading:
- Verify YAML syntax in game config files
- Use
/chatgames reloadafter making changes - Check console for parsing errors
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers