Punish System

A Minecraft plugin with Discord integration for banning, muting, and warning players. All punishments are automatically logged to a Discord channel.

462

Quick challenge

How far can you run before the mobs catch you?

Punish System

DiscordPunishBot v2.0.0

🇹🇷 Türkçe README için aşağı kaydırın | 🇺🇸 English README

---

🇺🇸 English README

A professional punishment, appeal, and report management system plugin for Minecraft servers with advanced Discord integration.

✨ Key Features

🤖 Advanced Discord Integration

- Multi-Channel Support: Approve/reject appeals and reports directly from Discord - Multi-Channel Support: Beautiful, detailed embed messages with status colors - Multi-Channel Support: Full Discord slash command support for all punishment types - Multi-Channel Support: Assign specific Discord roles for different operations - Multi-Channel Support: Instant Discord notifications for new appeals/reports - Multi-Channel Support: Separate channels for logs, appeals, and reports

⚖️ Complete Appeal System

- Admin Response System: `/appeal`, `/appeal list`, `/appeal status <id>` - Admin Response System: Approve, reject, or investigate appeals from Discord - Admin Response System: Pending, Under Review, Approved, Rejected - Admin Response System: Players get notified of appeal decisions - Admin Response System: 24-hour cooldown between appeals - Admin Response System: Admins can add responses to appeal decisions

📋 Advanced Report System

- Cooldown Management: `/report <player> <reason>`, `/report anonymous <player> <reason>` - Cooldown Management: Approve, reject, or investigate reports from Discord - Cooldown Management: Low, Medium, High, Urgent, Critical with color coding - Cooldown Management: Complete privacy protection for reporters - Cooldown Management: Pending, Under Review, Investigating, Resolved, Dismissed, Duplicate - Cooldown Management: 5-minute cooldown between reports

🎁 Configurable Reward System

- Custom Messages: Execute any console command as reward - Custom Messages: Different rewards for correct reports/appeals - Custom Messages: Rewards given automatically upon approval - Custom Messages: Configurable reward notification messages

🗄️ Database & Performance

- Error Recovery: SQLite (default) and MySQL - Error Recovery: Proper commit/rollback for data integrity - Error Recovery: Optimized database connection management - Error Recovery: Non-blocking database operations for better performance - Error Recovery: Automatic error handling and recovery mechanisms

🚀 Installation

1. Requirements

- Discord Bot with permissions - Discord Bot with permissions - Discord Bot with permissions - Discord Bot with permissions

2. Plugin Setup

1. Download `DiscordPunishBot-2.0.0.jar` 2. Place in your `plugins` folder 3. Start server (config files will be generated) 4. Stop server and configure

3. Discord Bot Setup

1. Go to Permissions 2. Create new application → Bot tab → Create bot 3. Copy bot token 4. OAuth2 → URL Generator: - Permissions: `bot`, `applications.commands` - Permissions: `Send Messages`, `Use Slash Commands`, `Read Message History`, `Manage Messages` 5. Add bot to your server using generated URL

4. Configuration

Edit `config.yml`:

```yaml

Discord Configuration

discord: token: "YOUR_BOT_TOKEN_HERE" guild-id: "YOUR_GUILD_ID_HERE"

Channel Configuration

log-channel-id: "LOG_CHANNEL_ID" # General punishment logs appeal-channel-id: "APPEAL_CHANNEL_ID" # Appeal notifications report-channel-id: "REPORT_CHANNEL_ID" # Public report notifications report-log-channel-id: "REPORT_LOG_ID" # Admin report management

Admin Role Configuration

report-admin-role-id: "REPORT_ADMIN_ROLE" # Role for report management appeal-admin-role-id: "APPEAL_ADMIN_ROLE" # Role for appeal management

Punishment Roles

roles: mute: "MUTE_ROLE_ID" ban: "BAN_ROLE_ID" kick: "KICK_ROLE_ID" tempban: "TEMPBAN_ROLE_ID" jail: "JAIL_ROLE_ID" warn: "WARN_ROLE_ID" other: "OTHER_ROLE_ID"

Reward System Configuration

reward-system: enabled: true

Commands to execute when a report is approved

report-correct-commands: - "eco give %player% 100" - "tellraw %player% {"text":"Thanks for the correct report! +100 coins","color":"green"}"

Commands to execute when an appeal is approved

appeal-approved-commands: - "eco give %player% 50" - "tellraw %player% {"text":"Your appeal was approved! +50 coins","color":"green"}"

Custom messages

report-approved-message: "§a§l[REPORT] §7Your report was correct! You received a reward." appeal-approved-message: "§a§l[APPEAL] §7Your appeal was approved! You received a reward." ```

