ChatGames
10 Mini-Games in Chat. Compete. Win. Repeat.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10 Games ◆ Redis Cross-Server ◆ H2 + MySQL ◆ 8 Languages ◆ Paper 1.21 + Folia
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What ChatGames Solves
Most chat game plugins are barebones. They run one or two games, lack persistence, and fall apart the moment you add a second server. Players win. Nobody remembers. No streaks. No leaderboards. No cross-server sync.
ChatGames fixes that. Every game type from math equations to GUI crafting tables is fully configurable. Wins are persisted to H2 or MySQL with leaderboards and fastest times. A Redis proxy layer synchronizes games across your entire network so a game started on Survival finishes on SkyBlock. Streak milestones reward loyal players. PlaceholderAPI support feeds stats into scoreboards and menus. This is not a trivia plugin. It is a complete chat competition engine.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10 Game Types
Each game has its own config section with timers, word banks, and toggle switches.
10 Game Types
Each game has its own config section with timers, word banks, and toggle switches.
◆ Quick Math
Generate random math problems from a customizable list. Players race to solve them first. Supports any equation format.
◆ Who Am I
Display hints about an entity or item. Players guess from the clues. Word bank is fully configurable with custom hint-to-answer mappings.
◆ Word Stop
Name a mob that starts with a given letter. Configurable mob list determines valid answers. Perfect for testing Minecraft knowledge.
◆ Word Guesser
Unscramble a shuffled word. Typing speed and vocabulary are tested. Custom word list in config.
◆ Random Characters
A string of random characters appears. First to retype it correctly wins. Length and character pool are configurable.
◆ Reverse
A word is displayed backwards. Guess the original word. Tests reverse reading speed and vocabulary.
◆ Fill Out
Fill in the missing letters of a partially hidden word. Configurable how many letters are blanked out.
◆ Number Range
Guess the correct number within a configurable range. Classic higher/lower style guessing game but in chat.
◆ Hangman
Full ASCII hangman with configurable stages. Players guess letters one at a time. Each stage is a custom text block. Word list is configurable.
◆ Crafting
Open a workbench GUI and craft the target item. Recipes are fully configurable with correct ingredient lists. Real Minecraft recipe validation ensures only valid crafts count. Interactive join button in chat.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Core Systems
Core Systems
◆ Auto Game Scheduler
- Fully automatic game rotation with configurable cooldown between rounds
- Minimum player threshold prevents games on empty servers
- Each game type can be individually enabled or disabled
- Manual start command for staff-triggered events
◆ Win Streaks
- Track consecutive wins per player with configurable milestone thresholds
- Custom messages and reward commands fire at each milestone
- Non-winners lose their streak when a game ends
- Best streak ever is saved to database for leaderboards
◆ Redis Cross-Server Proxy
- One master server starts games, all slave servers receive and display them
- Players on any server can answer and win locally
- Game start, stop, timeout, and win events broadcast in real time
- Jedis pool with configurable connection settings
◆ Data Persistence
- H2 local database with zero setup for single-server setups
- MySQL via HikariCP for network deployments
- Tracks total wins, fastest win time, current streak, and best streak per player
- Leaderboard queries for fastest time and most wins with positional offsets
◆ Reward System
- Weighted random reward pool: define chance percentage per reward
- Commands execute as console with {player} placeholder support
- Win and loss sound effects with configurable Sound enum
- Toast notifications via temporary advancements
◆ PlaceholderAPI Integration
- %chatgames_current_game% with live game data and countdown timer
- %chatgames_wins% and %chatgames_fastest_time% per player
- %chatgames_streak% and %chatgames_best_streak%
- Positional leaderboard: %chatgames_fastest_time_player_1% etc.
◆ Multi-Language
- 8 built-in languages: English, German, Spanish, French, Italian, Polish, Russian, Chinese
- Full hex color support with &#RRGGBB format across all messages
- Language switch is a single line in config.yml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How ChatGames Compares
How ChatGames Compares
| Feature | ChatGames | Typical Chat Game Plugin |
| Game types | 10 unique games including GUI crafting | 2 to 4 basic text games |
| Cross-server | Redis pub/sub master/slave architecture | Single server only |
| Data persistence | H2 local or MySQL with leaderboards | None or flat file only |
| Win streaks | Configurable milestones with custom rewards | Not available |
| GUI game | Workbench crafting with recipe validation | Not available |
| Multi-language | 8 languages, full hex color support | Hardcoded English only |
| Folia support | UniversalScheduler, tested on Folia | Paper/Spigot only, breaks on Folia |
| Rewards | Weighted random pool with custom commands | Single reward or none |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Who This Is For
Who This Is For
- Community and survival servers Keep chat active during quiet hours. Players love the competition. Configure rewards to give in-game currency or items.
- Network owners Redis proxy means one game runs across your whole network. Players on SkyBlock see the same game as players on Survival. Global leaderboards.
- Event hosts Manually start specific games for server events. Combine with weighted rewards for tournament-style prizes. Streak system keeps players coming back.
- Server owners who want zero maintenance Drop in the JAR. Games start automatically. H2 database needs no setup. Everything configurable through YAML with /chatgames reload.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specs
Technical Specs
| Server | Paper 1.21, Java 21, Folia compatible |
| Dependencies | PlaceholderAPI (soft). Redis is optional. MySQL is optional. |
| Storage | H2 local (default) or MySQL via HikariCP |
| Cross-Server | Redis pub/sub with master/slave roles |
| Languages | en, de, es, fr, it, pl, ru, zh |
| Analytics | bStats, built-in, toggle in config |
◆ Commands
| Command | Description | Permission |
| /chatgames reload | Reloads config and language files live | chatgames.reload |
| /chatgames start <type> | Manually starts a specific game type | chatgames.start |
| /chatgames crafting | Opens the crafting GUI during an active crafting game | Player |
| /chatgames status | Shows active games, version, Redis status, update info | chatgames.admin |
◆ Permissions
| Permission | Description | Default |
| chatgames.reload | Reload plugin configuration | op |
| chatgames.start | Manually start chat games | op |
| chatgames.admin | Access to all admin commands + update notifications | op |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get ChatGames
Your chat is already active. Make it competitive.
Give your players a reason to keep typing.
10 games. 8 languages. Cross-server sync. One plugin.
Download and have it running in under 2 minutes.
Questions? Open an issue on GitHub. Feature requests are welcome.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get ChatGames
Your chat is already active. Make it competitive.
Give your players a reason to keep typing.
10 games. 8 languages. Cross-server sync. One plugin.
Download and have it running in under 2 minutes.
Questions? Open an issue on GitHub. Feature requests are welcome.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
