Towny Classic

Towny Classic

3.2k Downloads

Suggestion: Move old-resident-delete Check to Its Own 15-Minute Task (Separate from doNewDay)

Closed this issue · 2 comments

commented

Please explain your feature request to the best of your abilities:

Currently, towns only fall into ruin (become fallenTowns) during the doNewDay() task, which runs once per day. This creates inconsistent timing, where towns often exceed the 42-day inactivity mark by several hours, depending on when the daily task runs. This affects gameplay on servers like EarthMC, where the timing of town ruin is critical for overclaims and strategic planning.

I’m requesting that the fallenTowns check be moved into a separate task that runs independently — ideally every 15 minutes. This would allow towns to fall into ruin precisely at the 42-day mark based on the mayor's last login time, not on the server’s daily tick schedule.

This change would improve fairness, prevent timing exploits, and create a more consistent and predictable experience for players tracking town activity.

Optionally, a config setting like fallenTownCheckIntervalMinutes: 15 could allow server owners to control how often this task runs, or even disable it for performance reasons if needed.

commented

Currently, the transition of towns into fallenTowns (ruin state after 42 days of mayor inactivity) only occurs during the doNewDay() routine. Since this task runs once per day, towns often linger past the 42-day threshold, causing delays and inconsistencies for players tracking when towns will fall or become overclaimable.

Create a separate scheduled task (e.g. checkFallenTowns()) that runs every 15 minutes to evaluate whether towns should be moved to the fallenTowns list. This will:

Ensure towns fall into ruin at the exact 42-day mark

Allow players to plan overclaims and raids more precisely

Increase fairness and eliminate confusion around timing exploits

Leaving the fallenTowns logic inside doNewDay() (current behavior)

Increasing the frequency of doNewDay() itself (not ideal, since it's resource-heavy and includes unrelated checks)

This could be configurable via a setting like fallenTownCheckIntervalMinutes: 15 to give servers control over how precise they want ruin handling to be.

commented

Hello @lucascr I am not longer accepting suggestions from people who aren't sponsoring me, because of underfunding. The Readme has the details.

If you would like to code this change and then submit it as a PR that would be alright with me.