🎮 Commands

Discord Slash Commands

- `/mute <player> [reason]` - Mute a player - `/ban <player> [reason]` - Ban a player - `/kick <player> [reason]` - Kick a player - `/tempban <player> [reason]` - Temporary ban - `/jail <player> [reason]` - Jail a player - `/warn <player> [reason]` - Warn a player - `/diger <player> [reason]` - Other punishments - `/ceza <player>` - View punishment history

Minecraft Commands

General Commands

- `/ceza <player>` - View player's punishment history - `/dpunish reload` - Reload configuration - `/dpunish info` - Plugin information - `/dpunish test <database/discord>` - Test connections - `/dpunish stats` - Server statistics

Appeal Commands

- `/appeal` - Show available punishments to appeal - `/appeal <punishment_id> <reason>` - Create new appeal - `/appeal list` - List your appeals - `/appeal status <appeal_id>` - Check appeal status

Report Commands

- `/report <player> <reason> [description]` - Create report - `/report anonymous <player> <reason> [description]` - Anonymous report - `/report list` - List your reports - `/report status <report_id>` - Check report status

🔧 Discord Interactive Features

Report Management Buttons

When a report is created, admins see these buttons in the report log channel: - 🔍 Investigate - Approve report, give rewards, requires manual punishment - 🔍 Investigate - Reject the report as invalid - 🔍 Investigate - Mark as under investigation (keeps buttons active)

Appeal Management Buttons

When an appeal is created, admins see these buttons in the appeal channel: - 🔍 Investigate - Approve appeal, remove punishment, give rewards - 🔍 Investigate - Reject the appeal as invalid - 🔍 Investigate - Mark as under investigation (keeps buttons active)

Interactive Features

- Error Handling: Embed messages update automatically when status changes - Error Handling: Shows which admin processed the request - Error Handling: Different colors for pending, approved, rejected, investigating - Error Handling: Buttons are disabled after action or remain active during investigation - Error Handling: Graceful handling of deleted messages or invalid operations

📊 Permissions

```yaml

General Permissions

discordpunish.* # All permissions discordpunish.admin # Admin permissions discordpunish.reload # Reload config discordpunish.test # Test connections

Punishment Permissions

discordpunish.ceza # View punishment history

Appeal Permissions

discordpunish.appeal.* # All appeal permissions discordpunish.appeal.create # Create appeals discordpunish.appeal.list # List own appeals discordpunish.appeal.viewall # View all appeals (admin)

Report Permissions

discordpunish.report.* # All report permissions discordpunish.report.create # Create reports discordpunish.report.list # List own reports discordpunish.report.viewall # View all reports (admin) discordpunish.report.notify # Receive report notifications ```

🛠️ Advanced Configuration

Database Settings

```yaml database: type: "sqlite" # or "mysql"

MySQL Configuration (if using MySQL)

host: "localhost" port: 3306 database: "punishments" username: "your_username" password: "your_password" ```

Language Settings

```yaml language: "tr" # "tr" for Turkish, "en" for English ```

Customizing Punishments

