Made by DeadEndReece (UkDrifter) & help of AI "People judge, but hey, if it does what you want thats all that matters right? - Reece 2026"
ProFilter is a highly customizable, server-side profanity filter for BeamMP. It intercepts chat messages before they are broadcasted to the server, actively preventing toxicity while giving server owners complete control over how rule-breakers are handled.
-V1.1- Updated to include /pf.lookup for live ID fetching and profile verification. -V1.1- Now uses BeamMP ID for admin authentication instead of username for improved security and reliability.
First Launch Setup Wizard - Get your filter up and running in minutes with an interactive console setup. (With options to load a default wordlist, enable censoring, logging, and more right from the start!)
Customizable Messages - Tailor the messages sent to players when they trigger the filter or join the server.
Adaptive Detection - Catches common obfuscation techniques like leetspeak (e.g., "4" for "a", "0" for "o") and ignores harmless punctuation to ensure bad words are still caught.
Censor Mode - Replace bad words with a character of your choice instead of blocking the whole message.
Replace Mode - Swap out bad words for a custom replacement (e.g., [REDACTED], Meow).
Action Logging - Optionally save intercepted messages, player IDs, and timestamps to a log file for moderation review.
Dynamic Word Management - Add or remove forbidden words on the fly via console or in-game commands.
Admin Management - Authorize specific players to use ProFilter commands in-game. (Now uses BeamMP IDs for more reliable admin control!)
- Download the
ProFilterzip file. - Extract the folder into your server's main directory. (It should create a
Resources/Server/ProFilter/folder with the necessary files inside.) - Start your BeamMP server.
- Look at your server console! After starting the server, an interactive Setup Wizard will guide you through the first-time setup.
Commands can be used in the server console (e.g., pf.aw word) or in-game by admins using a forward slash (e.g., /pf.aw word).
- pf.help (pf.h): View all ProFilter commands and usage instructions. (In-game and Console)
- pf.menu: Open the interactive settings menu in the console. (Console only)
- pf.lookup (pf.lu) : Get a player's BeamMP ID and forum profile link. (Console only) (Will list the players ID and profile link if they are online, otherwise it will provide the profile link based on the username you provide.)
- pf.status (pf.st): View current filter configuration and stats. (In-game and Console)
- pf.list (pf.l): List all words currently in the filter. (In-game and Console)
- pf.addstrict (pf.as) <w1,w2>: Add heavy swear(s) (In-game and Console)
- pf.remstrict (pf.rs) <w1,w2>: Remove heavy swear(s) (In-game and Console)
- pf.addword (pf.aw) <w1,w2>: Add short swear(s) (In-game and Console)
- pf.removeword (pf.rw) <w1,w2>: Remove short swear(s) (In-game and Console)
- pf.clearwords (pf.cw): Clear all words from the filter (use with caution!)
To use in-game commands, you must first authorize yourself via the server console:
- Enter the "PF.MENU" - Enter Admin Menu - Add/Remove Admin - Enter the ID and Username of the player you want to authorize. (You can find player IDs using the new
pf.lookup <username>command - Shows Id and profile link for online players, or just provides the profile link based on the username if they are offline.) - You can now use
/pf.hin the BeamMP chat To see the available commands and manage the Wordlist directly from the game.
data.txt- Stores the wordlist, admin list, and configuration settings. Do not edit this file manually unless you know what you're doing. Use the provided commands to make changes. (Note: if you edit this file while the server is running, you MUST restart the server for changes to take effect.logs.txt- If logging is enabled, this file will contain a record of all intercepted messages, including player IDs, names, original messages, and timestamps.
- ProFilter is designed to catch common profanity and obfuscation techniques, but no filter can guarantee 100% effectiveness. Regularly review and update your wordlist as needed.
- Always keep backups of your
data.txtfile, especially before making bulk changes or using the factory reset command. - If you encounter any issues or have suggestions for improvement, please reach out to my github or the BeamMP community forums.
- If you dont specify a name when adding an admin, it will default to "Unknown". The system will automatically update the admin's name to match their current BeamMP username whenever they join the server, so you can add them with "Unknown" and it will correct itself next time they log in.