Code Monkey home page Code Monkey logo

flagwar's Introduction


Important Notices

Transitioning from the Integrated FlagWar system.

FlagWar has its own methods for configuration and localization, independent of Towny. Please be advised that we currently only provide an English translation. There will likely be other teething issues, but we are here to help with them when required. See Getting Support if you have issues.

If you would like to help out with development, translations, or other efforts: please see the Developer Resources section.

Metrics / Telemetry

FlagWar, makes use of the bStats metrics library. For an idea of what is collected, you can view the telemetry reports here. While we would appreciate it if you were to keep bStats reporting enabled, you can opt out of sending telemetry by modifying the bStats config found at yourServer/plugins/bStats/.


Summary

FlagWar is one of the first official war systems in the Towny Advanced ecosystem, dating back around 2011. FlagWar works similar to a strategy game, where players can capture regions of other Nations and Towns quickly and with pinpoint precision.

I started getting re-involved with Towny’s development, and got some inspiration from users about how to do warring Nations. I also took a gander at some of the mechanics of a similar plugin that did PvP stuff right, Factions. I coded up some threaded tasks that created a huge beacon in the sky overtop the area under attack. The game mechanic was to attack and hold the area. Towny’s war event is the same thing, but there’s nothing physical. So I created a focus for the defenders. Attacking would have the attacker place a flag, which the defenders would need to break / take down. I eventually merged this into the Towny plugin. — @Zrenfrom his blog

It has since then been adapted over time to retain its core functionality, while it continues to provide server communities with a simple, yet fast and effective, way to capture territory.

About mid-2020, an effort to split it back off from Towny began. FlagWar was finally fully split off in 2021, marking its 10th anniversary.

Sections

  1. Licensing 📜
  2. Administrator Resources 👨‍💻
  3. Developer Resources 🧰
  4. Supporting the Project 🦸

Licensing

OSI Approved License

FlagWar is licensed under the Apache License, Version 2.0, a license approved by the Open Source Initiative and is GPL Compatible. Some portions, such as shaded libraries, may be alternatively licensed. See the NOTICE for any alternative licensing or copyright limitations.

Documentation found on the FlagWar Wiki is licensed under CC BY 4.0.

Additionally, please respect Towny's license when using FlagWar with Towny. Use of FlagWar does not constitute a way to bypass Towny's license restrictions. When in doubt, ask for clarification.

Administrator Resources

Supported Releases

FlagWar Release 📅 Released On Requirements
v0.5.3 October 20, 2022 Towny (0.97.3.0+), Bukkit API-based* server (1.17.1, 1.18.2, 1.19.2)
v0.5.2 October 27, 2021 Towny (0.97.3.0+), Bukkit API-based* server (1.16.5, 1.17.1)
v0.5.1 August 12, 2021 Towny (0.97.2.0 - 0.97.2.14), Bukkit API-based* server (1.16.5, 1.17.1)
Pre-History 2011 - 2021 Deprecated & Removed in Towny versions 0.97.0.0 and 0.97.1.0, respectively.

FlagWar has adopted the use of Paper as an API provider. Spigot should however still be viable. Please submit a ticket if you experience any issues.

Staying up to Date

Staying Up to Date: Github: click Watch, click Releases Only

All Release builds and most Development builds have been made available here on GitHub's Releases page.
We encourage server admins to "watch" FlagWar on GitHub in order to receive update notifications.
Just click the watch button in the upper right and select "Releases Only".

Sometimes, releases can be incubating for extended periods of time.
You can build from main if you want to test on the bleeding edge.

Getting Support

The documentation found on the FlagWar Wiki will be updated semi-regularly, usually after a tagged release. If you find the documentation insufficient, please open an issue so that we can address it.

On the Issue Tracker you can file bug reports, feature requests, or review / submit a QA discussion on the Towny discussion board.

Average Issue Resolution Time Percentage of Issues 'Open'

If you still need help, come and join us on the TownyAdvanced Discord server. There, you can also find support, get notified on the latest updates for Towny, chat with other admins, and have discussions over plugin development with developers from multiple projects.

Developer Resources

Contributing Code

If you would like to contribute to the FlagWar code, first please read the Contributing Guidelines.

You will also want to ensure that your working environment is in order. You can check out Environment Setup over on our wiki to help you get started.

Contributing Documentation

Documentation could also use a fair bit of work. Help in this department would be much appreciated.

We document both in plain-text (LICENSE, NOTICE) and in GitHub-Flavored Markdown (everywhere else).

If you are interested in writing for the FlagWar Wiki, feel free to ask on the Towny Discord (please use the #flagwar channel), or chime in on the Towny Discussion Board to be given write access.

Localizing FlagWar

The localization files for FlagWar are built directly into the jar using ResourceBundles.

To localize FlagWar to your language, copy the Translation_en_US.properties file from the resources directory as Translation_{LOCALE}.properties.

If a locale already exists, please refrain from creating a duplicate. Some locales may be stubs that were added for debugging purposes (en_GB, en_US[-_]POSIX, es_MX.) Feel free to modify them, but ensure they have the same key values as the master file (en_US).

The LOCALE, or the locale id compatible with the Java Locale class, is a 1-to-3 segment string representing the language, the region, and the variant (if desired); delimited primarily by underscores, with variants optionally being hyphenated.

Examples: en, en_US, en_US-POSIX.

See the Java Locale documentation for well-formed naming.

* FlagWar's Locale IDs should stick to the lang(_REGION([_\-]VARIANT)) format.
PRs to Locale processing are welcome. It's pretty messy in there...

After translation is complete, save your changes. You will need to Build FlagWar to ensure that all strings are accounted for, and that they render properly for end users.

Building FlagWar

Assuming you've got your environment properly set up, building FlagWar is relatively straight forward.

Steps:

  1. Clone FlagWar from GitHub.
    • See the GitHub Docs, if you are unfamiliar with cloning projects.
  2. Navigate into the cloned FlagWar directory in your terminal.
  3. Run mvn clean package to build FlagWar. This will generate files to the FlagWar/target/ directory.
    • We also supply several maven profiles for convenience. Append -P profileX,profileY,profileZ to use them, obviously replacing the ridiculous placeholder profiles listed here.
    • The checkstyle profile will ensure that code edits are in-line with the code style guidelines.
    • The javadocs profile will generate a FlagWar-version-javadoc.jar file, as well as the FlagWar/target/apidocs/ folder.

You can alternatively build FlagWar through your IDE, provided that it includes Maven, or that it can at least find it. Check your IDE's documentation regarding Maven support.

Supporting the Project

If you've found FlagWar to be of use and would like to support the project, then thank you!

You can support the project in multiple ways:

  • Contribute to the project 📝
    Be it through adding or expanding a localization, endorsing the project, hunting for bugs, writing code, or writing documentation, any help is appreciated.

  • Sponsor a Developer 💗
    Sponsoring a developer gives back to those who have spent time to keep the project going.
    See the sidebar for open sponsorships and learn about GitHub's Sponsors Program.

  • Use FlagWar ⛳
    Using FlagWar lets us know that people still love the war system.
    Keeping metrics on, while optional, also gives us a rough idea of the adoption of FlagWar in the TownyAdvanced ecosystem.

flagwar's People

Contributors

andrepl avatar andrewyunt avatar articdive avatar bannergames avatar creatorfromhell avatar darbyjack avatar daybreak365 avatar dependabot[bot] avatar drewhoener avatar elgarl avatar emperor-koala avatar enterih avatar gaffy00 avatar garnesen avatar ggvbo avatar griffinht avatar karlofduty avatar llmdl avatar martenm avatar mitsu13ion avatar qsefthuopq avatar seruhiox avatar shou692199 avatar silverwolfg11 avatar slind14 avatar suneettipirneni avatar syntaxcacao avatar theflagcourier avatar wolf2323 avatar zren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

flagwar's Issues

I want to enable explosions only during flag war, I have the setting on "true" but it does not work. I am using fireballs and tnt and nothing works

What steps will reproduce the problem?

1.Enable explosions for war
2.
3.

What is the expected output?

1.For explosions to be enabled
2.
3.

What is your Towny version?

Do not say "latest".

0.96.5.0

What is your spigot/craftbukkit version?

Do not say "latest".

paperspigot 1.16.4

Please use Pastebin.com to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly. If you do skip this step then your ticket will most likely be deleted and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log :https://pastebin.com/YgyimJ0f
  2. Your Towny config.yml (if using MySQL please remove password,) : https://pastebin.com/bp5qWMLe
  3. Your townyperms.yml : https://pastebin.com/zhvTwPxK
  4. Your log's error : no error found or that i know of

(optional) If this is to do with permissions,
5. Your permissions file :

(optional) If this is to do with chat,
6. Your chatconfig.yml :
7. Your channels.yml :

Suggestion: "invisible flag" system

so in config by changing flag block by air feature will be activated:
so when in chunk plugin will count both town players in it and then it'll detect last man standing on chunk and if in time that's in config then land stays in their hands if not land becomes enemy's but not officially. that will be determined after war!

Segmented FlagWar does not report any sort of attack state to Towny

What steps will reproduce the problem?

  1. Declare an attack
  2. Towny will not be notified of the change in attack state for a town/cell.

What is the expected output?

  1. Attack is declared
  2. Towny is notified of the changed attack state.
  3. Certain Towny Operations are prevented while the attack is ongoing.

Affected Towny Versions

Affects all versions of Towny, at least up to 0.96.7.8.

Affected FlagWar Versions

Affects all current versions of FlagWar. (0.1.x)

What is your Spigot/Paper/Fork server version?

Irrelevant, this is a known deficiency in the code-base.

Planned Solution

Two options are presented:

  • Handle all overrides within FlagWar
  • Hook into Towny and update the isUnderAttack state (may require PR to TownyAdvanced/Towny

Suggestion: Make FlagWar option to check for how many people are online on the attacking side

Just an option that's identical to the one that restricts attacks to how many defenders you have.

For example:

player_limits:
min_online_in_town: 0
min_online_in_nation: 8
min_online_in_town_to_attack: 0
min_online_in_nation_to_attack: 12

This kind of set up would prevent nations from attacking anyone while there is less than 12 of them online on the attacker's side, while simultaneously preventing them attacking anyone while there is less than 8 people online on the defender's side.

I find it annoying that there exists a possibility that a town can be attacked but this town cannot retake its claims because it's being attacked by 2 people online. Yes, they are outnumbered and all that - but sometimes the defenders have trouble locating the flag or maybe are just too far away for convenience from their claims.

I have to enforce wars with rules against attacking someone while not having enough people on your own side, which is unnecessary moderation I'd like to avoid.

Suggestion: An option to unclaim captured chunks instead of just transferring ownership

True: Attackers capture plots when they win. Disable if you prefer not dealing with that.

flag_takes_ownership_of_town_blocks: true

The only current options are
a) the town block doesn't switch sides and there is only an economic exchange
b) the town block becomes the attacking town's property