```yaml punishments: mute: spam: command: "essentials:mute %player% 30m Spam" display: "Spam (30 minutes)" toxic: command: "essentials:mute %player% 2h Toxic behavior" display: "Toxic Behavior (2 hours)" ```

🔧 Troubleshooting

Common Issues

Bot not responding to slash commands: 1. Check bot token in config 2. Verify bot has `applications.commands` scope 3. Check role permissions in Discord 4. Use `/dpunish test discord` in-game

Database errors: 1. Check database type in config 2. For MySQL: verify connection details 3. For SQLite: check file permissions 4. Use `/dpunish test database` in-game

Interactive buttons not working: 1. Verify admin role IDs are correct 2. Check bot permissions in Discord channels 3. Ensure bot can manage messages 4. Check server logs for detailed errors

Reports/Appeals not showing: 1. Check channel IDs in config 2. Verify bot has access to channels 3. Check user permissions 4. Use `/dpunish test discord` to verify setup

📈 Features in Detail

Status System

- Notifications: Pending → Under Review → Investigating → Resolved/Dismissed/Duplicate - Notifications: Pending → Under Review → Approved/Rejected - Notifications: Each status has distinct colors in Discord embeds - Notifications: Automatic player notifications for status changes

Reward System

- Flexible Placeholders: Execute any console command as reward - Flexible Placeholders: Different rewards for different actions - Flexible Placeholders: Custom messages when rewards are given - Flexible Placeholders: Use `%player%` in commands and messages

Database Design

- Transactions: Core punishment data - Transactions: Linked to punishments with foreign keys - Transactions: Independent reporting system - Transactions: Optimized for performance - Transactions: ACID compliance for data integrity

📞 Support

- Email: Email - Email: %%MD1%% - Email: [email protected]

---

🇹🇷 Türkçe README

Minecraft sunucuları için Discord entegrasyonu ile gelişmiş ceza, itiraz ve şikayet yönetim sistemi.

✨ Temel Özellikler

🤖 Gelişmiş Discord Entegrasyonu

- Multi-Kanal Desteği: İtiraz ve şikayetleri Discord'dan direkt onayla/reddet - Multi-Kanal Desteği: Durum renkli güzel ve detaylı embed mesajları - Multi-Kanal Desteği: Tüm ceza türleri için Discord slash komut desteği - Multi-Kanal Desteği: Farklı işlemler için özel Discord rolleri - Multi-Kanal Desteği: Yeni itiraz/şikayet için anında Discord bildirimleri - Multi-Kanal Desteği: Log, itiraz ve şikayet için ayrı kanallar

⚖️ Komple İtiraz Sistemi

- Admin Yanıt Sistemi: `/appeal`, `/appeal list`, `/appeal status <id>` - Admin Yanıt Sistemi: Discord'dan itirazları onayla, reddet veya incele - Admin Yanıt Sistemi: Beklemede, İnceleniyor, Onaylandı, Reddedildi - Admin Yanıt Sistemi: Oyuncular itiraz kararlarından haberdar edilir - Admin Yanıt Sistemi: İtirazlar arası 24 saat bekleme - Admin Yanıt Sistemi: Adminler itiraz kararlarına yanıt ekleyebilir

📋 Gelişmiş Şikayet Sistemi

- Cooldown Yönetimi: `/report <oyuncu> <sebep>`, `/report anonymous <oyuncu> <sebep>` - Cooldown Yönetimi: Discord'dan şikayetleri onayla, reddet veya incele - Cooldown Yönetimi: Düşük, Orta, Yüksek, Acil, Kritik - renk kodlamalı - Cooldown Yönetimi: Şikayetçi için tam gizlilik koruması - Cooldown Yönetimi: Beklemede, İnceleniyor, Araştırılıyor, Çözüldü, Reddedildi, Tekrar - Cooldown Yönetimi: Şikayetler arası 5 dakika bekleme

🎁 Yapılandırılabilir Ödül Sistemi

