JimiIT92 / UniverseGuard2

An easy to use world protection plugin for Sponge
https://ore.spongepowered.org/Francesco_Jimi/Universe-Guard
GNU General Public License v3.0
19 stars 3 forks source link

10K+ downloads, release cycles and state of V3 #164

Closed JimiIT92 closed 3 years ago

JimiIT92 commented 3 years ago

Hello, fellow minecrafters! How you doin? I've never done one of these "blog posts" where I write something that happened or that will happen sooner or later, and honestly I'm kinda scared to do it since I can miss something or do something wrong, so please don't be too cruel if there's something wrong πŸ˜‚ That being said, I'm writing these words to let you know what's going on with the plugin and what the future will mostly look like.

Over 10.000 downloads on Ore! That's insane! 🀯

Yep, that's right! UniverseGuard has been downloaded over 10.000 times on Sponge Ore! It may not seem like a big number, but for me it really is! It means that a lot of people appreciate what I'm doing, although is certainly far from perfect... πŸ˜…And the best part is that the number of downloads is growing every day (we are actually at almost 11.000, you guys are ustoppable!). Plus, we are almost in the top 10 Sponge downloaded plugins! (12th at the moment) Is not a competition, and there are fantastic plugins in that list, both above and beyond us, but generally speaking is good to see how far this project went. From a small plugin made by someone who had 0 knowledge about Sponge to help a friend running a server, to this. So, from the deep of my heart, i want to THANK YOU, everyone who downloaded the plugin or just gave it a try, even who discarded it for some reason but at least tried or looked intereset in it, everyone, thank you. And especially thank you to the ones who donated some of their savings to this stupid weird italian boy which want to write a long post in english but clearly has still some improvements to do with the english language πŸ˜‚ Again, thank you so much for your support. I really hope you stick with UniverseGuard for long.

Will it ever be a proper release cycle?

One of the issues of the plugin, aside from the spaghetti mess that the code now is (no jokes on the fact that I'm italian, I dare you!), is the fact that releases are not consistent. There might be two releases in the same week or one release after 3 months, and that's not just depending on the amount or severity of open issues. Unfortunately, running a project that has become so widespread all alone is not an easy task when you work all day 5 days a week. Trust me, when you job is coding all the day, the last thing you want to do when you're done is sit back and code again. Of course, you can do it, but mentally you won't be at 100% of your capacity, so you might end up doing something that you have to fix the day after release, and I think we can all agree that's something none of us want. But, in recent months, you have probably seen something changed. With the "recent events that's happening in the world" I got plenty of spare time during the weekend, since most of the day I'm at home, and that helped to set a kind of a release schedule, where on saturday I see if there are open issues and on sunday, if I have a significant amount of fixes, a new version is published. What does it mean "significant amount of fixes"? It means if all open issues has been solved or at least there are some critical issues that needs to be fixed as soon as possible. Does this mean that you might expect a new release every sunday? Well, yes and no. New release will be out on sunday, most of the time, unless there is something catastrophic that needs to be addressed in 24 hours or the world will end. But that depends on the amount of issues: if there are no open issues there's no need for a new release. So yeah, if you see there are some open issues, you can expect a release that week's sunday, but note that this doesn't mean that there WILL be a new release on sunday. It might happen on saturday or monday or not happening at all until next week. Sure, as I said I got plenty more time now, but unexpected events can happen every day, so it might happen that I don't have the time to check the issues on the weekend or just simply can't fix the issue in time for sunday. I promise I'm trying to do all the best to keep time between issues and releases short, but I hope you can understand why sometimes it takes long even to reply to an issue. I do apologize for this, but I also thank you for all the reports, as it helps to improve this plugin each release. And now, for the fun part...

WHERE THE HECK IS V3?

V3 was announced over a year ago, so you clearly want to know where is it. Well, is not in a bad state right now, many features of the current UniverseGuard has been ported to V3 and of course improved, but is not in a good state also, where I can say "ok, I can release this version and complete this part in another release". Some core mechanics are still missing, like region flags, to name one. And here's why is it: V3 is being built upon extendibility. I want V3 to be the "definitive" version of the plugin, something that can be easily maintained and that can't become a big mess with each new release. But that's not all: V3 must be highly customizable and, most importantly, expandable. So V3 will have a set of API that other plugins can use to expand the core plugin functionality. And that's where the problems begins: building a plugin that can be expanded is not easy. Building one that can be expanded with whatever a user might want to do is not easy AT ALL. What I want to achieve is the ability for users to create their own flags, commands, permissions, etc... to be used inside of UniverseGuard regions. For example, you can create a plugin that listen to the event of player entering a region and apply a potion effect to that player while is inside the region. That's just a simple idea, but you can imagine the potential for this. Also, you read that, right? I said event. That's because almost every action from the plugin will spawn an event, that the plugin itself or the addons can listen to make their own things. For example, when a region is renamed there is an event that is launched. Unless the event is cancelled the region is renamed. So you can see how an addon can, for example, add a list of banned word and when a region is renamed, if it has a banned word in the name, it can cancel the event and prevent the region from being renamed. Again, very basic example, but enough to show how powerful a set of events can be. And this is just ONE of the aspects that V3 will bring. This is the list of objectives that V3 is built upon:

In conclusion

As you can read, there is A LOT going on behind the scenes, especially with V3. From now on I do want to keep you informed on the state of V3, so you can see by yourself the state of it and that can also remind me to move fast! For now that's everything, I hope you find all of this interesting, despite the thousands of mistakes I surely made in the lines above, and will spread the project for a long time still! Peace! 😁

Vulant commented 3 years ago

If we have any addons for this plugin currently with V2, will we need to update our plugins to be compatible with V3 or do you think it will be okay? For instance, rentable regions.

JimiIT92 commented 3 years ago

I don't think they will work, since the whole system will be using events, which are currently completely missing from V2 πŸ˜•