r/admincraft • • 6h ago

Help/Question Blocking ReplayMod on Minecraft servers

0 Upvotes

Hey yall,

I run a relatively small private Minecrsft server between some friends and relatives. I recently discovered that they were using ReplayMod to find and greif bases. Though I don't explicitly ban raiding bases, I don't like how they are using ReplayMod to find and raid them which kinda defeats the point of even having a base and covering it up.

I did see a GitHub note on ReplayMod restrictions from the ReplayMod GitHub but I'm not sure how to implement the plugin or even if it will work since it hasn't been updated in 6 years. Any help on this is appreciated. Ty

edit: I am running a 26.2 Fabric server and prefer to have all the mods stay server sided since there are some players using bedrock edition to join via GeyserMC.


r/admincraft • • 16h ago

Help/Question How can I add a server from a PS5 and add Voice Chat?

0 Upvotes

So I created a server where Java and Bedrock Players can play together. First problem I have is I don't know how to add my server to the PS5 because I looked up everywhere but I couldn't find anything. Also I wanted to add Simple Voice mod but does it work on PS5 and if yes then how can I set it up properly?


r/admincraft • • 21h ago

Help/Question Any good fall season plugins for 26.3?

1 Upvotes

Since my server is about to launch very soon, and since its fall, I want to add some fall plugins to get people into the season. Is there any good plugins to do this? For example, a custom pumpkin carver plugin?


r/admincraft • • 22h ago

Help/Question i cant seem to get my bedrock server to let me join through ipv6.

0 Upvotes

I'm on a linux ubuntu pc and starlink wifi. I'm trying to get it to let me and 8 of my friends and family to join but i cant get it to let me join with ipv6. the local ipv4 works on my ps5 and pc but not my phone or ipad. no mater how much search up i cant find a solution. i am useing chatgpt to help set up the server and I'm pretty sure it didn't do something right


r/admincraft • • 1d ago

Help/Question i want to make a bedrock server using my mx xfce linux laptop but i dont know how

1 Upvotes

i want to make a server that me and my friends can play on using my laptop as host. but have them be able to play via their consoles or whatever devices they want to use to play on the sever since i dont want to pay for a realm. and i already used my free trail for one and i want to be able to play the server on any of my devices as well not just on the laptop. i also dont know how to get them to join since i dont think ps5 can use the add server button any help would be appreciated.


r/admincraft • • 1d ago

Discussion Block FishNet, AdjectiveAnimal, etc. Bots

8 Upvotes

If this looks familiar:

[Wed 20:12:58 INFO Server/ServerLoginPacketListenerImpl] FishNet (/176.65.149.198:61000) lost connection: Disconnected
[Wed 20:13:11 INFO Server/ServerLoginPacketListenerImpl] IcyOwl1855 (/178.63.123.74:30099) lost connection: Disconnected
[Wed 20:24:03 INFO Server/ServerLoginPacketListenerImpl] BraveFox0311 (/46.4.84.244:45391) lost connection: Disconnected
[Wed 20:35:03 INFO Server/ServerLoginPacketListenerImpl] HappyWhale1520 (/178.63.123.73:34381) lost connection: Disconnected
[Wed 20:44:16 INFO Server/ServerLoginPacketListenerImpl] DampTiger4356 (/178.63.123.78:33415) lost connection: Disconnected
[Wed 20:45:19 INFO Server/ServerLoginPacketListenerImpl] FishNet (/176.65.149.198:61000) lost connection: Disconnected
[Wed 20:54:53 INFO Server/ServerLoginPacketListenerImpl] SwiftCrow4976 (/176.65.148.253:55338) lost connection: Disconnected
[Wed 21:07:34 INFO Server/ServerLoginPacketListenerImpl] BoldLemur4861 (/178.63.179.209:11411) lost connection: Disconnected
[Wed 21:13:07 INFO Server/ServerLoginPacketListenerImpl] FishNet (/176.65.149.198:61000) lost connection: Disconnected
[Wed 21:17:49 INFO Server/ServerLoginPacketListenerImpl] NobleZebra9425 (/178.63.179.212:46557) lost connection: Disconnected
[Wed 21:29:05 INFO Server/ServerLoginPacketListenerImpl] JollyLynx3924 (/178.63.179.211:58701) lost connection: Disconnected
[Wed 21:39:43 INFO Server/ServerLoginPacketListenerImpl] GladSnake9212 (/178.63.179.210:64647) lost connection: Disconnected
[Wed 21:51:04 INFO Server/ServerLoginPacketListenerImpl] NobleCedar8078 (/178.63.123.76:38853) lost connection: Disconnected
[Wed 22:02:55 INFO Server/ServerLoginPacketListenerImpl] GoldTiger2422 (/46.4.84.244:56637) lost connection: Disconnected
[Wed 22:15:55 INFO Server/ServerLoginPacketListenerImpl] OddWolf2549 (/46.4.84.244:56941) lost connection: Disconnected