- Özel Mesajlar: Ödül olarak herhangi bir konsol komutu çalıştır - Özel Mesajlar: Doğru şikayet/itiraz için farklı ödüller - Özel Mesajlar: Onay sonrası ödüller otomatik verilir - Özel Mesajlar: Yapılandırılabilir ödül bildirim mesajları

🗄️ Veritabanı & Performans

- Hata Kurtarma: SQLite (varsayılan) ve MySQL - Hata Kurtarma: Veri bütünlüğü için uygun commit/rollback - Hata Kurtarma: Optimize edilmiş veritabanı bağlantı yönetimi - Hata Kurtarma: Daha iyi performans için engelleyici olmayan işlemler - Hata Kurtarma: Otomatik hata yönetimi ve kurtarma mekanizmaları

🚀 Kurulum

1. Gereksinimler

- İzinli Discord Bot - İzinli Discord Bot - İzinli Discord Bot - İzinli Discord Bot

2. Plugin Kurulumu

1. `DiscordPunishBot-2.0.0.jar` dosyasını indirin 2. `plugins` klasörüne yerleştirin 3. Sunucuyu başlatın (config dosyaları oluşacak) 4. Sunucuyu durdurun ve yapılandırın

3. Discord Bot Kurulumu

1. İzinler'a gidin 2. Yeni uygulama oluşturun → Bot sekmesi → Bot oluştur 3. Bot token'ı kopyalayın 4. OAuth2 → URL Generator: - İzinler: `bot`, `applications.commands` - İzinler: `Send Messages`, `Use Slash Commands`, `Read Message History`, `Manage Messages` 5. Oluşan URL ile botu sunucunuza ekleyin

4. Yapılandırma

`config.yml` düzenleyin:

```yaml

Discord Yapılandırması

discord: token: "BOT_TOKEN_BURAYA" guild-id: "SUNUCU_ID_BURAYA"

Kanal Yapılandırması

log-channel-id: "LOG_KANAL_ID" # Genel ceza logları appeal-channel-id: "ITIRAZ_KANAL_ID" # İtiraz bildirimleri report-channel-id: "SIKAYET_KANAL_ID" # Genel şikayet bildirimleri report-log-channel-id: "SIKAYET_LOG_ID" # Admin şikayet yönetimi

Admin Rol Yapılandırması

report-admin-role-id: "SIKAYET_ADMIN_ROL" # Şikayet yönetimi rolü appeal-admin-role-id: "ITIRAZ_ADMIN_ROL" # İtiraz yönetimi rolü

Ceza Rolleri

roles: mute: "MUTE_ROL_ID" ban: "BAN_ROL_ID" kick: "KICK_ROL_ID" tempban: "TEMPBAN_ROL_ID" jail: "JAIL_ROL_ID" warn: "WARN_ROL_ID" other: "OTHER_ROL_ID"

Ödül Sistemi Yapılandırması

reward-system: enabled: true

Şikayet onaylandığında çalışacak komutlar

report-correct-commands: - "eco give %player% 100" - "tellraw %player% {"text":"Doğru şikayet için teşekkürler! +100 coin","color":"green"}"

İtiraz onaylandığında çalışacak komutlar

appeal-approved-commands: - "eco give %player% 50" - "tellraw %player% {"text":"İtirazın onaylandı! +50 coin","color":"green"}"

Özel mesajlar

report-approved-message: "§a§l[ŞİKAYET] §7Şikayetin doğruydu! Ödül aldın." appeal-approved-message: "§a§l[İTİRAZ] §7İtirazın onaylandı! Ödül aldın." ```

🎮 Komutlar

Discord Slash Komutları

