
Python multithreaded DoS tool that floods Minecraft Java servers with forged handshake packets, connection reuse, payload padding, and protocol version spoofing.
JAVAFLOOD is a tool designed for launching Denial of Service (DoS) attacks on Minecraft Java Edition servers. This tool floods the server with multiple methods to overload the server’s resources, resulting in an unresponsive state.
Any unauthorized use, including attempting to disrupt, overload, or damage servers, is strictly prohibited and may be considered illegal under applicable laws. Such actions can lead to severe consequences for both the target systems and the individuals involved.
Please use this tool responsibly and only for legitimate security testing and academic purposes. Misuse of this tool is unethical, potentially unlawful, and strongly discouraged.
The developer of this tool only created it for educational and research purposes within a controlled environment and does not take any responsibility for any misuse, damage, or legal consequences resulting from intentional or unauthorized use by others.
TCP Handshake Flooding:
TCP handshakes to consume server socket resources.Connection Reuse:
TCP connection to maximize impact.Multithreading:
ThreadPoolExecutor to run multiple threads for parallel packet sending.Thread Synchronization:
daemon threadsMinecraft Protocol Abuse:
Payload Padding:
Rapid Connect-Disconnect Loops:
Protocol Version Spoofing:
Check Server Status:
python3 javaflood.py -api < IP/Domain >| Argument | Required | Description |
|---|---|---|
| -ip | Yes | Defines the destination server IP address (e.g., 127.0.0.1). |
| -port | Yes | Specifies the target port (must integer between 1 and 65535). |
| -s | Yes | Configures the size (in bytes) of each transmitted packet. |
| -t | Yes | Determines the number of parallel execution threads. |
| -p | Yes | Sets the protocol version to be used during execution. |
| -d | Yes | Controls the total execution time (in seconds). |
| -api | Optional | Call the API function from mcstatus with the domain. |
| -load | Optional | Loads external configuration from a specified JSON file path. |
| -wait | Optional | Delays execution by a specified number of seconds. |
| -art | Optional | Toggles visibility of the logo (1 = show, 0 = hide). |
| -h | No | Show this help message and exit. |
Clone this repository to your local machine:
git clone https://github.com/Audrise/javaflood.git
cd javaflood
Install the necessary Python libraries:
pip3 install -r requirements.txt
Run javaflood using several methods as below:
python3 javaflood.py -ip 120.0.0.1 -port 25565 -s 100 -t 100 -p 47 -d 60 -wait 10 -art 0
or you can use -load parameter:
python3 javaflood.py -load config.json
By using the -load parameter, you can directly run the tool with the configuration set inside a .json file, without the need to manually input all the parameters. This is particularly useful for speeding up the setup process and running the tool with pre-configured settings.
python3 javaflood.py -load config.json
This will load all parameters from config.json and run the tool.
Make sure the .json file you create is formatted correctly, with the parameters expected by the tool. Here's an example of a valid JSON structure for this tool:
{
"ip": "127.0.0.1",
"port": 25565,
"packet_size": 0,
"threads": 0,
"protocol": 0,
"duration": 0,
"wait": 60,
"art": 0
}