I would like there to be a third option where the captured town block is simply unclaimed and turned to wilderness.

Suggestion: Hologram with Flag Information

Please explain your feature request to the best of your abilities:
Add a Hologram on top of war flags to display information, such as the attacker info, the time left in the attack, etc.

Suggestion made by Dr_Chocolate & IHasCow from Civilization Wars

FlagWar-0.1.0.jar does not start

What steps will reproduce the problem?

  1. Download and put into plugin Towny-0.96.7.3
  2. Download and put into plugin FlagWar-0.1.0
  3. Start the server on PaperSpigot 1.16.5 - paper-1.16.5-509.jar
[16:02:55 ERROR]: Could not load 'plugins\FlagWar-0.1.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:141) ~[patched_1.16.5.jar:git-Paper-509]
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.5.jar:git-Paper-509]
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.5.jar:git-Paper-509]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:389) ~[patched_1.16.5.jar:git-Paper-509]
	at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:206) ~[patched_1.16.5.jar:git-Paper-509]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:941) ~[patched_1.16.5.jar:git-Paper-509]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175) ~[patched_1.16.5.jar:git-Paper-509]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.ExceptionInInitializerError
	at io.github.townyadvanced.flagwar.FlagWar.<init>(FlagWar.java:77) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:91) ~[patched_1.16.5.jar:git-Paper-509]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Paper-509]
	... 7 more
Caused by: java.lang.NullPointerException
	at com.palmergames.bukkit.towny.object.Translation.of(Translation.java:70) ~[?:?]
	at io.github.townyadvanced.flagwar.listeners.FlagWarCustomListener.<clinit>(FlagWarCustomListener.java:59) ~[?:?]
	at io.github.townyadvanced.flagwar.FlagWar.<init>(FlagWar.java:77) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:91) ~[patched_1.16.5.jar:git-Paper-509]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Paper-509]
	... 7 more

The same thing happens on the YaTopia core and with Tovny 0.96.7.4.

Beacons do not draw

What steps will reproduce the problem?

  1. Configure (if not defaulted) beacon.draw to true in config
  2. Start a warflag event
  3. Beacon should be drawn

What is the expected output?

  1. Beacons drawn when beacon.draw is true in config

What is your Towny version number?

Do not say "latest".
TownyAdvanced/Towny@ecd4660

What is your FlagWar version number?

Do not say "latest".
9443ba8

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.