- `/mute <oyuncu> [sebep]` - Oyuncuyu sustur - `/ban <oyuncu> [sebep]` - Oyuncuyu yasakla - `/kick <oyuncu> [sebep]` - Oyuncuyu at - `/tempban <oyuncu> [sebep]` - Geçici yasakla - `/jail <oyuncu> [sebep]` - Oyuncuyu hapsset - `/warn <oyuncu> [sebep]` - Oyuncuyu uyar - `/diger <oyuncu> [sebep]` - Diğer cezalar - `/ceza <oyuncu>` - Ceza geçmişini görüntüle

Minecraft Komutları

Genel Komutlar

- `/ceza <oyuncu>` - Oyuncunun ceza geçmişini görüntüle - `/dpunish reload` - Yapılandırmayı yeniden yükle - `/dpunish info` - Plugin bilgileri - `/dpunish test <database/discord>` - Bağlantıları test et - `/dpunish stats` - Sunucu istatistikleri

İtiraz Komutları

- `/appeal` - İtiraz edilebilir cezaları göster - `/appeal <ceza_id> <sebep>` - Yeni itiraz oluştur - `/appeal list` - İtirazlarını listele - `/appeal status <itiraz_id>` - İtiraz durumunu kontrol et

Şikayet Komutları

- `/report <oyuncu> <sebep> [açıklama]` - Şikayet oluştur - `/report anonymous <oyuncu> <sebep> [açıklama]` - Anonim şikayet - `/report list` - Şikayetlerini listele - `/report status <sikayet_id>` - Şikayet durumunu kontrol et

🔧 Discord İnteraktif Özellikler

Şikayet Yönetim Butonları

Şikayet oluşturulduğunda adminler şikayet log kanalında bu butonları görür: - 🔍 İncelemeye Al - Şikayeti onayla, ödül ver, manuel ceza gerekli - 🔍 İncelemeye Al - Şikayeti geçersiz olarak reddet - 🔍 İncelemeye Al - İnceleme olarak işaretle (butonları aktif tutar)

İtiraz Yönetim Butonları

İtiraz oluşturulduğunda adminler itiraz kanalında bu butonları görür: - 🔍 İncelemeye Al - İtirazı onayla, cezayı kaldır, ödül ver - 🔍 İncelemeye Al - İtirazı geçersiz olarak reddet - 🔍 İncelemeye Al - İnceleme olarak işaretle (butonları aktif tutar)

İnteraktif Özellikler

- Hata Yönetimi: Durum değiştiğinde embed mesajları otomatik güncellenir - Hata Yönetimi: Hangi adminin işlemi yaptığını gösterir - Hata Yönetimi: Beklemede, onaylandı, reddedildi, inceleniyor için farklı renkler - Hata Yönetimi: İşlem sonrası butonlar deaktive olur veya inceleme sırasında aktif kalır - Hata Yönetimi: Silinmiş mesajlar veya geçersiz işlemler için zarif hata yönetimi

📊 İzinler

```yaml

Genel İzinler

discordpunish.* # Tüm izinler discordpunish.admin # Admin izinleri discordpunish.reload # Config yenileme discordpunish.test # Bağlantı testleri

Ceza İzinleri

discordpunish.ceza # Ceza geçmişi görüntüleme

İtiraz İzinleri

discordpunish.appeal.* # Tüm itiraz izinleri discordpunish.appeal.create # İtiraz oluşturma discordpunish.appeal.list # Kendi itirazlarını listeleme discordpunish.appeal.viewall # Tüm itirazları görme (admin)

Şikayet İzinleri

discordpunish.report.* # Tüm şikayet izinleri discordpunish.report.create # Şikayet oluşturma discordpunish.report.list # Kendi şikayetlerini listeleme discordpunish.report.viewall # Tüm şikayetleri görme (admin) discordpunish.report.notify # Şikayet bildirimleri alma ```

📞 Destek

- E-posta: E-posta - E-posta: %%MD1%% - E-posta: [email protected]

---

DiscordPunishBot v2.0.0 - Minecraft sunucunuz için profesyonel ceza, itiraz ve şikayet yönetim sistemi.

*Developed by Melut - 2025*

ADS