BungeeReport

A simple BungeeCord reporting plugin that links to Discord BungeeCord用 Discord通報・処罰連携プラグイン

19

BungeeReport

---

BungeeReport

A Discord-integrated report and punishment plugin for BungeeCord.

Features

* High Customizability: Sends player reports directly to Discord via Webhooks. * High Customizability: Records report details, including the reporter and the target player. * High Customizability: Automatically triggers BAN or Jail actions based on playtime, number of reports, and specific multipliers. * High Customizability: Sends automated logs to a dedicated Webhook when a player is banned or jailed. * High Customizability: Prevents report spamming with a configurable cooldown timer. * High Customizability: Fully configurable via `config.yml`.

Configuration Example (`config.yml`)

```yaml

Discord Webhook Settings

channel_webhook: "" mention: "<@userid>, <@&roleid>n"

Jail Settings

jail_server: "jail" # The name of the jail server jail_bypass_permission: "jail.bypass" # Permission to bypass jail restrictions

Report System Settings

min_valid_reporters_count: 2 # Minimum number of reporters required min_reporter_playtime_hours: 2 # Minimum playtime (in hours) required for a reporter to be counted required_playtime_multiplier: 3 # Playtime multiplier for punishment logic report_cooldown_minutes: 5 # Cooldown between reports (0 for no cooldown)

Punishment Settings

punishment_type: "jail" # Options: jail = Send to jail server, ban = ProxyBan ban_message: "&cYou have been banned due to reports.n&7If you wish to appeal, please contact the administrator."

Punishment Log Webhook

punishment_log_webhook: "" # If empty, uses channel_webhook by default

Execution Commands

send_command: - "ban {player} Automated BAN based on reports"

You can add multiple lines of commands here

```

BAN/Jail Logic Specification

The plugin automatically executes a punishment if the following conditions are met:

1. `required_playtime_multiplier`: There must be at least `required_playtime_multiplier` reporters who satisfy the minimum playtime requirement. 2. `required_playtime_multiplier`: Reporters with playtime less than `required_playtime_multiplier` hours are recorded but not counted toward the automated punishment trigger. 3. `required_playtime_multiplier`: The total playtime of all valid reporters must be equal to or greater than:

Example

* Result: A1 (1h), A2 (5h), A3 (4h) * Result: B (3h) * Result: a=2, b=2, c=3 * Result: A1 is ignored (<2text{h}). A2 + A3 total 9 hours. Since Target B (3text{h}) times 3 = 9text{h}, the punishment is triggered.

Report Cooldown

* You can limit report frequency using `report_cooldown_minutes`. * Set to `0` for no limit. If set to `5`, players can only submit one report every 5 minutes.

Punishment Logs (Webhook)

When a BAN or Jail occurs, the following details are sent via Webhook. If `punishment_log_webhook` is empty, it defaults to the `channel_webhook` URL.

Example Webhook Content

```text Executor: BAN Executor: playerName Executor: Cheating Executor: staffName

```

Requirements

* Java 17 or higher

---

BungeeReport

BungeeCord用 Discord通報・処罰連携プラグイン

主な機能

- Discord Webhookへの通報送信 - 通報内容・通報者・対象プレイヤーの記録 - プレイ時間・通報人数・倍率による自動BAN/投獄判定 - BANまたはjail(監獄送り)時にWebhookで処罰ログ送信 - 通報コマンドのクールダウン(頻度制限) - 設定ファイル(config.yml)で柔軟にカスタマイズ

設定例(config.yml)

```yaml

Discord Webhook設定

channel_webhook: "" mention: "<@userid>, <@&roleid>n"

監獄サーバー設定

jail_server: "jail" # 監獄サーバー名 jail_bypass_permission: "jail.bypass" # 監獄制限を無効化する権限

通報システム設定

min_valid_reporters_count: 2 # 最低通報人数 min_reporter_playtime_hours: 2 # 通報に必要な最低プレイ時間(時間) required_playtime_multiplier: 3 # 必要プレイ時間倍率 report_cooldown_minutes: 5 # 通報のクールダウン(分)。0で無制限

処罰設定

punishment_type: "jail" # jail=投獄, ban=ProxyBan ban_message: "&cあなたは通報によりBANされました。n&7異議がある場合は管理者までご連絡ください。"

処罰ログWebhook送信設定

punishment_log_webhook: "" # 空ならchannel_webhookと同じWebhookを使う

実行コマンド

send_command: - "ban {player} 通報による自動BAN"

ここに複数行コマンドを追加可能

```

BAN/jail判定の仕様

- `min_valid_reporters_count`(最低通報人数)… プレイ時間b以上の通報者がa人以上必要 - `min_reporter_playtime_hours`(最低プレイ時間)… この時間未満の通報者はカウントしない(記録は残る) - `required_playtime_multiplier`(必要プレイ時間倍率)… 有効通報者のプレイ時間合計が「対象プレイヤーのプレイ時間×倍率」以上で自動BAN/投獄

A1(1時間), A2(5時間), A3(4時間), B(3時間) a=2, b=2, c=3 のとき、 - A1は無効、A2+A3で合計9時間、B(3時間)×3=9時間でBAN

通報コマンドのクールダウン

- `report_cooldown_minutes`で通報の頻度を制限できます - 0なら無制限、5なら5分ごとに1回のみ通報可能

BAN・jail時の処罰ログWebhook送信

- BANまたはjail時、Webhookに以下のような内容が送信されます - `punishment_log_webhook`が空なら`channel_webhook`と同じURLを使います

送信例

``` 実行者: BAN 実行者: playerName 実行者: チート行為 実行者: staffName ```

必要環境

- Java 17以上

ADS