(There are thousands of more logs)

These IPs are (mostly) owned by "Hetzner Online GmbH". They are a German cloud hosting/data center provider.

Specifically:
176.9.0.0/16
178.63.0.0/16
46.4.0.0/16

I recommend setting up a firewall rule to ban these IP ranges specifically. Banning the IPs in the console is not enough! They will still potentially be able to DDoS your server as the TCP handshakes are still done at a network level. (P.S. if you need help configuring your firewall, I happen to be an IT Systems Engineer specializing in Network Security, so feel free to drop a comment!)

Also, please go ahead and help mass report these for abuse: https://abuse.hetzner.com/en


r/admincraft • • 1d ago

Discussion Mod idea make life easier for server admins/owners.

0 Upvotes

Why am I posting this.

Firstly sorry for the long post I have been working on this for a long time.

I take care of a few Minecraft servers. When one acts up I do the same thing. I look at the host machine/hosting panel, look into the logs, the crash logs if needed. This all takes a lot of time and it can be hard to find out what is going on, and if a big server is down, time is something we don't have as server admins. I wanted something that could do this stuff for me. If a server was having issues or errors, I wanted something that would spot these as they happen, identify the issue, and tell me how I could fix it.

I went looking for something like this but found nothing. So over 6 months ago I decided to try to make one, and after a lot of testing and tweaking, I feel like I am in a place to share this out.

I am going to call it "WatchTower". I made it as a NeoForge mod for 1.21.x for now. But I feel others would find what I made useful as well. Below is all the stuff it does so far.

How the server is doing

The mod says how the server looks, from Strong down to Poor, and whether a restart seems safe or not.

There's a chart page for TPS, players, memory, CPU, disk, network and temps. You can zoom the timeline to see when it got slow. You can configure how you want the metric rollups to work and how long you want to store this for.

It also tracks background jobs such as chunky and distant horizons pregen.

It shows list of problems as an inbox with recommended steps on how to fix. That list picks up lag spikes, client mods that ended up on the server, script errors from KubeJS or CraftTweaker that never actually crash, and backup warnings and a few other things.

Crashes and logs

Crashes also have thier own inbox are grouped so I'm not reading the same crash report twice, and it also provides recommended steps on how to prevent the same crash again. It also catches an out-of-memory kill even when Minecraft never wrote a crash report. There's a timeline of joins, commands and lag, so it will tell you exactly what happened right before a crash, with log snippets as well.

There is also a fancy log viewer designed specially for Minecraft logs.

Backups and disk

It can tell you if backups are getting old (configurable), and verify a backup's integrity before you restore if you need to.

There's a WinDirStat style viewer that shows what's filling the disk, and it tries to say how long until the disk fills up. You can also set a threashold of when you want to be alerted to low disk space.

Insights

There's a history/insights side to it as well. After you have this running on your server for a while, it finds the busy hours so you can pick the best scheduled restart time. It tracks CPU and memory over days so you can see heatmaps and trends of when the server gets hit hard. It will track when mods were added, removed or updated, and when the same crash keeps coming back.

It also looks at world pressure, chunks and entities. It checks JVM flags and calls out a bad memory setting. It also does a check of the main server config against the host it's running on, and gives recommendations based on best practices. Once a week it writes a digest of crashes, uptime and performance.

Mods

It can check mods and conflicts and also let you know if a mod needs or has an update directly on the server. It lets you know if an update would break any dependencies, or if you need to update them alongside if one is available. It notices if a mod jar got swapped but kept the same file name, and flags this as a potential security risk of a rogue mod. You can turn a mod on or off from WatchTower as well simular to modrinth. You can edit a mod's json or toml config with a dedicated mod editor. It will also back up the original configs and let you undo, or restore to defaults.

Players and startup

If a player can't join, there's a "join clinic" for the usual causes, wrong mods or missing files. It will then give you a copy-paste message to send to the player of what they need to do if they raise a support ticket.

It will analyse server startup, how long the boot took, and which step took the longest, with a full breakdown.

Spark

