249 lines
6 KiB
YAML
249 lines
6 KiB
YAML
# LoChat mute system configuration
|
|
# Controls mute durations, automatic mutes, escalation, and notifications.
|
|
|
|
# ── General Settings ───────────────────────────────────────────────────────────
|
|
|
|
settings:
|
|
default-reason: "Chat rule violation"
|
|
default-duration: "1h"
|
|
max-reason-length: 100
|
|
show-reason: true
|
|
show-remaining-time: true
|
|
auto-unmute: true
|
|
save-history: true
|
|
max-history-entries: 50
|
|
|
|
# ── Available Durations ────────────────────────────────────────────────────────
|
|
# Each duration requires a permission. Empty permission = no restriction.
|
|
|
|
durations:
|
|
"5m":
|
|
permission: "lochat.mute.dur.5m"
|
|
display: "5 minutes"
|
|
|
|
"10m":
|
|
permission: "lochat.mute.dur.10m"
|
|
display: "10 minutes"
|
|
|
|
"30m":
|
|
permission: "lochat.mute.dur.30m"
|
|
display: "30 minutes"
|
|
|
|
"1h":
|
|
permission: "lochat.mute.dur.1h"
|
|
display: "1 hour"
|
|
|
|
"3h":
|
|
permission: "lochat.mute.dur.3h"
|
|
display: "3 hours"
|
|
|
|
"6h":
|
|
permission: "lochat.mute.dur.6h"
|
|
display: "6 hours"
|
|
|
|
"12h":
|
|
permission: "lochat.mute.dur.12h"
|
|
display: "12 hours"
|
|
|
|
"1d":
|
|
permission: "lochat.mute.dur.1d"
|
|
display: "1 day"
|
|
|
|
"3d":
|
|
permission: "lochat.mute.dur.3d"
|
|
display: "3 days"
|
|
|
|
"7d":
|
|
permission: "lochat.mute.dur.7d"
|
|
display: "7 days"
|
|
|
|
"14d":
|
|
permission: "lochat.mute.dur.14d"
|
|
display: "14 days"
|
|
|
|
"30d":
|
|
permission: "lochat.mute.dur.30d"
|
|
display: "30 days"
|
|
|
|
"perm":
|
|
permission: "lochat.mute.dur.perm"
|
|
display: "Permanent"
|
|
|
|
# ── Preset Reasons ─────────────────────────────────────────────────────────────
|
|
|
|
reasons:
|
|
spam:
|
|
text: "Spam"
|
|
duration: "30m"
|
|
permission: "lochat.mute.reason.spam"
|
|
|
|
caps:
|
|
text: "Excessive caps"
|
|
duration: "15m"
|
|
permission: "lochat.mute.reason.caps"
|
|
|
|
swear:
|
|
text: "Inappropriate language"
|
|
duration: "1h"
|
|
permission: "lochat.mute.reason.swear"
|
|
|
|
flood:
|
|
text: "Flood"
|
|
duration: "20m"
|
|
permission: "lochat.mute.reason.flood"
|
|
|
|
advertising:
|
|
text: "Advertising"
|
|
duration: "3h"
|
|
permission: "lochat.mute.reason.advertising"
|
|
|
|
insult:
|
|
text: "Insulting players"
|
|
duration: "2h"
|
|
permission: "lochat.mute.reason.insult"
|
|
|
|
# ── Auto-Mute ──────────────────────────────────────────────────────────────────
|
|
|
|
auto-mute:
|
|
enabled: true
|
|
|
|
spam:
|
|
enabled: true
|
|
threshold: 5
|
|
time-window: 10
|
|
duration: "10m"
|
|
reason: "Auto-mute: spam"
|
|
|
|
swear:
|
|
enabled: true
|
|
threshold: 3
|
|
duration: "30m"
|
|
reason: "Auto-mute: inappropriate language"
|
|
|
|
caps:
|
|
enabled: true
|
|
threshold: 5
|
|
duration: "5m"
|
|
reason: "Auto-mute: excessive caps"
|
|
|
|
advertising:
|
|
enabled: true
|
|
threshold: 1
|
|
duration: "1h"
|
|
reason: "Auto-mute: advertising"
|
|
|
|
# ── Punishment Escalation ──────────────────────────────────────────────────────
|
|
|
|
escalation:
|
|
enabled: true
|
|
period: 30
|
|
|
|
levels:
|
|
1:
|
|
duration: "30m"
|
|
reason: "First offense"
|
|
|
|
2:
|
|
duration: "2h"
|
|
reason: "Second offense"
|
|
|
|
3:
|
|
duration: "12h"
|
|
reason: "Third offense"
|
|
|
|
4:
|
|
duration: "3d"
|
|
reason: "Fourth offense"
|
|
|
|
5:
|
|
duration: "7d"
|
|
reason: "Fifth offense"
|
|
|
|
6:
|
|
duration: "perm"
|
|
reason: "Systematic violations"
|
|
|
|
# ── Notifications ──────────────────────────────────────────────────────────────
|
|
|
|
notifications:
|
|
notify-staff: true
|
|
staff-permission: "lochat.mute.notify"
|
|
public-mute: false
|
|
public-unmute: false
|
|
|
|
silent-mute:
|
|
enabled: true
|
|
permission: "lochat.mute.silent"
|
|
notify-permission: "lochat.mute.see-silent"
|
|
|
|
formats:
|
|
mute: "&c{moderator} &7muted &f{player} &7for &f{duration}&7. Reason: &f{reason}"
|
|
unmute: "&a{moderator} &7unmuted &f{player}"
|
|
silent-mute: "&6[SILENT] &f{moderator} &7muted &f{player} &7for &f{duration}"
|
|
auto-mute: "&c[AUTO] &f{player} &7muted for &f{duration}&7. Reason: &f{reason}"
|
|
|
|
# ── Integrations ───────────────────────────────────────────────────────────────
|
|
|
|
integrations:
|
|
libertybans:
|
|
enabled: false
|
|
sync-mutes: true
|
|
|
|
advancedban:
|
|
enabled: false
|
|
sync-mutes: true
|
|
|
|
litebans:
|
|
enabled: false
|
|
sync-mutes: true
|
|
|
|
discord:
|
|
enabled: false
|
|
webhook-url: ""
|
|
format: "**{moderator}** muted **{player}** for **{duration}**\nReason: {reason}"
|
|
|
|
# ── Storage ────────────────────────────────────────────────────────────────────
|
|
|
|
storage:
|
|
type: file
|
|
|
|
mysql:
|
|
host: "localhost"
|
|
port: 3306
|
|
database: "lochat"
|
|
username: "root"
|
|
password: "password"
|
|
table-prefix: "lochat_"
|
|
|
|
sqlite:
|
|
file: "plugins/LoChat/mutes.db"
|
|
|
|
cleanup:
|
|
enabled: true
|
|
days: 90
|
|
|
|
# ── Extra Features ─────────────────────────────────────────────────────────────
|
|
|
|
features:
|
|
temporary-mutes: true
|
|
|
|
ip-mutes:
|
|
enabled: false
|
|
permission: "lochat.mute.ip"
|
|
|
|
command-mute:
|
|
enabled: false
|
|
blocked-commands:
|
|
- "me"
|
|
- "say"
|
|
- "tell"
|
|
|
|
warnings:
|
|
enabled: true
|
|
max-warnings: 3
|
|
reset-time: 3600
|
|
|
|
appeals:
|
|
enabled: false
|
|
command: "/appeal"
|
|
permission: "lochat.appeal"
|