OneBot
A powerful Minecraft server plugin that bridges OneBot protocol implementations with your game server.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
OneBot
OneBot
A powerful Minecraft server plugin that bridges OneBot protocol implementations with your game server.
✨ Features
- 🔌 Rich Text Support - Full support for OneBot v11/v12 protocols - 🎮 Rich Text Support - Works with Minecraft 1.8-1.21+ servers - 🚀 Rich Text Support - Built on TabooLib framework for optimal performance - 🔧 Rich Text Support - Pre-configured templates for popular OneBot implementations - 📊 Rich Text Support - Built-in bStats metrics for usage analytics - 🌍 Rich Text Support - Multi-language support with i18n - 🔄 Rich Text Support - Bidirectional message forwarding between game and chat platforms - 🎨 Rich Text Support - Full Minecraft chat component support with formatting
📋 Requirements
- OneBot Implementation: 8 or higher - OneBot Implementation: Bukkit/Spigot/Paper 1.8-1.21+ - OneBot Implementation: Minimum 2GB recommended - OneBot Implementation: Any OneBot v11/v12 compatible server (e.g., go-cqhttp, Lagrange.OneBot)
🚀 Quick Start
Installation
1. Download the Plugin - Get the latest release from Download the Plugin - Choose the file: `OneBot-x.x.x.jar`
2. Install on Server ```bash
Place the JAR file in your server's plugins directory
cp OneBot-*.jar /path/to/server/plugins/ ```
3. Start/Restart Server ```bash
Restart your Minecraft server
/reload
or
/stop && ./start.sh ```
Configuration
1. List Available Presets ```bash /onebot preset list ```
2. Apply a Preset Configuration ```bash
For go-cqhttp
/onebot preset apply go-cqhttp
For Lagrange.OneBot
/onebot preset apply lagrange ```
3. Connect to OneBot Server ```bash /onebot connect ```
4. Check Connection Status ```bash /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
```bash
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:
```bash
Build API JAR (without implementation)
./gradlew taboolibBuildApi -PDeleteCode ```
Maven Dependency
```xml <dependency> <groupId>online.bingzi</groupId> <artifactId>onebot</artifactId> <version>VERSION</version> </dependency> ```
Gradle Dependency
```kotlin 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
```yaml
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.
1. Fork the repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. 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
- Discussions: Discussions - Discussions: %%MD1%% - Discussions: %%MD2%%
📜 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