
Bring AI to your Minecraft server - an intelligent chatbot that interacts with players and responds to in-game events
ServerChan is a friendly, AI-powered helper for Minecraft servers. It listens to chat, reacts to in-game events, and can even carry out commands when you give it permission. Whether you run a cozy SMP or a busy public server, ServerChan keeps conversations lively without spamming players.
| Version | Java | Fabric | Forge | NeoForge | Spigot/Paper |
|---|---|---|---|---|---|
| 1.12.x | 8 | — | ❌ | — | ✅ |
| 1.13.x | 8 | — | ❌ | — | ✅ |
| 1.14.x | 8 | ✅ | ❌ | — | ✅ |
| 1.15.x | 8 | ✅ | ❌ | — | ✅ |
| 1.16.x | 8 | ✅ | ✅ | — | ✅ |
| 1.17.x | 16 | ✅ | ✅ | — | ✅ |
| 1.18.x | 17 | ✅ | ✅ | — | ✅ |
| 1.19.x | 17 | ✅ | ✅ | — | ✅ |
| 1.20.x | 21 | ✅ | ✅ | ✅ | ✅ |
| 1.21.x | 21 | ✅ | ✅ | ✅ | ✅ |
— means the loader didn't exist for that version (Fabric starts at 1.14, NeoForge at 1.20).
You're just five steps away from a chatty server buddy:
mods/ folder (or plugins/ for Spigot/Paper)/reload and start chattingThe config file lives at:
config/serverchan.yamlplugins/ServerChan/config.yml| Option | Description |
|---|---|
openaiApiKey |
Your OpenAI API key (or compatible provider) |
openaiBaseUrl |
API base URL (default: https://api.openai.com/v1) Important: Must include /v1 path |
| Option | Default | Description |
|---|---|---|
model |
gpt-5.1 |
Model to use for responses |
temperature |
1.0 |
Response randomness (0.0 - 2.0) |
contextSize |
20 |
Number of messages to keep in context |
botColor |
b |
Minecraft color code for bot chat |
timeZone |
UTC |
Timezone for message timestamps |
locale |
en |
Language for bot messages |
The intention checker uses a smaller/faster model to decide if the AI should respond.
| Option | Default | Description |
|---|---|---|
useIntentionChecker |
true |
Enable smart response filtering |
intentionCheckerModel |
gpt-4o-mini |
Model for intention checking (personal rec: qwen3-235b-a22b-2507 via Cerebras) |
responseProbabilityThreshold |
0.5 |
Minimum probability to trigger response |
useFastPathIntentionChecker |
false |
Start response generation early |
intentionCheckerApiKey |
(empty) | Separate API key (uses main key if empty) |
intentionCheckerBaseUrl |
(empty) | Separate base URL (uses main URL if empty). Must include /v1 path if set |
| Option | Default | Description |
|---|---|---|
enableGameEvents |
true |
React to game events |
enableJoinLeaveEvents |
true |
React to player join/leave |
enableDeathEvents |
true |
React to player deaths |
| Option | Default | Description |
|---|---|---|
inheritCmdSourcePermission |
true |
AI inherits triggering player's permissions for commands |
You can customize the system prompts to match the vibe of your server:
intentionCheckingSystemMessage - Controls when AI decides to respondresponseGenerationSystemMessage - Controls AI personality and behaviorSample prompt files live in the example/ folder to help you get started. For instance, example/OnlyMyRedstone-system-prompt.txt captures the full response-generation setup used on the OnlyMyRedstone community server, and example/OnlyMyRedstone-intention-checking.txt shows how that server throttles responses through intention checking. Feel free to duplicate and adapt these files for your own servers — they're meant to be remixed.
All commands require operator permissions (level 4).
| Command | Description |
|---|---|
/serverchan reload |
Reload configuration |
/serverchan reset |
Clear message context/memory |
/serverchan kill |
Reset the OpenAI client connection |
/serverchan disable |
Pause ServerChan responses (no messages processed) |
/serverchan enable |
Resume ServerChan responses |
The AI maintains conversation context and can reference previous messages within the configured context size.
# Clone the repository
git clone https://github.com/himekifee/ServerChan.git
cd ServerChan
# Build for a specific Minecraft version
./gradlew build -PmcVer=1.21
# Build merged jar (all loaders in one)
./gradlew build mergeJars -PmcVer=1.21
Built jars will be in build/libs/ (or build/forgix/ for merged jars).
For local development, a test script is provided that builds the mod and spins up actual Minecraft servers to verify it loads correctly:
# Build and test on all platforms (requires Docker)
./dev-test.sh 1.21
# Build only, skip server tests
./dev-test.sh --build-only 1.21
# Test specific platform only
./dev-test.sh --fabric 1.21
./dev-test.sh --forge 1.21
./dev-test.sh --neoforge 1.21
./dev-test.sh --paper 1.21
The script requires Docker to run the server tests.
Contributions are welcome! Please feel free to submit issues and pull requests; we love hearing how you're using ServerChan.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Join our Discord server to chat with the community, get help, or share your ServerChan setup!
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Not sponsored by Cerebras, but I use their inference API for CI testing and my own server's intention checker model — it's blazingly fast! With a context of 20 messages, intention checking finishes within ~1 second, and full responses come back in about 2-5 seconds. That's basically instant compared to other LLM providers that often need 20+ seconds to reply, making Cerebras a perfect fit for real-time chat applications like this. If anyone from Cerebras is interested in sponsoring API credits or any other form of support, feel free to open an issue 😊