Skip to content

Add a cooldown to prevent towns spamming residents by outlawing and unoutlawing them#8074

Merged
LlmDl merged 4 commits intoTownyAdvanced:masterfrom
Veyronity:cooldowns/notify-resident-on-outlaw
Jan 18, 2026
Merged

Add a cooldown to prevent towns spamming residents by outlawing and unoutlawing them#8074
LlmDl merged 4 commits intoTownyAdvanced:masterfrom
Veyronity:cooldowns/notify-resident-on-outlaw

Conversation

@Veyronity
Copy link
Copy Markdown
Contributor

Description:

Add a configurable cooldown for how often a player can be notified about being outlawed and unoutlawed in a town


New ConfigOptions:

resident_settings.warn_player_on_outlaw_message_cooldown_in_seconds
default value 30 seconds


  • [ x ] I have tested this pull request for defects on a server.

By making this pull request, I represent that I have the right to waive copyright and related rights to my contribution, and agree that all copyright and related rights in my contributions are waived, and I acknowledge that the TownyAdvanced organization has the copyright to use and modify my contribution under the Towny License for perpetuity.

@Veyronity
Copy link
Copy Markdown
Contributor Author

As of now the cooldown applies globally, in the sense that if even more than one town outlaws a player within the 30s window, only the first one will be sent. If it's an issue, I think I can fix it by registering the cooldown using a combination of playerUUID+townUUID instead of just player.

@LlmDl
Copy link
Copy Markdown
Member

LlmDl commented Jan 18, 2026

As of now the cooldown applies globally, in the sense that if even more than one town outlaws a player within the 30s window, only the first one will be sent. If it's an issue, I think I can fix it by registering the cooldown using a combination of playerUUID+townUUID instead of just player.

I had thought about this, but I had now considered adding the uuids together as a solution. I think it would be a good change. Otherwise you'll have someone use the spam to mask another town adding them as outlaw.

@LlmDl LlmDl merged commit 7bc727c into TownyAdvanced:master Jan 18, 2026
1 check passed
@LlmDl LlmDl added this to the 0.103.0.0 milestone Jan 18, 2026
LlmDl added a commit that referenced this pull request Jan 18, 2026
  - This version includes Major Changes to the database structure which
took place in 0.102.0.4!
    - Read about it here:
https://github.com/TownyAdvanced/Towny/releases/tag/0.102.0.4
    - The Changelog for 0.102.0.5 follows:
  - Enforce notnull for economy account name/uuid fields, courtesy of
Warrior with PR #7705.
  - Fix IndexOutOfBounds exception in /t join, courtesy of Veyronity
with PR #8062.
  - Fix SQL loading of forSale, forSalePrice, and forSaleTime, courtesy
of Groovymeister with PR #8063. (First-Time Contributor!)
  - Add info/meta node for overriding teleport warmup.
    - Closes #7950.
  - New Permission Node: towny_teleport_warmup_seconds.N
    - An info/option node (see
https://github.com/TownyAdvanced/Towny/wiki/Towny-Permission-Nodes#infooptionmeta-nodes)
that overrides a player's warmup time.
    - Replace N with the seconds to use for a warmup time.
    - When not set, the standard warmup time from the Towny config.yml
is used.
  - Bump junit.version from 5.13.4 to 6.0.2.
  - Bump net.luckperms:api from 5.4 to 5.5.
  - Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to
3.4.0.
  - Bump net.milkbowl.vault:VaultUnlockedAPI from 2.9 to 2.15.
  - Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to
3.12.0.
  - Fix itemuse list not being used against projectiles which are fired
into the air.
  - Allow empty towns to turn into ruins, courtesy of Warrior with
PR #8071.
  - New config option: town_ruining.empty_towns_become_ruins
    - Default: false
    - When enabled, when the last resident is removed from a town and it
becomes empty (such as when inactive resident deletion is enabled),
      the town will turn into a ruin instead of being immediately
removed.
  - Fix IllegalArgumentException when a plugin we integrate with has a
bad version, courtesy of Warrior with PR #8072.
  - Fix unneeded msg_invalid_name exception message from /n enemy,
courtesy of pernio with PR #8073. (First-Time Contributor!)
  - Add a cooldown to prevent towns spamming residents by outlawing and
unoutlawing them, courtesy of Veyronity with PR #8074.
  - New Config Option:
resident_settings.warn_player_on_outlaw_message_cooldown_in_seconds
    - Default: 30
    - How many seconds in between warning messages, to prevent spam.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants