Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bram1903/minecraftplayercrasher

An easy-to-use Minecraft plugin that enables the crashing of a player's game through the use of a command.
https://github.com/bram1903/minecraftplayercrasher

bukkit bungeecord crasher minecraft packetevents plugin velocity

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        


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](https://modrinth.com/plugin/packetevents) library is installed on your server.

## Table of Contents

- [Overview](#overview)
- [Requires PacketEvents](#requires-packetevents)
- [Showcase](#showcase)
- [Supported Platforms & Versions](#supported-platforms--versions)
- [Spoofers](#spoofers)
- [Commands](#commands)
- [Permission Nodes](#permission-nodes)
- [Installation](#installation)
- [Compiling From Source](#compiling-from-source)
- [Prerequisites](#prerequisites)
- [Steps](#steps)
- [Credits](#credits)
- [License](#license)

## Showcase

![Demo](docs/showcase/img.png)

## Supported Platforms & Versions

| Platform | Supported Versions |
|------------------------------------|--------------------|
| Bukkit (Spigot, Paper, Folia etc.) | 1.8.8 - 1.21.1 |
| 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](https://papermc.io/software/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.
- `PlayerCrasher.Debug` Allows the player to see debug messages in-game.

## Installation

1. **Prerequisites**: Install [PacketEvents](https://modrinth.com/plugin/packetevents).
2. **Download**: Get the latest release from
the [GitHub release page](https://github.com/Bram1903/MinecraftPlayerCrasher/releases/latest).
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](https://git-scm.com/downloads)

### Steps

1. **Clone the Repository**:
```bash
git clone https://github.com/Bram1903/MinecraftPlayerCrasher.git
```

2. **Navigate to Project Directory**:
```bash
cd MinecraftPlayerCrasher
```

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


Linux / macOS

```bash
./gradlew build
```


Windows

```cmd
.\gradlew build
```

## Credits

Special thanks to:

- **[@Retrooper](https://github.com/retrooper)**: Author of [PacketEvents](https://github.com/retrooper/packetevents).

## License

This project is licensed under the [GPL3 License](LICENSE).