## THIS IS AN EXAMPLE! REPLACE ME!
> version
git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file :
	[03:33:54] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', 	servicesHost='https://api.minecraftservices.com', name='PROD'
	[03:33:54] [main/INFO]: Reloading ResourceManager: Default, bukkit
	[03:33:55] [Worker-Main-2/INFO]: Loaded 7 recipes
	[03:33:58] [Server thread/INFO]: Starting minecraft server version 1.16.5
	[03:33:58] [Server thread/INFO]: Loading properties
	[03:33:58] [Server thread/INFO]: This server is running Airplane version git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
	[03:33:58] [Server thread/INFO]: Server Ping Player Sample Count: 12
	[03:33:58] [Server thread/INFO]: Using 4 threads for Netty based IO
	[03:33:58] [Server thread/INFO]: Debug logging is disabled
	[03:33:58] [Server thread/WARN]: [Airplane] To improve performance, timings have been disabled by default
	[03:33:58] [Server thread/WARN]: [Airplane] You can still use timings by using /timings on, but they will not start on server startup unless you set timings.really-enabled to true in paper.yml
	[03:33:58] [Server thread/WARN]: [Airplane] If you would like to disable this message, either set timings.really-enabled to true or timings.enabled to false.
	[03:33:58] [Server thread/INFO]: Default game type: SURVIVAL
	[03:33:58] [Server thread/INFO]: Generating keypair
	[03:33:58] [Server thread/INFO]: Starting Minecraft server on *:25565
	[03:33:58] [Server thread/INFO]: Using epoll channel type
	[03:33:59] [Server thread/INFO]: Tuinity: Using libdeflate (Linux x86_64) compression from Velocity.
	[03:33:59] [Server thread/INFO]: Tuinity: Using OpenSSL 1.1.x (Linux x86_64) cipher from Velocity.
	[03:34:00] [Server thread/INFO]: [LuckPerms] Loading LuckPerms v5.3.37
	[03:34:00] [Server thread/INFO]: [spark] Loading spark v1.5.2
	[03:34:00] [Server thread/INFO]: [OldCombatMechanics] Loading OldCombatMechanics v1.9.0
	[03:34:00] [Server thread/INFO]: [Chunky] Loading Chunky v1.2.65
	[03:34:00] [Server thread/INFO]: [Vault] Loading Vault v1.7.3-b131
	[03:34:00] [Server thread/INFO]: [Towny] Loading Towny v0.97.0.1
	[03:34:00] [Server thread/INFO]: [Jobs] Loading Jobs v4.17.1
	[03:34:00] [Server thread/INFO]: [TownyChat] Loading TownyChat v0.88
	[03:34:00] [Server thread/INFO]: [ChunkyBorder] Loading ChunkyBorder v1.0.33
	[03:34:00] [Server thread/INFO]: [FlagWar] Loading FlagWar v0.1.2
	[03:34:00] [Server thread/INFO]: [Plan] Loading Plan v5.3 build 1284
	[03:34:00] [Server thread/INFO]: [Plan] Resolving runtime dependencies..
	[03:34:00] [Server thread/INFO]: [Plan] Loading runtime dependencies..
	[03:34:05] [Server thread/INFO]: [TheNewEconomy] Loading TheNewEconomy v0.1.1.12
	[03:34:06] [Server thread/INFO]: [TheNewEconomy] Loading The New Economy with Java Version: 11.0.11
	[03:34:06] [Server thread/INFO]: [TheNewEconomy] Hooked into Vault
	[03:34:06] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
	[03:34:06] [Server thread/INFO]: [LuckPerms] Enabling LuckPerms v5.3.37
	[03:34:06] [Server thread/INFO]:         __    
	[03:34:06] [Server thread/INFO]:   |    |__)   LuckPerms v5.3.37
	[03:34:06] [Server thread/INFO]:   |___ |      Running on Bukkit - Airplane
	[03:34:06] [Server thread/INFO]:
	[03:34:06] [Server thread/INFO]: [LuckPerms] Loading configuration...
	[03:34:06] [Server thread/INFO]: [LuckPerms] Loading storage provider... [H2]
	[03:34:07] [Server thread/INFO]: [LuckPerms] Loading internal permission managers...
	[03:34:07] [Server thread/INFO]: [LuckPerms] Performing initial data load...
	[03:34:07] [Server thread/INFO]: [LuckPerms] Successfully enabled. (took 1703ms)
	[03:34:07] [Server thread/INFO]: [Vault] Enabling Vault v1.7.3-b131
	[03:34:07] [Server thread/INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
	[03:34:07] [Server thread/INFO]: [Vault] Enabled Version 1.7.3-b131
	[03:34:07] [Server thread/INFO]: [LuckPerms] Registered Vault permission & chat hook.
	[03:34:07] [Server thread/INFO]: Preparing level "world"
	[03:34:08] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
	[03:34:09] [Server thread/INFO]: Loaded 0 spawn chunks for world world
	[03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:09] [Server thread/INFO]: Preparing spawn area: 17%
	[03:34:10] [Server thread/INFO]: Time elapsed: 1792 ms
	[03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_nether
	[03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_nether
	[03:34:10] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:10] [Server thread/INFO]: Time elapsed: 335 ms
	[03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_end
	[03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_the_end
	[03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
	[03:34:11] [Server thread/INFO]: Preparing spawn area: 95%
	[03:34:11] [Server thread/INFO]: Time elapsed: 1113 ms
	[03:34:11] [Server thread/INFO]: [spark] Enabling spark v1.5.2
	[03:34:11] [Server thread/INFO]: [spark] Using Paper ServerTickStartEvent for tick monitoring
	[03:34:11] [Server thread/INFO]: [OldCombatMechanics] Enabling OldCombatMechanics v1.9.0
	[03:34:12] [Server thread/INFO]: [OldCombatMechanics] OldCombatMechanics v1.9.0 has been enabled
	[03:34:12] [Server thread/INFO]: [Chunky] Enabling Chunky v1.2.65
	[03:34:12] [Server thread/INFO]: [Towny] Enabling Towny v0.97.0.1
	[03:34:12] [Server thread/INFO]: ====================      Towny      ========================
	[03:34:12] [Server thread/INFO]: [Towny] Lang: english.yml v0.105 loaded.
	[03:34:12] [Server thread/INFO]: [Towny] Database: [Load] flatfile [Save] flatfile
	[03:34:12] [Server thread/INFO]: [Towny] Database: Loaded in 83ms.
	[03:34:12] [Server thread/INFO]: [Towny] Database: 100% of residents have stored UUIDs.
	[03:34:12] [Server thread/INFO]: [Towny] Searching for third-party plugins...
	[03:34:12] [Server thread/INFO]: [Towny] Plugins found:
	[03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Cleaning up old backups...
	[03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Successfully cleaned backups.
	[03:34:12] [Server thread/INFO]:   Permissions: TownyPerms, LuckPerms 5.3.37 via Vault
	[03:34:12] [Server thread/INFO]:   Economy: TheNewEconomy via Vault
	[03:34:12] [Server thread/INFO]:   Add-ons: TownyChat v0.88
	[03:34:12] [Server thread/INFO]: [Towny] Time until a New Day: 8 hours, 25 minutes, 48 seconds
	[03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Making backup...
	[03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Towny flatfiles and settings successfully backed up.
	[03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellDefendedEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
	[03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackCanceledEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
	[03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellWonEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
	[03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by 	LlmDl.].
	[03:34:12] [Server thread/INFO]: =============================================================
	[03:34:12] [Server thread/INFO]: [Towny] Version: 0.97.0.1 - Plugin Enabled
	[03:34:12] [Server thread/INFO]: =============================================================
	[03:34:12] [Server thread/INFO]: [Jobs] Enabling Jobs v4.17.1
	[03:34:14] [Server thread/WARN]: Initializing Legacy Material Support. Unless you have legacy plugins 	and/or data this is a bug!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 8 titles!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 67 protected blocks timers!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1098 custom item names!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 72 custom entity names!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 2 custom MythicMobs names!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 38 custom enchant names!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 16 custom color names!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 4 shop items!
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Enchanter
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Crafter
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Miner
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Brewer
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Woodcutter
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Hunter
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Fisherman
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Weaponsmith
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Farmer
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Explorer
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Builder
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Digger
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded 12 jobs!
	[03:34:21] [Jobs-DatabaseSaveTask/INFO]: [Jobs] Started database save task.
	[03:34:21] [Jobs-BufferedPaymentThread/INFO]: [Jobs] Started buffered payment thread.
	[03:34:21] [ForkJoinPool.commonPool-worker-3/INFO]: [Jobs] Preloaded 3 players data in 0.02
	[03:34:21] [Server thread/INFO]: [Jobs] Loading explorer data
	[03:34:21] [Server thread/INFO]: [Jobs] Loaded explorer data (37)
	[03:34:21] [Server thread/INFO]: [Jobs] Plugin has been enabled successfully.
	[03:34:21] [Server thread/INFO]: [TownyChat] Enabling TownyChat v0.88
	[03:34:21] [Server thread/INFO]: [TownyChat] Default Channel set to general
	[03:34:21] [Server thread/INFO]: [TownyChat] Towny version 0.97.0.1 found.
	[03:34:21] [Server thread/INFO]: [ChunkyBorder] Enabling ChunkyBorder v1.0.33
	[03:34:21] [Server thread/INFO]: [FlagWar] Enabling FlagWar v0.1.2
	[03:34:21] [Server thread/INFO]: [FlagWar] Using locale: English (United States) - 1.1
	[03:34:21] [Server thread/INFO]: [FlagWar]
	 
	            ▄████  █    ██     ▄▀        ▄ ▄   ██   █▄▄▄▄
	            █▀   ▀ █    █ █  ▄▀         █   █  █ █  █  ▄▀
	            █▀▀    █    █▄▄█ █ ▀▄      █ ▄   █ █▄▄█ █▀▀▌
	            █      ███▄ █  █ █   █     █  █  █ █  █ █  █
	             █         ▀   █  ███       █ █ █     █   █
	              ▀           █              ▀ ▀     █   ▀
	                         ▀                      ▀
	[03:34:21] [Server thread/INFO]: [FlagWar] Copyright © 2021 TownyAdvanced
	[03:34:21] [Server thread/INFO]: [FlagWar] Checking against Towny...
	[03:34:21] [Server thread/INFO]: [FlagWar] No known problems with Towny compatibility. Good to go!
	[03:34:21] [Server thread/INFO]: [FlagWar] Registering Listeners...
	[03:34:21] [Server thread/INFO]: [FlagWar] Listeners Registered.
	[03:34:21] [Server thread/INFO]: [FlagWar] Loading Material Lists...
	[03:34:21] [Server thread/INFO]: [FlagWar] Registering Events...
	[03:34:21] [Server thread/INFO]: [FlagWar] Events Registered.
	[03:34:21] [Server thread/INFO]: [Plan] Enabling Plan v5.3 build 1284
	[03:34:22] [Server thread/INFO]: [Plan]
	[03:34:22] [Server thread/INFO]: [Plan]            ██▌
	[03:34:22] [Server thread/INFO]: [Plan]      ██▌   ██▌
	[03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  Player Analytics
	[03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  v5.3 build 1284
	[03:34:22] [Server thread/INFO]: [Plan]
	[03:34:22] [Server thread/INFO]: [Plan] Locale: 'English' by AuroraLS3
	[03:34:22] [Server thread/INFO]: [Plan] SQLite-database connection established.
	[03:34:22] [Server thread/INFO]: [Plan] WebServer: Certificate KeyStore File not Found: plugins/Plan/Cert.jks
	[03:34:22] [Server thread/INFO]: [Plan] WebServer: No Certificate -> Using HTTP-server for Visualization.
	[03:34:22] [Server thread/INFO]: [Plan] WebServer: User Authorization Disabled! (Not secure over HTTP)
	[03:34:22] [Server thread/INFO]: [Plan] Webserver running on PORT 8804 (http://war.flagpole.io:8804)
	[03:34:22] [Server thread/INFO]: [Plan] Loading server identifying information
	[03:34:22] [Server thread/INFO]: [Plan] Registered extension: Jobs
	[03:34:22] [Server thread/INFO]: [Plan] Registered extension: LuckPerms
	[03:34:22] [Server thread/INFO]: [Plan] Registered extension: Towny
	[03:34:22] [Server thread/INFO]: [Plan] Registered extension: Economy (Vault)
	[03:34:22] [Server thread/INFO]: [Plan] Registered extension: Permission Groups (Vault)
	[03:34:22] [Server thread/INFO]: [Plan] Player Analytics Enabled.
	[03:34:22] [Server thread/INFO]: [TheNewEconomy] Enabling TheNewEconomy v0.1.1.12
	[03:34:23] [Server thread/INFO]: Loading Configurations.
	[03:34:23] [Server thread/INFO]: Initializing Configurations.
	[03:34:23] [Server thread/INFO]: Initialized config.yml
	[03:34:23] [Server thread/INFO]: Initialized commands.yml
	[03:34:23] [Server thread/INFO]: Initialized messages.yml
	[03:34:23] [Server thread/INFO]: Initialized players.yml
	[03:34:23] [Server thread/INFO]: Initialized worlds.yml
	[03:34:23] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Starting...
	[03:34:24] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Start completed.
	[03:34:24] [Server thread/INFO]: Updating tables, please hold.
	[03:34:24] [Server thread/INFO]: Finished updating tables.
	[03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
	[03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
	[03:34:25] [Server thread/INFO]: [TheNewEconomy] The New Economy has been enabled!
	[03:34:25] [Server thread/INFO]: Running delayed init tasks
	[03:34:25] [Server thread/INFO]: [Jobs] Successfully linked with Vault.
	[03:34:25] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] Checking for Updates ...
	[03:34:25] [Server thread/INFO]: [TownyChat] -******* TownyChat enabled *******-
	[03:34:25] [Server thread/INFO]: Done (27.619s)! For help, type "help"
	[03:34:25] [Server thread/INFO]: Timings Reset
	[03:34:26] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] No new version available
	[03:34:26] [Craft Scheduler Thread - 4 - Plan/INFO]: [Plan] You're using the latest version.
	[03:34:34] [Craft Scheduler Thread - 3 - TheNewEconomy/INFO]: Initialized items.yml
	[03:34:37] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Initializing a new profiler, please wait...
	[03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Profiler now active! (async)
	[03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Use '/spark profiler --stop' to stop profiling and upload the results.
	```
	</details>
2. Your FlagWar config : Default (beacon.draw=true)
3. Your log's error : No logged error - Need debug messages

---

#### Notes:

Beacons aren't all that important, but they do provide decent indicators for players needing to find flagged cells by sight. They are not strictly required for a stable release, but would still be an obvious regression when coming from Towny's native implementation.

Interactions after war are prevented endlessly

What steps will reproduce the problem?

  1. Start flag war attack once
  2. Try to /t deposit even after 10+ minutes
  3. Says: You cannot do that! You were recently attacked and are under high alert!

What is the expected output?

  1. /t deposit should work 10 min after the the flag war is over

What is your Towny version number?

0.97.5.11

What is your FlagWar version number?

0.5.2

What is your Spigot/Paper/Fork server version?

git-Paper-408 (MC: 1.17.1)

Config option:

prevented_interaction_cooldown: "10m"

FlagWar seems to work otherwise, but this issue seems to persist until restart of server.
Player reconnecting to server does not help either, prevention persists.
I hope its 10m and not 10min for the config?

Suggestion: Check how many defender town blocks surround the besieged town block.

Add a config option to check for how many defender town's town blocks currently are directly touching the besieged town block. Whether you want to count diagonally too I don't care, just touching sides would be enough for me.
If the number of neighbouring town blocks owned by the defender is higher than the config option, then it would disable placing the war flag on that town block.

The option would look like this:

nearby_defender_claims_to_prevent_claiming: 0

If set to perhaps 2, under the assumption we don't count diagonal claims, like this:

nearby_defender_claims_to_prevent_claiming: 2

It should prevent an attacker attacking this claim if there are 2 or more defender claims touching this claim's sides.

What's the purpose of this?

To allow admins to prevent someone claiming a straight line to a town's loot chest and/or homeblock.

Suggestion: Add MapTowny support for FlagWar

Please explain your feature request to the best of your abilities:
FlagWar currently has no map functions, but it would be cool to have a marker on FlagWar locations in map using MapTowny or Dynmap markers.
SiegeWar has similar map icons and I think it would modernize FlagWar quite a bit by having some icons on the map.

So markers for FlagWar locations, please :)

OutlawTeleportEvent error

What steps will reproduce the problem?

  1. Be an outlaw and teleport to a town

What is the expected output?

  1. Allows it to happen during war

What is your Towny version number?

Do not say "latest".
0.97.0.19

What is your FlagWar version number?

Do not say "latest".
0.4.0

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.

This server is running Purpur version git-Purpur-1396 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 92a00b8 on ver/1.17.1)
You are 1 version(s) behind
Previous version: git-Purpur-1391 (MC: 1.17.1)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

None of these are relevant.

https://pastebin.com/ZsTUuidv

Failure: Java Time API Implementation (PR 89)

A User-facing Error during economy interactions has been caught following implementation the Java Time APIs to track time and establish durations of cooldowns. main has been reverted to the commit prior to merge via forced push. A separate branch has been established for further development and debugging, and a new PR will be opened in the future once things check out.

image

What steps will reproduce the problem?

  1. Load up any build after merger of #89 prior to main roll-back, or build from the Java_Time_API branch
  2. (Optional) Create a new town
  3. Attempt to deposit / withdraw to / from the Town bank

What is the expected output?

  1. Money should be taken from the Player's account.
  2. Money should be applied to the Town's account.

What is your Towny version number?

0.97.3.0

What is your FlagWar version number?

commit a07d547

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.
git-Paper-388 (MC: 1.17.1)

Documentation Needed

The wiki is empty and FlagWar is in need of independent documentation! The following minimum requirements should be met before any v1.x.x release is tagged.

  • Basic Player Docs (How FlagWar works, Attacking, Defending, etc.)

    • How FlagWar Works
    • Attacking and Defending
  • Basic Administration Docs (Configuration, Troubleshooting)

    • Configuration 101
    • Basic Troubleshooting
    • Using a custom locale
  • Basic Developer Docs

    • Environment Setup
    • Code Style Guidelines
    • Contributing Locales
  • Overhaul the TownyAdvanced FlagWar page (https://townyadvanced.github.io/flagwar.html)

If you are interested in assisting in writing documentation, please comment below or reach out on the Towny Discord. Reminder, all documentation is to be licensed under the CC BY 4.0 license.

The plot does not change after the time has passed

What steps will reproduce the problem?

1.use 1.20.1 folia-kaiijiu
2.use towny 0.100.1.0
3.use Flagwar 0.6.2

What is the expected output?

1.the timer block dosesnt change its block
2.the plot dosen't change when the time has ended(the attacker win the fight)
3.the plot change on the first time i use.but it error in a flght at night.

What is your Towny version number?

0.100.1.0

What is your FlagWar version number?

use Flagwar 0.6.2

What is your Spigot/Paper/Fork server version?

1.20.1 folia-kaiijiu

## THIS IS AN EXAMPLE! REPLACE ME!
> version
the log is too big(6.8g)so i cant open the report

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file :
    2024-01-16-5.zip

  2. Your FlagWar config :
    config.zip

  3. Your log's error :
    the log doesnt has change when it happen
    (optional) If this is to do with permissions,

  4. Your Towny permissions file :
    townyperms.zip

  5. Your Perm Plugin's data :

Suggestion: Add an option to only allow flagging of outposts chunks/chunks not connected to a town's homeblock

I would like to suggest adding an option that allows the warring of outpost chunks. Many people tend to outpost outside someones town and its annoying to deal with, so my suggestion is to actually add two things.

  • The flagging of an entire town, meaning a person has to get on in order to protect their town or else it's consumed by someone else.
  • The option to only allow flag war on outpost chunks / chunks not connected to the town's homeblock, as this will allow people to get rid of annoying outposts outside their town.

Suggestion: Limit the number of attacks for town in 1 real day. Add cooldown for attacks. Add protection from attack

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

  1. flag_attacks_per_day: x - option which give every town number of tries to attack. For ex: 3 attack in 24 h. No matter, failed or success.
  2. flag_attacks_сouldown: x - option which give cd for attacking town (Town which start attack have cd) For ex: town A attack town B, than after battle town A cant attack any town 1h.
  3. flag_attacks_сouldown_defender: x - give protection if town lose battle on X time. For ex: town A attack town B, than town B lost battle and have protection from attack on 1h.

I don’t know how difficult it is to implement, but at least to implement or attempts per day / cd for an attack. At least one of these, because if town is constantly losing, it will be erased from the map after 1 hour.

Interactions are not prevented at all when under attack

Interactions are no longer prevented under the prevent_interaction_while_flagged: config setting.
It seems to have broken at some point, as towns/nations are now able to withdraw money even during a flagwar attack.
I assume other commands that are meant to be prevented are not prevented either then.

What steps will reproduce the problem?

  1. Start a flagwar
  2. Defender executes /t withdraw 100
  3. Money is successfully withdrawn from town

What is the expected output?

  1. Start a flagwar
  2. Defender executes /t withdraw 100
  3. Prevent the action under an active flagwar; You cannot do that! You were recently attacked and are under high alert!

What is your Towny version number?

0.99.0.4

What is your FlagWar version number?

0.5.3

What is your Spigot/Paper/Fork server version?

Paper-81 (MC: 1.19)

Please use a pastebin service to link the following files:

https://pastebin.com/YRmkfha4

Suggestion: PvP need to be force enabled on the attacking chunk

Please explain your feature request to the best of your abilities:
Well, in my server people start a battle for the flag, everything works good BUT the most important, players cannot use PvP in the attacking chunk because the town/nation mayor set the PvP permission Off, so the attackers cannot stop the defenders.

So my suggestion is: force the PvP on the attacked chunk,
If the defenders wins= Just go back to the perms that the mayor set up previously.
If the attackers wins= The normal warflag stuff, the winner keep the chunk.

Here I show a video with the example: https://youtu.be/aFfLULPQXeo

Strings with bukkit-style format codes are passed as-is, without applying the formatting

What steps will reproduce the problem?

  1. Start Server with Towny and FlagWar Enabled, with or without TownyChat
  2. Receive any messages from FlagWar containing color codes
  3. Message contains literal escaped color codes, rather than formatting.

Screenshot_20210515_223735

What is the expected output?

All color-codes should be process, rather than relayed as-is.

What is your Towny version number?

Towny 0.97.0.1 (TownyAdvanced/Towny@ecd4660)

What is your FlagWar version number?

Do not say "latest".
main branch (9443ba8)

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.

> version
git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file :

    startup-log Clipped with fpaste - CentOS pastebin only lasts 24hrs
    [03:33:54] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', 	servicesHost='https://api.minecraftservices.com', name='PROD'
    [03:33:54] [main/INFO]: Reloading ResourceManager: Default, bukkit
    [03:33:55] [Worker-Main-2/INFO]: Loaded 7 recipes
    [03:33:58] [Server thread/INFO]: Starting minecraft server version 1.16.5
    [03:33:58] [Server thread/INFO]: Loading properties
    [03:33:58] [Server thread/INFO]: This server is running Airplane version git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
    [03:33:58] [Server thread/INFO]: Server Ping Player Sample Count: 12
    [03:33:58] [Server thread/INFO]: Using 4 threads for Netty based IO
    [03:33:58] [Server thread/INFO]: Debug logging is disabled
    [03:33:58] [Server thread/WARN]: [Airplane] To improve performance, timings have been disabled by default
    [03:33:58] [Server thread/WARN]: [Airplane] You can still use timings by using /timings on, but they will not start on server startup unless you set timings.really-enabled to true in paper.yml
    [03:33:58] [Server thread/WARN]: [Airplane] If you would like to disable this message, either set timings.really-enabled to true or timings.enabled to false.
    [03:33:58] [Server thread/INFO]: Default game type: SURVIVAL
    [03:33:58] [Server thread/INFO]: Generating keypair
    [03:33:58] [Server thread/INFO]: Starting Minecraft server on *:25565
    [03:33:58] [Server thread/INFO]: Using epoll channel type
    [03:33:59] [Server thread/INFO]: Tuinity: Using libdeflate (Linux x86_64) compression from Velocity.
    [03:33:59] [Server thread/INFO]: Tuinity: Using OpenSSL 1.1.x (Linux x86_64) cipher from Velocity.
    [03:34:00] [Server thread/INFO]: [LuckPerms] Loading LuckPerms v5.3.37
    [03:34:00] [Server thread/INFO]: [spark] Loading spark v1.5.2
    [03:34:00] [Server thread/INFO]: [OldCombatMechanics] Loading OldCombatMechanics v1.9.0
    [03:34:00] [Server thread/INFO]: [Chunky] Loading Chunky v1.2.65
    [03:34:00] [Server thread/INFO]: [Vault] Loading Vault v1.7.3-b131
    [03:34:00] [Server thread/INFO]: [Towny] Loading Towny v0.97.0.1
    [03:34:00] [Server thread/INFO]: [Jobs] Loading Jobs v4.17.1
    [03:34:00] [Server thread/INFO]: [TownyChat] Loading TownyChat v0.88
    [03:34:00] [Server thread/INFO]: [ChunkyBorder] Loading ChunkyBorder v1.0.33
    [03:34:00] [Server thread/INFO]: [FlagWar] Loading FlagWar v0.1.2
    [03:34:00] [Server thread/INFO]: [Plan] Loading Plan v5.3 build 1284
    [03:34:00] [Server thread/INFO]: [Plan] Resolving runtime dependencies..
    [03:34:00] [Server thread/INFO]: [Plan] Loading runtime dependencies..
    [03:34:05] [Server thread/INFO]: [TheNewEconomy] Loading TheNewEconomy v0.1.1.12
    [03:34:06] [Server thread/INFO]: [TheNewEconomy] Loading The New Economy with Java Version: 11.0.11
    [03:34:06] [Server thread/INFO]: [TheNewEconomy] Hooked into Vault
    [03:34:06] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    [03:34:06] [Server thread/INFO]: [LuckPerms] Enabling LuckPerms v5.3.37
    [03:34:06] [Server thread/INFO]:         __    
    [03:34:06] [Server thread/INFO]:   |    |__)   LuckPerms v5.3.37
    [03:34:06] [Server thread/INFO]:   |___ |      Running on Bukkit - Airplane
    [03:34:06] [Server thread/INFO]:
    [03:34:06] [Server thread/INFO]: [LuckPerms] Loading configuration...
    [03:34:06] [Server thread/INFO]: [LuckPerms] Loading storage provider... [H2]
    [03:34:07] [Server thread/INFO]: [LuckPerms] Loading internal permission managers...
    [03:34:07] [Server thread/INFO]: [LuckPerms] Performing initial data load...
    [03:34:07] [Server thread/INFO]: [LuckPerms] Successfully enabled. (took 1703ms)
    [03:34:07] [Server thread/INFO]: [Vault] Enabling Vault v1.7.3-b131
    [03:34:07] [Server thread/INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
    [03:34:07] [Server thread/INFO]: [Vault] Enabled Version 1.7.3-b131
    [03:34:07] [Server thread/INFO]: [LuckPerms] Registered Vault permission & chat hook.
    [03:34:07] [Server thread/INFO]: Preparing level "world"
    [03:34:08] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
    [03:34:09] [Server thread/INFO]: Loaded 0 spawn chunks for world world
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 17%
    [03:34:10] [Server thread/INFO]: Time elapsed: 1792 ms
    [03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_nether
    [03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_nether
    [03:34:10] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:10] [Server thread/INFO]: Time elapsed: 335 ms
    [03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_end
    [03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_the_end
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 95%
    [03:34:11] [Server thread/INFO]: Time elapsed: 1113 ms
    [03:34:11] [Server thread/INFO]: [spark] Enabling spark v1.5.2
    [03:34:11] [Server thread/INFO]: [spark] Using Paper ServerTickStartEvent for tick monitoring
    [03:34:11] [Server thread/INFO]: [OldCombatMechanics] Enabling OldCombatMechanics v1.9.0
    [03:34:12] [Server thread/INFO]: [OldCombatMechanics] OldCombatMechanics v1.9.0 has been enabled
    [03:34:12] [Server thread/INFO]: [Chunky] Enabling Chunky v1.2.65
    [03:34:12] [Server thread/INFO]: [Towny] Enabling Towny v0.97.0.1
    [03:34:12] [Server thread/INFO]: ====================      Towny      ========================
    [03:34:12] [Server thread/INFO]: [Towny] Lang: english.yml v0.105 loaded.
    [03:34:12] [Server thread/INFO]: [Towny] Database: [Load] flatfile [Save] flatfile
    [03:34:12] [Server thread/INFO]: [Towny] Database: Loaded in 83ms.
    [03:34:12] [Server thread/INFO]: [Towny] Database: 100% of residents have stored UUIDs.
    [03:34:12] [Server thread/INFO]: [Towny] Searching for third-party plugins...
    [03:34:12] [Server thread/INFO]: [Towny] Plugins found:
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Cleaning up old backups...
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Successfully cleaned backups.
    [03:34:12] [Server thread/INFO]:   Permissions: TownyPerms, LuckPerms 5.3.37 via Vault
    [03:34:12] [Server thread/INFO]:   Economy: TheNewEconomy via Vault
    [03:34:12] [Server thread/INFO]:   Add-ons: TownyChat v0.88
    [03:34:12] [Server thread/INFO]: [Towny] Time until a New Day: 8 hours, 25 minutes, 48 seconds
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Making backup...
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Towny flatfiles and settings successfully backed up.
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellDefendedEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackCanceledEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellWonEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by 	LlmDl.].
    [03:34:12] [Server thread/INFO]: =============================================================
    [03:34:12] [Server thread/INFO]: [Towny] Version: 0.97.0.1 - Plugin Enabled
    [03:34:12] [Server thread/INFO]: =============================================================
    [03:34:12] [Server thread/INFO]: [Jobs] Enabling Jobs v4.17.1
    [03:34:14] [Server thread/WARN]: Initializing Legacy Material Support. Unless you have legacy plugins 	and/or data this is a bug!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 8 titles!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 67 protected blocks timers!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1098 custom item names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 72 custom entity names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 2 custom MythicMobs names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 38 custom enchant names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 16 custom color names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 4 shop items!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Enchanter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Crafter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Miner
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Brewer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Woodcutter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Hunter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Fisherman
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Weaponsmith
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Farmer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Explorer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Builder
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Digger
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 12 jobs!
    [03:34:21] [Jobs-DatabaseSaveTask/INFO]: [Jobs] Started database save task.
    [03:34:21] [Jobs-BufferedPaymentThread/INFO]: [Jobs] Started buffered payment thread.
    [03:34:21] [ForkJoinPool.commonPool-worker-3/INFO]: [Jobs] Preloaded 3 players data in 0.02
    [03:34:21] [Server thread/INFO]: [Jobs] Loading explorer data
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded explorer data (37)
    [03:34:21] [Server thread/INFO]: [Jobs] Plugin has been enabled successfully.
    [03:34:21] [Server thread/INFO]: [TownyChat] Enabling TownyChat v0.88
    [03:34:21] [Server thread/INFO]: [TownyChat] Default Channel set to general
    [03:34:21] [Server thread/INFO]: [TownyChat] Towny version 0.97.0.1 found.
    [03:34:21] [Server thread/INFO]: [ChunkyBorder] Enabling ChunkyBorder v1.0.33
    [03:34:21] [Server thread/INFO]: [FlagWar] Enabling FlagWar v0.1.2
    [03:34:21] [Server thread/INFO]: [FlagWar] Using locale: English (United States) - 1.1
    [03:34:21] [Server thread/INFO]: [FlagWar]
     
                ▄████  █    ██     ▄▀        ▄ ▄   ██   █▄▄▄▄
                █▀   ▀ █    █ █  ▄▀         █   █  █ █  █  ▄▀
                █▀▀    █    █▄▄█ █ ▀▄      █ ▄   █ █▄▄█ █▀▀▌
                █      ███▄ █  █ █   █     █  █  █ █  █ █  █
                 █         ▀   █  ███       █ █ █     █   █
                  ▀           █              ▀ ▀     █   ▀
                             ▀                      ▀
    [03:34:21] [Server thread/INFO]: [FlagWar] Copyright © 2021 TownyAdvanced
    [03:34:21] [Server thread/INFO]: [FlagWar] Checking against Towny...
    [03:34:21] [Server thread/INFO]: [FlagWar] No known problems with Towny compatibility. Good to go!
    [03:34:21] [Server thread/INFO]: [FlagWar] Registering Listeners...
    [03:34:21] [Server thread/INFO]: [FlagWar] Listeners Registered.
    [03:34:21] [Server thread/INFO]: [FlagWar] Loading Material Lists...
    [03:34:21] [Server thread/INFO]: [FlagWar] Registering Events...
    [03:34:21] [Server thread/INFO]: [FlagWar] Events Registered.
    [03:34:21] [Server thread/INFO]: [Plan] Enabling Plan v5.3 build 1284
    [03:34:22] [Server thread/INFO]: [Plan]
    [03:34:22] [Server thread/INFO]: [Plan]            ██▌
    [03:34:22] [Server thread/INFO]: [Plan]      ██▌   ██▌
    [03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  Player Analytics
    [03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  v5.3 build 1284
    [03:34:22] [Server thread/INFO]: [Plan]
    [03:34:22] [Server thread/INFO]: [Plan] Locale: 'English' by AuroraLS3
    [03:34:22] [Server thread/INFO]: [Plan] SQLite-database connection established.
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: Certificate KeyStore File not Found: plugins/Plan/Cert.jks
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: No Certificate -> Using HTTP-server for Visualization.
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: User Authorization Disabled! (Not secure over HTTP)
    [03:34:22] [Server thread/INFO]: [Plan] Webserver running on PORT 8804 (http://war.flagpole.io:8804)
    [03:34:22] [Server thread/INFO]: [Plan] Loading server identifying information
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Jobs
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: LuckPerms
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Towny
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Economy (Vault)
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Permission Groups (Vault)
    [03:34:22] [Server thread/INFO]: [Plan] Player Analytics Enabled.
    [03:34:22] [Server thread/INFO]: [TheNewEconomy] Enabling TheNewEconomy v0.1.1.12
    [03:34:23] [Server thread/INFO]: Loading Configurations.
    [03:34:23] [Server thread/INFO]: Initializing Configurations.
    [03:34:23] [Server thread/INFO]: Initialized config.yml
    [03:34:23] [Server thread/INFO]: Initialized commands.yml
    [03:34:23] [Server thread/INFO]: Initialized messages.yml
    [03:34:23] [Server thread/INFO]: Initialized players.yml
    [03:34:23] [Server thread/INFO]: Initialized worlds.yml
    [03:34:23] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Starting...
    [03:34:24] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Start completed.
    [03:34:24] [Server thread/INFO]: Updating tables, please hold.
    [03:34:24] [Server thread/INFO]: Finished updating tables.
    [03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
    [03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
    [03:34:25] [Server thread/INFO]: [TheNewEconomy] The New Economy has been enabled!
    [03:34:25] [Server thread/INFO]: Running delayed init tasks
    [03:34:25] [Server thread/INFO]: [Jobs] Successfully linked with Vault.
    [03:34:25] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] Checking for Updates ...
    [03:34:25] [Server thread/INFO]: [TownyChat] -******* TownyChat enabled *******-
    [03:34:25] [Server thread/INFO]: Done (27.619s)! For help, type "help"
    [03:34:25] [Server thread/INFO]: Timings Reset
    [03:34:26] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] No new version available
    [03:34:26] [Craft Scheduler Thread - 4 - Plan/INFO]: [Plan] You're using the latest version.
    [03:34:34] [Craft Scheduler Thread - 3 - TheNewEconomy/INFO]: Initialized items.yml
    [03:34:37] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Initializing a new profiler, please wait...
    [03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Profiler now active! (async)
    [03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Use '/spark profiler --stop' to stop profiling and upload the results.
  2. Your FlagWar config : Default Config

  3. Your log's error : Not a logged error


Potential Actions
- Review messaging system for breaks. A good portion of it is new to Flagwar, but still relies on TownyMessaging for some strings. (Those need to be offloaded to our own channel.)
- Switch to Adventure API? This may be induced by Towny adopting the Adventure text API recently...
- Remove formatting entirely. Not ideal, but is an option.

Suggestion: Allow time-restricted limits on attack and implement a failed attack cooldown. Implement attacker:defender ratios. Enable PVP within adjacent plots around the flagged area.

This issue is a duplicate of TownyAdvanced/Towny#4148 by @TheNylox, with additions by @Darutan92. Title changed for clarity.


Hello , i was thinking about a feature for warflags :

In my server i made a rule that a city can flagwar the same city only 1 time every 2 day (to prevent massive attacks) . Actually i need to check every attack . What about adding a cooldown that manage this ? I mean Nation A got 3 city and want to attack City B . Those 3 city can do only 1 attack (per city) to che enemy City B . Sorry for my bad english i dont know if i explained right .

Another feature can be instead of turn pvp on only in the flagged plot it turn pvp on on the attached plot like a 3x3 chunk

Oh i miss a thing for the cooldown of warflag . If you win the attack you can attack again . the cooldown start only if you lose --@TheNylox


Nice addition. There are two nations with the same number of citizen, but one consists of several cities, and the other from one city, why the one in which there are several cities can attack several chunks at once (according to the number of cities included in it)? This introduces an imbalance. Players on my server use this and I had to limit it by writing in the rules. I would like it to be implemented mechanically.

The offer for the PVP zone in 3x3 is also good. --@Darutan92

Plugin does not start

Hello
I have installed the Towny plugin and FlagWars to Paper 1.16.5 server, but I saw an error in server console:

[ERROR] .... Could not load 'plugins/FlagWar-0.4.0.jar' in folder 'plugins'

org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: io/github/townyadvanced/flagwar/FlagWar has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:157) ~[patched_1.16.5.jar:git-Paper-778]

at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:414) ~[patched_1.16.5.jar:git-Paper-778]

at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:322) ~[patched_1.16.5.jar:git-Paper-778]

at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:393) ~[patched_1.16.5.jar:git-Paper-778]

at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:269) ~[patched_1.16.5.jar:git-Paper-778]

at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1069) ~[patched_1.16.5.jar:git-Paper-778]

at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-778]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

Caused by: java.lang.UnsupportedClassVersionError: io/github/townyadvanced/flagwar/FlagWar has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_212]

at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_212]

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_212]

at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:201) ~[patched_1.16.5.jar:git-Paper-778]

at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_212]

at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:119) ~[patched_1.16.5.jar:git-Paper-778]

at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:114) ~[patched_1.16.5.jar:git-Paper-778]

at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_212]

at java.lang.Class.forName0(Native Method) ~[?:1.8.0_212]

at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_212]

at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[patched_1.16.5.jar:git-Paper-778]

at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:153) ~[patched_1.16.5.jar:git-Paper-778]

What can I do to fix this problem?

Suggestion: Allow FlagWar in homeblock only

It would be great if FlagWar had an option to only allow attacks on homeblock.

FlagWar has option to set payouts per chunk type, such as normal claims vs homeblock claims, but it still allows attacking either even if payout is 0$.
Our server uses homeblock option only, but players can still place the FlagWar block on other chunks, which just creates confusion and if griefing is on, it allows them to grief whatever chunk they attack.

Suggestion: People online AND in the town to start flag war

An option in the config file so that two people in the attacked town need to be online (I know it already exists) and physically IN the town to start a flag war. It would be really nice so that people dont start war when others are in the end or 9000 blocks away

Suggestion: Per-world flag war configs (Low priority)

The ability to disable flag war in some worlds in the flag war config (yeah I know that LlmDl said something about tying it to the towny war setting but I think it would be more convenient in the config here, especially if I want siegewar in one world and flagwar in another), as well as being able to set all of its varied settings for any and all worlds.

So how many defenders are online, how many attackers are online, the economic transactions involved, the banner block used for war, etc. All of this should be configurable per-world.

It's a low priority suggestion though as it's really not that important. I imagine most admins who use flagwar, including me, only really have one pvp world anyways or just don't have multiple worlds but are running a one world SMP, so this is kind of a niche request.

FlagWar not working properly due to some errors

What steps will reproduce the problem?

  1. Start a Flag War
  2. Not placing light block and hologram
  3. The flag's color does not change and the war does not end even if the waiting time is elapsed
  4. Breaking the flag triggers the end and the defended message is shown
  5. New flag war can not be started due to a NullPointerException

What is the expected output?

  1. Flag War starting and the attacker wins if the conditions are met
  2. Changing colors and showing holograms
  3. Attackers can start another war after the first one ended

What is your Towny version number?

0.97.2.0

What is your FlagWar version number?

0.5.1

What is your Spigot/Paper/Fork server version?

Paper 1.16.5

> version
[19:52:19 INFO]: Checking version, please wait...
[19:52:20 WARN]: java.io.FileNotFoundException: https://papermc.io/api/v1/paper/1.16.5/latest
[19:52:20 WARN]:        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1981)
[19:52:20 WARN]:        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1577)
[19:52:20 WARN]:        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
[19:52:20 WARN]:        at java.base/java.net.URL.openStream(URL.java:1192)
[19:52:20 WARN]:        at com.google.common.io.Resources$UrlByteSource.openStream(Resources.java:72)
[19:52:20 WARN]:        at com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:456)
[19:52:20 WARN]:        at com.google.common.io.CharSource.openBufferedStream(CharSource.java:107)
[19:52:20 WARN]:        at com.destroystokyo.paper.PaperVersionFetcher.fetchDistanceFromSiteApi(PaperVersionFetcher.java:82)
[19:52:20 WARN]:        at com.destroystokyo.paper.PaperVersionFetcher.getUpdateStatusMessage(PaperVersionFetcher.java:58)
[19:52:20 WARN]:        at com.destroystokyo.paper.PaperVersionFetcher.getVersionMessage(PaperVersionFetcher.java:32)
[19:52:20 WARN]:        at org.bukkit.command.defaults.VersionCommand.obtainVersion(VersionCommand.java:205)
[19:52:20 WARN]:        at org.bukkit.command.defaults.VersionCommand.access$000(VersionCommand.java:30)
[19:52:20 WARN]:        at org.bukkit.command.defaults.VersionCommand$1.run(VersionCommand.java:189)
[19:52:20 WARN]:        at java.base/java.lang.Thread.run(Thread.java:831)
[19:52:20 INFO]: This server is running Paper version git-Paper-706 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
Error obtaining version information
Previous version: git-Paper-189 (MC: 1.16.2)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. latest.log : https://pastebin.com/4HKmPn03
  2. FlagWar config : https://pastebin.com/H4s5eA2n
  3. Log's error (on breaking the flag by a defender): https://pastebin.com/k45pr1Fd
  4. Log's error (on trying to start another war): https://pastebin.com/NVJEP5xi
  5. Towny config (if needed): https://pastebin.com/ZjybSZ8Y

Flag Waiting-Time Setting: Tied to length of a phase, not overall flag lifetime

What steps will reproduce the problem?

  1. Configure flag.waiting_time for "1m" (default)
  • Expected: WarFlags last 1 minute before concluding.
  • Reality: Warflag phases last 1 minute, before moving to the next phase. Making the overall timer be "flag.waiting_time x TIMER_MATERIALS.length()" (1m * 10 = 10 minutes)

What is the expected output?

  1. Actually working as it would in the original code - the issue is that it's documented as "Time to capture a plot" within the config.
  2. Even given the "working-as-previously intended" state, this was never straight-forward in the original code, either.

What is your Towny version number?

Towny 0.97.0.1 (TownyAdvanced/Towny@ecd4660)

What is your FlagWar version number?

Do not say "latest".
main branch (9443ba8)

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.

## THIS IS AN EXAMPLE! REPLACE ME!
> version
git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file :

    Log File
    [03:33:54] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', 	servicesHost='https://api.minecraftservices.com', name='PROD'
    [03:33:54] [main/INFO]: Reloading ResourceManager: Default, bukkit
    [03:33:55] [Worker-Main-2/INFO]: Loaded 7 recipes
    [03:33:58] [Server thread/INFO]: Starting minecraft server version 1.16.5
    [03:33:58] [Server thread/INFO]: Loading properties
    [03:33:58] [Server thread/INFO]: This server is running Airplane version git-Airplane-"3dce697" (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
    [03:33:58] [Server thread/INFO]: Server Ping Player Sample Count: 12
    [03:33:58] [Server thread/INFO]: Using 4 threads for Netty based IO
    [03:33:58] [Server thread/INFO]: Debug logging is disabled
    [03:33:58] [Server thread/WARN]: [Airplane] To improve performance, timings have been disabled by default
    [03:33:58] [Server thread/WARN]: [Airplane] You can still use timings by using /timings on, but they will not start on server startup unless you set timings.really-enabled to true in paper.yml
    [03:33:58] [Server thread/WARN]: [Airplane] If you would like to disable this message, either set timings.really-enabled to true or timings.enabled to false.
    [03:33:58] [Server thread/INFO]: Default game type: SURVIVAL
    [03:33:58] [Server thread/INFO]: Generating keypair
    [03:33:58] [Server thread/INFO]: Starting Minecraft server on *:25565
    [03:33:58] [Server thread/INFO]: Using epoll channel type
    [03:33:59] [Server thread/INFO]: Tuinity: Using libdeflate (Linux x86_64) compression from Velocity.
    [03:33:59] [Server thread/INFO]: Tuinity: Using OpenSSL 1.1.x (Linux x86_64) cipher from Velocity.
    [03:34:00] [Server thread/INFO]: [LuckPerms] Loading LuckPerms v5.3.37
    [03:34:00] [Server thread/INFO]: [spark] Loading spark v1.5.2
    [03:34:00] [Server thread/INFO]: [OldCombatMechanics] Loading OldCombatMechanics v1.9.0
    [03:34:00] [Server thread/INFO]: [Chunky] Loading Chunky v1.2.65
    [03:34:00] [Server thread/INFO]: [Vault] Loading Vault v1.7.3-b131
    [03:34:00] [Server thread/INFO]: [Towny] Loading Towny v0.97.0.1
    [03:34:00] [Server thread/INFO]: [Jobs] Loading Jobs v4.17.1
    [03:34:00] [Server thread/INFO]: [TownyChat] Loading TownyChat v0.88
    [03:34:00] [Server thread/INFO]: [ChunkyBorder] Loading ChunkyBorder v1.0.33
    [03:34:00] [Server thread/INFO]: [FlagWar] Loading FlagWar v0.1.2
    [03:34:00] [Server thread/INFO]: [Plan] Loading Plan v5.3 build 1284
    [03:34:00] [Server thread/INFO]: [Plan] Resolving runtime dependencies..
    [03:34:00] [Server thread/INFO]: [Plan] Loading runtime dependencies..
    [03:34:05] [Server thread/INFO]: [TheNewEconomy] Loading TheNewEconomy v0.1.1.12
    [03:34:06] [Server thread/INFO]: [TheNewEconomy] Loading The New Economy with Java Version: 11.0.11
    [03:34:06] [Server thread/INFO]: [TheNewEconomy] Hooked into Vault
    [03:34:06] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    [03:34:06] [Server thread/INFO]: [LuckPerms] Enabling LuckPerms v5.3.37
    [03:34:06] [Server thread/INFO]:         __    
    [03:34:06] [Server thread/INFO]:   |    |__)   LuckPerms v5.3.37
    [03:34:06] [Server thread/INFO]:   |___ |      Running on Bukkit - Airplane
    [03:34:06] [Server thread/INFO]:
    [03:34:06] [Server thread/INFO]: [LuckPerms] Loading configuration...
    [03:34:06] [Server thread/INFO]: [LuckPerms] Loading storage provider... [H2]
    [03:34:07] [Server thread/INFO]: [LuckPerms] Loading internal permission managers...
    [03:34:07] [Server thread/INFO]: [LuckPerms] Performing initial data load...
    [03:34:07] [Server thread/INFO]: [LuckPerms] Successfully enabled. (took 1703ms)
    [03:34:07] [Server thread/INFO]: [Vault] Enabling Vault v1.7.3-b131
    [03:34:07] [Server thread/INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
    [03:34:07] [Server thread/INFO]: [Vault] Enabled Version 1.7.3-b131
    [03:34:07] [Server thread/INFO]: [LuckPerms] Registered Vault permission & chat hook.
    [03:34:07] [Server thread/INFO]: Preparing level "world"
    [03:34:08] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
    [03:34:09] [Server thread/INFO]: Loaded 0 spawn chunks for world world
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:09] [Server thread/INFO]: Preparing spawn area: 17%
    [03:34:10] [Server thread/INFO]: Time elapsed: 1792 ms
    [03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_nether
    [03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_nether
    [03:34:10] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:10] [Server thread/INFO]: Time elapsed: 335 ms
    [03:34:10] [Server thread/INFO]: Preparing start region for dimension minecraft:the_end
    [03:34:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_the_end
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 0%
    [03:34:11] [Server thread/INFO]: Preparing spawn area: 95%
    [03:34:11] [Server thread/INFO]: Time elapsed: 1113 ms
    [03:34:11] [Server thread/INFO]: [spark] Enabling spark v1.5.2
    [03:34:11] [Server thread/INFO]: [spark] Using Paper ServerTickStartEvent for tick monitoring
    [03:34:11] [Server thread/INFO]: [OldCombatMechanics] Enabling OldCombatMechanics v1.9.0
    [03:34:12] [Server thread/INFO]: [OldCombatMechanics] OldCombatMechanics v1.9.0 has been enabled
    [03:34:12] [Server thread/INFO]: [Chunky] Enabling Chunky v1.2.65
    [03:34:12] [Server thread/INFO]: [Towny] Enabling Towny v0.97.0.1
    [03:34:12] [Server thread/INFO]: ====================      Towny      ========================
    [03:34:12] [Server thread/INFO]: [Towny] Lang: english.yml v0.105 loaded.
    [03:34:12] [Server thread/INFO]: [Towny] Database: [Load] flatfile [Save] flatfile
    [03:34:12] [Server thread/INFO]: [Towny] Database: Loaded in 83ms.
    [03:34:12] [Server thread/INFO]: [Towny] Database: 100% of residents have stored UUIDs.
    [03:34:12] [Server thread/INFO]: [Towny] Searching for third-party plugins...
    [03:34:12] [Server thread/INFO]: [Towny] Plugins found:
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Cleaning up old backups...
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Successfully cleaned backups.
    [03:34:12] [Server thread/INFO]:   Permissions: TownyPerms, LuckPerms 5.3.37 via Vault
    [03:34:12] [Server thread/INFO]:   Economy: TheNewEconomy via Vault
    [03:34:12] [Server thread/INFO]:   Add-ons: TownyChat v0.88
    [03:34:12] [Server thread/INFO]: [Towny] Time until a New Day: 8 hours, 25 minutes, 48 seconds
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Making backup...
    [03:34:12] [ForkJoinPool.commonPool-worker-3/INFO]: [Towny] Towny flatfiles and settings successfully backed up.
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellDefendedEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellDefendedEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackCanceledEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackCanceledEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellWonEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellWonEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by LlmDl.].
    [03:34:12] [Server thread/WARN]: [Towny] "Towny v0.97.0.1" has registered a listener for com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent on method "public void com.palmergames.bukkit.towny.war.flagwar.listeners.FlagWarCustomListener.onCellAttackEvent(com.palmergames.bukkit.towny.war.flagwar.events.CellAttackEvent)", but the event is Deprecated. "Server performance will be affected"; please notify the authors [Shade, Modified by FuzzeWuzze. Forked by ElgarL. Forked by 	LlmDl.].
    [03:34:12] [Server thread/INFO]: =============================================================
    [03:34:12] [Server thread/INFO]: [Towny] Version: 0.97.0.1 - Plugin Enabled
    [03:34:12] [Server thread/INFO]: =============================================================
    [03:34:12] [Server thread/INFO]: [Jobs] Enabling Jobs v4.17.1
    [03:34:14] [Server thread/WARN]: Initializing Legacy Material Support. Unless you have legacy plugins 	and/or data this is a bug!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 8 titles!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 67 protected blocks timers!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1098 custom item names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 72 custom entity names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 2 custom MythicMobs names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 38 custom enchant names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 16 custom color names!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 4 shop items!
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Enchanter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Crafter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Miner
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Brewer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Woodcutter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Hunter
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Fisherman
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Weaponsmith
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Farmer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Explorer
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Builder
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 1 quests for Digger
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded 12 jobs!
    [03:34:21] [Jobs-DatabaseSaveTask/INFO]: [Jobs] Started database save task.
    [03:34:21] [Jobs-BufferedPaymentThread/INFO]: [Jobs] Started buffered payment thread.
    [03:34:21] [ForkJoinPool.commonPool-worker-3/INFO]: [Jobs] Preloaded 3 players data in 0.02
    [03:34:21] [Server thread/INFO]: [Jobs] Loading explorer data
    [03:34:21] [Server thread/INFO]: [Jobs] Loaded explorer data (37)
    [03:34:21] [Server thread/INFO]: [Jobs] Plugin has been enabled successfully.
    [03:34:21] [Server thread/INFO]: [TownyChat] Enabling TownyChat v0.88
    [03:34:21] [Server thread/INFO]: [TownyChat] Default Channel set to general
    [03:34:21] [Server thread/INFO]: [TownyChat] Towny version 0.97.0.1 found.
    [03:34:21] [Server thread/INFO]: [ChunkyBorder] Enabling ChunkyBorder v1.0.33
    [03:34:21] [Server thread/INFO]: [FlagWar] Enabling FlagWar v0.1.2
    [03:34:21] [Server thread/INFO]: [FlagWar] Using locale: English (United States) - 1.1
    [03:34:21] [Server thread/INFO]: [FlagWar]
     
                ▄████  █    ██     ▄▀        ▄ ▄   ██   █▄▄▄▄
                █▀   ▀ █    █ █  ▄▀         █   █  █ █  █  ▄▀
                █▀▀    █    █▄▄█ █ ▀▄      █ ▄   █ █▄▄█ █▀▀▌
                █      ███▄ █  █ █   █     █  █  █ █  █ █  █
                 █         ▀   █  ███       █ █ █     █   █
                  ▀           █              ▀ ▀     █   ▀
                             ▀                      ▀
    [03:34:21] [Server thread/INFO]: [FlagWar] Copyright © 2021 TownyAdvanced
    [03:34:21] [Server thread/INFO]: [FlagWar] Checking against Towny...
    [03:34:21] [Server thread/INFO]: [FlagWar] No known problems with Towny compatibility. Good to go!
    [03:34:21] [Server thread/INFO]: [FlagWar] Registering Listeners...
    [03:34:21] [Server thread/INFO]: [FlagWar] Listeners Registered.
    [03:34:21] [Server thread/INFO]: [FlagWar] Loading Material Lists...
    [03:34:21] [Server thread/INFO]: [FlagWar] Registering Events...
    [03:34:21] [Server thread/INFO]: [FlagWar] Events Registered.
    [03:34:21] [Server thread/INFO]: [Plan] Enabling Plan v5.3 build 1284
    [03:34:22] [Server thread/INFO]: [Plan]
    [03:34:22] [Server thread/INFO]: [Plan]            ██▌
    [03:34:22] [Server thread/INFO]: [Plan]      ██▌   ██▌
    [03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  Player Analytics
    [03:34:22] [Server thread/INFO]: [Plan]   ██▌██▌██▌██▌  v5.3 build 1284
    [03:34:22] [Server thread/INFO]: [Plan]
    [03:34:22] [Server thread/INFO]: [Plan] Locale: 'English' by AuroraLS3
    [03:34:22] [Server thread/INFO]: [Plan] SQLite-database connection established.
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: Certificate KeyStore File not Found: plugins/Plan/Cert.jks
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: No Certificate -> Using HTTP-server for Visualization.
    [03:34:22] [Server thread/INFO]: [Plan] WebServer: User Authorization Disabled! (Not secure over HTTP)
    [03:34:22] [Server thread/INFO]: [Plan] Webserver running on PORT 8804 (http://war.flagpole.io:8804)
    [03:34:22] [Server thread/INFO]: [Plan] Loading server identifying information
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Jobs
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: LuckPerms
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Towny
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Economy (Vault)
    [03:34:22] [Server thread/INFO]: [Plan] Registered extension: Permission Groups (Vault)
    [03:34:22] [Server thread/INFO]: [Plan] Player Analytics Enabled.
    [03:34:22] [Server thread/INFO]: [TheNewEconomy] Enabling TheNewEconomy v0.1.1.12
    [03:34:23] [Server thread/INFO]: Loading Configurations.
    [03:34:23] [Server thread/INFO]: Initializing Configurations.
    [03:34:23] [Server thread/INFO]: Initialized config.yml
    [03:34:23] [Server thread/INFO]: Initialized commands.yml
    [03:34:23] [Server thread/INFO]: Initialized messages.yml
    [03:34:23] [Server thread/INFO]: Initialized players.yml
    [03:34:23] [Server thread/INFO]: Initialized worlds.yml
    [03:34:23] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Starting...
    [03:34:24] [Server thread/INFO]: [net.tnemc.libs.com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Start completed.
    [03:34:24] [Server thread/INFO]: Updating tables, please hold.
    [03:34:24] [Server thread/INFO]: Finished updating tables.
    [03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
    [03:34:24] [Server thread/INFO]: [TheNewEconomy] Finished loading data!
    [03:34:25] [Server thread/INFO]: [TheNewEconomy] The New Economy has been enabled!
    [03:34:25] [Server thread/INFO]: Running delayed init tasks
    [03:34:25] [Server thread/INFO]: [Jobs] Successfully linked with Vault.
    [03:34:25] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] Checking for Updates ...
    [03:34:25] [Server thread/INFO]: [TownyChat] -******* TownyChat enabled *******-
    [03:34:25] [Server thread/INFO]: Done (27.619s)! For help, type "help"
    [03:34:25] [Server thread/INFO]: Timings Reset
    [03:34:26] [Craft Scheduler Thread - 2 - Vault/INFO]: [Vault] No new version available
    [03:34:26] [Craft Scheduler Thread - 4 - Plan/INFO]: [Plan] You're using the latest version.
    [03:34:34] [Craft Scheduler Thread - 3 - TheNewEconomy/INFO]: Initialized items.yml
    [03:34:37] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Initializing a new profiler, please wait...
    [03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Profiler now active! (async)
    [03:34:38] [Craft Scheduler Thread - 4 - spark/INFO]: [⚡] Use '/spark profiler --stop' to stop profiling and upload the results.
  2. Your FlagWar config : Default

  3. Your log's error : None - behavioral documentation

Notes

The current TIMER_MATERIALS array is not user configurable, meaning what is applied at build time determines the overall timer. Eventually, it would be nice to apply these dynamically from the configuration file.

However, the main issue is still the expected result of the timer. While improving the documentation is required, just correcting the documentation does not correct the logical intent of the setting to control the war flag's lifetime.

Implementing a method to calculate the phase timer from the given time, and applying it instead seems like a logical course of action.

Flag War 'Exploit' - Impossible to attack plot that has blocks placed at world build height limit

What steps will reproduce the problem?

  1. Go to height limit
  2. Built on the limit
  3. Now attackers can't place de flag

What is the expected output?

What is your Towny version number?

Do not say "latest".

What is your FlagWar version number?

Do not say "latest".

What is your Spigot/Paper/Fork server version?

Do not say "latest". Run the /version command.

## THIS IS AN EXAMPLE! REPLACE ME!
> version
[... INFO]: This server is running Example version git-Example-420 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
[... INFO]: Checking version, please wait...
[... INFO]: You are 42 version(s) behind  #<< This is a bad sign

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file :
  2. Your FlagWar config :
  3. Your log's error :

(optional) If this is to do with permissions,
4. Your Towny permissions file :
5. Your Perm Plugin's data :

LocaleUtil bug crash on paper 1.16.5

What steps will reproduce the problem?

1.Build the latest source of the plugin
2.Open a 1.16 server (JDK 16)

What is the expected output?

1.Server boots up normally !

What is your Towny version number?

0.97.0.0

What is your FlagWar version number?

Well, I would say "latest", but in the pom it's 0.1.2

What is your Spigot/Paper/Fork server version?

This server is running Paper version git-Paper-675 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)

Please use a pastebin service to link the following files:

Skipping these files is not an option. It is the easiest way to diagnose an issue ticket properly.
If you do skip this step then your ticket will most likely be deleted, and you will be asked to resubmit.

  1. Your full server startup from the logs\latest.log file : https://pastebin.com/PbHqMUAW
  2. Your FlagWar config : (The default config with "translation: "en_US"")
  3. Your log's error : https://pastebin.com/hDd3McQZ

What is the estimated problem

Instead of loading the "en_US" ressource, it loads "en__US", which makes a massive error in the console. That is easily fixable with the code right below.

Ways to repair:

In LocaleUtil.java at line 75, change the line for 'region = localeString.substring(localeString.indexOf("_") + 1);'

(This is my first request on github, so sorry if it's wrongly made)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.