Development Update - August 1st, 2022

    • Official Post

    Howdy folks! The time has finally come.


    With TFM 2022.08 we will be implementing what we can that hasn't been targeted in TFM 2022.07, and this will be the final release for what will now be considered a Legacy plugin. In turn, we will be breaking TFM down and replacing features with pre existing software, and for anything else that isn't provided elsewhere will be implemented into a core and extension system; the reason behind this change is due in part to TFM containing too much legacy code that cannot be changed, alongside the TFGL restrictions and the fact that TFM is so resource intensive on its own (due to the plugin constantly accessing and calling methods and fields across a large spectrum of processes) that it has become not only difficult to work with as a developer but also brings out numerous performance issues which are highlighted by the single threaded server system that paper so ungraciously provides.


    What does this mean? TFM will not change in spirit, but in actual process and end user target things will be much easier to understand and work on, alongside being much faster and reliable. Not only that, but the core-extension concept will allow us to split what we have to custom build ourselves into sections which will not only be much more manageable but also will not cause the entire server to fail if one feature breaks, which is the case for TFM currently.


    As it stands, 2022.08 will continue as an LTS release (garnering bugfixes and patches alike as needed), until it can be officially retired and replaced by the new project. There is no name assigned as of this moment, however it will not be related to TFM to remain ambiguous from the legacy plugin, and to also avoid licensing under TFGL. From here on out, TFGL will be retired and either GPL or MIT will be used instead.


    We want to give our developers as much freedom as possible in regards to development and creation; as it currently stands that is not the case. We also want to ensure our community is satisfied with the performance and stability of the server, and it is believed that this is a necessary step to bring a much more adaptable and solidified plugin structure to TF that will enhance player AND developer experiences.


    Thanks much folks, here's to hoping we have a successful turnout for these changes. 🍻

  • lyicx

    Approved the thread.
  • wait tl:dr because i am completely fucking monkey brain and i actually need some tea, or a drink, or something.


    TFM gonna be rewritten into this core thing and have certain functions split into their own modules?

    "I, Lyicx. do swear that i will be faithful and bear true allegience to Ren according to law. So help me god." - 31/5/22 <3

  • I think I'm being stupid but I can't fully gather what's going on.. this is a little too developer speak for me.

    Patrolling the Mojave almost makes you wish for a nuclear winter.

  • It's almost like Plex was made to fix all of these issues...

    wait tl:dr because i am completely fucking monkey brain and i actually need some tea, or a drink, or something.


    TFM gonna be rewritten into this core thing and have certain functions split into their own modules?

    I think I'm being stupid but I can't fully gather what's going on.. this is a little too developer speak for me.

    Basically TFM is going to be retired (i.e. it won't be on the server anymore). He has decided to use off the shelf, existing plugins to replace the functionality of TFM. If a replacement can't be found, there will be a new plugin that is more lightweight and does less things (I think?).

    There is no name assigned as of this moment, however it will not be related to TFM to remain ambiguous from the legacy plugin, and to also avoid licensing under TFGL.

    It is stated in TFGL that if you have a completely separate plugin called TotalFreedomMod, it does not need to fall under TFGL so long as it doesn't actually contain any code from TFM.


    While I've already made my stance on using off the shelf plugins and my disagreement with them, I wish the development team the best of luck in a new TFM-free era

  • Here's a version of the post that I wrote to try and exclude most of the dev-speak jargon:


    Quote

    The developer team will be removing most of the functionality in TotalFreedom Mod (the rank system, permissions, etc) and instead using plugins that are specifically meant to substitute those features (luckperms?, network manager, etc). The reason behind the decision is mainly due to TFM being way too complex and entangled for any developer to try and work on without significant amounts of time being put into it, and also because of the numerous performance issues brought on by TFM's inefficient legacy code.


    Any functionality which can't be substituted with another plugin will instead be incorporated into a "core-functionality" plugin as needed.


    The current version of TFM will continue to be developed under an LTS release (only bug-fixes and exploit patches) until the core plugin is complete, after which TFM will be retired.

    ピバラ。

  • After reading through this again, I've realized a "gotcha". If you intend to free yourself from the shackles of TFGL, you can't use any code from TFM at all. If you intend to split the functionality between a core plugin with extensions, you won't be able to just rip TFM code and organize it without using TFM's license.


    What actually is the plan then? Are you going to rewrite everything from scratch, and if so, what's the timeline for this? It took two years for Plex to get to v1.0 so how long are you actually planning on this taking?

  • After reading through this again, I've realized a "gotcha". If you intend to free yourself from the shackles of TFGL, you can't use any code from TFM at all. If you intend to split the functionality between a core plugin with extensions, you won't be able to just rip TFM code and organize it without using TFM's license.


    What actually is the plan then? Are you going to rewrite everything from scratch, and if so, what's the timeline for this? It took two years for Plex to get to v1.0 so how long are you actually planning on this taking?

    Plex is a fully realized rewrite of tfm, at its core.

    while we will be utilizing 100% unique and original code, we won't be working on nearly the same scale as Plex, since a majority of features are being offloaded to other plugins. I don't anticipate this taking 2 years, but to say a couple months would be egregious. I anticipate this taking a good bit of time, but regardless of how long it takes I intend on seeing it to completion.

  • After reading through this again, I've realized a "gotcha". If you intend to free yourself from the shackles of TFGL, you can't use any code from TFM at all. If you intend to split the functionality between a core plugin with extensions, you won't be able to just rip TFM code and organize it without using TFM's license.


    What actually is the plan then? Are you going to rewrite everything from scratch, and if so, what's the timeline for this? It took two years for Plex to get to v1.0 so how long are you actually planning on this taking?

    Plex is a fully realized rewrite of tfm, at its core.

    while we will be utilizing 100% unique and original code, we won't be working on nearly the same scale as Plex, since a majority of features are being offloaded to other plugins. I don't anticipate this taking 2 years, but to say a couple months would be egregious. I anticipate this taking a good bit of time, but regardless of how long it takes I intend on seeing it to completion.

    Is it possible then to use Plex in the meantime, to keep TF alive, until we get to the point where we have all of TFM's features split out to separate plugins?

    • Official Post

    to keep TF alive

    To clarify, Plex won't change that. The current issues with TF are not due to TFM / Plex directly and require a lot of my time to fix. Plex doesn't solve any actual problems for us that I can see, it simply moves them into a different plugin...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!