Bukkit Plan | Player Analytics 4.8.7

The Ultimate Tool to monitor player activity! Bukkit/Sponge/Bungee support.

  1. is it possible to transfer existing data from sqllite to mysql?
     
  2. Please see the install tutorial for Bungee https://github.com/Rsl1122/Plan-PlayerAnalytics/wiki/Bungee-Set-Up
    The servers should use the same MySQL, and webserver port should be different for all servers.

    Keep in mind that manage move command clears the plan tables of the target database.
     
    • Like Like x 1
  3. Rsl1122 updated Plan | Player Analytics with a new update entry:

    4.6.2 Change log

    Read the rest of this update entry...
     
  4. is it possible to control the time interval for the tps (performance) data collecting? it seems it collect 1 second which is a bit too much data, i would like to set maybe per 1 min (or even every 10 mins)
     
  5. Currently Plan collects one entry per second and saves the average of 60 entries to the database.

    It is currently not possible to change the interval.
    You can open a suggestion on github if you want.
     
  6. Is it possible to uncensor player IPs?
    We can already see player's IPs from other plugins.
    But I need to see when people use which IPs, to compare for alts, ban evading and people using VPNs. I compare IPs to figure these things out, and so it being censored is a problem.
    I just don't want to have to get another plugin to log IPs if this can do it.
     
  7. Currently this use case is not covered by Plan.
    I recommend looking at plugins such as AntiVPN by egg82

    ----

    Displaying the IP on the player page has been problematic since its addition.

    The problem:
    - Not all Plan servers are login protected (by enabling HTTPS)
    - If obtained, the IP address can be used for DDoS targeting
    - IPs are considered personal data by GDPR if the information is available with the time the IP was used (which Plan provides)

    Various changes made during the lifetime of the plugin:
    - Introduction of "Hide IPs" option
    - Anonymization of the IP addresses on the page when viewed
    - Anonymization of the IP addresses in the database
    - Introduction of Geolocation gathering disable option that also stops IP gathering.

    Possible solutions:
    - Add an option to not anonymize the user IPs as per https://github.com/Rsl1122/Plan-PlayerAnalytics/issues/896 - In this case the IPs would still be anonymized on display if login was not enabled.
    - Replace storage of the IP address with storing more detailed information about the geolocation.
    - Add support for a plugin that detects Alts

    Hard to implement solutions:
    - Change to a consent based gathering model as per https://github.com/Rsl1122/Plan-PlayerAnalytics/issues/621
     
  8. report: with the latest jobs update, these errors spam once the server finished restart

    Code (Text):
    02.03 00:54:12 [Server] INFO at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [Spigot.jar:git-Spigot-a1ba5fe-3359cb1]
    02.03 00:54:12 [Server] INFO at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:76) [Spigot.jar:git-Spigot-a1ba5fe-3359cb1]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plugin.task.bukkit.BukkitRunnableFactory$1.run(BukkitRunnableFactory.java:55) [Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.tasks.server.BootAnalysisTask.run(BootAnalysisTask.java:52) [Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.connection.WebExceptionLogger.logIfOccurs(WebExceptionLogger.java:57) [Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.tasks.server.BootAnalysisTask.lambda$run$0(BootAnalysisTask.java:53) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.InfoSystem.sendRequest(InfoSystem.java:118) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.connection.ConnectionSystem.sendInfoRequest(ConnectionSystem.java:79) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.connection.ConnectionSystem.sendInfoRequest(ConnectionSystem.java:85) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.ServerInfoSystem.runLocally(ServerInfoSystem.java:59) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.runLocally(GenerateAnalysisPageRequest.java:106) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.handleRequest(GenerateAnalysisPageRequest.java:90) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.generateAndCache(GenerateAnalysisPageRequest.java:97) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.analyseAndGetHtml(GenerateAnalysisPageRequest.java:113) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.html.pages.AnalysisPage.toHtml(AnalysisPage.java:87) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.html.pages.AnalysisPage.pluginsTabs(AnalysisPage.java:128) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.formatting.PlaceholderReplacer.addAllPlaceholdersFrom(PlaceholderReplacer.java:42) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.formatting.PlaceholderReplacer.addPlaceholderFrom(PlaceholderReplacer.java:37) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$addPluginSuppliers$136(AnalysisContainer.java:504) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.data.store.containers.DataContainer.getUnsafe(DataContainer.java:120) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.data.store.CachingSupplier.get(CachingSupplier.java:50) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$addPluginSuppliers$134(AnalysisContainer.java:500) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.html.structure.AnalysisPluginsTabContentCreator.createContent(AnalysisPluginsTabContentCreator.java:75) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.html.structure.AnalysisPluginsTabContentCreator.analyzeAdditionalPluginData(AnalysisPluginsTabContentCreator.java:142) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.ForkJoinTask.invoke(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.ForkJoinTask.doInvoke(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.concurrent.CountedCompleter.exec(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:1.8.0_172]
    02.03 00:54:12 [Server] INFO at com.djrapitops.plan.utilities.html.structure.AnalysisPluginsTabContentCreator.lambda$analyzeAdditionalPluginData$0(AnalysisPluginsTabContentCreator.java:147) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO at com.djrapitops.pluginbridge.plan.jobs.JobsData.getServerData(JobsData.java:68) ~[Plan-4.6.2.jar:?]
    02.03 00:54:12 [Server] INFO java.lang.NullPointerException: null
    02.03 00:54:12 [Server] WARN Error was caught by com.djrapitops.plan.utilities.html.structure.AnalysisPluginsTabContentCreator
    02.03 00:54:12 [Server] ERROR A PluginData-source caused an exception: Jobs
     
    • Agree Agree x 1
  9. You can disable Jobs integration by setting Plugins.Jobs.Enabled: false in the plan config.

    There is an issue open on Jobs github, and I posted a comment about the possible cause. https://github.com/Zrips/Jobs/issues/377
     
  10. Rsl1122 updated Plan | Player Analytics with a new update entry:

    4.7.0 - Database Code Restructuring | Change log

    Read the rest of this update entry...
     
  11. Hello! Remember me? Your plugin broke my Bungee. Have you discovered this problem? Fixed it? Has anyone complained about this since then?
     
  12. If you can link to a github issue about it I might remember - I get to interact with 10s of users every week and it is unfortunately not possible to remember all interactions.

    I vaguely remember waterfall kicking all players if that is something you're referring to with Bungee breaking. That might have been caused back in the summer by a bunch of sockets leaking. Socket leaks were fixed in August 2018.

    I have not gotten any messages about bungee ceasing to function in at least 7 months if I remember correctly.
     
    • Friendly Friendly x 1
  13. https://www.spigotmc.org/threads/plan-player-analytics.197391/page-28#post-3129188
     
    • Friendly Friendly x 1
  14. Rsl1122 updated Plan | Player Analytics with a new update entry:

    4.7.1 Change log

    Read the rest of this update entry...
     
  15. after update to the latest version, i got these errors when restart the server

    Code (Text):
    08.03 01:56:28 [Server] INFO ... 9 more
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.analyseAndGetHtml(GenerateAnalysisPageRequest.java:128) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.pages.AnalysisPage.toHtml(AnalysisPage.java:89) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.pages.AnalysisPage.sessionStructures(AnalysisPage.java:116) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.formatting.PlaceholderReplacer.addAllPlaceholdersFrom(PlaceholderReplacer.java:40) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.formatting.PlaceholderReplacer.addPlaceholderFrom(PlaceholderReplacer.java:35) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.DynamicDataContainer.getValue(DynamicDataContainer.java:71) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.SupplierDataContainer.getValue(SupplierDataContainer.java:95) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$addSessionSuppliers$51(AnalysisContainer.java:310) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.DynamicDataContainer.getUnsafe(DynamicDataContainer.java:80) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.SupplierDataContainer.getUnsafe(SupplierDataContainer.java:107) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.CachingSupplier.get(CachingSupplier.java:50) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$addSessionSuppliers$50(AnalysisContainer.java:302) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.structure.Accordions.serverSessionAccordion(Accordions.java:107) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.structure.SessionAccordion.<init>(SessionAccordion.java:91) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.structure.SessionAccordion.addElements(SessionAccordion.java:102) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.utilities.html.structure.SessionAccordion.addElementsForServer(SessionAccordion.java:109) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$null$49(AnalysisContainer.java:308) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.DynamicDataContainer.getUnsafe(DynamicDataContainer.java:80) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.SupplierDataContainer.getUnsafe(SupplierDataContainer.java:107) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.CachingSupplier.get(CachingSupplier.java:50) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.data.store.containers.AnalysisContainer.lambda$addPlayerSuppliers$8(AnalysisContainer.java:167) ~[?:?]
    08.03 01:56:28 [Server] INFO at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.Collectors.lambda$toMap$58(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.HashMap.merge(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.stream.Collectors.lambda$throwingMerger$0(Unknown Source) ~[?:1.8.0_172]
    08.03 01:56:28 [Server] INFO Caused by: java.lang.IllegalStateException: Duplicate key Jason_342560
    08.03 01:56:28 [Server] INFO at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source) [?:1.8.0_172]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.processing.Processing.lambda$submitNonCritical$0(Processing.java:73) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.lambda$handleRequest$2(GenerateAnalysisPageRequest.java:105) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.connection.WebExceptionLogger.logIfOccurs(WebExceptionLogger.java:57) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.lambda$null$1(GenerateAnalysisPageRequest.java:105) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.generateAndCache(GenerateAnalysisPageRequest.java:113) ~[?:?]
    08.03 01:56:28 [Server] INFO at com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest.analyseAndGetHtml(GenerateAnalysisPageRequest.java:130) ~[?:?]
    08.03 01:56:28 [Server] INFO com.djrapitops.plan.api.exceptions.connection.InternalErrorException: Analysis failed due to exception
    08.03 01:56:28 [Server] WARN Error was caught by com.djrapitops.plan.system.info.request.GenerateAnalysisPageRequest
     
  16. Please use Github for errors.
    This one has been reported:
    https://github.com/Rsl1122/Plan-PlayerAnalytics/issues/956
     
  17. Rsl1122 updated Plan | Player Analytics with a new update entry:

    4.7.2 - Change log

    Read the rest of this update entry...