If you use Spark it will read the profile for you and give you a breakdown and recommendations, and if it detects a sustained period of lag it will automatically tell Spark to start profiling the server and give you a report. That kicks in when MSPT stays over 50ms for about 30 seconds, but it can be configured. (This bit is still a WIP, but I can only improve this with testing, or by getting more real world use from it)

Sharing logs, and when the server will not boot

If I have an issue with a specific mod and I want to raise a bug or issue, WatchTower can zip the logs, crashes and setup with the private stuff, such as IPs, stripped out ready for you to share as well as a timeline of events broken down into plain english as a text file.

If Minecraft won't start at all, there's a companion command line tool you can put alongside the main mod. If you have access to the host terminal you can run this and it will create a disaster recovery dump as a zip, including all the latest logs, debug logs and crash logs and settings/configs, with an HTML report of what it's found and steps on how to fix to get the server back up.

If you have multiple server admins or moderators, you can create individual accounts to log in to it, and there are different permission levels you can set for each user, as well as 2FA support.

How it runs

It runs all locally with no LLM/AI. It uses a bunch of custom rules to understand the logs of a Minecraft server. These live in a file called an "intelligence pack", which can be updated over the air so you won't need to reinstall the mod. This way I can add support for more issues and crash types, or fix any incorrect detections or fix steps. (This will be an opt-in feature, never on by default).

If this does gain traction and lots of people start using this, I may bring in a very basic and secure training data analytics feature, and opt-in only and have all sensitive info stripped, so if watchtower does not understand something it sees it can send it my way so I can make improvments.

This has also been built with server performance in mind, and most of what WatchTower does will run in the background. Very little of it has to run on the main server thread.

What I want to know

I've been using it on my own servers and I can't tell if this is just a tool for me. Would this be something server admins/owners would like?

This isn't public yet. I did put out a very early concept to some people about 2 months ago and got some very useful feedback. I think I'm still a few months away from releasing it, but I wanted to gauge if this is something worth putting my time into long term. There is a lot more this tool/mod will do but they are just small things a full feature list will also be put out on release.

If anyone also has any ideas for a mod/tool like this also please let me know. I appreciate any and all constructive feedback.

Long-term, if this gets enough attention, I may try to make this into a full hosting panel, something like Crafty so this can be an all-in-one suite for Minecraft server management. I feel there is a lot of good options out there but none did everything I want so I built this to fill the gaps. What do you think?

One final thing, I have used claude code to help me with this project but only to keep things tidy, annotated and document the project as I go along. I am one person and with my dyslexia things like documention is hard for me. I understand peoples views on "vibecoding" etc but I only use it as a tool to help me when I get stuck, not do the work for me. I am taking time on this project to make sure it is stable and reliable before it goes fully public.

You can see the source code here under a GPLv3 Licence: https://github.com/djinnbanter/WatchTower
NOTE: If you decide to run or test it in its current state it most likely not work as it is still very much in active development and undergoing a full re-write from the orginal POC that was made. This should NOT be put on any production minecraft servers.

Ohh and this will all be free I wont be asking money for this. I will be upfront some long term ideas if this blows up might include some form cloud paid version as it will cost me money to run and host. But we are talking years down the line and I will always make sure nothing is behind a paywall and a free local version will always be available. This project is not about me making money. I just like making cool things.


r/admincraft • • 1d ago

Software Resource Built a Fabric loader focused on server admin pain points

0 Upvotes

(AI disclosure per rule 9: built with Claude (Anthropic), mostly vibe-coded. I design the architecture, decide what to build and how it should work, and Claude writes the implementation. I test and review everything myself before it ships.)
Argentum is a fork of Fabric loader, that's why the full Fabric codebase is visible in the repo. It's the base, not plagiarism, my own changes are in the diff and CHANGELOG. Two things it's built around:

Safe boot: if a mod is incompatible or conflicts with another, it auto-disables itself on launch instead of crashing the whole client/server. A clean restart fully unloads it if needed.

Readable errors: instead of a raw stack trace, you get which mod broke and roughly why.
It also has a pseudo-hot-reload for the client. Instead of the usual close game, install mod, reopen cycle, it builds a fresh instance with the updated mods in the background while you stay on the menu, then swaps you over once it's ready. Plus a catalog for installing and importing .mrpack and managing mods.

Early release (v1.0), Fabric only for now, NeoForge/Forge support isn't there yet. Repo: https://github.com/GanichGG/Argentum
For those running Fabric servers: when a mod conflict happens, what's the actual error output you get right now, and how do you usually figure out which mod caused it?


