Перейти к содержимому
Mineforgian

PlayerCrasher

Easily crash Minecraft Players across all versions by using a command.

Загрузки
7K
Подписчики
40
Обновлён
4 ноября 2024 г.
Лицензия
GPL-3.0-only

Опубликован 24 февраля 2024 г.

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.21.3
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.

Ченджлог

3.0.2Релиз1.21.1, 1.21.2, 1.21.3 · 4 ноября 2024 г.
  • Added: 1.21.2 & 1.21.3 Compatibility
  • Added: PacketEvents 2.6.0 Compatibility

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v3.0.1...v3.0.2

3.0.1Релиз1.20.6, 1.21, 1.21.1 · 23 сентября 2024 г.

Release Notes

  • Fixed a bug where a player wasn't being registered when the client packet wasn't valid
  • Changed the shadow plugin library to Gradle Up
  • Some small improvements and refactoring

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v3.0.0...v3.0.1

3.0.0Релиз1.20.5, 1.20.6, 1.21 · 15 июля 2024 г.

v3.0.0 Release Notes

I am happy to announce the release of version 3.0.0, which includes a major rewrite and restructuring of the project. This update makes the code largely platform-independent, requiring only a few platform-specific methods, as long as PacketEvents supports the platform. This version includes numerous bug fixes, adds proxy support, and introduces various enhancements.

Key Highlights

Proxy Support

The plugin now supports proxy servers. You can simply place the plugin in the proxy server's plugin directory, and it will manage all your backend servers. Additionally, you can execute the crash command at the proxy level, affecting players on backend servers.

1.21 Support

The plugin is now compatible with all versions from 1.8.8 to 1.21, including Bukkit, Spigot, Paper, Folia, and their forks, as well as Bungeecord, Velocity, and their forks.

Improved Messaging and Color Scheme

We have updated numerous messages and improved the overall color scheme for better readability and aesthetics. Previous issues with improper coloring of commands on Bukkit platforms and consoles have also been fixed.

New Commands

We have added /crashplayer and /bomb as aliases for the crash command. This addresses the issue where some hosts block the crash command from being executed in a terminal environment.

Known Issues

There are still some minor issues that need to be addressed. In certain cases, a player may be flagged as crashed, followed by a message indicating a failed crash attempt. This false detection is not harmful and will be fixed in a future patch.

On Velocity upon crashing a player an error is being thrown by Velocity a player has abruptly been disconnected, but because this is an error that is being thrown by Velocity automatically it's not something I can suppress or stop from happening.

For a detailed list of changes, please refer to the full changelog.

2.5.0Релиз1.20.4, 1.20.5, 1.20.6 · 18 мая 2024 г.

Changes

  • Added: Brand Detector
  • Added: Automatically using the best method based on the client's version
  • Added: /crashinfo [player] which gives the client their brand and version.
  • Improved: Hover Component after executing the crash command
  • Fixed: Wrongly detecting when someone was crashed / not crashed
  • Fixed: NullPointerException upon executing /crash

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v2.4.0...v2.5.0

2.4.0Релиз1.20.4, 1.20.5, 1.20.6 · 9 мая 2024 г.

Changes

  • Added: Support for 1.20.5 & 1.20.6 (we now support 1.8.8-1.20.6)
  • Added: Proper crash detector thanks to jt for providing me with a good method
  • Updated: PacketEvents from 2.2.1 -> 2.3.0
  • Removed: FoliaScheduler, because it has been merged upstream into PacketEvents.

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v2.3.1...v2.4.0

2.3.1Релиз1.20.2, 1.20.3, 1.20.4 · 1 мая 2024 г.

Fixed: Permission Issue, where everyone had the crash permission by default 😢

Fixed: #9, which occurred due to a reallocation issue.

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v2.3.0...v2.3.1

2.3.0Релиз1.20.2, 1.20.3, 1.20.4 · 28 апреля 2024 г.

Dependency Rewrite

I removed every single shaded dependency and moved PacketEvents to provided. This means that starting from this version you will need to install the latest version of PacketEvents yourself. This will greatly improve performance on servers where multiple plugins are using PacketEvents.

The total size of the plugin has been reduced from 3.28MB to 44KB. Quite an improvement if I say so myself 😄

Roadmap

The next release will include support for Minecraft Version 1.20.5, but I am awaiting an update from PacketEvents to be able to do so.

Full Changelog: https://github.com/Bram1903/MinecraftPlayerCrasher/compare/v2.2.0...v2.3.0

2.2.0Релиз1.20.2, 1.20.3, 1.20.4 · 10 апреля 2024 г.
  • Fixed: Crasher bypass introduced in a random hacked client.
  • Fixed: Update Notifier spamming when a new version was available.
  • Updated: PacketEvents

Комментарии

Загружаем…