HuskTowns icon

HuskTowns 3.1.2

A simple and elegant proxy-compatible Towny-style protection plugin

Page 1 2 3
2.3.2 Jun 9, 2023
HuskTowns 2.3.2 - Quality-of-life improvements & fixes

HuskTowns 2.3.2 makes a few small quality-of-life improvements and fixes, and has been tested to work with Spigot on Minecraft 1.20. Make sure you are running the absolute latest version of Paper 1.19.4 for this release if you're still on that! Paper 1.19.3 is no longer supported with this build due to paper-plugin config changes (All other versions are fine).

  • Added the ability to define aliases for the /town command on Paper servers, courtesy of @imhinotori (#257)
    • The aliases section of the config file lets you customize which aliases to support. One alias is present by default: /t
  • Added protection against nether portal exits being created in claimed chunks (#114)
    • This fixes a common annoyance whereby users dirty protected town regions with exit portals they cannot destroy and would not have otherwise been allowed to build
    • If someone has claimed a chunk on the other side of where a portal would be generated for a user without permission when entering the portal, the exit portal will no longer be allowed to generate
    • Relevant action: BLOCK_PLACE
  • Added Turkish (tr-tr) locales, courtesy of tyristana
  • Fixed an issue where name-tagged monsters were not protected from outside users being able to kill them like regular monsters

To update from 2.3.1, you should regenerate your config.yml file. Songoda customers: Since the last release, Songoda has been renamed to Craftaro. Purchases were automatically moved to the new Craftaro site.

2.3.1 May 17, 2023
HuskTowns 2.3.1 - Bug fixes & improvements

HuskTowns 2.3.1 is a minor release to fix a few bugs and improvements, especially pertaining to the /admintown command.

  • Updated the syntax of the /admintown bonus command to let you specify a town by the username of a player in that town
    • New usage: /admintown bonus <town|user> <name> [args...]
    • This is useful for stuff like offering town bonuses as rewards through plugins that execute the command to apply the bonus
  • Fixed an issue affecting certain setups where long world name types (>16 characters) could sometimes not fit in the database column
  • Fixed the town spawn coordinates being visible, even if the town spawn was set to private
  • Fixed unclaimable world rules incorrectly using wilderness rules in certain cases, courtesy of @Riksou (#250)
  • Fixed the /admintown ignoreclaims command not displaying a locale correctly, courtesy of @Riksou (#251)

To update from 2.3, just drag+drop! Enjoy.

2.3 Apr 26, 2023
HuskTowns 2.3 - New config options, better inspecting, paper plugin

HuskTowns 2.3 adds some new config options for setting a town creation cost, re-adds shift+right clicking to inspect nearby chunks while holding the inspection tool, adds advancement rewards, and adds support for running HuskTowns as a paper plugin.

  • Re-added the ability to hold shift when right clicking while holding the claim inspection tool to inspect all nearby claimed chunks. (#229)
  • Added an option to config.yml to use the level 1 deposit requirement as the collateral requirement for creating a town (#230)
  • Added certain rewards for completing town advancements, including a few item rewards in the default advancements.json file (#227)
  • Added support for running HuskTowns as a Paper plugin on Paper servers running 1.19.4+ (#226)
  • Added a config option to let you specify which slot to display town entry/exit and teleport complete notifications in (#228)
  • Fixed a ConcurrentModifcationException caused when using HuskTowns with certain hooks (#224)
  • API: Added an option to set the advancements being used programatically (#227)

To update to 2.3, you must regenerate your config and messages files. You may also want to regenerate your advancements.json file in plugins/HuskTowns/ if you want as it's been updated with new rewards. Enjoy!

2.2.1 Apr 6, 2023
HuskTowns 2.2.1 - Hotfix

HuskTowns 2.2.1 fixes an issue with players on login

  • Fixed an IllegalArgumentException that occured when users logged in
  • HuskTowns now requires HuskHomes v4.1.1

To update from v2.2, just drag+drop. If you're updating from an earlier version, please regenerate all your config, server & locale files.

2.2 Apr 3, 2023
HuskTowns 2.2 - Town advancements, PAPI built-in, bug fixes

HuskTowns 2.2 adds a fun new town advancements system and updates & moves the PlaceholderAPI expansion to be within the plugin.

  • Added town advancements, which provide a fun new way of keeping your players engaged, by providing interesting town-related goals and helping them learn how to use the plugin (#210)
    • Data-driven through a custom format and can be modified to your liking by editing the advancements.json in /plugins/HuskTowns
    • Adding rewards to advancements is planned in the future
    • Can be turned off altogether with the town_advancements setting under general
  • Added /admintown advancements
    • Lets you view a list of advancements in chat and reset your player's internally-cached advancement progress.
  • Added a hook for PlaceholderAPI, replacing the existing PlaceholderAPI expansion that required a separate eCloud download
    • Please uninstall the existing HuskTownsPlaceholders hook by removing it from your expansions folder and restarting your server
  • Added 4 new placeholders that return a town name based on the top towns in respective categories:
    • %husktowns_town_leaderboard_members_{index}% placeholder
    • %husktowns_town_leaderboard_claims_{index}% placeholder
    • %husktowns_town_leaderboard_money_{index}% placeholder
    • %husktowns_town_leaderboard_level_{index}% placeholder
  • Added a %husktowns_current_location_town_color% placeholder (returns wilderness color if not in a town claim)
  • Fixed the town color placeholder not returning gray if the user was not in a town.
  • Fixed an issue with the RedisEconomy hook where transactions would not report as complete correctly (#212)

To update, you can drag+drop. You should regenerate your config and locale files for this release.

2.1.1 Mar 27, 2023
HuskTowns 2.1.1 - HuskHomes v4 compatibility, bug fixes

HuskTowns 2.1.1 is a small release to update the plugin for compatibility with HuskHomes v4.x and address a few bugs.

  • The plugin hook with HuskHomes is now compatible with HuskHomes v4.x. Please update HuskHomes to version 4.x if you have not done so already.
  • Fixed an issue where players could get stuck in town chat mode if the town was disbanded while offline and toggled into speaking in the town chat channel (#201)
  • Bumped some dependencies

To update, just drag+drop. There are no config changes. Note that this release requires HuskHomes v4.x for cross-compatibility with that plugin. If you don't want to update to HuskHomes v4, you can disable the HuskHomes hook through the plugin config.

2.1 Feb 26, 2023
HuskTowns 2.1 - /unclaim all, bug fixes, locale improvements
⚠️ Important: If you are upgrading from HuskTowns v1.8.2, you must follow the legacy migration upgrade guide.

HuskTowns v2.1 adds the ability to /unclaim all of a town's chunks at once, adds some new config options and QoL, makes some locale improvements, and fixes various bugs.

  • Added the ability for a town to unclaim all its chunks with /town unclaim all (#192)
    • An equivalent command for administrators has also been added; /admintown unclaim <town> [all]
  • Added a config option (towns.require_claim_adjacency) to require that town claims made be adjacent (#193)
  • The display name of town rules is now localisable, courtesy of @WuzzyLV (#185)
  • Added transaction reasons to the RedisEconomy hook, courtesy of @Emibergo02 (#187)
  • Added a config option to automatically set the town spawn when the first claim is made, courtesy of @HookWoods (#191)
  • Added Simplified Chinese (zh-cn) locales, courtesy of Wtq_
  • Fixed an issue that prevented the town deeds menu from correctly showing the claim squares (#186)
  • Fixed the version checker incorrectly reporting that a new version was available
  • Fixed a NullPointerException that could occur when using the HuskHomes hook, courtesy of @Emibergo02 (#190)


To update, just drag+drop. You should regenerate your config and messages files for this release.

2.0 Jan 18, 2023
HuskTowns 2.0 - Rewrite, interface overhaul & more
⚠️ Important: If you are upgrading from HuskTowns v1.8.2, you must follow the legacy migration upgrade guide.

HuskTowns 2.0 is a major rewrite of HuskTowns that brings forth massive improvements to the data loading system, redesign chat interfaces, a simplified command structure and a whole host of other quality of life changes, new features and improvements.

  • The plugin has been rewritten from the ground up with a much more elegant internal code structure.
  • Massively improved data load times. Town and claim data is now saved as json objects in the database, which has undergone a schema redesign.
  • Redid all user interfaces and messages, bringing them in line with my other plugins.
  • Redid the command syntax and permissions listings for most commands. Please check the updated commands list.
  • Separated the config into multiple files to make it easier to read and edit; config.yml, levels.yml, roles.yml and rules.yml
  • Added town audit logs (/town audit).
    • Whenever a change is made to a town (new members, promotions, demotions, evictions, renamed, etc...) it will be logged.
  • You can now change the color of your town (/town color)
    • An interactive chat menu is also available to help you choose
  • Reworked how town plots work slightly
    • Town plots no longer have an "owner"; instead, they have a group of members, some of which are "managers", who can add additional members
    • The /town plot command has been updated as a result
    • Removed the ability for members to "claim" unoccupied plots, for the time being (this will be re-implemented eventually)
  • Added two new perks for leveling up a town; crop growth and mob spawner spawning rates will now increase in farm chunks as the town levels
  • Added a command for an administrator to assume ownership of a town, which will force-join a town and set them as the mayor (/town takeover)
  • Reworked the town bonuses system;
    • The person who applied the town bonus is no longer logged with the bonus, but rather in the town's audit log instead
    • Two additional town bonuses have been added to let administrators apply bonuses to the crop growth rate and mob spawner spawn rate boosts in farm chunks
  • Added a town spawn privacy admin bypass permission node, to allow administrators to teleport to private town spawns
  • Reworked the town claim list (now town "deeds") to provide a better visual overview of the number of claims made by a town
  • Added additional sorting options for the town list and improved its interface.
  • The plugin will now persistently save player preferences, including if they have town chat, auto-claiming and ignore-claims toggled.
  • When using the /map command, the plugin will now highlight the chunk the user is standing in
  • Slightly improved the way in which chunks are highlighted; particles will now always highlight slightly within the chunk borders
  • More commands, such as the town list command, can now be executed through the server console
  • Added brigadier syntax highlighting to commands via commodore
  • Added additional sub command list ("help") menus which display the command syntax
  • Added support for Plan (Player Analytics); the plugin will now provide an overview of town data on player and server pages.
  • Added a new LuckPerms context provider to the hook (husktowns:town-level), which is set to the level of the player's town
  • Updated support for BlueMap and Dynmap to their latest API version
  • Removed the default set of shortcut commands. You can define aliases in commands.yml at your discretion to replicate these if you miss them.
  • Removed the ability for towns to color format the town bio, greeting and farewell messages due to it conflicting with menu formatting
  • Removed the ability to auto-claim admin chunks
  • Removed two online player tracking features, for the time being (this will be re-implemented eventually):
    • Removed TAB completion for the invite command
    • Removed the Online Status of players in the town member list (now "census")
  • Fixed a number of claim protection issues, including the ability for outsiders to extract honey from protected beehives, among others
  • Placeholders: HuskTowns' PlaceholderAPI expansion ("HuskTownsPlaceholders") has been updated to v2.0, with a new set of placeholders.
    • If you're using this, please download the expansion update from the eCloud.
  • API: Added a new Developer API@v2 with vastly expanded capabilities, including the ability to edit towns and make claims through the API
    • The new API even provides consumer methods for easily editing towns
    • HuskTowns API@v1 has been deprecated but is still implemented. Most plugins built to use the old API should still work provided they don't make calls to old internal methods.
    • Consult the API docs for more information
  • API: Added three new API events: MemberJoinEvent, MemberLeaveEvent and MemberChangeRoleEvent

To update from v1.8.2, you must follow the legacy migration upgrade guide.

Enjoy!

1.8.2 Dec 17, 2022
HuskTowns 1.8.2 - Minor features, bug fixes, last v1 release

HuskTowns 1.8.2 is a minor feature and bug fix update to address a few critical issues with v1.8.1. It is my intention that this will be the last release of the v1.x line of HuskTowns releases.

Development of HuskTowns v2.x is underway. The main goals of v2.x will be to overhaul the data format to speed up cache times and pave the way for new features and better plugin interoperability.

  • Added support for RedisEconomy, courtesy of @Emibergo02 (#163)
  • Fixed /t invite missing its' alias and /t info having permissions missing, courtesy of @Skizzles (#141)
  • Fixed an error that could occur when updating a player's role cross-server (#172)
  • API: Added PlayerEnterTownEvent & PlayerLeaveTownEvent, courtesy of @Oribuin (#162)

To update, just drag+drop. I'm hoping to get development releases for v2.x out starting by the end of the new year.

1.8.1 Sep 16, 2022
HuskTowns 1.8.1 - Fixes and improvements

HuskTowns v1.8.1 makes a number of fixes and improvements, such as fixing an issue with the shading of commons-text, adding a Traditional Chinese locale and reorganizing some packages internally.

I'm working towards a big update that will change how claims are cached in the future to make things much more optimal at scale. This release doesn't contain any of that just yet, but it does make a few incremental steps towards that release.

  • HuskTowns is now compatible with HuskHomes v3's API. If you were using HuskHomes v2, you must now upgrade.
  • Fixed a ClassDefNotFound error caused by improper shading of commons-text
  • A number of libraries are now downloaded at runtime to save jar file size. Library shading has been tweaked as a result
  • Updated the plugin information screen and update checker to use DesertWell, in line with HuskHomes v3.
  • squaremap is now accepted as the identifier for SquareMap support.
    • Note that SquareMap support is deprecated and may be removed in the future in favour of Pl3xMap v2.
    • Also note that BlueMap support is still running on APIv1 (targeting older versions of BlueMap) -- v2 support is planned soon.
  • Added Traditional Chinese (zh-tw) locales, courtesy of TonyPak

To update, just drag+drop.

1.8 Jul 13, 2022
HuskTowns 1.8 - Town role customization, Minecraft 1.19

b89dfa9eb71d5037986ea9db566f1359a54ef9e1?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F31187453%2F178822308-bac06728-204c-458d-8dee-2e7712b86fb5.png
HuskTowns 1.8 adds the ability to customize town roles and permissions, along with a slew of other minor tweaks and improvements.

  • Added the ability to customize the town roles.
    • Town roles are now defined in config.yml
    • You can assign 'privileges' to each role
    • Check the plugin documentation for more information
    • The default roles and privileges are the same as in previous versions
  • Updated for Minecraft 1.19
    • Properly handle dripleaf blocks in claims
  • Added an option to prevent claiming chunks too close to another town (minimum_town_chunk_separation in the config file, default 0)
  • Migrated configuration handling to BoostedYaml
  • Optimized and adjusted how the claim viewer displays particle effects around claim borders
    • The viewer will now display particles at an incline against block edges
  • Refactored the command handling system under-the-hood
  • Minor updates to the plugin about menu (/husktowns about)
  • Fixed people being able to push/pull stuff with pistons across claim borders
  • Added Simplified Chinese (zh-cn) translation, courtesy of Ghost-chu
  • Updated the Spanish (es-cl) translation
  • Fixed some typos in the English (en-gb) locales
  • Fixed untranslatable money_spent_notice locales (#95)
  • Added an option to disable startup checls (#105)
  • Added an option to use Redis over SSL (#100)
  • Bumped the SquareMap dependency and fixed an incompatibility
  • API: The API is no longer in a separate repository.
    • Remember, the package was changed from me.william278 to net.william278

To update, just drag & drop. Note that if you are updating from v1.6 and older, please update to v1.7 first before updating to this release. You may need to regenerate your language files.

1.7 Jan 2, 2022
HuskTowns 1.7 - /town player command & improved member list
HuskTowns 1.7 adds the /town player command to let you lookup player information, adds a few API events, changes the town member list to show online players in green and makes a number of fixes and improvements.

• Added /town info to let you view information about the specified player, such as the town they are in and whether they are online or not.
• The list of members in the town information menu will now appear green if they are online and their online status will be displayed on hover
- Clicking online users in the list will also suggest the /msg command for them
• Fixed the LuckPerms contextual provider crashing the server by asynchronously loading chunks, particularly when changing dimensions.
• Added player name auto completion for commands such as inviting players to a town, trusting players in a town plot, etc.
• TAB completion for certain commands like inviting online players will now work cross-server
• Updated Pl3xMap integration to support SquareMap. Pl3x has discontinued Pl3xMap and it is now being maintained by a new team under the SquareMap name.
- Change "pl3xmap" to "squaremap" in config if you were using Pl3xMap previously (and move to SquareMap of course).
• Added Spanish (es-cl) localisation courtesy of Elpipas
• Fixed hanging entities (paintings, item frames) getting damaged/broken by explosions when they should be protected.
• Fixed the town member list failing to embolden the viewer's name if they are on the list.
• Fixed an inconsistency with the HuskHomes /sethome integration
• Fixed town set spawn cost not being read from the config file correctly
• Updated the following locales. Please regenerate your messages file for this or copy these from here:
- claim_list_item_unviewable
- claim_list_item_viewable
• API: Added some API events for developers. All are cancellable.
- ClaimEvent
- UnClaimEvent
- TownCreateEvent
- TownDisbandEvent

To update, regenerate your messages file or replace the two locales listed above from the file here. Otherwise just drag+drop.
1.6.2 Nov 24, 2021
HuskTowns 1.6.2 - Hotfix
HuskTowns 1.6.2 is a hotfix for a critical issue caused by inconsistent SQLite driver behavior

• Fixed deleting a town failing to cause cascading deletion in your database, causing duplicate entries and data loading failures on startup.

No config or message file changes. To update, just drag+drop. MySQL users are not affected by this issue.
1.6.1 Nov 14, 2021
HuskTowns 1.6.1 - Hotfix
HuskTowns 1.6.1 fixes a few small issues with v1.6, such as town chat messages sometimes appearing twice.

• Fixed town chat messages appearing twice on servers using the new Redis mode
• Fixed the public town farm flag not allowing players to interact with passive mobs when it should have
• Added a bStats metric for messenger type (redis, plugin message)

To update, just drag+drop.
1.6 Oct 29, 2021
HuskTowns 1.6
HuskTowns 1.6 is now available, which (finally) adds support for Redis and adds a new public farm access flag! It's been a bit of a busy week for me as I have been handling the release of my newest plugin, HuskSync - but I wanted to push out a HuskTowns update, too!

• Added support for Redis messaging
- To enable, change messenger_type to 'redis' and enter your Redis server credentials under redis_credentials
- This should allow servers running RedisBungee to operate
- Redis has one other advantage - it means the server does not have to reload the caches when the first player joins - which can take awhile if you have lots of data.
• Added the Public Farm Access flag
- This flag lets you grant public access to place and break crops, sugar cane, pumpkins, melons, nether warts, mushrooms, fungi, cocoa beans as well as kill / interact with mobs in a claim. Super useful for farming chunks! Try it out in /farm settings.
- Your database table will be upgraded to accommodate for this
- There are two new locales in this update to let you translate the name and description of the public farm access flag.

To update, drag+drop.
If you want to regenerate your config file, please do not do this until AFTER you have restarted your server with the new jar (this is to make sure the plugin carries out the database upgrade correctly!).
You may see in your console a warning about it failing to add the "farm access" table to the database; this is normal behavior and all it means is that another server has already performed the upgrade and so it was skipped.
1.5.6 Oct 16, 2021
HuskTowns 1.5.6
HuskTowns 1.5.6 is a minor update that moves data operations over to the more efficient Hikari connection pooling (hence the slightly larger file size) and fixes a few bugs.

• HuskTowns now uses Hikari connection pooling for establishing a connection to your database
• Added new connection_pool_options section in the config file letting you control the pool size
• Adjusted the initialization order of LuckPerms data to prevent a crash when loading lots of data
• Fixed an issue where the initial data load could get stuck in some instances causing a softlock that required a manual reload
• Corrected some outdated links in the plugin info menu
Fixed a few issues with the update checker and servers running offline
• A town's farewell message will no longer display while you are auto claiming to reduce chat spam
• Fixed caches incorrectly reporting the time it took for reloads after the initial one to process
• Minor code optimizations and tweaks

To update, you can drag+drop the previous jar. The only config changes are the additions of Hikari connection pooling options.
1.5.5 Sep 18, 2021
HuskTowns 1.5.5 - LuckPerms contexts & minor fixes
This release of HuskTowns adds support for LuckPerms contexts letting you fine-tune what commands/permissions players can do based on their context with HuskTowns (in a claim, in a town, build access, etc).

• Added an integration with the LuckPerms plugin! HuskTowns now provides the following LuckPerms permission contexts:
- husktowns:claim-town - name of the town claiming the player is standing in
- husktowns:in-claim - true/false if a player is in a claim or not
- husktowns:can-build - true/false if a player can place and break blocks
- husktowns:can-open-containers - true/false if a player can use containers
- husktowns:can-interact - true/false if a player can interact (right click) with blocks and entities
- husktowns:standing-in-own-town - true/false if a player is standing in a claim owned by the town they are in
- husktowns:is-town-member - true/false if a player is a member of a town
- husktowns:town - name of the town the player is in
- husktowns:town-role - the player's role in their town; mayor, resident or trusted
• LuckPerms integration can be disabled in the plugin config.yml under integrations --> luckperms --> enabled:true/false
• API: Fixed an issue where the getPlayerAccess method returned wrongly when public access flags were set.

This update is a simple drag+drop upgrade from HuskTowns 1.5.4. Thanks!
1.5.4 Sep 11, 2021
HuskTowns 1.5.4 - Progress to next level info & New API methods
HuskTowns 1.5.4 is a minor update which adds a way of viewing your progress to next town level and adds some new locales for the PlaceholderAPI expansion.
• The town overview will now display how much money needs to be deposited to reach the next level (please regenerate your messages file or copy the new town_overview_coffers locale over)
• Added locales for the placeholder expansion so these can now be translated
• API: Added methods for retrieving town levels, founded times, plugin messages and coffer balances.
- Note that some of these are not thread safe and should be executed asynchronously
Please regenerate your messages file for this release or update the following locales from here: https://github.com/WiIIiam278/HuskTowns/wiki/Messages-File#example-english-messagesyml
1.5.3 Sep 6, 2021
HuskTowns 1.5.3 - New locales, performance improvements & new plugin API
HuskTowns 1.5.3 is mainly an under-the-hood update that brings an expanded API for developers, alongside new translatable locales, fixes and performance improvements.

• Added 28 new locales for things not previously translatable. With these new locales, I'm pleased to report that everything in the plugin can now be translated (I think... If I've missed something, let me know!)
- Town overview menu
- Claim list items
- Bonus list items
- Town list items
- Map square hover tooltips
• The claim list will no longer display further claim details on hover
• Fixed "View" button being present on the claim list even when it is not possible to view the claim information
• Fixed a typo in the error_claim_other_not_member_of_town locale (please update locale from webpage or delete messages config file)
• The town list, town claim lists and town bonus lists are now cached when using the page buttons to significantly improve performance when using them
• Updated the update checker.
• Improved the way cached data is loaded and added a debug option to log the loading of cached data. If you encounter issues with data loading, turn on this setting under general-options in the config and open a ticket on Discord.
• Fixed a formatting issue with the economy section of the default config.
• Improved compatibility with other protection plugins by respecting previous event cancellation.
• API/Developers: Majorly refactored the plugin into submodules; migrate to gradle build system.
• API/Developers: The API has been refactored and significantly expanded. It is quite likely that plugins will need to be updated to make use of the new HuskTowns API: https://github.com/WiIIiam278/HuskTownsAPI
- Source code can be accessed via a remote nested git submodule on GitHub
- Javadocs are now published and the plugin is available on JitPack
- New API methods for getting player access. Existing API methods now also accept UUIDs for checking against offline players.
• API/Developers: The plugin source code is now publicly available on GitHub: https://github.com/WiIIiam278/HuskTowns.
• Documentation: The plugin repository is now all under /WiIIiam278/HuskTowns. The old HuskTownsDocs repo has been closed and archvied.

To update, simply drag+drop. You should regenerate your messages file for this update as it makes changes to existing locales, or at least copy the new version of these locales from the plugin wiki:
• error_claim_other_not_member_of_town
• settings_menu_bio
• settings_menu_greeting
• settings_menu_farewell
1.5.2 Aug 15, 2021
HuskTowns 1.5.2 - Fix & more translatable strings
HuskTowns 1.5.2 fixes a critical issue that caused issues with town bonus caching when renaming a town. It also adds a few more strings to let you translate flag names.

• Added 16 new translatable strings for flag names and descriptions
• Fixed an issue where renaming a town would cause town data caches to fall out of sync
• Fixed an issue where monsters shooting projectiles inside of claims could damage tile entities
• Fixed players sometimes not being able to damage themselves with the PVP flag set to false
• Fixed trying to assign a player who is not a member of a town to a plot producing a NullPointerException console error

From the previous two versions of HuskTowns (1.5/1.5.1), this should be a simple drag+drop - but if you're upgrading from HuskTowns 1.4, please review the information from that version to make sure things are upgraded smoothly!~
Page 1 2 3

towny

claims

husk