r/admincraft • • 1d ago

Help/Question Random Xbox like usernames keeps trying to join whitelisted server?

5 Upvotes

I'm hosting my 2 week minecraft phase server like I have been for the past few years, but this year we decided to be fancy and get an actual domain and invite some more people. Still whitelisted by more activity. Since doing this I see these Xbox like user name, i.e. IcyLynx7646 | OddViper7910 | GoldToad9016 and the list goes on. It's a new one almost every minute, its clogging up the server logs and if something happens its hard to find because of the over 60 an hour random join attempts. Is this something I can stop or is it something someone knows what's going on. They are all coming for the somewhat same IP with different ports. Any help would be much appreciated.


r/admincraft • • 1d ago

Help/Question What is the best nation/factions plugin that's compatible with 26.3?

0 Upvotes

i want a nation plugin that has nation claims, chat, etc. I want the claiming part to be limited and only in a border (for example, peoples max claim can only be 750x750 blocks) I want factions chat so people can privately talk to their teams without doing /msg or /whisper. I only want people to make 4 nations and that's it, I don't want everyone to make nations, only 4 people/leaders. I want people who are in the claims to interact with chests and etc, but the people who aren't in the nation cant break or interact with anything. (PS: I tried ImprovedNations plugin and it sucked and wasn't working properly)


r/admincraft • • 1d ago

Help/Question EssentialsX Spawn not changing when doing the command

1 Upvotes

I'm trying to set my spawn so that people can teleport to my custom spawn when they first join the server. /spawn works perfectly, but when someone new joins, it doesn't put them where they're supposed to be. Instead, it puts them at 0, 0. I tried doing the essentials spawn command and the world spawn command and nothing seems to work, any suggestions? (Ps: I'm using the terralift datapack on my server and the spawn is in one of they're custom biomes, maybe that's why I cant set spawn there?)


r/admincraft • • 2d ago

Discussion For admins who removed /home, /tpa and /rtp: how did you stop players from working around it?

44 Upvotes

I'm setting up a Towny war server where travel is meant to matter. There's not going to be any /home, /tpa, /warp or /rtp. Players get one teleport back to their own town, with a warmup that cancels on movement, damage or combat. Everything else is done on horseback or with paid flights between fixed protected stations.

To enforce it, I coded a custom plugin for command allowlist. I've seen a lot other plugins blocking individual commands, which turned into whack-a-mole, because plugins keep adding aliases and namespaced versions like minecraft:tp or essentials:home. With it, now players can only see and run a short list of commands, and NPCs and plugins run anything else on their behalf. So that is solved.

However, what I can't predict yet is how players will get around it in practice, and I'd like to hear from people who've actually run a restricted-travel server:

  • Did players use the Nether's 8:1 scaling as fast travel? Did you gate portals, or limit where they could be built?
  • How did you get new players to a town or their friends without /tpa? Did you allow a one-time join teleport, or make them walk?
  • Elytra, ender pearls and boats on ice: Did you nerf or gate any of them, or accept them as the reward for effort?
  • Did restricting travel actually push people to settle near each other and use roads, or did they quit?

I'm mostly interested in what held up on a live server rather than what sounded good on paper.

Thanks in advance!


r/admincraft • • 3d ago

Help/Question Need ideas for my modded small community server

0 Upvotes

I’m currently developing a modpack for a small community made up of a couple of friend groups I’m in. The pack is centered around Create Aeronautics with exploration and PvP with Aeronautics & Create Big Cannons being the main activities.
The thing is, I’m currently at a loss on what to do to make the PvP non-toxic between the community. Currently I’m thinking of making it event-based with one of em being like a weekly/bi-weekly robotics tournament, just with Aeronautics contraptions (with certain rewards ofc). But i feel like that would create too much downtime after everyone’s settled in the server. Any ideas on how I should change it to make it more active on the PvP side without making the server devolve to toxic anarchy?
Also I’m trying to figure out how to incentivize exploration more on my modpack and I could also use some ideas on this front. Of course I could make the world more interesting to explore by adding more structure, biome, or other world gen mods but I cannot add to much of em cause the pack will be too cluttered and a couple of my friends also don’t have the best hardware for playing games so I gotta be a bit more careful about adding certain mods (the pack already includes tectonic and terralith with slightly tweaked configs which i feel like is mostly enough). I’m more interested in is adding certain objectives for exploration with the End Remastered mod as an example and relic/artifact hunting & trading (without lootr to make them a rarer commodity) as another example.
Any inputs on this will be appreciated!


