IntellectualSites / IntellectualSites/Plot2Dynmap
Rate limited as not using plotsquared UUID cache
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 8
- Forks
- 6
- Avg merge
- 1m
- Merged PRs (30d)
- 3
Description
Server Implementation
Paper
Server Version
1.18.2
Describe the bug
The Plot2Dynmap is not using PlotSquared's UUID cache, and seems to be doing them separate, which causes failure by being rate limited, this is not good for many reasons, so the plugin never loads all plots onto Dynmap either.
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: [PlotSquared/UUIDPipeline] (UUID) Request for 17e45a64-6b9f-3f9c-99c8-ae4f767f1848 timed out. Rate limit.
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "replacement" is null
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at java.base/java.lang.String.replace(String.java:2956)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at Plot2Dynmap-6.0.3.jar//com.plotsquared.plot2dynmap.Plot2DynmapPlugin.formatInfoWindow(Plot2DynmapPlugin.java:64)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at Plot2Dynmap-6.0.3.jar//com.plotsquared.plot2dynmap.Plot2DynmapPlugin.handlePlot(Plot2DynmapPlugin.java:179)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at Plot2Dynmap-6.0.3.jar//com.plotsquared.plot2dynmap.Plot2DynmapPlugin.run(Plot2DynmapPlugin.java:273)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:101)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[17:06:12] [Craft Scheduler Thread - 19 - Plot2Dynmap/WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
To Reproduce
- Install plot2dynmap & dynmap
- Have a lot of plots and use the plugin...
Expected behaviour
To use the existing cache and not get rate limited by mojang.
Screenshots / Videos
Error log (if applicable)
No response
Plot Debugpaste
https://athion.net/ISPaster/paste/view/8fc9247a4c6d451598719bd1ae6e41f3
Plot2Dynmap Version
6.0.3
Checklist
- I have included a Plot debugpaste.
- I am using the newest build from https://www.spigotmc.org/resources/1292/ and the issue still persists.
Anything else?
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in Plot2DynmapPlugin.formatInfoWindow at line 64 and follow handlePlot at line 179, where the stack trace shows the UUID lookup result is used. Compare the plugin's lookup path with PlotSquared's existing UUID cache and verify that processing many plots no longer triggers rate-limit failures or the reported NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100