Staff MemberVoidwalker5 Year Badge

This summer I decided to start coding a ground up rewrite of the Towny plugin.

Towny is the backbone of our survival PvE experience. The unfortunate reality is that the original Towny plugin halted active development back in 2012. It's part of the reason why Towny servers are now few and far between.

I have long been maintaining a fork of Towny for OMM. I've made plenty of changes, but none have been major. The sheer size and complexity of the Towny code base discouraged attempts to add any major new features.

In the process of trying to improve our experience for new players this summer, I was forced to face the fact that Towny was the weakest link in our PvE offering. I made the decision to take on a project I knew would be a monumental effort: Writing our own version of Towny from the ground up. To do this, I needed to reach feature parity, while maintaining backwards compatibility with the old Towny, so that the transition would be nearly seamless.

Two months and a few hundred hours of coding later, I now have a new Towny plugin for OMM that's roughly beta quality. The next task is to make sure it's fully tested so that we catch any bugs before it goes live to all servers. The best way to do that is a public beta.

Sometime this weekend Monday we'll be opening a public beta server. We'd like you all to try out the new features, report any bugs, and give your feedback. If you want to have fun while doing it, I suppose that's OK too. We're now live!

This rewrite will enable us refine add features to Towny based on community feedback and suggestions. In order to prove that point, I added (and improved) a long requested feature. Town and Nation wars.

Although the effort for the rewrite was extensive, much of the time went into rebuilding features we already had. Despite that, I did put time into some additional features, to help make the rewrite "feel" new.New features

Comments

Holy moly... The sheer size of this is amazing! I myself know that the Towny plugin is huge, and creating your own is just... Well, Impressive would be a huge understatement. The wars themselves look incredibly exciting! I love how there's a neutral/passive setting for those who don't want to be involved.

Wait, you're redoing Towny??? Does this mean you can add in my Zones suggestion?!?!?!?
I know your reasoning before for not doing it was Towny was a pain to modify. You thought it was a brilliant idea though.

Wait, you're redoing Towny??? Does this mean you can add in my Zones suggestion?!?!?!?
I know your reasoning before for not doing it was Towny was a pain to modify. You thought it was a brilliant idea though.

Click to expand...

It does mean there is a higher chance of Towny related suggestions getting implemented in the future. However in general huge projects like these have meant we're hugely backlogged where suggestions are concerned. We hope to get back to them at some point.

Holy moly... The sheer size of this is amazing! I myself know that the Tuwny plugin is huge, and creating your own is just... Well, Impressive would be a huge understatement. The wars themselves look incredibly exciting! I love how there's a neutral/passive setting for those who don't want to be involved.

Click to expand...

It was a pretty huge effort, I appreciate the recognition for that. I would like to point out though that, although huge, Towny is just another one of MANY custom plugins we've written for OMM over the last 4 years.

As of today we're using ~100 plugins across all servers. 75 of our plugins were written from scratch by myself and Xor. 10 more are forks (variants of 3rd party plugins we maintain). As of today only 15 are off the shelf 3rd party plugins.

Although lines of code isn't a great measure (less lines is better), our custom plugins as of today are ~180,000 lines of code (add another ~150,000 if you include forks). The new Towny is ~33,000 lines, or ~18% of our total custom plugin code base. The only other plugin that comes close is my Trident minigames plugin at ~15,000 lines, or ~8%. That plugin was also a multi month effort early this year.

It does mean there is a higher chance of Towny related suggestions getting implemented in the future. However in general huge projects like these have meant we're hugely backlogged where suggestions are concerned. We hope to get back to them at some point.

Yes, we would like to have flight disabled for players actively engaged in PvP. The exact solution to that problem is still TBD.

At the moment flight is disabled globally on the beta server.

It does mean there is a higher chance of Towny related suggestions getting implemented in the future. However in general huge projects like these have meant we're hugely backlogged where suggestions are concerned. We hope to get back to them at some point.

Click to expand...

My suggestion: All flight could be temporarily disabled for 30-90 seconds after getting hit by or dealing damage to an enemy player.

It was a pretty huge effort, I appreciate the recognition for that. I would like to point out though that, although huge, Towny is just another one of MANY custom plugins we've written for OMM over the last 4 years.

As of today we're using ~100 plugins across all servers. 75 of our plugins were written from scratch by myself and Xor. 10 more are forks (variants of 3rd party plugins we maintain). As of today only 15 are off the shelf 3rd party plugins.

Although lines of code isn't a great measure (less lines is better), our custom plugins as of today are ~180,000 lines of code (add another ~150,000 if you include forks). The new Towny is ~33,000 lines, or ~18% of our total custom plugin code base. The only other plugin that comes close is my Trident minigames plugin at ~15,000 lines, or ~8%. That plugin was also a multi month effort early this year.

They will merge and form The Polish-Lithuanian Commonwealth. JK That would be cool. I'm really excited about this and will prolly spend a lot more time than I should on the server for the next few weeks :3

Click to expand...

What would I name the combined nations given that the PLC has a very long name.

Thanks Octa, I plan on doing this for all wars and I'm sure other nations will contribute to preserving all future wars we have on omm.

Click to expand...

I've thought about this already. Each war is unique and will be tracked as such.

At the moment the war names just default to the name of the town/nation that declared, plus a number. However you can name your own wars with /t war declare [name]. Right now the name can't have spaces, but if you use underscores they'll be treated as spaces in the UI (e..g /t war declare World_War_II).