r/admincraft • • 3d ago

Humor I genuinely used to think they were plain text files with a JSON structure

Post image
4 Upvotes

r/admincraft • • 3d ago

Help/Question Setting up a server address for a self-hosted paper server

2 Upvotes

so i've created a server locally on paper, up to the point where i'm able to get blocked from joining via "you are not whitelisted"

so far i've only got the port, from the config, and the localhost i keep getting kicked out of

can someone explain to me how to set it up as a properly available online server with an actual address? (if it changes anything, i'm using geyser + floodgate for bedrock compatibility)


r/admincraft • • 3d ago

Software Resource I made a chat translation plugin for my server. Want people to try out and give feedbacks

2 Upvotes

I made a plugin that translates player chats. The plugin uses AI to translate. It supports almost all major languages . Players receive chat in their own language they selected. Translated chats are printed on the native alphabets if it is supported by minecraft, if not , they are printed in latin alphabets.

The functionality is complex, if anyone want to understand more, Check out github.

This plugin also includes displaying national flags before or after name, or using as a placeholder in other use cases. That requires a resource pack to be installed.
My server is still on developmental stage, so I wasnt able to test it in mass player count. So taking backup is highly recommanded if you want to test this out.

Github Hanger Spigot

I wrote the core functionality and developed algorithm . AI agents was used for extended jobs, error corrections, transitions and debugging


r/admincraft • • 3d ago

Discussion Is everyone familiar with python or not really?

4 Upvotes

So I have been working on a bedrock utility script and I built it in python. You have to download python and the imports for the script to work do you think this is something that would make server admins nervous. I was trying to keep my utility as transparent as possible since I side on the side of caution myself. What do you guys think?


r/admincraft • • 4d ago

Help/Question What claim plugin should i use for my school server?

3 Upvotes

So i am building a minecraft server for my entire highschool. But im bot so sure which claims plugin to use, i want it to be easy to understand for the players but i also want people to work together in groups with friends. I have looked at the towny plugin but im afraid it might be to complicated. That means i would probibly disable the economy part of it but im not sure if that would mean that the plugin doesn't function... does anyone have any experience with towny withou eco or other plugins? Any help would be appreciated!😃

Btw im using paper


r/admincraft • • 4d ago

Help/Question I made a server on EternalZero and for some reason the TPS is very bad and it’s not using all its cpu and ram how can I fix it I’m already on paper and all that stuff.

2 Upvotes

I made a server on EternalZero and for some reason the TPS is very bad and it’s not using all its cpu and ram how can I fix it I’m already on paper and all that stuff. Every time I run or mine it lags my game and I teleport back. Spark


r/admincraft • • 4d ago

Help/Question I need to block the teleport option to a specific zone

0 Upvotes

Hello! So me and my friends have created a server, so I did a casino (pretty cool) but with a payment method for entrance, the thing is, I don't want em to be able to place a waypoint inside the casino and then tp there with xaeros minimap. I've already done some stuff so they only can use xaeros tp, but I would like to know if there's a way to block the tp to that specific chunk. I've already used OPAC but it doesn't seem like I can block teleports, only spawns...

Thanks!


r/admincraft • • 4d ago

Help/Question Is a Gen 2 i7 home server worth it?

1 Upvotes

Hi everyone!

I'm thinking about setting up a home Minecraft server to play with a small group of friends, and I'd love to get your opinion or hear if anyone has done something similar.

Here is the hardware I have available:

CPU: Intel Core i7 2600k

Motherboard: ASUS Sabertooth P67

RAM: 16 GB DDR3 @ 1600 MHz

PSU: 400W FSP

Storage: HDD

My plan is to install a lightweight Linux distro, run an optimized server jar, without breaking farms, and use Tailscale or ZeroTier/Radmin to avoid port forwarding.

Do you think this i3 can handle 3 to 4 players without major lag, or will I run into severe performance bottlenecks? Has anyone tried a similar build? Thanks in advance!

(i posted it early but i now checked the cpu and it was a i7 sorry)


r/admincraft • • 4d ago

Help/Question What's the best NPC quests plugin for 26.3?

0 Upvotes

I want a NPC quest plugin so that my players can do daily and weekly quests for rewards. I been researching and the one quest plugin i found (https://www.spigotmc.org/resources/quests.3711/) didn't work with my treefeller plugin and it disabled it. I want a plugin that is compatible with 26.3 and is fairly easy to make daily and weekly quests. Any help is appreciated! (Tried BetonQuests and it was to complicated for me)


r/admincraft • • 4d ago

Help/Question How much ram do I need for a 6 people modded fabric server?

1 Upvotes

Hi at max we have 6 people in our modded server with about 178 mods with examples like Alex's caves, biomes o plenty, aether etc. The game version is 1.20.1 fabric. Would 12gb be enough or would it be too much?


r/admincraft • • 4d ago

Software Resource Velcord looking for people which could test it. Discord verification plugin

0 Upvotes

Hi,

Recently I've developed plugin that helps you with player verification, role and nickname synchronization. It's made to run entirely on proxy without need to be placed on any backend servers. It uses OAuth2 so players don't even have to type anything they just need to click one link, there's still backup option to simply write directly to discord application. I'd love to get some feedback about it for now it's only on github but it's going to be on modrinth soon. If you'll face any difficulties just say it.

AI was only used here for sake of finding available source of other dependencies like javalin, jackson and libby but entire code was written by me with help of other plugin developer. He states that AI had a quick check on my whole github repository and analyzed my code to some extent and said that it should be good to launch.

PS.

Velcord was inspired by such plugins as DiscordNotify and DiscordSRV but first plugin is deprecated and second needs to be on all backend servers where you want player to verify.

You can find out more about it on github page and it's still under development so wiki isn't quite done but all necessary information should be present in config. you can always get in touch with me here


r/admincraft • • 4d ago

Guide Problems most of chat filter plugins

0 Upvotes

Hey everyone, in this post, I want to talk about the main issues with most chat filter plugins out there, as well as things you shouldn't waste time on when building one.

The market seems flooded with ready-made options, but in reality, they either break when faced with basic bypasses or completely destroy server performance.

  1. The Optimization Problem (RegEx and Its Cost)
  2. Most plugins check chat messages by passing them through RegEx patterns. Sure, these patterns make it easy to fix basic bypasses like b a d w o r d, but the price you pay for that is a massive performance hit.

It all comes down to how RegEx actually works. Most standard regex engines use Nondeterministic Finite Automata (NFA) with backtracking.

When a pattern contains complex overlaps, or when the chat gets flooded with messages during spam, the algorithmic complexity can skyrocket to $O(2^n)$.

Server load during a stress test of a standard Skript RegEx-based plugin for chat filtering (Spark profiler result)
(Link into comments)

This leads to significant CPU load, MSPT spikes, and dropping TPS. The more rules you throw into a pattern, the heavier the load on the processor gets. For small servers, this might not be a big deal, but where the chat is heavy or during spam, it becomes critical.

On top of that: constantly creating temp strings via .replaceAll() or .split() puts a massive load on the Garbage Collector. Spawning millions of short-lived objects per second forces the GC to trigger pauses far more frequently.

Solution: Instead of stacking dozens of heavy RegEx patterns, use custom text normalization paired with at least a Trie automaton. Yeah, the code gets harder to maintain, but it becomes MUCH more performant and readable.

Server load during a stress test of my chat filter plugin, which where this was taken into account (Spark profiler result)

(Link into comments)

  1. The Hardcoding Trap
    This isn't just a chat filter issue—it's a problem with most plugins on the market.

Hardcoding is when messages, filter rules, titles, and other settings are built in a way that doesn't allow editing them via config.yml / messages.yml—they are simply baked into the source code. Sure, hardcoding messages or rules directly in code might seem fine to some developers who think, "Why change anything if it already works?" But that thought breaks down the moment a server owner wants to change titles or messages to fit their server's style, or make the rules softer or stricter. Hardcoding stops you from reaching a wider audience and discourages most server admins from downloading your resource.

Solution: Instead of baking these values into the code, make them configurable in the config and read them into public variables for later use.

  1. The Over-Filtering Problem and Human Factors
    No matter how effective your chat filter plugin is against bypasses, you will never be able to cover every single bypass or passive-aggressive sentence.

You can't write code that detects something like "(some message, which contains passive-aggresive meaning)" without causing a ridiculous amount of false positives.

It's almost impossible to write code that detects slang words like "(some slang words)"without triggering false positives on completely harmless words that happen to contain those letters.

Solution: Make your chat filter an assistant to moderators, not a replacement for them. Clean up the most obvious and easily detectable messages automatically, and let moderators handle passive-aggressive sentences. That way, you save a lot of nerves for yourself, your mods, and your players.