Okay, so towards the development team, there have been so many complaints on how "TFM" is coming along slowly, how we haven't integrated or fixed a bug. Let's mention what's going on.
IMO, I don't believe TFM's codebase was ever designed to become this big. Back in 4.3, TFM didn't seem like it was designed for anything but a basic ranking with commands system. 5.0 came out and it revamped a lot of TFM, but revamping also came with bloating. With all due respect to Prozza and Madgeek, TFM has become more and more bloated over the years, hell bridges, services, etc. are annoying to work with. At one point, TFM even forced you to put extra plugins on the server to work with. From a developer standpoint, and no, I'm not new to this, I've worked with professionals and have been studying Computer Science on my own for the past 6 years of my life (turning 18 this year.. not a college student yet), TFM is extremely annoying to work with, especially with the poor naming conventions and lazy coding. I'm not going to come out and blame any current or past developers, but it's honestly because people don't feel the need to put effort into such a disorganized codebase. Over the years, TFM has been disregarding features and leaving them in the codebase. I don't even think we use Discord module anymore, yet it's still in there. It's constantly annoying when people bicker about us not adding things, but how about you go ahead and work with TFM's codebase, and then judge us? Here's some issues we've seen:
- Bloated
- TFGL (Why does this even exist? Idiotic.)
- Unused code
- Outdated Security Practices
- Disorganized
- Some commands are written poorly to the point where runtime can be slowed done. I.e. we have a literal command that loops through EVERY entity in the world.
Oh, and let's not forget the fact that we have forks of plugins that depend on TFM, meaning if we were to fix TFM issues, we'd have to deal with the annoying factor of going through and hunting down every plugin that uses this. Keep in mind that as new developers come, like I, we have no idea what the fuck the point is of forks.
And no, we're not adding NM support to TFM. If we were to ever switch to permissions, it would be a general API usage of Vault. But that doesn't clear up the issue. When dealing with permissions in Plex, we came across one security risk- BukkitTelnet. BukkitTelnet itself is extremely bloated, but that's besides the point. The way it is written currently, every sender from Bukkit Telnet is a CONSOLE sender. Most plugins check whether a command sender is a player, else they are console. If we were to switch to BukkitTelnet, any person using it would be able to use console commands. BukkitTelnet is in need of a rewrite, but in all honesty, we need to deprecate the whole telnet protocol and drop remote console usage (Sorry Video).