11# DolphinMinecraftBot-Reloaded
2- A lightweight, reliable, intelligent MC bot for general minecraft server, with high-scalability and performance. It integrated plugin loaders like bukkit and easy-used interface styled APIs, allows you to customize event handles.
2+ <p align =" center " >
3+ <img src =" assets/logo.jpg " width =" 300 " height =" 300 " >
4+ </p >
5+ <div align =" center " >
6+ ✨ A lightweight, reliable, intelligent MC bot for general minecraft server, with high-scalability and performance. It integrated plugin loaders like bukkit and easy-used interface styled APIs, allows you to customize event handles. ✨
7+ </div >
8+ <p align =" center " >
9+ <a href =" https://github.com/NeonAngelThreads/DolphinBot/releases " >
10+ <img src="https://img.shields.io/github/v/release/NeonAngelThreads/DolphinBot" alt="Release"/>
11+ </a >
12+ <br >
13+ <a href =" https://github.com/NeonAngelThreads/DolphinBot/commits/master/ " >
14+ <img src="https://img.shields.io/github/last-commit/NeonAngelThreads/DolphinBot" alt="Release"/>
15+ </a >
16+ <img src =" https://img.shields.io/github/commit-activity/w/NeonAngelThreads/DolphinBot " alt =" GitHub commit activity " />
17+ <a href =" https://github.com/NeonAngelThreads/DolphinBot/releases " >
18+ <img src="https://img.shields.io/github/issues/NeonAngelThreads/DolphinBot" alt="Release"/>
19+ </a >
20+ <img src =" https://img.shields.io/github/languages/code-size/NeonAngelThreads/DolphinBot " alt =" GitHub code size " />
321
22+ <p align =" center " >
23+ <a href="https://github.com/NeonAngelThreads/DolphinBot/blob/master/PluginDocs.md">📖Docs</a>
24+ ·
25+ <a href="https://github.com/NeonAngelThreads/DolphinBot/issues">🐛Submit Suggestion/Bug</a>
26+ </p >
27+ </p >
428
529## Why DolphinBot?
630 - ** High performance** , DolphinBot allows you to start multiple bot instances at one client with low CPU usage.
@@ -9,13 +33,19 @@ A lightweight, reliable, intelligent MC bot for general minecraft server, with h
933 It integrates a bukkit-like plugin API, allowing you to develop custom plugins at very short time.
1034 - ** Advanced logging system** , DolphinAPI also implemented ` TextComponent ` serializer to parse rich colors and styles for server messages, with more useful information.
1135 - ** Easy to use** , directly run, you can put the bot profile(s) into config file instead of defining on command-line, fast start.
12- ### ** Shortcuts** : [ Custom plugin developing guideline] ( PluginDocumentation .md)
36+ ### ** Shortcuts** : [ Custom plugin developing guideline] ( PluginDocs .md)
1337## Features:
1438 - Easy to register custom commands starting with ` ! ` by using CommandBuilder DolphinAPIs
1539 - Bypassing human verification in most servers including ` 2b2t.xin ` .
1640 - Supporting to configure the bot clusters, and start at once.
1741 - Supporting colourful console logging strings expression ` colorizeText("&6Hello &lWorld") ` .
1842 - Automatic answer questions in ` 2b2t.xin ` for speeding up login process.
43+ ## Introduction:
44+ Implemented Event APIs:
45+ - [ ` Command Systems ` ] ( https://github.com/NeonAngelThreads/DolphinBot/ )
46+ - [ ` Packet Handlers ` ] ( https://github.com/NeonAngelThreads/DolphinBot/ )
47+
48+ Command-line Arguments
1949## Getting Started
2050In this section, you will understand below how-tos:
2151 - ** 1. How to directly start a single bot with command-line.**
@@ -27,94 +57,93 @@ In this section, you will understand below how-tos:
27571 . ** Download the Client**
2858 Download the jar archive file: ` DolphinBot-[version].jar ` .
2959 Requirements: ** Java version >= 17**
30- 2 . ** Configuration of the Bot**
31- 1 . ** Configuring Bot Profile**
32- There are two different ways to set bot config:
33-
34- - If you want to quickly start for simplicity and only one bot started, you can use ** Command-line setting**
35- - If you would like to start multiple bot at once, and access advanced options, you can use ** Config file setting**
36-
37- 1 . ** Command-line Setting**
38- In-game profile should be defined on below boot command-line.
39- An example of argument list:
40- ``` bash
41- java -jar " DolphinBot-[version].jar" -username=[username] -password=[password] -skin-recorder=[enable/disable]
42- ```
43- ` --username` : Bot displaying name in game.
44- ` --password` : Password for login or register.
45- ` --auto-reconnect` : whether reconnect to server when got kicked or disconnect by some reasons.
46- ` --skin-recorder` : whether automatic capture and save online players' skins.
60+ 2 . ** Configuration of the Bot**
61+ ** Configuring Profile**
62+ There are two different ways to set bot config:
63+ - If you want to quickly start for simplicity and only one bot started, you can use ** Command-line setting**
64+ - If you would like to start multiple bot at once, and access advanced options, you can use ** Config file setting**
65+
66+ 1 . ** Command-line Setting**
67+ In-game profile should be defined on below boot command-line.
68+ An example of argument list:
69+ ``` bash
70+ java -jar " DolphinBot-[version].jar" -username=[username] -password=[password] -skin-recorder=[enable/disable]
71+ ```
72+ ` --username` : in-game displaying name of bot.
73+ ` --password` : password for login or register.
74+ ` --auto-reconnect` : whether reconnect to server when got kicked or disconnect by some reasons.
75+ ` --skin-recorder` : whether automatic capture and save online players' skins.
4776
48- **Warning:** command-line has high authority than config file, meaning that if options are duplicated, will only recognize
49- command-line, and ignore config file one.
50- Optionally, you can specify more option by adding argument:
51- `--owner` : Specifying only who can use this bot.
52- 2. **Config File Setting**
53- Config files include functional config `mc.bot.config.json` and profile config `bot.profiles.json`
54- You can also move above profile arguments into config file ``bot.profiles.json`` following below formats, all config values in it will be loaded.
55- DolphinBot will apply command-line options first, duplicated options in config file will be ignored.
56- To specify the path of config file is optional, Use option `-config-file` to locate config directory or file.
57- For example:
58- ```bash
59- java -jar "DolphinBot-[version].jar" -config-file=path/to/config.json
60- ```
61- If the path you specified is a directory instead of a file, Dolphin will extract config file as default config in this directory.
62- ```bash
63- java -jar "DolphinBot-[version].jar" -config-file=path/to/config_directory
64- ```
65- If the `--config-file` parameter is absented, DolphinBot will create a default file on jar directory.
66- ```bash
67- java -jar "DolphinBot-[version].jar"
68- ```
77+ **Warning:** command-line has high authority than config file, meaning that if options are duplicated, will only recognize
78+ command-line, and ignore config file one.
79+ Optionally, you can specify more option by adding argument:
80+ `--owner` : Specifying only who can use this bot.
81+ 2. **Config File Setting**
82+ Config files include functional config `mc.bot.config.json` and profile config `bot.profiles.json`
83+ You can also move above profile arguments into config file ``bot.profiles.json`` following below formats, all config values in it will be loaded.
84+ DolphinBot will apply command-line options first, duplicated options in config file will be ignored.
85+ To specify the path of config file is optional, Use option `-config-file` to locate config directory or file.
86+ For example:
87+ ```bash
88+ java -jar "DolphinBot-[version].jar" -config-file=path/to/config.json
89+ ```
90+ If the path you specified is a directory instead of a file, Dolphin will extract config file as default config in this directory.
91+ ```bash
92+ java -jar "DolphinBot-[version].jar" -config-file=path/to/config_directory
93+ ```
94+ If the `--config-file` parameter is absented, DolphinBot will create a default file on jar directory.
95+ ```bash
96+ java -jar "DolphinBot-[version].jar"
97+ ```
6998
70- In the profile config file, you can create `profiles` key in `bot.profiles.json` to specify multiple bot profiles to log to a server.
71- **Warning**: Defining multiple bots may trigger the anti-bot or anti-cheat, and some servers with strict policy may prohibit it.
72- ```json
73- {
74- "profiles": {
75- "bot#1": {
76- "name": "Player494",
77- "password": "123example",
78- "owner": "player_name",
99+ In the profile config file, you can create `profiles` key in `bot.profiles.json` to specify multiple bot profiles to log to a server.
100+ **Warning**: Defining multiple bots may trigger the anti-bot or anti-cheat, and some servers with strict policy may prohibit it.
101+ ```json
102+ {
103+ "profiles": {
104+ "bot#1": {
105+ "name": "Player494",
106+ "password": "123example",
107+ "owner": "player_name",
79108
80- "enabled_plugins": [
81- "QuestionAnswerer",
82- "MessageDisplay",
83- "HumanVerify"
84- ]
85- },
86- "bot#2": {
87- "name": "Player495",
88- "password": "password",
89- "owner": "player_name",
109+ "enabled_plugins": [
110+ "QuestionAnswerer",
111+ "MessageDisplay",
112+ "HumanVerify"
113+ ]
114+ },
115+ "bot#2": {
116+ "name": "Player495",
117+ "password": "password",
118+ "owner": "player_name",
90119
91- "enabled_plugins": [
92- "HumanVerify"
93- ]
94- },
95- "bot#3": {"...": "..."}
96- }
120+ "enabled_plugins": [
121+ "HumanVerify"
122+ ]
123+ },
124+ "bot#3": {"...": "..."}
97125 }
98- ```
99- where `enabled_plugins` key represents which plugins should enable on the bot.
100- In this case, if you want to load `bot#1` as your single bot, you should add below argument:
101- ```bash
102- java -jar "DolphinBot-[version].jar" -config-file=path/to/config_directory -profiles="bot#1"
103- ```
104- or
105- ```bash
106- java -jar "DolphinBot-[version].jar" -profiles="bot#1"
107- ```
108- If you want to start multiple bot simultaneously, specify multiple profile name as a list in option `-profiles`, for
109- each profile name, should be split with ";".
110- **Examples:**
111- ```bash
112- java -jar "DolphinBot-[version].jar" -profiles="bot#1;bot#2"
113- ```
114- ```bash
115- java -jar "DolphinBot-[version].jar" -profiles="bot#1;bot#2;bot#3;..."
116- ```
117- - **Warning**: If the `--profiles` option is absented, it will load all bots in profile config by default.
126+ }
127+ ```
128+ where `enabled_plugins` key represents which plugins should enable on the bot.
129+ In this case, if you want to load `bot#1` as your single bot, you should add below argument:
130+ ```bash
131+ java -jar "DolphinBot-[version].jar" -config-file=path/to/config_directory -profiles="bot#1"
132+ ```
133+ or
134+ ```bash
135+ java -jar "DolphinBot-[version].jar" -profiles="bot#1"
136+ ```
137+ If you want to start multiple bot simultaneously, specify multiple profile name as a list in option `-profiles`, for
138+ each profile name, should be split with ";".
139+ **Examples:**
140+ ```bash
141+ java -jar "DolphinBot-[version].jar" -profiles="bot#1;bot#2"
142+ ```
143+ ```bash
144+ java -jar "DolphinBot-[version].jar" -profiles="bot#1;bot#2;bot#3;..."
145+ ```
146+ - **Warning**: If the `--profiles` option is absented, it will load all bots in profile config by default.
118147 2. **Advanced Configurations (optional)**
119148 If you want to access more advanced configs, you can edit `mc.bot.config.json`.
120149 Every single config option is equilibrium to option that defined by command line, and all config value including
@@ -133,10 +162,14 @@ In this section, you will understand below how-tos:
133162 "reconnect-delay": 3000
134163 }
135164 ```
136- `server`: For defining server address.
137- `port`: For defining server port.
138- `auto-reconnecting`: Whether reconnect to server when got kicked or disconnect by some reasons.
139- `packet-filter-delay`: Max receiving delay(millis) between every target packet.
140- `max-chunk-view`: Max scale of chunk packet receiving.
141- `connect-timing-out`: How long millis does it take to determine a connection time out.
142- `reconnect-delay`: Min delay(millis) for cooling down when reconnect a server.
165+ Config Options:
166+
167+ Config | Description
168+ ----------------------- | -----------
169+ `server` | For defining server address.
170+ `port` | For defining server port.
171+ `auto-reconnecting` | Whether reconnect to server when got kicked or disconnect by some reasons.
172+ `packet-filter-delay` | Max receiving delay(millis) between every target packet.
173+ `max-chunk-view` | Max scale of chunk packet receiving.
174+ `connect-timing-out` | How long millis does it take to determine a connection time out.
175+ `reconnect-delay` | Min delay(millis) for cooling down when reconnect a server.
0 commit comments