/MinecraftPlayerCrasher

An easy-to-use Minecraft plugin that enables the crashing of a player's game through the use of a command.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

PlayerCrasher

Build CodeQL GitHub Release
Modrinth Discord

Overview

An easy-to-use Minecraft plugin that enables the crashing of a player's game through the use of a command.

Requires PacketEvents

Ensure the PacketEvents library is installed on your server.

Table of Contents

Showcase

Demo

Supported Platforms & Versions

Platform Supported Versions
Bukkit (Spigot, Paper, Folia etc.) 1.8.8 - 1.20.6
Velocity Latest Major
BungeeCord (or any forks) Latest Major

Features

  • Completely Asynchronous - The plugin is designed to be as lightweight as possible. All packet modifications are done asynchronously, so the main thread is never blocked.
  • Folia Support - The plugin integrates with Folia, which is a Paper fork that adds regionised multithreading to the server.
  • Crash Detector - By sending both a keep alive and transaction packet, the plugin can detect if a player has crashed, even if the player is still connected.
  • Configurable - The plugin is highly configurable, allowing you to adjust the settings to your liking.
  • Update Checker - The plugin automatically checks for updates on startup. If a new version is available, a message will be sent to the console.

Usage/Examples

  • /crash (player) [Method]

Note: The method parameter is optional. If no method is provided, the plugin will use the most appropriate method based on the player's version.

Methods:

  • Explosion
  • Particle
  • Position

Commands

  • /pc - Displays the plugin's version and author.
  • /crash (player) [Method] - Crashes the specified player's game.
  • /crashinfo [player] - Displays the client brand and version of the specified player.

Permission Nodes

Players that are OP (Operators) have these permissions by default.

  • PlayerCrasher.Crash Allows the player to use the /crash command.
  • PlayerCrasher.Bypass Exempts the player from being crashed when the /crash command is used on them.
  • PlayerCrasher.Alerts Makes the player receive alerts when a player is being crashed by another player.
  • PlayerCrasher.CrashInfo - Allows the player to use the /crashinfo command.
  • PlayerCrasher.UpdateNotify Makes the player receive an update notification when a new version is available.

Installation

  1. Prerequisites: Install PacketEvents.
  2. Download: Get the latest release from the GitHub release page.
  3. Installation: Move the downloaded plugin to your server's plugins directory.
  4. Configuration: Customize settings in config.yml.
  5. Restart: Restart the server for changes to take effect.

Compiling From Source

Prerequisites

  • Java Development Kit (JDK) version 21 or higher
  • Git

Steps

  1. Clone the Repository:

    git clone https://github.com/Bram1903/MinecraftPlayerCrasher.git
  2. Navigate to Project Directory:

    cd MinecraftPlayerCrasher
  3. Compile the Source Code: Use the Gradle wrapper to compile and generate the plugin JAR file:

    Linux / macOS
    ./gradlew build
    Windows
    .\gradlew build

Credits

Special thanks to:

License

This project is licensed under the GPL3 License.