PXChat - Chat Management
Overview:
PXChat is a comprehensive and configurable chat management plugin designed for minecraft servers. It provides server administrators with complete control over player communication, moderation, and welcome interactions. The plugin emphasizes flexibility, cross-version compatibility, and ease of configuration.
Dependencies:
Soft Dependencies:
- LuckPerms (or any permission management plugins)
Features:
1. Chat Control and Moderation:
- Configurable chat cooldown to prevent spam and message flooding.
- Clear chat functionality with a customizable number of cleared lines.
- Swear filter with blacklist and whitelist support, including case-sensitive and regex-based filtering.
- Anti-spam system to detect repeated messages with similarity thresholds.
- Anti-caps enforcement to prevent excessive use of capital letters.
- Anti-links and anti-IP protections with whitelist and blacklist support, including optional regex filtering.
2. Join and Quit Management:
- Configurable join messages and quit messages, both of which can be enabled or disabled via the configuration.
- Multi line join motd to provide a custom welcome message for players upon joining.
- Join titles with customizable text, color, and enable/disable settings.
- Join sounds with configurable sound type, volume, and pitch to enhance the player’s login experience.
3. Warning and Punishment System:
- Configurable warning system to monitor player behavior.
- Maximum warnings, punishment type (kick or mute), and mute duration are all configurable.
- Optional player notification when warnings are issued.
- Automatic enforcement of punishments once maximum warnings are reached.
4. Full Configuration Control:
- All messages, prefixes, motd lines, join titles, and sounds are configurable in config.yml.
- All features can be individually enabled or disabled to suit server policies and preferences.
- Designed for simplicity without sacrificing flexibility, allowing for precise customization.
- Complete support for miencraft color codes (&/§) in configuration.
Commands:
- /pxchat rules
Displays the current chat rules and plugin settings.
- /pxchat reload
Reloads the plugin configuration without restarting the server.
- /pxchat clearchat
Clears the chat according to configured settings.
- /pxchat help
Displays a list of available commands.
- /pxchat lock
Locks/Unlocks the chat.
Permissions:
- pxchat.rules
Allows access to the rules and status overview.
- pxchat.reload
Allows reloading of the plugin configuration.
- pxchat.clearchat
Allows chat clearing.
- pxchat.help
Allows usage of the help command.
- pxchat.lock
Grants the ability to lock and unlock chat.
- pxchat.bypasschatlock
Allows users to bypass the chat lock and send messages while chat is locked.
Why PXChat?
PXChat is a lightweight plugin for minecraft servers (and its 100% free!), supporting versions 1.8.x to 1.21.8. It’s designed to be simple to set up and manage while providing all the essential chat features a server needs. Most of the configuration is already set, so you just need to tweak it to fit your server. PXChat handles chat cooldowns, anti-spam, swear and link filters, join/quit messages, motd, join titles, sounds, and warnings - everything you need to keep your server chat clean and organized.
Screenshots
Default Config File:
Code (YAML):
#
#_______ _______ _ _
#| __ \ \ / / ____| | | |
#| |__) \ V / | | |__ __ _| |_
#| ___/ > <| | | '_ \ / _` | __|
#| | / . \ |____| | | | (_| | |_
#|_| /_/ \_\_____|_| |_|\__,_|\__|
#
# Made by Pr0Gam3rYeA
#
# -----------------------------
# Prefix displayed before all messages
plugin-prefix
:
"&7[&3&lPX&b&lChat&r&7]&r"
# -----------------------------
# Chat cooldown in seconds
# Set this value to 0 to disable it
chat-cooldown
: 3
# -----------------------------
# Amount of lines to clear when /pxchat clearchat is used
# Setting this to 0 will completely disable the clearchat function.
clearchat-lines
: 100
# -----------------------------
# Customizable messages
messages:
cooldown
:
"{prefix} &cPlease wait {time} seconds before chatting again."
swear-blocked
:
"{prefix} &cYour message contains a blocked word!"
spam-blocked
:
"{prefix} &cPlease do not spam similar messages!"
caps-blocked
:
"{prefix} &cPlease do not use excessive caps!"
link-blocked
:
"{prefix} &cLinks are not allowed in chat!"
ip-blocked
:
"{prefix} &cIP addresses are not allowed in chat!"
clearchat
:
"{prefix} &a{player} cleared the chat!"
reload
:
"{prefix} &aPlugin reloaded!"
no-permission
:
"{prefix} &cYou do not have permission to do that!"
# -----------------------------
# Join messages
join-message:
enabled
: true
message
:
"&8[&a+&8] &f{player} &7connected"
# -----------------------------
# Leave messages
quit-message:
enabled
: true
message
:
"&8[&c-&8] &f{player} &7left"
# -----------------------------
# MOTD message
# Supports multi lines
motd:
enabled
: true
lines
:
-
"&7&m------------------------------------------------"
-
" &bWelcome to the server, {player}!"
-
"&f"
-
" &eThis server is currently using &3&lPX&b&lChat&r&e!"
-
"&7&m------------------------------------------------"
# -----------------------------
# Join title display
join-title:
enabled
: true
title
:
"&bWelcome back!"
subtitle
:
"&7Using &3&lPX&b&lChat&r&7!"
fade-in
: 10
stay
: 70
fade-out
: 20
# -----------------------------
# Sound to play on join
join-sound:
enabled
: true
# Sound id needs to be full caps, replace all dots (.) with underscores (_)
# Example: entity.player.levelup needs to be ENTITY_PLAYER_LEVELUP
# You can refer to the list of sound ids here: https://www.digminecraft.com/lists/sound_list_pc.php
sound
:
"ENTITY_PLAYER_LEVELUP"
volume
: 1.0
pitch
: 1.0
# -----------------------------
# Swear filter configuration
swear-filter:
enabled
: true
use-regex
: false
case-sensitive
: false
blacklist
:
- badword
whitelist
:
[
]
# -----------------------------
# Anti spam configuration
anti-spam:
enabled
: true
min-length
: 5
similarity-threshold
: 0.8
# -----------------------------
# Anti caps configuration
anti-caps:
enabled
: true
min-length
: 5
caps-threshold
: 0.7
# -----------------------------
# Anti link configuration
anti-links
:
# Enable or disable blocking links
enabled
: true
# Whether to treat blacklist entries as regex patterns
use-regex
: true
# Whether blacklist matching is case-sensitive
case-sensitive
: false
# List of blocked links or patterns
blacklist
:
-
"discord.gg"
-
"bit.ly"
#- "(https?:\\/\\/)?(www\\.)?maliciousdomain\\.com" # Example regex
# Whitelisted domains or strings that bypass blocking
whitelist
:
-
"example.com"
-
"myserver.net"
# -----------------------------
# Anti IP configuration
anti-ip
:
# Enable or disable blocking IP addresses
enabled
: true
# Whether to treat blacklist entries as regex patterns
use-regex
: true
# Whether blacklist matching is case-sensitive
case-sensitive
: false
# List of blocked IP patterns
blacklist
:
-
"\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b"
# Default IPv4 regex
-
"\\b(?:[a-fA-F0-9:]+:+)+[a-fA-F0-9]+\\b"
# Example IPv6 regex
# Whitelist IPs that bypass blocking
whitelist
:
[
]
# -----------------------------
# Warnings system configuration
warnings:
enabled
: true
max-warnings
: 3
warn-expire-seconds
: 300
punishment
: kick
kick-message
:
"{prefix} &cYou were kicked for repeated rule violations!"
mute-duration-seconds
: 300
notify-player
: true