
OneBot
A powerful Minecraft server plugin that bridges OneBot protocol implementations with your game server.
OneBot
A powerful Minecraft server plugin that bridges OneBot protocol implementations with your game server.
✨ Features
- 🔌 Protocol Support - Full support for OneBot v11/v12 protocols
- 🎮 Wide Compatibility - Works with Minecraft 1.8-1.21+ servers
- 🚀 High Performance - Built on TabooLib framework for optimal performance
- 🔧 Easy Configuration - Pre-configured templates for popular OneBot implementations
- 📊 Metrics Integration - Built-in bStats metrics for usage analytics
- 🌍 Internationalization - Multi-language support with i18n
- 🔄 Real-time Sync - Bidirectional message forwarding between game and chat platforms
- 🎨 Rich Text Support - Full Minecraft chat component support with formatting
📋 Requirements
- Java: 8 or higher
- Server: Bukkit/Spigot/Paper 1.8-1.21+
- Memory: Minimum 2GB recommended
- OneBot Implementation: Any OneBot v11/v12 compatible server (e.g., go-cqhttp, Lagrange.OneBot)
🚀 Quick Start
Installation
-
Download the Plugin
- Get the latest release from Releases
- Choose the file:
OneBot-x.x.x.jar
-
Install on Server
# Place the JAR file in your server's plugins directory cp OneBot-*.jar /path/to/server/plugins/ -
Start/Restart Server
# Restart your Minecraft server /reload # or /stop && ./start.sh
Configuration
-
List Available Presets
/onebot preset list -
Apply a Preset Configuration
# For go-cqhttp /onebot preset apply go-cqhttp # For Lagrange.OneBot /onebot preset apply lagrange -
Connect to OneBot Server
/onebot connect -
Check Connection Status
/onebot status
📁 Project Structure
OneBot/
├── src/
│ └── main/
│ ├── kotlin/ # Kotlin source code
│ └── resources/ # Resource files
│ ├── config.yml # Main configuration
│ └── lang/ # Language files
├── build.gradle.kts # Build configuration
└── settings.gradle.kts # Project settings
🔧 Development
Building from Source
# Clone the repository
git clone https://github.com/BingZi-233/OneBot.git
cd OneBot
# Build the plugin
./gradlew build
# The output JAR will be in build/libs/
Development Setup
For developers who want to use OneBot as a dependency:
# Build API JAR (without implementation)
./gradlew taboolibBuildApi -PDeleteCode
Maven Dependency
<dependency>
<groupId>online.bingzi</groupId>
<artifactId>onebot</artifactId>
<version>VERSION</version>
</dependency>
Gradle Dependency
dependencies {
implementation("online.bingzi:onebot:VERSION")
}
🌐 Supported OneBot Implementations
| Implementation | Protocol Version | Status |
|---|---|---|
| go-cqhttp | v11 | ✅ Fully Supported |
| Lagrange.OneBot | v11 | ✅ Fully Supported |
| Shamrock | v11 | ✅ Fully Supported |
| NapCat | v11 | ✅ Fully Supported |
| OneBot v12 | v12 | 🚧 In Development |
📖 Commands
| Command | Permission | Description |
|---|---|---|
/onebot help | onebot.use | Show help information |
/onebot status | onebot.use | Check connection status |
/onebot connect | onebot.admin | Connect to OneBot server |
/onebot disconnect | onebot.admin | Disconnect from OneBot server |
/onebot reload | onebot.admin | Reload configuration |
/onebot preset list | onebot.admin | List available presets |
/onebot preset apply <name> | onebot.admin | Apply a preset configuration |
🔗 Configuration Guide
Basic Configuration
# config.yml
onebot:
# Connection settings
connection:
type: websocket
host: localhost
port: 8080
path: /onebot/v11/ws
# Authentication
auth:
enabled: false
token: your-token-here
# Message forwarding
forward:
game-to-bot: true
bot-to-game: true
# Format settings
format:
game-message: "[MC] <{player}> {message}"
bot-message: "[QQ] <{sender}> {message}"
Advanced Settings
See Configuration Wiki for detailed configuration options.
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📊 Metrics
This plugin uses bStats to collect anonymous usage data. You can opt-out in the bStats config file.
View our metrics: bStats Page
🐛 Bug Reports & Feature Requests
- Bug Reports: Create an Issue
- Feature Requests: Request a Feature
- Discussions: Join Discussions
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- cnlimiter/onebot-client - This project is redesigned and reimplemented based on this project
- TabooLib - The powerful framework this plugin is built on
- OneBot - The chat protocol standard
- All contributors and users of this plugin
💖 Support
If you find this plugin helpful, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs and suggesting features
- 🤝 Contributing to the codebase
- 📢 Sharing with others
Made with ❤️ by BingZi-233
