Skip to content

Towny Chat channels plugin for use with Towny and Bukkit

License

Notifications You must be signed in to change notification settings

TownyAdvanced/TownyChat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

409 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TownyChat

A component of Towny Advanced


Hello Towny community,

To the folks already sponsoring me: you are all awesome, the words below do not apply to you. I am grateful for the help you've provided me over the years (some of you, you know who you are), and I am incredibly grateful for the support you've given.

I have been working with Towny since 2011. I have been in charge of the project since 2014. I have put in more than 13 years of service to an Open Source project that you use. I have not run a minecraft server, or played minecraft in over 7 years.

Some of you may know this, some may not: In 2021 my IRL work was up-ended, resulting in a major reset of my career. The result was that I have not been bringing in the same income as I was before, something I require to feed, cloth and house my wife and young children. Up until that point, my normal job fully-subsidized the time I put into coding Towny and its many add-on plugin. You all have enjoyed my works because I was able to feed and house my family via my regular work whilst paying myself to work on Towny.

I make myself available regularly on Discord answering mundane and complex questions alike. Bugs are usually fixed the same day they are reported. Other developers that contribute Pull Requests to Towny get reviews right away, and jr developers can usually expect me to help with commits so their work gets merged.

99% of Towny server admins are not sponsoring the work that I put into Towny. The truth about well-managed open source projects is that the developers of them need to be compensated for the time and energy they put into their software. Developers of large projects are unfortunately rarely compensated, and in fact receive a lot of push back from people who expect free software at no cost.

There are days that I enjoy every minute of what I do with Towny. Helping out the new server admins with their greenleaf in the Discord as they learn the ropes around Towny can be fun. Making a sponsor's feature request a reality. Creating a brand-new add-on plugin from nothing but code and the TownyAPI that I have spent years fostering. As of this posting Towny has a 4.7/5 rating on Spigot, with 145 reviews. Nearly all of these reviews cite me and my efforts. I enjoy coding, or I would not still be doing it.

And then there are days that I do not enjoy every minute of it, but you will not find any days that I have not answered every question asked on the Discord by new admins or sponsors.

I not only provide server owners with amazing support I also provide many plugins. It is not uncommon for servers to use Towny with side-plugins I am also in charge of: SiegeWar, Dynmap-Towny, iConomy5, TownyResources, TownyProvinces all playing very large roles on the server with other plugins like TownyChat, TownyFlight, TownyCultures, and others playing smaller roles. I read people's startup logs when they need my help, and they tend to use a lot of my plugins if they use Towny.

I remember the time that Goosius decided to stop working on his fork of Towny that had SiegeWar built into it. He spent a little more than a year doing intense, active development, constantly getting feedback from server admins and players, constantly tweaking things. And then he vanished, burnt out from everything. He logged out of his SiegeWar discord and that was seemingly it. When I joined the SiegeWar discord in late 2020, I was surprised at how many people were clamouring for SiegeWar, willing to throw money at anyone that would continue coding SiegeWar. The developer left, and all of a sudden people were willing to pay. I have pulled SiegeWar from the ashes twice now, and yet the greater reward is not there.

As of the start of 2024 I have enacted a new policy:

If you're expecting support on the Discord: I expect you to sponsor. Companies that provide software do not provide support for free. I will probably still respond to you if you're brand new and need that extra bit of help. If you can find something that isn't already documented on the Wiki, let me know and I'll add it.

If you are not sponsoring, please do not make suggestions for new features, I don't need ideas right now.

This is due to underfunding, if sponsorships rise to a level at which I can sustain myself and my family the time I can devote to Towny will expand and the support floodgates will re-open. My time coding is being devoted to the people who are giving back by sponsoring me.

Thank you for reading,
— LlmDl


TownyChat is the reference chat implementation for Towny, providing channels for Towns, Nations, and Alliances. It is currently maintained by LlmDl, having taken over for ElgarL in 2014.

Development of TownyChat is primarily undertaken by the core members of TownyAdvanced, but is open to contributions. TownyChat has had many Contributors who have helped improve it over the years.

If you're interested in other add-on plugins for Towny, check out the TownyAdvanced Portal.

There you can view and download most of the plugins that the team maintains.
Or, check out the SponsorPlugins you get access to when you give back!


Current Recommended Versions

TownyAdvanced only offers support for the latest release of TownyChat, when paired with an appropriate Towny version. Prior versions of TownyChat may continue to function, but are unsupported if not used as advertised.


Staying up to date

All Release builds are being made available here on GitHub's Releases tab. I am recommending that server admins "watch" TownyChat on github for updates. Just click the watch button in the upper right and select "Custom > Releases".

TownyChat is also released alongside Towny, and is bundled with official releases.
You can set up alerts on Hanger, or watch Towny here on GitHub.

Missed a few versions? You can also check out the ChangeLog.


Connect/Support

The documentation found on the Towny Wiki is updated every time a Release version of Towny is put out. For important changes since the previous Release build, we recommend reading TownyChat's release pages.

Some important pages to look over:

On Towny's GitHub Issue Tracker you can file bug reports, feature requests, or just ask general questions.

Average time to resolve an issue Percentage of issues still open

If you still need help, join us on the Discord server, where you'll find Channels for support, add-on plugins, SponsorPlugins, discuss plugin-development and just regular old discussion of the plugin.

Note: If you are not a new Towny admin, it is expected that you become a Sponsor if you want hands on support from LlmDl.


Contributing

If you'd like to contribute to the Towny code, see the CONTRIBUTING.md over on Towny.


Translations

TownyChat does not offer its own localization. Instead, this is partially handled within Towny.

If you'd like to help translating Towny into the available languages or add entirely new languages, we're on Crowdin!

Crowdin


Licensing

Towny & TownyChat are licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) License You can view a repo-local copy of this license at LICENSE.md.

We don't object to you making your own personal-use forks and builds, but we do object to people being selfish, which is why we specify No Derivative Works. If you want to modify the code to add a nice feature or two, the least you can do is ask and submit a Pull Request to allow everyone to benefit from it.


Hooking directly with TownyChat

You can hook directly into TownyChat, if you wish. This is however, unsupported. Builds of TownyChat are not currently published to the Towny repository hosted at https://repo.glaremasters.me/repository/towny/. You will need to grab it from Jitpack, or install it to your local Maven repository.

We encourage developers who wish to use the Towny API in their plugins to read the following instructions on adding Towny via a Maven pom.xml, or read the API guide to learn about the vast API Towny has to offer.


Building TownyChat

If you would like to build TownyChat yourself, you can do so with Apache Maven.

Steps

Steps 2 – 4 can be managed by an IDE, such as IntelliJ Idea or Eclipse.
If cloning with an IDE, please refer to your IDE's documentation.

  1. Satisfy prerequisites (Maven, JDK 17+, Git, etc.)
  2. (Optional) Fork the repository to your own GitHub account.
  3. Clone Repository (git clone https://github.com/TownyAdvanced/TownyChat.git)
    • If you forked: Replace TownyAdvanced with your GitHub Username in the command above.
  4. Open the locally cloned TownyChat directory in a terminal shell, or Windows Command Prompt.
  5. Run mvn clean package
    • Maven will generate the plugin inside the TownyChat/target/ directory.
  6. Copy the JAR file to a server for testing.

About

Towny Chat channels plugin for use with Towny and Bukkit

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • Java 100.0%