[{"data":1,"prerenderedAt":884},["ShallowReactive",2],{"plugin-plan-player-analytics\u002FPlan--plan-bukkit":3},{"api_version":4,"authors":5,"categories":326,"created_at":327,"dependencies":328,"description":407,"detection_confidence":408,"downloads":409,"gallery":410,"icon_url":411,"id":412,"license":413,"links":417,"manifest_path":418,"name":419,"primary_target":420,"server_version":332,"source":421,"stars":422,"summary":423,"targets":424,"updated_at":426,"versions":427},"unknown",[6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,322],{"avatar_url":7,"name":8,"url":9},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F24460436?v=4","AuroraLS3","https:\u002F\u002Fgithub.com\u002FAuroraLS3",{"avatar_url":11,"name":12,"url":13},"https:\u002F\u002Favatars.githubusercontent.com\u002Fin\u002F29110?v=4","dependabot[bot]","https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot",{"avatar_url":15,"name":16,"url":17},"https:\u002F\u002Favatars.githubusercontent.com\u002Fin\u002F2141?v=4","dependabot-preview[bot]","https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot-preview",{"avatar_url":19,"name":20,"url":21},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F112581971?v=4","dependabot-support","https:\u002F\u002Fgithub.com\u002Fdependabot-support",{"avatar_url":23,"name":24,"url":25},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13612979?v=4","AnttiMK","https:\u002F\u002Fgithub.com\u002FAnttiMK",{"avatar_url":27,"name":28,"url":29},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20226336?v=4","Vankka","https:\u002F\u002Fgithub.com\u002FVankka",{"avatar_url":31,"name":32,"url":33},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43724816?v=4","Aurelien30000","https:\u002F\u002Fgithub.com\u002FAurelien30000",{"avatar_url":35,"name":36,"url":37},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16463103?v=4","paulzhng","https:\u002F\u002Fgithub.com\u002Fpaulzhng",{"avatar_url":39,"name":40,"url":41},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F113768629?v=4","jhqwqmc","https:\u002F\u002Fgithub.com\u002Fjhqwqmc",{"avatar_url":43,"name":44,"url":45},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4106544?v=4","BrainStone","https:\u002F\u002Fgithub.com\u002FBrainStone",{"avatar_url":47,"name":48,"url":49},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F53803019?v=4","rymiel","https:\u002F\u002Fgithub.com\u002Frymiel",{"avatar_url":51,"name":52,"url":53},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19390615?v=4","jvdoorn","https:\u002F\u002Fgithub.com\u002Fjvdoorn",{"avatar_url":55,"name":56,"url":57},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F40425798?v=4","yukieiji","https:\u002F\u002Fgithub.com\u002Fyukieiji",{"avatar_url":59,"name":60,"url":61},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F31071265?v=4","FluxCapacitor2","https:\u002F\u002Fgithub.com\u002FFluxCapacitor2",{"avatar_url":63,"name":64,"url":65},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22878739?v=4","DrexHD","https:\u002F\u002Fgithub.com\u002FDrexHD",{"avatar_url":67,"name":68,"url":69},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15361899?v=4","enterih","https:\u002F\u002Fgithub.com\u002Fenterih",{"avatar_url":71,"name":72,"url":73},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F60987685?v=4","saph1s","https:\u002F\u002Fgithub.com\u002Fsaph1s",{"avatar_url":75,"name":76,"url":77},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6323125?v=4","hafarooki","https:\u002F\u002Fgithub.com\u002Fhafarooki",{"avatar_url":79,"name":80,"url":81},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3696988?v=4","Shadowhackercz","https:\u002F\u002Fgithub.com\u002FShadowhackercz",{"avatar_url":83,"name":84,"url":85},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F123275998?v=4","RomainCabaret","https:\u002F\u002Fgithub.com\u002FRomainCabaret",{"avatar_url":87,"name":88,"url":89},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26180623?v=4","hallo1142","https:\u002F\u002Fgithub.com\u002Fhallo1142",{"avatar_url":91,"name":92,"url":93},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F30070303?v=4","Karlatemp","https:\u002F\u002Fgithub.com\u002FKarlatemp",{"avatar_url":95,"name":96,"url":97},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7571437?v=4","WolverStones","https:\u002F\u002Fgithub.com\u002FWolverStones",{"avatar_url":99,"name":100,"url":101},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10694593?v=4","PyvesB","https:\u002F\u002Fgithub.com\u002FPyvesB",{"avatar_url":103,"name":104,"url":105},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F18164643?v=4","zisunny104","https:\u002F\u002Fgithub.com\u002Fzisunny104",{"avatar_url":107,"name":108,"url":109},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59896907?v=4","Zoriot","https:\u002F\u002Fgithub.com\u002FZoriot",{"avatar_url":111,"name":112,"url":113},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47119570?v=4","QuakyCZ","https:\u002F\u002Fgithub.com\u002FQuakyCZ",{"avatar_url":115,"name":116,"url":117},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F68118654?v=4","PerchunPak","https:\u002F\u002Fgithub.com\u002FPerchunPak",{"avatar_url":119,"name":120,"url":121},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3718398?v=4","galexrt","https:\u002F\u002Fgithub.com\u002Fgalexrt",{"avatar_url":123,"name":124,"url":125},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10363500?v=4","Creeperface01","https:\u002F\u002Fgithub.com\u002FCreeperface01",{"avatar_url":127,"name":128,"url":129},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13738234?v=4","Eyremba","https:\u002F\u002Fgithub.com\u002FEyremba",{"avatar_url":131,"name":132,"url":133},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20236173?v=4","inductor","https:\u002F\u002Fgithub.com\u002Finductor",{"avatar_url":135,"name":136,"url":137},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6012891?v=4","HexedHero","https:\u002F\u002Fgithub.com\u002FHexedHero",{"avatar_url":139,"name":140,"url":141},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12835420?v=4","portlek","https:\u002F\u002Fgithub.com\u002Fportlek",{"avatar_url":143,"name":144,"url":145},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59678453?v=4","developStorm","https:\u002F\u002Fgithub.com\u002FdevelopStorm",{"avatar_url":147,"name":148,"url":149},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4625696?v=4","RoboMWM","https:\u002F\u002Fgithub.com\u002FRoboMWM",{"avatar_url":151,"name":152,"url":153},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3246162?v=4","skmedix","https:\u002F\u002Fgithub.com\u002Fskmedix",{"avatar_url":155,"name":156,"url":157},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11409610?v=4","Sander0542","https:\u002F\u002Fgithub.com\u002FSander0542",{"avatar_url":159,"name":160,"url":161},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47499708?v=4","SaolGhra","https:\u002F\u002Fgithub.com\u002FSaolGhra",{"avatar_url":163,"name":164,"url":165},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F40311581?v=4","SkipM4","https:\u002F\u002Fgithub.com\u002FSkipM4",{"avatar_url":167,"name":168,"url":169},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F53542570?v=4","SniperTVmc","https:\u002F\u002Fgithub.com\u002FSniperTVmc",{"avatar_url":171,"name":172,"url":173},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F176787731?v=4","TWJohnJohn20116","https:\u002F\u002Fgithub.com\u002FTWJohnJohn20116",{"avatar_url":175,"name":176,"url":177},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F46647646?v=4","XXY233","https:\u002F\u002Fgithub.com\u002FXXY233",{"avatar_url":179,"name":180,"url":181},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F34498917?v=4","stashenko","https:\u002F\u002Fgithub.com\u002Fstashenko",{"avatar_url":183,"name":184,"url":185},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F80556999?v=4","TomPadmanathan","https:\u002F\u002Fgithub.com\u002FTomPadmanathan",{"avatar_url":187,"name":188,"url":189},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F75816946?v=4","ToxiWoxi","https:\u002F\u002Fgithub.com\u002FToxiWoxi",{"avatar_url":191,"name":192,"url":193},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F24662388?v=4","tkwhd123","https:\u002F\u002Fgithub.com\u002Ftkwhd123",{"avatar_url":195,"name":196,"url":197},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22937970?v=4","YannicHock","https:\u002F\u002Fgithub.com\u002FYannicHock",{"avatar_url":199,"name":200,"url":201},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F79342128?v=4","Zaemong","https:\u002F\u002Fgithub.com\u002FZaemong",{"avatar_url":203,"name":204,"url":205},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F67716263?v=4","zax71","https:\u002F\u002Fgithub.com\u002Fzax71",{"avatar_url":207,"name":208,"url":209},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F90173538?v=4","angela0930","https:\u002F\u002Fgithub.com\u002Fangela0930",{"avatar_url":211,"name":212,"url":213},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26027985?v=4","KasperiP","https:\u002F\u002Fgithub.com\u002FKasperiP",{"avatar_url":215,"name":216,"url":217},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F105296365?v=4","ringo360","https:\u002F\u002Fgithub.com\u002Fringo360",{"avatar_url":219,"name":220,"url":221},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7635652?v=4","untuned","https:\u002F\u002Fgithub.com\u002Funtuned",{"avatar_url":223,"name":224,"url":225},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10278743?v=4","cometsturtle","https:\u002F\u002Fgithub.com\u002Fcometsturtle",{"avatar_url":227,"name":228,"url":229},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F29792376?v=4","ColdeZhang","https:\u002F\u002Fgithub.com\u002FColdeZhang",{"avatar_url":231,"name":232,"url":233},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F32383605?v=4","10935336","https:\u002F\u002Fgithub.com\u002F10935336",{"avatar_url":235,"name":236,"url":237},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F68704415?v=4","4drian3d","https:\u002F\u002Fgithub.com\u002F4drian3d",{"avatar_url":239,"name":240,"url":241},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22821309?v=4","antonok-edm","https:\u002F\u002Fgithub.com\u002Fantonok-edm",{"avatar_url":243,"name":244,"url":245},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F63877394?v=4","AppleMacOS","https:\u002F\u002Fgithub.com\u002FAppleMacOS",{"avatar_url":247,"name":248,"url":249},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F53694134?v=4","BillZhucn","https:\u002F\u002Fgithub.com\u002FBillZhucn",{"avatar_url":251,"name":252,"url":253},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25210740?v=4","BratishkaErik","https:\u002F\u002Fgithub.com\u002FBratishkaErik",{"avatar_url":255,"name":256,"url":257},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F666399?v=4","Brycey92","https:\u002F\u002Fgithub.com\u002FBrycey92",{"avatar_url":259,"name":260,"url":261},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15604635?v=4","Grand-Trizmo","https:\u002F\u002Fgithub.com\u002FGrand-Trizmo",{"avatar_url":263,"name":264,"url":265},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F298323994?v=4","DomasUrbonas","https:\u002F\u002Fgithub.com\u002FDomasUrbonas",{"avatar_url":267,"name":268,"url":269},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F67909995?v=4","Jumala9163","https:\u002F\u002Fgithub.com\u002FJumala9163",{"avatar_url":271,"name":272,"url":273},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F61569423?v=4","Dreeam-qwq","https:\u002F\u002Fgithub.com\u002FDreeam-qwq",{"avatar_url":275,"name":276,"url":277},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54564907?v=4","kuriyamatokisaki","https:\u002F\u002Fgithub.com\u002Fkuriyamatokisaki",{"avatar_url":279,"name":280,"url":281},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F78485017?v=4","Hasan-Kose","https:\u002F\u002Fgithub.com\u002FHasan-Kose",{"avatar_url":283,"name":284,"url":285},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F30180886?v=4","itaquito","https:\u002F\u002Fgithub.com\u002Fitaquito",{"avatar_url":287,"name":288,"url":289},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6867251?v=4","Binero","https:\u002F\u002Fgithub.com\u002FBinero",{"avatar_url":291,"name":292,"url":293},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F67713846?v=4","Jsinco","https:\u002F\u002Fgithub.com\u002FJsinco",{"avatar_url":295,"name":296,"url":297},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6276648?v=4","jyhsu2000","https:\u002F\u002Fgithub.com\u002Fjyhsu2000",{"avatar_url":299,"name":300,"url":301},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F393806?v=4","KairuByte","https:\u002F\u002Fgithub.com\u002FKairuByte",{"avatar_url":303,"name":304,"url":305},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12635144?v=4","kalebmmm","https:\u002F\u002Fgithub.com\u002Fkalebmmm",{"avatar_url":307,"name":308,"url":309},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F32914725?v=4","Leolebleis","https:\u002F\u002Fgithub.com\u002FLeolebleis",{"avatar_url":311,"name":312,"url":313},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F24844231?v=4","MAXOUXAX","https:\u002F\u002Fgithub.com\u002FMAXOUXAX",{"avatar_url":315,"name":316,"url":317},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F17986972?v=4","MastoryMd5","https:\u002F\u002Fgithub.com\u002FMastoryMd5",{"avatar_url":319,"name":320,"url":321},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9787438?v=4","OLEGSHA","https:\u002F\u002Fgithub.com\u002FOLEGSHA",{"avatar_url":323,"name":324,"url":325},"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F136602369?v=4","OutHimic","https:\u002F\u002Fgithub.com\u002FOutHimic",[],1481218451,[329,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405],{"dependency_type":330,"plugin_id":331,"version_range":332},"optional","AAC","",{"dependency_type":330,"plugin_id":334,"version_range":332},"ASkyBlock",{"dependency_type":330,"plugin_id":336,"version_range":332},"AdvancedAchievements",{"dependency_type":330,"plugin_id":338,"version_range":332},"AdvancedBan",{"dependency_type":330,"plugin_id":340,"version_range":332},"AuthMe",{"dependency_type":330,"plugin_id":342,"version_range":332},"BanManager",{"dependency_type":330,"plugin_id":344,"version_range":332},"BentoBox",{"dependency_type":330,"plugin_id":346,"version_range":332},"CoreProtect",{"dependency_type":330,"plugin_id":348,"version_range":332},"DiscordSRV",{"dependency_type":330,"plugin_id":350,"version_range":332},"DKCoins",{"dependency_type":330,"plugin_id":352,"version_range":332},"DKBans",{"dependency_type":330,"plugin_id":354,"version_range":332},"Essentials",{"dependency_type":330,"plugin_id":356,"version_range":332},"CMI",{"dependency_type":330,"plugin_id":358,"version_range":332},"Factions",{"dependency_type":330,"plugin_id":360,"version_range":332},"FastLogin",{"dependency_type":330,"plugin_id":362,"version_range":332},"GriefPrevention",{"dependency_type":330,"plugin_id":364,"version_range":332},"GriefPreventionPlus",{"dependency_type":330,"plugin_id":366,"version_range":332},"Jobs",{"dependency_type":330,"plugin_id":368,"version_range":332},"Kingdoms",{"dependency_type":330,"plugin_id":370,"version_range":332},"LiteBans",{"dependency_type":330,"plugin_id":372,"version_range":332},"LogBlock",{"dependency_type":330,"plugin_id":374,"version_range":332},"LuckPerms",{"dependency_type":330,"plugin_id":376,"version_range":332},"MarriageMaster",{"dependency_type":330,"plugin_id":378,"version_range":332},"mcMMO",{"dependency_type":330,"plugin_id":380,"version_range":332},"MinigamesLib",{"dependency_type":330,"plugin_id":382,"version_range":332},"MyPet",{"dependency_type":330,"plugin_id":384,"version_range":332},"nuVotifier",{"dependency_type":330,"plugin_id":386,"version_range":332},"PlaceholderAPI",{"dependency_type":330,"plugin_id":388,"version_range":332},"ProtectionStones",{"dependency_type":330,"plugin_id":390,"version_range":332},"ProtocolSupport",{"dependency_type":330,"plugin_id":392,"version_range":332},"Quests",{"dependency_type":330,"plugin_id":394,"version_range":332},"React",{"dependency_type":330,"plugin_id":396,"version_range":332},"RedProtect",{"dependency_type":330,"plugin_id":398,"version_range":332},"SuperbVote",{"dependency_type":330,"plugin_id":400,"version_range":332},"Towny",{"dependency_type":330,"plugin_id":402,"version_range":332},"Vault",{"dependency_type":330,"plugin_id":404,"version_range":332},"ViaVersion",{"dependency_type":330,"plugin_id":406,"version_range":332},"Votifier","![Player Analytics](https:\u002F\u002Fraw.githubusercontent.com\u002Fplan-player-analytics\u002Fdrawio-diagrams-storage\u002Fmaster\u002Fimage\u002Fheader\u002Fmain-header-Plan.jpg)\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Quality Gate](https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=com.djrapitops%3APlan&metric=alert_status)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=com.djrapitops%3APlan)  \n![Java](https:\u002F\u002Fcustom-icon-badges.demolab.com\u002Fbadge\u002F⮞-red?logo=java-white)\n[![Lines of Code](https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=com.djrapitops%3APlan&metric=ncloc)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=com.djrapitops%3APlan)\n[![Code coverage](https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=com.djrapitops%3APlan&metric=coverage)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=com.djrapitops%3APlan)  \n![React](https:\u002F\u002Fcustom-icon-badges.demolab.com\u002Fbadge\u002F⮞-blue?logo=react-white)\n[![Lines of Code](https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=plan-player-analytics_Plan&metric=ncloc)](https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Foverall?id=plan-player-analytics_Plan)\n\n[Documentation & Tutorials](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki) | [Releases](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases) | [DEV builds](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Factions\u002Fworkflows\u002Fci.yml?query=branch%3Amaster) | [Issues & Suggestions](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fissues)\n\nPlayer Analytics is a fully-fledged solution for the analytics needs of your Minecraft server. A built-in webserver displays insights into different aspects of the server such as Online activity, Playerbase, and how these change over time.\n\nPlan supports multiple different platforms and versions; Spigot, Paper, Fabric, Sponge, SpongeForge, Bungeecord, Velocity, Folia & all derivatives - One jar for all platforms.\n\n- [Version 5 Release trailer on Youtube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=BS_Ti9zkoRc)\n\n## API\n\n- [Javadocs](https:\u002F\u002Fplan-player-analytics.github.io\u002FPlan\u002F)\n- [API documentation](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FAPIv5)\n\n[![](https:\u002F\u002Fjitpack.io\u002Fv\u002Fplan-player-analytics\u002FPlan.svg)](https:\u002F\u002Fjitpack.io\u002F#plan-player-analytics\u002FPlan)\n\n```xml\n\u003Crepository>\n    \u003Cid>jitpack\u003C\u002Fid>\n    \u003Curl>https:\u002F\u002Fjitpack.io\u003C\u002Furl>\n\u003C\u002Frepository>\n\n\u003Cdependency>\n    \u003CgroupId>com.github.plan-player-analytics\u003C\u002FgroupId>\n    \u003CartifactId>Plan\u003C\u002FartifactId>\n    \u003Cversion>{jitpack version}\u003C\u002Fversion>\n    \u003Cscope>provided\u003C\u002Fscope>\n\u003C\u002Fdependency>\n```\n\n## Building\n\nYou can build the project by running the following in the repository root:\n```\ncd Plan\n.\u002Fgradlew build\n```\n\n- [More information about setting up the project](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FProject-Setup)\n\n## Used Libraries\n\n- **[SBAdmin 2 Template](https:\u002F\u002Fgithub.com\u002FBlackrockDigital\u002Fstartbootstrap-sb-admin-2)** | [MIT License](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n- **[Bootstrap](https:\u002F\u002Fgetbootstrap.com\u002F)** | [MIT License](https:\u002F\u002Fv4-alpha.getbootstrap.com\u002Fabout\u002Flicense\u002F)\n- **[HighCharts](https:\u002F\u002Fwww.highcharts.com\u002F)** | [Free for non-commercial](https:\u002F\u002Fwww.highcharts.com\u002Fproducts\u002Fhighcharts\u002F#non-commercial)\n- **[FullCalendar](https:\u002F\u002Fgithub.com\u002Ffullcalendar\u002Ffullcalendar)** | [MIT License](https:\u002F\u002Fdatatables.net\u002Flicense\u002Fmit)\n- **[Font Awesome Icons](http:\u002F\u002Ffontawesome.io\u002Ficons\u002F)** | [SIL Open Font License](http:\u002F\u002Fscripts.sil.org\u002Fcms\u002Fscripts\u002Fpage.php?site_id=nrsi&id=OFL)\n- **[MaxMind GeoIP2 Country](https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-country-database)** | [MaxMind End User License Agreement (EULA)](https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fend-user-license-agreement)\n- **[Dagger](https:\u002F\u002Fdagger.dev\u002F)** | [Apache-2.0 License](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fdagger\u002Fblob\u002Fmaster\u002FLICENSE.txt)\n- **[DependencyDownload](https:\u002F\u002Fgithub.com\u002FVankka\u002FDependencyDownload)** | [MIT License](https:\u002F\u002Fgithub.com\u002FVankka\u002FDependencyDownload\u002Fblob\u002Fmain\u002FLICENSE)\n\n## License\n\nPlayer Analytics is licensed under LGPL-3 (GNU Lesser General Public License)\n\n- [License](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fblob\u002Fmaster\u002FLICENSE)\n","medium",0,[],"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48692242?v=4","plan-player-analytics\u002FPlan--plan-bukkit",{"id":414,"name":415,"url":416},"LGPL-3.0","GNU Lesser General Public License v3.0","https:\u002F\u002Fspdx.org\u002Flicenses\u002FLGPL-3.0.html",null,"Plan\u002Fbukkit\u002Fsrc\u002Fmain\u002Fresources\u002Fplugin.yml","Plan","nkx","https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan",1039,"Player Analytics plugin for Minecraft Server platforms - View player activity of your server with ease. :calendar:",[420,425],"nkmot",1792526826,[428,445,462,478,494,510,526,542,558,574,590,606,618,634,650,666,682,698,714,730,744,758,772,786,800,814,828,842,856,870],{"changelog":429,"downloads":409,"files":430,"name":442,"prerelease":433,"published_at":443,"version":444},"# 5.9 DEV build 3705\r\n\r\nThis dev build contains a lot of new features, fabric 26.3 support as well as bugfixes.\r\n\r\nSpecial thanks to **AnttiMK**, **DomasUrbonas** & **RomainCabaret** for contributions to this update\r\n\r\n# Breaking changes: Java 17 or newer now required\r\n\r\nPlan now requires Java 17 or newer. \r\n\r\nAPI is still compiled with Java 8, but that will also change to 17 in Plan version 5.10.\r\n\r\n# Change log\r\n\r\n## Fabric 26.3\r\n\r\n- DomasUrbonas added support for fabric 26.3, older versions are no longer supported.\r\n\r\n## Data gathering\r\n\r\n### New data: Minecraft statistics\r\n\r\nPlan will now gather all Minecraft statistics from the player json files found in statistics folder on the game servers. They are displayed on Player, Server (sum of players) and Network pages (sum of players \u002F server or sum of all players)\r\n\r\n### Kill tracking additions\r\n\r\n- RomanCabaret implemented support for TNT explosion kills on Bukkit, Fabric and Sponge when ignited directly by a player\r\n\r\n### Bugfixes\r\n\r\n- Fixed Shutdown session save sometimes storing sessions twice if server was shutdown via keyboard interrupt\r\n- AnttiMK Fixed Folia gathering performance data 20 times more frequently than intended.\r\n- Fixed Exception on Folia when setHealth(0) was called that killed the player.\r\n- Fixed setHealth(0) recording the death as a kill for the last player that damaged the player\r\n\r\n## Database\r\n\r\n- Fixed database transaction queue size tracking not working correctly.\r\n- Reduced memory impact of transaction queue\r\n\r\n## Webserver\r\n\r\n- Webserver was migrated to Jetty 12 which requires Java 17. This added support for asynchronous response resolution which means more requests can be processed without waiting for previous requests to complete.\r\n\r\n## DataExtensions\r\n\r\n### DataExtensions Graph API\r\n\r\n- New API allows DataExtensions to add their own Line graph data to the website. Documented here: https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FDataExtension-API-Graphs\r\n- Vault now graphs player balance over time\r\n- BuyCraft now graphs cumulative income over time.\r\n\r\n### DataExtensions Statistics API\r\n\r\n- New API allows DataExtensions to add numeric data in table format more easily\r\n- Jobs now lists job levels as Statistics\r\n- mcMMO now lists skill levels as Statistics\r\n\r\n### Other\r\n\r\n- Plugin data cards can now be collapsed for easier viewing\r\n- Different types of data inside plugin cards now layout slightly better.",[431,437],{"filename":432,"primary":433,"sha256":434,"size":435,"url":436},"Plan-5.9-build-3705.jar",true,"75cc7109e146b289320674fb56da395374d979ea7badddb09830231c7d37603a",18492202,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.9.3705\u002FPlan-5.9-build-3705.jar",{"filename":438,"primary":433,"sha256":439,"size":440,"url":441},"PlanFabric-5.9-build-3705.jar","1cac0e6f200359274b9ab5bfe1ecc8ed35837a6067b5fd95bb1feed1c77f45f4",18068801,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.9.3705\u002FPlanFabric-5.9-build-3705.jar","5.9 DEV build 3705",1792229594,"5.9.3705",{"changelog":446,"downloads":409,"files":447,"name":458,"prerelease":459,"published_at":460,"version":461},"# 5.8 build 3638\r\n\r\nThis update brings some improvements and bugfixes. **Next update 5.9 will require Java 17 or newer** so this is released before that to get those unable to update as many fixes as possible. bStats is showing Java versions \u003C17 at 0.6% or 35\u002F5300 so consider updating your Java version if you're able.\r\n\r\nSpecial thanks to **Zoriot** and **Minecraft0122** for contributions to this update.\r\n\r\n# Change log\r\n\r\n## Database\r\n\r\n- Possibly fixed deadlock related to RemoveDuplicateUserInfoTransaction\r\n\r\n## Webserver\r\n\r\n- Fixed minor vulnerability where path traversal bypass allowed anyone to read .json files on the system with a tab \\t or newline \\n character in the file path. This is minor because filesystems often block using those characters in filenames, they are not common with .json files, and attacker would need to know the relative path to the file.\r\n\r\n## Extensions\r\n\r\n- Extension metadata is now cached in memory to avoid redundant database updates. Thanks to Minecraft0122 for work on this.\r\n- Fixed LuckPerms related exception after Plan was reloaded\r\n\r\n## Other\r\n\r\n- Zoriot added fabric-permissions-api as an optional dependency to fabric publish ",[448,453],{"filename":449,"primary":433,"sha256":450,"size":451,"url":452},"Plan-5.8-build-3638.jar","0804b0053205f807c85cd3c4f59f07a54afb81c6ff563dd24915e3a955612c8c",18294836,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3638\u002FPlan-5.8-build-3638.jar",{"filename":454,"primary":433,"sha256":455,"size":456,"url":457},"PlanFabric-5.8-build-3638.jar","da8556aa7b074b7c902c7a5d81000396402d05a614f359d8c3169ce7051a87d6",17874061,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3638\u002FPlanFabric-5.8-build-3638.jar","5.8 build 3638",false,1788596506,"5.8.3638",{"changelog":463,"downloads":409,"files":464,"name":475,"prerelease":459,"published_at":476,"version":477},"# 5.8 build 3605\r\n\r\nSpecial thanks to **Zoriot**, **Minecraft0122** and **OutHimic** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Bugfixes\r\n\r\n- Fixed X-Forwarded-For header being read wrong in multi-jump reverse-proxies\r\n- Fixed SQL syntax error related to database clean task cleaning plugin data\r\n- Fixed Ping graph not displaying in Server Performance graph\r\n- Possibly fixed 'Today' and 'Yesterday' showing wrong in frontend\r\n\r\n## Locale\r\n\r\n- OutHimic and Minecraft0122 updated CN and ZH_TW locales\r\n\r\n## Other\r\n\r\n- Zoriot fixed curseforge release pipeline",[465,470],{"filename":466,"primary":433,"sha256":467,"size":468,"url":469},"Plan-5.8-build-3605.jar","f61cb806910dd7d2aceb2a37d53eb5ec4c6045f8a7531206fe731ec0ef9a105c",18278250,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3605\u002FPlan-5.8-build-3605.jar",{"filename":471,"primary":433,"sha256":472,"size":473,"url":474},"PlanFabric-5.8-build-3605.jar","12979b0bb6055d2a35917e6c1895ad413342a2b00b9f8fc5a6675d8599098642",17857805,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3605\u002FPlanFabric-5.8-build-3605.jar","5.8 build 3605",1786267350,"5.8.3605",{"changelog":479,"downloads":409,"files":480,"name":491,"prerelease":459,"published_at":492,"version":493},"# 5.8 build 3579\r\n\r\nThis is a hotfix for a database clean task error\r\n\r\nPrevious change log \r\nhttps:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Ftag\u002F5.8.3577\r\n\r\nMigration guide from 5.7 to 5.8 \r\nhttps:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FMigration-guide-from-Version-5.7-to-5.8\r\n\r\n# Change log\r\n\r\n## Bugfixes\r\n\r\n- Fixed database clean task error when there were no plugins to clean",[481,486],{"filename":482,"primary":433,"sha256":483,"size":484,"url":485},"Plan-5.8-build-3579.jar","70eec6f34a1b7092559a0634b7f4f107d43b047594c6957c022b001687302182",18272156,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3579\u002FPlan-5.8-build-3579.jar",{"filename":487,"primary":433,"sha256":488,"size":489,"url":490},"PlanFabric-5.8-build-3579.jar","e2935a900bf423f308679cdb71ecf441b29c96b4baa1a6d0762fb2da7aa553c8",17851690,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3579\u002FPlanFabric-5.8-build-3579.jar","5.8 build 3579",1784554999,"5.8.3579",{"changelog":495,"downloads":409,"files":496,"name":507,"prerelease":459,"published_at":508,"version":509},"# 5.8 build 3577\r\n\r\nThis update brings new features, refreshes to old features, as well as a big bunch of bugfixes and improvements.\r\n\r\nQuick rundown of new big things includes MSPT Jitter, overhauled server performance tab with new performance metrics, overhauled session tabs, date pickers and partial dataload via datapoint endpoint.\r\n\r\nFabric was also updated to support minecraft 26.2 and above.\r\n\r\nSpecial thanks to **AnttiMK & Minecraft0122** for contributions to this update\r\n\r\n# Migration from 5.7\r\n\r\n**No manual steps are required.** Older versions may fail a scheduled task due to plan_settings table removal, but that error can be safely ignored. [Migration guide to 5.8](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FMigration-guide-from-Version-5.7-to-5.8)\r\n\r\n# Change log\r\n\r\n## Data gathering\r\n\r\n### MSPT Jitter (new metric)\r\n\r\nMSPT Jitter (Average, Max) is new gathered performance metric. - Jitter is calculated from difference between subsequent tick speeds (milliseconds per tick) Example: MSPT of 35, 36, 34, 80, 37 -> Jitter = 1, 2, 46, 43 -> Average=23, Max=46. Average and maximum for each minute is recorded.\r\n\r\nHigh jitter indicates that tick speed varies greatly between ticks, and can be used along existing MSPT metrics to further assess how high load affects gameplay.\r\n\r\n![mspt jitter](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0f8a4ecd-fa81-4d1a-9d06-bb4bed140623)\r\n\r\n## Database (Breaking changes)\r\n\r\n- Removed plan_settings table (breaking) - This table facilitated serverConfiguration folder on Networks, which has now been removed. - Old versions will error upon trying to store settings. If you need to use older versions those errors can be safely ignored.\r\n- Added plan_incomplete_registration table - This table now allows the last step of \u002Fplan register to work on any server, when previously it only worked on the server Plan webserver was running on.\r\n\r\n## Website\r\n\r\n### New performance metrics\r\n\r\nPerformance tab was rewritten to include more interesting metrics that reflect how players and chunks impact server load. The impact of players on Entities and Chunks was also taken into account since some servers unload all chunks without players present.\r\n\r\nThere is now a help button available on the Performance as Numbers card to explain each metric.\r\n\r\n![metrics](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F058b6bc6-269d-4b53-b83a-be3f2222baaa)\r\n\r\n### Updated Server Performance graph\r\n\r\nServer performance graph is now less jumpy and you can select any of the data you want to see rather than just some, using either presets on the left, or the labels at the bottom.\r\n\r\n![performance graph](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa2697c42-d354-4578-a933-006d49482e36)\r\n\r\n### New sessions tab \r\n\r\nSessions tab was rewritten on all pages (Network, Server, Player) and it now gets you up to 10k sessions, which can be searched further and exported as CSV. You can choose a date range using the session calendar or the new date picker component.\r\n\r\nAll of the data on session page will reflect the selected dates. All ongoing sessions within selected date range are shown, even if they didn't start within the date range, but before it.\r\n\r\nOn the Export website this feature is not available and defaults to most recent data (Similar to before)\r\n![sessions-select-date](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa3c83cbb-d7c7-4ae5-b97b-f4fa37f648df)\r\n![sessions-selected-date](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0829f493-fcb0-49db-ac64-cf4af53a41b3)\r\n\r\n### Other\r\n\r\n- The new date picker component is in use anywhere you can input dates to a text field (Query page)\r\n- Servers overview (Network) now loads a lot faster (It only gets the data for the server you're looking at)\r\n- Server overview, Network overview, Online Activity overview, Sessions and Performance tabs all got their number tables changed to get individual values independently from each other.\r\n\r\n### Bugfixes\r\n\r\n- Fixed some IPv6 setups being unable to login\r\n- Fixed Average MSPT not showing if MSPT was under 1ms\r\n- Fixed Hour by Hour showing Daily new players and not hourly\r\n- Fixed date saying 'Today' if it was in the future\r\n- Fixed Alternative_IP.Address changes not being reflected in Javascript due to Cache policy\r\n- Fixed boolean Extension values causing 'variable t not found' error.\r\n- Fixed component Extension values erroring\r\n- Fixed redirects on reverse-proxy setups with subdirectory addresses\r\n- Fixed value not defined error on Playerstable when showing time or date from plugin data on player table\r\n- Fixed stacked players online graph not stacking\r\n- Fixed Players Online tooltip going under table headers\r\n\r\n## Fabric 26.2\r\n\r\n- Updated to Fabric 26.2 which required no API changes.\r\n- AnttiMK implemented Fabric 26.1 support. 1.21.9-1.21.11 are no longer supported by this version.\r\n\r\n## Settings\r\n\r\n- serverConfiguration folder and related config sync features have been removed on Networks.\r\n- Display_options.Sessions.Show_on_page setting has been removed\r\n- Changed default value for `Time.Thresholds.Remove_time_series_after` to 3650 on Bungee\u002FVelocity (Default is not automatically replaced)\r\n\r\n## Locale\r\n\r\n- CN locale updated by Minecraft0122\r\n\r\n## Extensions\r\n\r\n- Fixed error related to Folia and CMI extension\r\n- Fixed error related to deleting disabled extension data\r\n\r\n## Placeholders\r\n\r\n- Fixed error on top list placeholders for playtime or kill count\r\n\r\n## Other\r\n\r\n- Added database transaction queue information to \u002Fplan info command\r\n- Fixed deadlock related to ban status update task\r\n- Fixed \u002Fplan db uninstalled printing \"success\" before completing properly\r\n- AnttiMK updated Java compile options so that test code can use features from newer JDKs\r\n- Optimized Playerbase development graph generation query\r\n- Optimized Players online peak query\r\n- Possibly fixed TPSTableIdPatch failing on SQLite due to table lock\r\n\r\n\r\n## Webserver: \u002Fv1\u002Fdatapoint\r\n\r\nTo implement dynamic date based filtering, new endpoint \u002Fv1\u002Fdatapoint was implemented. It makes implementing new single-value metrics a lot easier, since it's possible to produce tables of metrics by just defining a column 'time slot' and each row as a metric - you can already see impacts with the new metrics that were already added. This endpoint will be further expanded upon in the future.\r\n\r\nThis endpoint takes in after\u002FafterMillisAgo, before\u002FbeforeMillisAgo and server or player parameters. server parameter can take in multiple server uuids comma separated. The endpoint returns 200, 302 (cached by browser) or 400 (invalid type). Please use ETag for caching if calling this endpoint from program code.\r\n\r\nExample \u002Fv1\u002Fdatapoint?type=PLAYTIME&afterMillisAgo=86400000&server=uuid will get you playtime for last 24h on a server.\r\n\r\nAll the supported datapoint types can be found from https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fblob\u002Fmaster\u002FPlan\u002Fcommon\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fdjrapitops\u002Fplan\u002Fdelivery\u002Frendering\u002Fjson\u002Fdatapoint\u002FDatapointType.java \r\n\r\n### Deprecated endpoints\r\n\r\nFollowing endpoints are deprecated in favor of the new \u002Fv1\u002Fdatapoint endpoint:\r\n- \u002Fv1\u002FserverOverview\r\n- \u002Fv1\u002Fnetwork\u002Foverview\r\n- \u002Fv1\u002Fnetwork\u002Fservers\r\n- \u002Fv1\u002FonlineOverview\r\n- \u002Fv1\u002FsessionOverview\r\n- \u002Fv1\u002FperformanceOverview\r\n- \u002Fv1\u002Fnetwork\u002FperformanceOverview\r\n\r\nAccessing the deprecated endpoints will print a warning on the console (Due to performance impact).\r\n\r\n### New Web permissions\r\n\r\n\u002Fv1\u002Fdatapoint uses new web permissions data.player, data.server, data.network (and further subdivisions) to control visiblity. These permissions are granted automatically based on existing permissions:\r\n\r\n- access.network -> group is given data.network\r\n- access.server -> group is given data.server\r\n- access.player -> group is given data.player\r\n\r\n\u002Fv1\u002Fdatapoint will also check for access.player and access.player.self if looking for player specific data.",[497,502],{"filename":498,"primary":433,"sha256":499,"size":500,"url":501},"Plan-5.8-build-3577.jar","0600ca790b36322a1e3427f615ef3c4e89fd6ea2d2915c93f125071a9eefe7db",18272003,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3577\u002FPlan-5.8-build-3577.jar",{"filename":503,"primary":433,"sha256":504,"size":505,"url":506},"PlanFabric-5.8-build-3577.jar","6e774b11c977da765e03bb2a4313f1ab5a6e4b79128834e2cf4c1a0da160db60",17851542,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.8.3577\u002FPlanFabric-5.8-build-3577.jar","5.8 build 3577",1784460289,"5.8.3577",{"changelog":511,"downloads":409,"files":512,"name":523,"prerelease":433,"published_at":524,"version":525},"# 5.7 DEV build 3558\r\n\r\nThis dev release introduces MSPT Jitter, performance graph rewrite, MC version 26.2 on fabric, bugfixes and improvements. \r\n\r\nSpecial thanks to **AnttiMK & Minecraft0122** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### MSPT Jitter\r\n\r\nAdded new metric called MSPT Jitter which displays the average and maximum difference between subsequent tick speeds (Milliseconds Per Tick). Example: MSPT of 35, 36, 34, 80, 37 -> Jitter = 1, 2, 46, 43 -> Average=23, Max=46.\r\n\r\n\u003Cimg width=\"417\" height=\"99\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0f8a4ecd-fa81-4d1a-9d06-bb4bed140623\" \u002F>\r\n\r\n### New performance metrics\r\n\r\n\u003Cimg width=\"1654\" height=\"1364\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F058b6bc6-269d-4b53-b83a-be3f2222baaa\" \u002F>\r\n\r\nPerformance tab was rewritten to include more interesting metrics that reflect how players and chunks impact server load. The impact of players on Entities and Chunks was also taken into account since some servers unload all chunks without players present.\r\n\r\nThere is now a help button available on the Performance as Numbers card to explain each metric.\r\n\r\n### Updated Server Performance graph\r\n\r\n\u003Cimg width=\"1655\" height=\"531\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa2697c42-d354-4578-a933-006d49482e36\" \u002F>\r\n\r\nServer performance graph is now less jumpy and you can select any of the data you want to see, using either presets on the left, or the labels at the bottom.\r\n\r\nUnder the hood the graph no longer renders 6 different HighCharts graphs, instead changing a single instance whenever you pick data. This also means the graph date-range no longer jumps in annoying way when you switch what you are viewing.\r\n\r\n### New sessions tab \r\n\r\nSessions tab was rewritten on all pages (Network, Server, Player) and it now gets you up to 10k sessions, which can be searched further and exported as CSV. You can choose a date range using the session calendar or the new date picker component.\r\n\r\nAll of the data on session page will reflect the selected dates. All ongoing sessions within selected date range are shown, even if they didn't start within the date range, but before it.\r\n\r\n\u003Cimg width=\"1901\" height=\"949\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa3c83cbb-d7c7-4ae5-b97b-f4fa37f648df\" \u002F>\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0829f493-fcb0-49db-ac64-cf4af53a41b3\" \u002F>\r\n\r\nOn the Export website this feature is not available and defaults to most recent data (Similar to before)\r\n\r\n### Other\r\n\r\nThe new date picker component is in use anywhere you can input dates to a text field\r\n\r\n\u003Cimg width=\"1920\" height=\"954\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F92c6b8e5-0ef3-423a-a4bc-03004ce98c50\" \u002F>\r\n\r\nAlso\r\n- Servers overview (Network) now loads a lot faster (It only gets the data for the server you're looking at)\r\n- Server overview, Network overview, Online Acctivity overview, Sessions and Performance tabs all got their number tables changed to get individual values independently from each other. This speeds up loading of data since you no longer need to wait for the slowest query to see all data.\r\n\r\n### Bugfixes\r\n\r\n- Fixed some IPv6 setups being unable to login\r\n- Fixed Average MSPT not showing if MSPT was under 1ms\r\n- Fixed Hour by Hour showing Daily new players and not hourly\r\n- Fixed date saying 'Today' if it was in the future\r\n- Fixed Alternative_IP.Address changes not being reflected in Javascript due to Cache policy\r\n- Fixed boolean Extension values causing 'variable t not found' error.\r\n- Fixed component Extension values erroring\r\n- Fixed redirects on reverse-proxy setups with subdirectory addresses\r\n- Fixed value not defined error on Playerstable when showing time or date from plugin data on player table\r\n- Fixed stacked players online graph not stacking\r\n- Fixed Players Online tooltip going under table headers\r\n\r\n## \u002Fv1\u002Fdatapoint\r\n\r\nTo implement dynamic date based filtering seen above, new endpoint \u002Fv1\u002Fdatapoint was implemented. It makes implementing new single-value metrics a lot easier, since it's possible to produce tables of metrics by just defining a column 'time slot' and each row as a metric - you can already see impacts with the new metrics that were already added. This endpoint will be further expanded upon in the future.\r\n\r\nThis endpoint takes in after\u002FafterMillisAgo, before\u002FbeforeMillisAgo and server or player parameters. server parameter can take in multiple server uuids comma separated. The endpoint returns 200, 302 (cached by browser) or 400 (invalid type). Please use ETag for caching if calling this endpoint from program code.\r\n\r\nExample \u002Fv1\u002Fdatapoint?type=PLAYTIME&afterMillisAgo=86400000&server=uuid will get you playtime for last 24h on a server.\r\n\r\nAll the supported datapoint types can be found from https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fblob\u002Fmaster\u002FPlan\u002Fcommon\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fdjrapitops\u002Fplan\u002Fdelivery\u002Frendering\u002Fjson\u002Fdatapoint\u002FDatapointType.java \r\n\r\n### Deprecated endpoints\r\n\r\nFollowing endpoints are deprecated in favor of the new \u002Fv1\u002Fdatapoint endpoint:\r\n- \u002Fv1\u002FserverOverview\r\n- \u002Fv1\u002Fnetwork\u002Foverview\r\n- \u002Fv1\u002Fnetwork\u002Fservers\r\n- \u002Fv1\u002FonlineOverview\r\n- \u002Fv1\u002FsessionOverview\r\n- \u002Fv1\u002FperformanceOverview\r\n- \u002Fv1\u002Fnetwork\u002FperformanceOverview\r\n\r\nAccessing the deprecated endpoints will print a warning on the console (Due to performance impact).\r\n\r\n### New Web permissions\r\n\r\nThis will be expanded upon in the future. This endpoint uses data.player, data.server, data.network (and further subdivisions) to control visiblity. These permissions are granted automatically based on existing permissions:\r\n\r\n- access.network -> group is given data.network\r\n- access.server -> group is given data.server\r\n- access.player -> group is given data.player\r\n\r\n\u002Fv1\u002Fdatapoint will also check for access.player and access.player.self if looking for player specific data.\r\n\r\n## Fabric 26.2\r\n\r\n- Updated to Fabric 26.2 which required no API changes.\r\n- AnttiMK implemented Fabric 26.1 support. 1.21.9-1.21.11 are no longer supported by this version.\r\n\r\n## Config\r\n\r\n- Display_options.Sessions.Show_on_page setting has been removed\r\n- Changed default value for `Time.Thresholds.Remove_time_series_after` to 3650 on Bungee\u002FVelocity (Default is not automatically replaced)\r\n\r\n## Locale\r\n\r\n- CN locale updated by Minecraft0122\r\n\r\n## Extensions\r\n\r\n- Fixed error related to Folia and CMI extension\r\n\r\n## Other\r\n\r\n- Added database transaction queue information to \u002Fplan info command\r\n- Fixed deadlock related to ban status update task\r\n- Fixed \u002Fplan db uninstalled printing \"success\" before completing properly\r\n- AnttiMK updated Java compile options so that test code can use features from newer JDKs\r\n- Optimized Playerbase development graph generation query\r\n- Optimized Players online peak query\r\n- Possibly fixed TPSTableIdPatch failing on SQLite due to table lock",[513,518],{"filename":514,"primary":433,"sha256":515,"size":516,"url":517},"Plan-5.7-dev-build-3558.jar","1b670d2cd0c6a38cf1fa633c119f968240772444b7833edb8f1a0caa16c57927",18253398,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3558\u002FPlan-5.7-dev-build-3558.jar",{"filename":519,"primary":433,"sha256":520,"size":521,"url":522},"PlanFabric-5.7-dev-build-3558.jar","8f2ee30a307a6c2f09ec531cc58e6082efdf1621b689732aa49ca7ab1447633f",17833277,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3558\u002FPlanFabric-5.7-dev-build-3558.jar","5.7 DEV build 3558",1782640794,"5.7.3558",{"changelog":527,"downloads":409,"files":528,"name":539,"prerelease":433,"published_at":540,"version":541},"# 5.7 DEV build 3506\r\n\r\nThis dev release introduces new performance metrics, new sessions tab, MC version 26.1 on fabric, and lots of bugfixes and improvements.\r\n\r\nSpecial thanks to **AnttiMK & Minecraft0122** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### New performance metrics\r\n\r\n\u003Cimg width=\"1654\" height=\"1364\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F058b6bc6-269d-4b53-b83a-be3f2222baaa\" \u002F>\r\n\r\nPerformance tab was rewritten to include more interesting metrics that reflect how players and chunks impact server load. The impact of players on Entities and Chunks was also taken into account since some servers unload all chunks without players present.\r\n\r\n### New sessions tab \r\n\r\nSessions tab was rewritten on all pages (Network, Server, Player) and it now gets you up to 10k sessions, which can be searched further and exported as CSV. You can choose a date range using the session calendar or the new date picker component.\r\n\r\nAll of the data on session page will reflect the selected dates. All ongoing sessions within selected date range are shown, even if they didn't start within the date range, but before it.\r\n\r\n\u003Cimg width=\"1901\" height=\"949\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa3c83cbb-d7c7-4ae5-b97b-f4fa37f648df\" \u002F>\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0829f493-fcb0-49db-ac64-cf4af53a41b3\" \u002F>\r\n\r\nOn the Export website this feature is not available and defaults to most recent data (Similar to before)\r\n\r\n### Other\r\n\r\nThe new date picker component is in use anywhere you can input dates to a text field\r\n\r\n\u003Cimg width=\"1920\" height=\"954\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F92c6b8e5-0ef3-423a-a4bc-03004ce98c50\" \u002F>\r\n\r\nAlso\r\n- Servers overview (Network) now loads a lot faster (It only gets the data for the server you're looking at)\r\n- Server overview, Network overview, Online Acctivity overview, Sessions and Performance tabs all got their number tables changed to get individual values independently from each other. This speeds up loading of data since you no longer need to wait for the slowest query to see all data.\r\n\r\n### Bugfixes\r\n\r\n- Fixed some IPv6 setups being unable to login\r\n- Fixed Average MSPT not showing if MSPT was under 1ms\r\n- Fixed Hour by Hour showing Daily new players and not hourly\r\n- Fixed date saying 'Today' if it was in the future\r\n- Fixed Alternative_IP.Address changes not being reflected in Javascript due to Cache policy\r\n- Fixed boolean Extension values causing 'variable t not found' error.\r\n- Fixed component Extension values erroring\r\n- Fixed redirects on reverse-proxy setups with subdirectory addresses\r\n- Fixed value not defined error on Playerstable when showing time or date from plugin data on player table\r\n\r\n## \u002Fv1\u002Fdatapoint\r\n\r\nTo implement dynamic date based filtering seen above, new endpoint \u002Fv1\u002Fdatapoint was implemented. It makes implementing new single-value metrics a lot easier, since it's possible to produce tables of metrics by just defining a column 'time slot' and each row as a metric - you can already see impacts with the new metrics that were already added. This endpoint will be further expanded upon in the future.\r\n\r\nThis endpoint takes in after\u002FafterMillisAgo, before\u002FbeforeMillisAgo and server or player parameters. server parameter can take in multiple server uuids comma separated. The endpoint returns 200, 302 (cached by browser) or 400 (invalid type). Please use ETag for caching if calling this endpoint from program code.\r\n\r\nExample \u002Fv1\u002Fdatapoint?type=PLAYTIME&afterMillisAgo=86400000&server=uuid will get you playtime for last 24h on a server.\r\n\r\nAll the supported datapoint types can be found from https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fblob\u002Fmaster\u002FPlan\u002Fcommon\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fdjrapitops\u002Fplan\u002Fdelivery\u002Frendering\u002Fjson\u002Fdatapoint\u002FDatapointType.java \r\n\r\n### Deprecated endpoints\r\n\r\nFollowing endpoints are deprecated in favor of the new \u002Fv1\u002Fdatapoint endpoint:\r\n- \u002Fv1\u002FserverOverview\r\n- \u002Fv1\u002Fnetwork\u002Foverview\r\n- \u002Fv1\u002Fnetwork\u002Fservers\r\n- \u002Fv1\u002FonlineOverview\r\n- \u002Fv1\u002FsessionOverview\r\n- \u002Fv1\u002FperformanceOverview\r\n- \u002Fv1\u002Fnetwork\u002FperformanceOverview\r\n\r\nAccessing the deprecated endpoints will print a warning on the console (Due to performance impact).\r\n\r\n### New Web permissions\r\n\r\nThis will be expanded upon in the future. This endpoint uses data.player, data.server, data.network (and further subdivisions) to control visiblity. These permissions are granted automatically based on existing permissions:\r\n\r\n- access.network -> group is given data.network\r\n- access.server -> group is given data.server\r\n- access.player -> group is given data.player\r\n\r\n\u002Fv1\u002Fdatapoint will also check for access.player and access.player.self if looking for player specific data.\r\n\r\n## Fabric 26.1\r\n\r\nAnttiMK implemented Fabric 26.1 support. 1.21.9-1.21.11 are no longer supported by this version.\r\n\r\n## Config\r\n\r\n- Display_options.Sessions.Show_on_page setting has been removed\r\n- Changed default value for `Time.Thresholds.Remove_time_series_after` to 3650 on Bungee\u002FVelocity (Default is not automatically replaced)\r\n\r\n## Locale\r\n\r\n- CN locale updated by Minecraft0122\r\n\r\n## Extensions\r\n\r\n- Fixed error related to Folia and CMI extension\r\n\r\n## Other\r\n\r\n- Added database transaction queue information to \u002Fplan info command\r\n- Fixed deadlock related to ban status update task\r\n- Fixed \u002Fplan db uninstalled printing \"success\" before completing properly\r\n- AnttiMK updated Java compile options so that test code can use features from newer JDKs\r\n- Optimized Playerbase development graph generation query\r\n- Optimized Players online peak query",[529,534],{"filename":530,"primary":433,"sha256":531,"size":532,"url":533},"Plan-5.7-dev-build-3506.jar","8ee27bfed0e08f9c04e5bb536b1415801f8ec5b4c1507643e7677e3c0bae3610",18155402,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3506\u002FPlan-5.7-dev-build-3506.jar",{"filename":535,"primary":433,"sha256":536,"size":537,"url":538},"PlanFabric-5.7-dev-build-3506.jar","76d873eb191f6fe794abefbf7ae73a6536c14fb1d255826704f473bdc915245c",17735792,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3506\u002FPlanFabric-5.7-dev-build-3506.jar","5.7 DEV build 3506",1781428620,"5.7.3506",{"changelog":543,"downloads":409,"files":544,"name":555,"prerelease":433,"published_at":556,"version":557},"# 5.7 DEV build 3341\r\n\r\nThis dev release includes support for mc version 26.1 on fabric, new sessions tab and bugfixes.\r\n\r\nSpecial thanks to **AnttiMK & Minecraft0122** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### New sessions tab \r\n\r\nSessions tab was rewritten on all pages (Network, Server, Player) and it now gets you up to 10k sessions, which can be searched further and exported as CSV. You can choose a date range using the session calendar or the new date picker component.\r\n\r\nAll of the data on session page will reflect the selected dates. All ongoing sessions within selected date range are shown, even if they didn't start within the date range, but before it.\r\n\r\n\u003Cimg width=\"1901\" height=\"949\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa3c83cbb-d7c7-4ae5-b97b-f4fa37f648df\" \u002F>\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0829f493-fcb0-49db-ac64-cf4af53a41b3\" \u002F>\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1a4d1dcf-a073-4f28-8e3f-9351e265b3dd\" \u002F>\r\n\r\nOn the Export website this feature is not available and defaults to most recent data (Similar to before)\r\n\r\n### New Web permissions\r\n\r\nTo implement dynamic date based filtering seen above, new endpoint \u002Fv1\u002Fdatapoint was implemented. This will be expanded upon in the future. This endpoint uses data.player, data.server, data.network (and further subdivisions) to control visiblity. These permissions are granted automatically based on existing permissions:\r\n\r\n- access.network -> group is given data.network\r\n- access.server -> group is given data.server\r\n- access.player -> group is given data.player\r\n\r\n\u002Fv1\u002Fdatapoint will also check for access.player and access.player.self if looking for player specific data.\r\n\r\n### Other\r\n\r\nThe new date picker component is in use anywhere you can input dates to a text field\r\n\r\n\u003Cimg width=\"1920\" height=\"954\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F92c6b8e5-0ef3-423a-a4bc-03004ce98c50\" \u002F>\r\n\r\n### Bugfixes\r\n\r\n- Fixed Average MSPT not showing if MSPT was under 1ms\r\n- Fixed date saying 'Today' if it was in the future\r\n- Fixed Alternative_IP.Address changes not being reflected in Javascript due to Cache policy\r\n- Fixed boolean Extension values causing 'variable t not found' error.\r\n\r\n## Fabric 26.1\r\n\r\nAnttiMK implemented Fabric 26.1 support. 1.21.9-1.21.11 are no longer supported by this version.\r\n\r\n## Config\r\n\r\n- Display_options.Sessions.Show_on_page setting has been removed\r\n- Changed default value for `Time.Thresholds.Remove_time_series_after` to 3650 on Bungee\u002FVelocity (Default is not automatically replaced)\r\n\r\n## Locale\r\n\r\n- CN locale updated by Minecraft0122",[545,550],{"filename":546,"primary":433,"sha256":547,"size":548,"url":549},"Plan-5.7-build-3341.jar","4493d365c581901f621553eec8430392e668cc1970cd64710a9105a7914860fa",18028470,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3341\u002FPlan-5.7-build-3341.jar",{"filename":551,"primary":433,"sha256":552,"size":553,"url":554},"PlanFabric-5.7-build-3341.jar","070f2ff6f81c08eef25e67932fee7c5d683160e4a6c983d6c180a1af83a9690b",17595858,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3341\u002FPlanFabric-5.7-build-3341.jar","5.7 DEV build 3341",1775230721,"5.7.3341",{"changelog":559,"downloads":409,"files":560,"name":571,"prerelease":459,"published_at":572,"version":573},"# 5.7 build 3306\r\n\r\nHotfix for config update bug in build 3288.\r\n\r\n# Change log\r\n\r\n- Fixed config resetting some values to default on reload\r\n- Fixed table sorting with alphabetical things\r\n- Minor dependency updates\r\n- CI pipelines for releasing to Ore, Hangar and Modrinth",[561,566],{"filename":562,"primary":433,"sha256":563,"size":564,"url":565},"Plan-5.7-build-3306.jar","483dba79990881fb7b6389706af107ec185ee2abfcd3d7f9b7457770681afcc1",17710640,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3306\u002FPlan-5.7-build-3306.jar",{"filename":567,"primary":433,"sha256":568,"size":569,"url":570},"PlanFabric-5.7-build-3306.jar","8deb16ab51ba5feeb09f8d23d8b7bdceeedf93722d9fc86c9ed1747d36f43460",17654727,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3306\u002FPlanFabric-5.7-build-3306.jar","5.7 build 3306",1774076440,"5.7.3306",{"changelog":575,"downloads":409,"files":576,"name":587,"prerelease":433,"published_at":588,"version":589},"5.7 DEV build 3298\r\n\r\nDEV build to test new publishing pipelines to Ore, Hangar and Modrinth.\r\n\r\nNo changes compared to DEV build 3294\u002F3295 https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Ftag\u002F5.7.3295",[577,582],{"filename":578,"primary":433,"sha256":579,"size":580,"url":581},"Plan-5.7-dev-build-3298.jar","7535054681ea597d5ab4055a01edb7135009364495c8583cce017fba76413fd1",17710394,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3298\u002FPlan-5.7-dev-build-3298.jar",{"filename":583,"primary":433,"sha256":584,"size":585,"url":586},"PlanFabric-5.7-dev-build-3298.jar","52613b233aba43cc847e766295ca2b6ce500ac408a2b692443347574edf76e1d",17654479,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3298\u002FPlanFabric-5.7-dev-build-3298.jar","5.7 DEV build 3298",1773846685,"5.7.3298",{"changelog":591,"downloads":409,"files":592,"name":603,"prerelease":433,"published_at":604,"version":605},"# 5.7 DEV build 3295\r\n\r\nHotfix for config update bug in build 3288.\r\n\r\nDEV build to test new publishing pipelines to Ore, Hangar and Modrinth.\r\n\r\n# Change log\r\n\r\n- Fixed config resetting some values to default on reload\r\n- Fixed table sorting with alphabetical things",[593,598],{"filename":594,"primary":433,"sha256":595,"size":596,"url":597},"Plan-5.7-dev-build-3295.jar","8cc2ff849049ad28e0753b6464b0208e37478a0ae5e985767c5e1fb7564d080f",17710464,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3295\u002FPlan-5.7-dev-build-3295.jar",{"filename":599,"primary":433,"sha256":600,"size":601,"url":602},"PlanFabric-5.7-dev-build-3295.jar","19e950a07d8d871618893eddabba6036502110ab1cefb07acd02454df39b2e4f",17654549,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3295\u002FPlanFabric-5.7-dev-build-3295.jar","5.7 DEV build 3295",1773771188,"5.7.3295",{"changelog":607,"downloads":409,"files":608,"name":615,"prerelease":433,"published_at":616,"version":617},"# 5.7 DEV build 3294\r\n\r\nHotfix for config update bug in build 3288.\r\n\r\nDEV build to test new publishing pipelines to Ore, Hangar and Modrinth.\r\n\r\n# Change log\r\n\r\n- Fixed config resetting some values to default on reload\r\n- Fixed table sorting with alphabetical things",[609,612],{"filename":610,"primary":433,"sha256":595,"size":596,"url":611},"Plan-5.7-dev-build-3294.jar","https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3294\u002FPlan-5.7-dev-build-3294.jar",{"filename":613,"primary":433,"sha256":600,"size":601,"url":614},"PlanFabric-5.7-dev-build-3294.jar","https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3294\u002FPlanFabric-5.7-dev-build-3294.jar","5.7 DEV build 3294",1773771042,"5.7.3294",{"changelog":619,"downloads":409,"files":620,"name":631,"prerelease":459,"published_at":632,"version":633},"# 5.7 build 3288\r\n\r\nThis release contains bugfixes to build 3265 and a new theme.\r\n\r\nSpecial thanks to **Kopo, Leolebleis & Guinness_Akihiko** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n- Improved readability of World Pie on servers that have over 7 worlds\r\n- Improved readability of Server Pie on networks that have over 7 servers\r\n- Moved Performance graph loading to Web Worker (async threading in browsers) - This should improve rendering times slightly\r\n- Fixed issue where Join Address Groups would reset when using HTTPS\r\n- Fixed a couple of instances where Trend was not properly showing\r\n- Fixed 'showPlayersOnline is not defined' when viewing network page on networks with multiple Proxy servers\r\n- Fixed a bug with Change history floating on top of the Save button in Theme Editor when using Night mode.\r\n- Fixed CUSTOM locale defaulting to Chinese locale for time\u002Fdate\u002Fcountry localization due to \"Best match\" in browser matching.\r\n- Fixed Swagger documentation not showing\r\n- Fixed 'New player retention' label in Server overview\r\n- Fixed typo in a locale key\r\n- Fixed Low TPS Insights showing entities instead of CPU\r\n- Leolebleis fixed reverse-proxy https address not being recognized as correct address\r\n\r\n## Fabric\r\n\r\nKopo updated Fabric to use Mojang mappings (Tested with 1.12.9-1.12.11)\r\n\r\n## Themes\r\n\r\nAdded solarized theme based on https:\u002F\u002Fgithub.com\u002Faltercation\u002Fsolarized\r\n\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"solarized theme\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2f74fc03-76b1-4bd6-9ff4-1e45ec195c42\" \u002F>\r\n\r\n## Config\r\n\r\n- Possibly fixed a race condition that caused server identity to be reset, creating duplicate servers when server was shut down during Database patching\r\n- Fixed trailing comments removing part of config setting value.\r\n- Fixed some config changes being applied every time\r\n\r\n## Locale\r\n\r\n- Guinness_Akihiko updated KO locale\r\n\r\n## Other\r\n\r\n- Builds now require JDK 25 for switch to Mojang mappings.",[621,626],{"filename":622,"primary":433,"sha256":623,"size":624,"url":625},"Plan-5.7-build-3288.jar","4bdec2a8d919536fa890693cb7d57deb3ebc5e6bfbc1e996a680c71c42844870",17710184,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3288\u002FPlan-5.7-build-3288.jar",{"filename":627,"primary":433,"sha256":628,"size":629,"url":630},"PlanFabric-5.7-build-3288.jar","2547a1cdbaff487a21a04eb83226159762ba57160e23c3fadf7be35447083950",17654270,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3288\u002FPlanFabric-5.7-build-3288.jar","5.7 build 3288",1773495855,"5.7.3288",{"changelog":635,"downloads":409,"files":636,"name":647,"prerelease":433,"published_at":648,"version":649},"# 5.7 DEV build 3265\r\n\r\nThis dev release is a collection of bugfixes intended to release next weekend.\r\n\r\nSpecial thanks to **Guinness_Akihiko** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n- Improved readability of World Pie on servers that have over 7 worlds\r\n- Improved readability of Server Pie on networks that have over 7 servers\r\n- Moved Performance graph loading to Web Worker (async threading in browsers) - This should improve rendering times slightly\r\n- Fixed a couple of instances where Trend was not properly showing\r\n- Fixed a bug with Change history floating on top of the Save button in Theme Editor when using Night mode.\r\n- Fixed CUSTOM locale defaulting to Chinese locale for time\u002Fdate\u002Fcountry localization due to \"Best match\" in browser matching.\r\n\r\n## Themes\r\n\r\nAdded solarized theme based on https:\u002F\u002Fgithub.com\u002Faltercation\u002Fsolarized\r\n\r\n\u003Cimg width=\"1903\" height=\"955\" alt=\"solarized theme\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2f74fc03-76b1-4bd6-9ff4-1e45ec195c42\" \u002F>\r\n\r\n## Locale\r\n\r\n- Guinness_Akihiko updated KO locale\r\n\r\n## Other\r\n\r\n- Builds now require JDK 25 in preparation for switch to Mojang mappings.",[637,642],{"filename":638,"primary":433,"sha256":639,"size":640,"url":641},"Plan-5.7-dev-build-3265.jar","6745a1d25004d0071640835810dedb3e4a9feddb5c87b244afdb708783758d4f",17577523,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3265\u002FPlan-5.7-dev-build-3265.jar",{"filename":643,"primary":433,"sha256":644,"size":645,"url":646},"PlanFabric-5.7-dev-build-3265.jar","3156def078d53b884ea8da76207c64de3ae903e8105976e0850c1eaba58fbeee",17522601,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3265\u002FPlanFabric-5.7-dev-build-3265.jar","5.7 DEV build 3265",1773080750,"5.7.3265",{"changelog":651,"downloads":409,"files":652,"name":663,"prerelease":459,"published_at":664,"version":665},"# 5.7 build 3247\r\n\r\nThis update brings a big bunch of new features and improvements, such as Theme Editor, Milliseconds per Tick, Players online -tooltip, Database move\u002Fmerge rewrite and many others.\r\n\r\nSpecial thanks to **Kopo, SaolGhra, TWJohnJohn20116, Shadowhackercz, Vankka, DrexHD, Jsinco & julianvdhogen** for contributions to this update\r\n\r\n# Change log\r\n\r\nThe theme settings have changed.\r\nSee https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FMigration-guide-from-Version-5.6-to-5.7 for what might need changing in the config.\r\n\r\n## Website\r\n\r\n### Fixed vulnerabilities\r\n\r\n- Fixed potential XSS injected through malicious plugin. (User would have had to click the link to activate XSS) [What is XSS](https:\u002F\u002Fowasp.org\u002Fwww-community\u002Fattacks\u002Fxss\u002F)\r\n- Fixed potential Session hijack vulnerability after successful XSS where attacker could read authentication cookie through javascript.\r\n  - It is recommended to run `\u002Fplan logout *` after the update to protect against this vulnerability, even if the sessions will eventually expire.\r\n  \r\nThere has not been reports of exploitation of these vulnerabilities.\r\n\r\n### Theme Editor\r\n\r\nYou can now create your own themes for Plan without needing Html Customization. This is the main new feature of this version and is documented [here](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FThemes).\r\n\r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6574c4fe-75e6-4feb-acb3-336e34d91c55\" \u002F>\r\n\r\n- theme.yml has now been deprecated and will be deleted if it only contains default values\r\n\r\n### MSPT (Milliseconds per Tick)\r\n\r\n\u003Cimg width=\"903\" height=\"507\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcf799d02-efe0-4647-b954-501a3892e714\" \u002F>\r\n\r\nMilliseconds per Tick (average\u002F95th percentile) have been added to performance metrics on all applicable platforms.\r\n\r\n### Players online -tooltip\r\n\r\n\u003Cimg width=\"418\" height=\"301\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1f288e4f-3bdc-459b-a384-677995689cfb\" \u002F>\r\n\r\nYou can now hover over Players online graph to see who was online at specific time (up to 63 players).\r\n\r\n### Query page improvements\r\n\r\n\u003Cimg width=\"1659\" height=\"422\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F993ad0b7-4d97-4981-a394-39c168e58f6c\" \u002F>\r\n\r\n- New filters have been added\r\n  - Played on date\r\n  - Activity group on date\r\n  - Last seen between\r\n- All 'between' filters now support 'Before' and 'After' by deselecting one of the checkboxes (e.g. played between -> played before)\r\n- Multi-select components have been replaced with a mobile friendly, text searchable alternative that no longer requires pressing Shift for multi-selection\r\n- Fixed timezone inconsistency between View time input fields and the graph\r\n\r\n### Performance graph improvements\r\n\r\n![performance-tab-graph-linking](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe45a1e36-9f38-44e7-a30d-e2bc24394d99)\r\n\r\n- Performance graph tabs now sync the graph range-finder so that you can view different data for same time easier\r\n- Network performance graph colors now vary between servers to be easier to read\r\n- Fixed extra Series label appearing in HTTP mode on Performance graph (This was the plugin version history series in HTTPS mode)\r\n- Added Uptime data to Performance as Numbers tables\r\n\r\n### Other\r\n\r\n- Kills table can now be searched\u002Fsorted\u002Fexported and gets up to 25000 entries from the database  \r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4cb0d003-d67e-44f5-99e3-3e5fbb741ae6\" \u002F>\r\n\r\n- Added support for nickname search in player tables\r\n- Fixed some night mode text invisibility issues\r\n- SaolGhra fixed error `r.includes is not a function` related to Litebans\r\n- Fixed 'View full query' button in the modal that opens when clicking Server calendar\r\n- Fixed clicking Server calendar results including players who played on other servers during selected days\r\n\r\n## Config\r\n\r\n- Changed default `Display_options.Player_head_image_url` to `https:\u002F\u002Fcrafthead.net\u002Fhelm\u002F${playerUUIDNoDash}\u002F120` (Existing configs need to be manually updated)\r\n- Jsinco updated 'Data_gathering.Join_addresses_.Filter_out_from_data' to support regex. Note that any existing setting values with . (dot character) will now match any character.\r\n- `Display_options.Theme` (default \"default\") now refers to theme name in the theme editor rather than \"What theme.yml to copy values from\"\r\n- `Display_options.Night_mode` (default false) added\r\n\r\n## Data\r\n\r\n- MSPT average and 95th percentile added to plan_tps table\r\n- Register date `0` (1970-01-01) is now regarded as invalid.\r\n- Ban status is now updated by an automatic task that cycles through all known players small amount at a time\r\n\r\n## Sponge\r\n\r\n- Sponge API 14 is now used, API 8 is no longer supported.\r\n\r\n## Fabric\r\n\r\n- Fabric was updated to 1.12.9 by DrexHD (Supports 1.12.11 as well)\r\n\r\n## Velocity\r\n\r\n- Velocity was updated to 3.5.0-SNAPSHOT\r\n\r\n## Database\r\n\r\n### Database move system rewrite\r\n\r\nRewrote the system responsible for copying data from one database to another since previous system would crash under large datasets. The goal of this was to allow copying large SQLite databases to MySQL even on larger servers. The system was tested against a 3 GB MySQL database on a server with 1 GB of allocated memory. (Sidenote: Please don't try to run your server off 3 GB large database.db SQLite file)\r\n\r\n- \u002Fplan db move, \u002Fplan db backup, \u002Fplan db restore use the new system\r\n- Added \u002Fplan db merge command (permission: plan.data.merge) which allows merging SQLite data to existing MySQL. This is useful for those merging multiple servers into a network when all servers had Plan installed on separate SQLite databases.\r\n\r\n### Other\r\n\r\n- id column added to old plan_tps tables that did not have it yet via Patch.\r\n- Lock hints for selections inside transactions to reduce deadlocks\r\n- Fixed 1020 \"Record has changed since last read in table\" error on MariaDB 11.8.3\r\n- Fixed dyplicate key violation related to AllowListBounce\r\n- Possibly fixed ShutdownDataPreservationTransaction failing on existing join address insert\r\n- Fixed playtime queries where session started before view window or ended after.\r\n\r\n## Locale\r\n\r\n- Dates, time amounts & country names are now translated based on the selected locale. (If specific ones aren't please report it as a bug)\r\n- HighCharts & Calendar are now translated based on the selected locale\r\n- TWJohnJohn20116 updated zh_TW locale\r\n- Shadowhackercz updated CS locale\r\n- julianvdhogen updated NL locale\r\n\r\n## Extensions\r\n\r\n- Fixed ArithmeticException related to LibertyBans when bans were infinite\r\n- Fixed an issue related to rendering boolean values\r\n- Updated Jobs extension to support newer version\r\n- Added Time.Periodical_tasks.Extension_player_data_refresh_every setting (default 15 MINUTES) which only affects plugins that decide to support it.\r\n- Made gathered PlaceholderAPI data update periodically\r\n\r\n## Placeholders\r\n\r\n- Fixed network_players_online always saying 0\r\n\r\n## Other\r\n\r\n- Added Typescript support.\r\n- Vankka updated DependencyDownload to clean up libraries folder of old versions\r\n- Kopo updated the build system to speed up builds & IDE indexing performance\r\n",[653,658],{"filename":654,"primary":433,"sha256":655,"size":656,"url":657},"Plan-5.7-build-3247.jar","3e041f37bd1457147885bded38760ac929adf6a2845750871c6213b20131d056",17572915,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3247\u002FPlan-5.7-build-3247.jar",{"filename":659,"primary":433,"sha256":660,"size":661,"url":662},"PlanFabric-5.7-build-3247.jar","3eda6b220794a6ac8e17c76baaacd07d5f614c6e903a7d7346595bc4c1063a59",17518424,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3247\u002FPlanFabric-5.7-build-3247.jar","5.7 build 3247",1772358029,"5.7.3247",{"changelog":667,"downloads":409,"files":668,"name":679,"prerelease":433,"published_at":680,"version":681},"# 5.7 DEV build 3232\r\n\r\nThis dev release includes new features and bugfixes done during a surprisingly productive weekend.\r\n\r\nFull release still requires solving problems that arise from MariaDB 11.8.3 change where innodb_snapshot_isolation has now been turned on as default\r\n\r\nSpecial thanks to **Kopo, SaolGhra, TWJohnJohn20116, Shadowhackercz, Vankka, DrexHD, Jsinco & julianvdhogen** for contributions to this update\r\n\r\n# Changes since DEV build 3211\r\n\r\n- julianvdhogen updated NL locale\r\n- Potentially fixed issues with Mariadb 11.8.3 error 1020 \"Record has changed since last read in table\"\r\n- Changed default Display_options.Player_head_image_url to `https:\u002F\u002Fcrafthead.net\u002Fhelm\u002F${playerUUIDNoDash}\u002F120`\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### Theme Editor\r\n\r\nYou can now create your own themes for Plan without needing Html Customization. This is the main new feature of this version and is documented [here](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FThemes).\r\n\r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6574c4fe-75e6-4feb-acb3-336e34d91c55\" \u002F>\r\n\r\n- theme.yml has now been deprecated and will be deleted if it only contains default values\r\n\r\n### MSPT (Milliseconds per Tick)\r\n\r\n\u003Cimg width=\"903\" height=\"507\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcf799d02-efe0-4647-b954-501a3892e714\" \u002F>\r\n\r\nMilliseconds per Tick (average\u002F95th percentile) have been added to performance metrics on all applicable platforms.\r\n\r\n### Players online -tooltip\r\n\r\n\u003Cimg width=\"418\" height=\"301\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1f288e4f-3bdc-459b-a384-677995689cfb\" \u002F>\r\n\r\nYou can now hover over Players online graph to see who was online at specific time (up to 63 players).\r\n\r\n### Query page improvements\r\n\r\n\u003Cimg width=\"1659\" height=\"422\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F993ad0b7-4d97-4981-a394-39c168e58f6c\" \u002F>\r\n\r\n- New filters have been added\r\n  - Played on date\r\n  - Activity group on date\r\n  - Last seen between\r\n- All 'between' filters now support 'Before' and 'After' by deselecting one of the checkboxes (e.g. played between -> played before)\r\n- Multi-select components have been replaced with a mobile friendly, text searchable alternative that no longer requires pressing Shift for multi-selection\r\n- Fixed timezone inconsistency between View time input fields and the graph\r\n\r\n### Other\r\n\r\n- Kills table can now be searched\u002Fsorted\u002Fexported and gets up to 25000 entries from the database  \r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4cb0d003-d67e-44f5-99e3-3e5fbb741ae6\" \u002F>\r\n\r\n- Added Uptime data to Performance as Numbers tables\r\n- Added support for nickname search in player tables\r\n- Performance graph tabs now sync the graph range-finder so that you can view different data for same time easier\r\n- Network performance graph colors now vary between servers to be easier to read\r\n- Fixed extra Series label appearing in HTTP mode on Performance graph (This is the plugin version history series in HTTPS mode)\r\n- Fixed some night mode text invisibility issues\r\n- SaolGhra fixed error `r.includes is not a function` related to Litebans\r\n- Fixed 'View full query' button in the modal that opens when clicking Server calendar\r\n- Fixed clicking Server calendar results including players who played on other servers during selected days\r\n\r\n## Config\r\n\r\n- Changed default `Display_options.Player_head_image_url` to `https:\u002F\u002Fcrafthead.net\u002Fhelm\u002F${playerUUIDNoDash}\u002F120` (Existing configs need to be manually updated)\r\n- Jsinco updated 'Data_gathering.Join_addresses_.Filter_out_from_data' to support regex. Note that any existing setting values with . (dot character) will now match any character.\r\n- `Display_options.Theme` (default \"default\") now refers to theme name in the theme editor rather than \"What theme.yml to copy values from\"\r\n- `Display_options.Night_mode` (default false) added\r\n\r\n## Data\r\n\r\n- MSPT average and 95th percentile added to plan_tps table\r\n- Register date `0` (1970-01-01) is now regarded as invalid.\r\n- Ban status is now updated by an automatic task that cycles through all known players small amount at a time\r\n\r\n## Sponge\r\n\r\n- Sponge API 14 is now used, API 8 is no longer supported.\r\n\r\n## Fabric\r\n\r\n- Fabric was updated to 1.12.9 by DrexHD (Supports 1.12.11 as well)\r\n\r\n## Velocity\r\n\r\n- Velocity was updated to 3.5.0-SNAPSHOT\r\n\r\n## Database\r\n\r\n### Database move system rewrite\r\n\r\nRewrote the system responsible for copying data from one database to another since previous system would crash under large datasets. The goal of this was to allow copying large SQLite databases to MySQL even on larger servers. The system was tested against a 3 GB database on a server with 1 GB of allocated memory.\r\n\r\n- \u002Fplan db move, \u002Fplan db backup, \u002Fplan db restore use the new system\r\n- Added \u002Fplan db merge command (permission: plan.data.merge) which allows merging SQLite data to existing MySQL. This is useful for those merging multiple servers into a network when all servers had Plan installed on separate SQLite databases.\r\n\r\n### Other\r\n\r\n- id column added to old plan_tps tables that did not have it yet via Patch.\r\n- If MySQL runs into error code 1020 'Stale read' error, the transaction will retry instead of erroring\r\n- Fixed dyplicate key violation related to AllowListBounce\r\n- Possibly fixed ShutdownDataPreservationTransaction failing on existing join address insert\r\n- Fixed playtime queries to include playtime where session started before view window or ended after.\r\n- Potentially fixed issues with Mariadb 11.8.3 error 1020 \"Record has changed since last read in table\"\r\n\r\n## Locale\r\n\r\n- Dates, time amounts & country names are now translated based on the selected locale. (If specific ones aren't please report it as a bug)\r\n- HighCharts & Calendar are now translated based on the selected locale\r\n- TWJohnJohn20116 updated zh_TW locale\r\n- Shadowhackercz updated CS locale\r\n- julianvdhogen updated NL locale\r\n\r\n## Extensions\r\n\r\n- Fixed ArithmeticException related to LibertyBans when bans were infinite\r\n- Fixed an issue related to rendering boolean values\r\n- Updated Jobs extension to support newer version\r\n- Added Time.Periodical_tasks.Extension_player_data_refresh_every setting (default 15 MINUTES) which only affects plugins that decide to support it.\r\n- Made gathered PlaceholderAPI data update periodically\r\n\r\n## Placeholders\r\n\r\n- Fixed network_players_online always saying 0\r\n\r\n## Other\r\n\r\n- Vankka updated DependencyDownload to clean up libraries folder of old versions\r\n- Kopo updated the build system to speed up builds & IDE indexing performance\r\n",[669,674],{"filename":670,"primary":433,"sha256":671,"size":672,"url":673},"Plan-5.7-dev-build-3232.jar","f558e44810f1d5963a2557244a2fb5b78fb7e5fd420c9089834293e39fe8f8a2",17569225,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3232\u002FPlan-5.7-dev-build-3232.jar",{"filename":675,"primary":433,"sha256":676,"size":677,"url":678},"PlanFabric-5.7-dev-build-3232.jar","404d05c08119eb55e3c4307aefcc12d2eadcd1cffa5a542b4357520a5ee1e752",17514862,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3232\u002FPlanFabric-5.7-dev-build-3232.jar","5.7 DEV build 3232",1771760103,"5.7.3232",{"changelog":683,"downloads":409,"files":684,"name":695,"prerelease":433,"published_at":696,"version":697},"# 5.7 DEV build 3211\r\n\r\nThis dev release includes new features and bugfixes done during a surprisingly productive weekend.\r\n\r\nFull release still requires solving problems that arise from MariaDB 11.8.3 change where innodb_snapshot_isolation has now been turned on as default\r\n\r\nSpecial thanks to **Kopo, SaolGhra, TWJohnJohn20116, Shadowhackercz, Vankka, DrexHD & Jsinco** for contributions to this update\r\n\r\n# Changes since DEV build 3189\r\n\r\n- Added Players online list -tooltip to Players Online graphs\r\n- Added support for nickname search in player tables\r\n- Added Time.Periodical_tasks.Extension_player_data_refresh_every setting (default 15 MINUTES) which only affects plugins that decide to support it.\r\n- Made gathered PlaceholderAPI data update periodically\r\n- Added more Query filters (Played on date, Activity group on date, Last seen between)\r\n- Added Before and After checkboxes to all between filters to allow more flexible filtering\r\n- Added theme editor to navigation item\r\n- Fixed theme.yml being recreated\r\n- Fixed night mode issues where something had no colors set\r\n- Possibly fixed ShutdownDataPreservationTransaction failing on existing join address insert\r\n- Fixed playtime queries to include playtime where session started before view window or ended after.\r\n- Fixed Query timezone inconsistency between time fields and the graph\r\n- Fixed 'View full query' button in the modal that opens when clicking Server calendar\r\n- Fixed clicking Server calendar results including players who played on other servers during selected days\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### Theme Editor\r\n\r\nYou can now create your own themes for Plan without needing Html Customization. This is the main new feature of this version and is documented [here](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FThemes).\r\n\r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6574c4fe-75e6-4feb-acb3-336e34d91c55\" \u002F>\r\n\r\n- theme.yml has now been deprecated and will be deleted if it only contains default values\r\n\r\n### MSPT (Milliseconds per Tick)\r\n\r\n\u003Cimg width=\"903\" height=\"507\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcf799d02-efe0-4647-b954-501a3892e714\" \u002F>\r\n\r\nMilliseconds per Tick (average\u002F95th percentile) have been added to performance metrics on all applicable platforms.\r\n\r\n### Players online -tooltip\r\n\r\n\u003Cimg width=\"418\" height=\"301\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1f288e4f-3bdc-459b-a384-677995689cfb\" \u002F>\r\n\r\nYou can now hover over Players online graph to see who was online at specific time (up to 63 players).\r\n\r\n### Query page improvements\r\n\r\n\u003Cimg width=\"1659\" height=\"422\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F993ad0b7-4d97-4981-a394-39c168e58f6c\" \u002F>\r\n\r\n- New filters have been added\r\n  - Played on date\r\n  - Activity group on date\r\n  - Last seen between\r\n- All 'between' filters now support 'Before' and 'After' by deselecting one of the checkboxes (e.g. played between -> played before)\r\n- Multi-select components have been replaced with a mobile friendly, text searchable alternative that no longer requires pressing Shift for multi-selection\r\n- Fixed timezone inconsistency between View time input fields and the graph\r\n\r\n### Other\r\n\r\n- Kills table can now be searched\u002Fsorted\u002Fexported and gets up to 25000 entries from the database  \r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4cb0d003-d67e-44f5-99e3-3e5fbb741ae6\" \u002F>\r\n\r\n- Added Uptime data to Performance as Numbers tables\r\n- Added support for nickname search in player tables\r\n- Performance graph tabs now sync the graph range-finder so that you can view different data for same time easier\r\n- Network performance graph colors now vary between servers to be easier to read\r\n- Fixed extra Series label appearing in HTTP mode on Performance graph (This is the plugin version history series in HTTPS mode)\r\n- Fixed some night mode text invisibility issues\r\n- SaolGhra fixed error `r.includes is not a function` related to Litebans\r\n- Fixed 'View full query' button in the modal that opens when clicking Server calendar\r\n- Fixed clicking Server calendar results including players who played on other servers during selected days\r\n\r\n## Config\r\n\r\n- Jsinco updated 'Data_gathering.Join_addresses_.Filter_out_from_data' to support regex. Note that any existing setting values with . (dot character) will now match any character.\r\n- `Display_options.Theme` (default \"default\") now refers to theme name in the theme editor rather than \"What theme.yml to copy values from\"\r\n- `Display_options.Night_mode` (default false) added\r\n\r\n## Data\r\n\r\n- MSPT average and 95th percentile added to plan_tps table\r\n- Register date `0` (1970-01-01) is now regarded as invalid.\r\n- Ban status is now updated by an automatic task that cycles through all known players small amount at a time\r\n\r\n## Sponge\r\n\r\n- Sponge API 14 is now used, API 8 is no longer supported.\r\n\r\n## Fabric\r\n\r\n- Fabric was updated to 1.12.9 by DrexHD (Supports 1.12.11 as well)\r\n\r\n## Velocity\r\n\r\n- Velocity was updated to 3.5.0-SNAPSHOT\r\n\r\n## Database\r\n\r\n### Database move system rewrite\r\n\r\nRewrote the system responsible for copying data from one database to another since previous system would crash under large datasets. The goal of this was to allow copying large SQLite databases to MySQL even on larger servers. The system was tested against a 3 GB database on a server with 1 GB of allocated memory.\r\n\r\n- \u002Fplan db move, \u002Fplan db backup, \u002Fplan db restore use the new system\r\n- Added \u002Fplan db merge command (permission: plan.data.merge) which allows merging SQLite data to existing MySQL. This is useful for those merging multiple servers into a network when all servers had Plan installed on separate SQLite databases.\r\n\r\n### Other\r\n\r\n- id column added to old plan_tps tables that did not have it yet via Patch.\r\n- If MySQL runs into error code 1020 'Stale read' error, the transaction will retry instead of erroring\r\n- Fixed dyplicate key violation related to AllowListBounce\r\n- Possibly fixed ShutdownDataPreservationTransaction failing on existing join address insert\r\n- Fixed playtime queries to include playtime where session started before view window or ended after.\r\n\r\n## Locale\r\n\r\n- Dates, time amounts & country names are now translated based on the selected locale. (If specific ones aren't please report it as a bug)\r\n- HighCharts & Calendar are now translated based on the selected locale\r\n- TWJohnJohn20116 updated zh_TW locale\r\n- Shadowhackercz updated CS locale\r\n\r\n## Extensions\r\n\r\n- Fixed ArithmeticException related to LibertyBans when bans were infinite\r\n- Fixed an issue related to rendering boolean values\r\n- Updated Jobs extension to support newer version\r\n- Added Time.Periodical_tasks.Extension_player_data_refresh_every setting (default 15 MINUTES) which only affects plugins that decide to support it.\r\n- Made gathered PlaceholderAPI data update periodically\r\n\r\n## Placeholders\r\n\r\n- Fixed network_players_online always saying 0\r\n\r\n## Other\r\n\r\n- Vankka updated DependencyDownload to clean up libraries folder of old versions\r\n- Kopo updated the build system to speed up builds & IDE indexing performance\r\n",[685,690],{"filename":686,"primary":433,"sha256":687,"size":688,"url":689},"Plan-5.7-dev-build-3211.jar","c6db5dc29ab445cd6595c583e977fe4e3386f5b4b226e018bea69c71113587ff",17529242,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3211\u002FPlan-5.7-dev-build-3211.jar",{"filename":691,"primary":433,"sha256":692,"size":693,"url":694},"PlanFabric-5.7-dev-build-3211.jar","9e7c6e6146003f54bc2d191b2515c050a2329da02db4da0b265743a7de7ada85",17475365,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3211\u002FPlanFabric-5.7-dev-build-3211.jar","5.7 DEV build 3211",1771152675,"5.7.3211",{"changelog":699,"downloads":409,"files":700,"name":711,"prerelease":433,"published_at":712,"version":713},"# 5.7 DEV build 3189\r\n\r\nThis dev release is a release candidate for 5.7 release.\r\n\r\nSpecial thanks to **Kopo, SaolGhra, TWJohnJohn20116, Shadowhackercz, Vankka, DrexHD & Jsinco** for contributions to this update\r\n\r\n# Changes since DEV build 3123\r\n\r\n- Czech locale updated by Shadowhackercz\r\n- Fixed an issue related to boolean values in Extensions\r\n- Added Server Uptime to Performance as Numbers tables\r\n- Vankka updated DependencyDownload to clean up old downloaded libraries\r\n- Added MSPT (Milliseconds per Tick) metrics to Performance\r\n- DrexHD updated fabric to 1.21.9\r\n- Jsinco updated join address filter setting to support regex\r\n- Rewrite of the database move\u002Fbackup\u002Frestore system\r\n- Updated to use velocity 3.5.0-SNAPSHOT\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### Theme Editor\r\n\r\nYou can now create your own themes for Plan without needing Html Customization. This is the main new feature of this version and is documented [here](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FThemes).\r\n\r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6574c4fe-75e6-4feb-acb3-336e34d91c55\" \u002F>\r\n\r\n- theme.yml has now been deprecated and will be deleted if it only contains default values\r\n\r\n### MSPT (Milliseconds per Tick)\r\n\r\n\u003Cimg width=\"903\" height=\"507\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcf799d02-efe0-4647-b954-501a3892e714\" \u002F>\r\n\r\nMilliseconds per Tick (average\u002F90th percentile) have been added to performance metrics on all applicable platforms.\r\n\r\n### Other\r\n\r\n- Kills table can now be searched\u002Fsorted\u002Fexported and gets up to 25000 entries from the database  \r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4cb0d003-d67e-44f5-99e3-3e5fbb741ae6\" \u002F>\r\n\r\n- Added Uptime data to Performance as Numbers tables\r\n- Multi-select components have been replaced with a more intuitive alternative, especially on mobile\r\n- Performance graph tabs now sync the graph range-finder so that you can view different data for same time easier\r\n- Network performance graph colors now vary between servers to be easier to read\r\n- Fixed extra Series label appearing in HTTP mode on Performance graph (This is the plugin version history series in HTTPS mode)\r\n- Fixed some night mode text invisibility issues\r\n- SaolGhra fixed error `r.includes is not a function` related to Litebans\r\n\r\n## Config\r\n\r\n- Jsinco updated 'Data_gathering.Join_addresses_.Filter_out_from_data' to support regex. Note that any existing setting values with . (dot character) will now match any character.\r\n- `Display_options.Theme` (default \"default\") now refers to theme name in the theme editor rather than \"What theme.yml to copy values from\"\r\n- `Display_options.Night_mode` (default false) added\r\n\r\n## Data\r\n\r\n- MSPT average and 90th percentile added to plan_tps table\r\n- Register date `0` (1970-01-01) is now regarded as invalid.\r\n- Ban status is now updated by an automatic task that cycles through all known players small amount at a time\r\n\r\n## Sponge\r\n\r\n- Sponge API 14 is now used, API 8 is no longer supported.\r\n\r\n## Fabric\r\n\r\n- Fabric was updated to 1.12.9 by DrexHD (Supports 1.12.11 as well)\r\n\r\n## Velocity\r\n\r\n- Velocity was updated to 3.5.0-SNAPSHOT\r\n\r\n## Database\r\n\r\n### Database move system rewrite\r\n\r\nRewrote the system responsible for copying data from one database to another since previous system would crash under large datasets. The goal of this was to allow copying large SQLite databases to MySQL even on larger servers. The system was tested against a 3 GB database on a server with 1 GB of allocated memory.\r\n\r\n- \u002Fplan db move, \u002Fplan db backup, \u002Fplan db restore use the new system\r\n- Added \u002Fplan db merge command (permission: plan.data.merge) which allows merging SQLite data to existing MySQL. This is useful for those merging multiple servers into a network when all servers had Plan installed on separate SQLite databases.\r\n\r\n### Other\r\n\r\n- id column added to old plan_tps tables that did not have it yet via Patch.\r\n- If MySQL runs into error code 1020 'Stale read' error, the transaction will retry instead of erroring\r\n- Fixed dyplicate key violation related to AllowListBounce\r\n\r\n## Locale\r\n\r\n- Dates, time amounts & country names are now translated based on the selected locale. (If specific ones aren't please report it as a bug)\r\n- HighCharts & Calendar are now translated based on the selected locale\r\n- TWJohnJohn20116 updated zh_TW locale\r\n- Shadowhackercz updated CS locale\r\n\r\n## Extensions\r\n\r\n- Fixed ArithmeticException related to LibertyBans when bans were infinite\r\n- Fixed an issue related to rendering boolean values\r\n- Updated Jobs extension to support newer version\r\n\r\n## Placeholders\r\n\r\n- Fixed network_players_online always saying 0\r\n\r\n## Other\r\n\r\n- Vankka updated DependencyDownload to clean up libraries folder of old versions\r\n- Kopo updated the build system to speed up builds & IDE indexing performance\r\n",[701,706],{"filename":702,"primary":433,"sha256":703,"size":704,"url":705},"Plan-5.7-dev-build-3189.jar","162be8022445adc34783c4705b1d859b09cf81c9e423b4a648b4d56ab5dea514",17490161,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3189\u002FPlan-5.7-dev-build-3189.jar",{"filename":707,"primary":433,"sha256":708,"size":709,"url":710},"PlanFabric-5.7-dev-build-3189.jar","d1213963242bf554eb8528aca06a31da9a7a03795768cb914786d8bd0ce07721",17437583,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3189\u002FPlanFabric-5.7-dev-build-3189.jar","5.7 DEV build 3189",1770655640,"5.7.3189",{"changelog":715,"downloads":409,"files":716,"name":727,"prerelease":433,"published_at":728,"version":729},"# 5.7 DEV build 3123\r\n\r\nThis dev release contains quite a lot of changes, so please report any bugs that you may find.\r\n\r\nSpecial thanks to **Kopo, SaolGhra & TWJohnJohn20116** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### Theme Editor\r\n\r\nYou can now create your own themes for Plan without needing Html Customization. This is the main new feature of this version and is documented [here](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FThemes).\r\n\r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6574c4fe-75e6-4feb-acb3-336e34d91c55\" \u002F>\r\n\r\n- theme.yml has now been deprecated and will be deleted if it only contains default values\r\n\r\n### Localization\r\n\r\nOne goal in this version is to reduce the amount of mixed language (e.g. selected language + English) appearing on the website. This work is still underway. If you're using a locale that still has English lines in it, [please help translate it](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fwiki\u002FLocalization)\r\n\r\n- Dates, time amounts & country names are now translated based on the selected locale. (If specific ones aren't please report it as a bug)\r\n- HighCharts & Calendar are now translated based on the selected locale\r\n\r\n### Other\r\n\r\n- Kills table can now be searched\u002Fsorted\u002Fexported and gets up to 25000 entries from the database  \r\n\u003Cimg alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4cb0d003-d67e-44f5-99e3-3e5fbb741ae6\" \u002F>\r\n\r\n- Multi-select components have been replaced with a more intuitive alternative, especially on mobile\r\n- Performance graph tabs now sync the graph range-finder so that you can view different data for same time easier\r\n- Network performance graph colors now vary between servers to be easier to read\r\n- Fixed extra Series label appearing in HTTP mode on Performance graph (This is the plugin version history series in HTTPS mode)\r\n- Fixed some night mode text invisibility issues\r\n- SaolGhra fixed error `r.includes is not a function` related to Litebans\r\n\r\n## Config\r\n\r\n- `Display_options.Theme` (default \"default\") now refers to theme name in the theme editor rather than \"What theme.yml to copy values from\"\r\n- `Display_options.Night_mode` (default false) added\r\n\r\n## Data\r\n\r\n- Register date `0` (1970-01-01) is now regarded as invalid.\r\n- Ban status is now updated by an automatic task that cycles through all known players small amount at a time\r\n\r\n## Sponge\r\n\r\n- Sponge API 14 is now used, API 8 is no longer supported.\r\n\r\n## Database\r\n\r\n- If MySQL runs into error code 1020 'Stale read' error, the transaction will retry instead of erroring\r\n- Fixed dyplicate key violation related to AllowListBounce\r\n\r\n## Locale\r\n\r\n- TWJohnJohn20116 updated zh_TW locale\r\n\r\n## Extensions\r\n\r\n- Fixed ArithmeticException related to LibertyBans when bans were infinite\r\n- Updated Jobs extension to support newer version\r\n\r\n## Placeholders\r\n\r\n- Fixed network_players_online always saying 0\r\n\r\n## Other\r\n\r\n- Kopo updated the build system to speed up builds & IDE indexing performance\r\n",[717,722],{"filename":718,"primary":433,"sha256":719,"size":720,"url":721},"Plan-5.7-dev-build-3123.jar","67ccaa3bcaff477e99d2c8a56557b95153c20e982f52b3c0b178177278083b38",16923766,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3123\u002FPlan-5.7-dev-build-3123.jar",{"filename":723,"primary":433,"sha256":724,"size":725,"url":726},"PlanFabric-5.7-dev-build-3123.jar","ca0ca2e7a19f4d18886a6ad1bf72cf334eabafceaafd710e976d462d00b2955c",16866883,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.7.3123\u002FPlanFabric-5.7-dev-build-3123.jar","5.7 DEV build 3123",1755597671,"5.7.3123",{"changelog":731,"downloads":409,"files":732,"name":741,"prerelease":459,"published_at":742,"version":743},"# 5.6 build 2965\r\n\r\nThis build has a second hotfix for SQLite performance regression since it was reverted to wrong version that still had the regression.\r\nPlease see https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Ftag\u002F5.6.2959 for change log of the previous version.\r\n\r\n# Change log\r\n\r\n- Reverted SQLite driver to version 3.42.0.1 due to performance regression (Thanks to Vankka for pointing out my mistake)\r\n",[733,737],{"filename":734,"primary":433,"size":735,"url":736},"Plan-5.6-build-2965.jar",17346367,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2965\u002FPlan-5.6-build-2965.jar",{"filename":738,"primary":433,"size":739,"url":740},"PlanFabric-5.6-build-2965.jar",17301275,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2965\u002FPlanFabric-5.6-build-2965.jar","5.6 build 2965",1738398692,"5.6.2965",{"changelog":745,"downloads":409,"files":746,"name":755,"prerelease":459,"published_at":756,"version":757},"# 5.6 build 2961\r\n\r\nThis build has a hotfix for SQLite performance regression.\r\nPlease see https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Ftag\u002F5.6.2959 for change log of the previous version.\r\n\r\n# Change log\r\n\r\n- Reverted SQLite driver to version 3.45.1.0 due to performance regression",[747,751],{"filename":748,"primary":433,"size":749,"url":750},"Plan-5.6-build-2961.jar",17346388,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2961\u002FPlan-5.6-build-2961.jar",{"filename":752,"primary":433,"size":753,"url":754},"PlanFabric-5.6-build-2961.jar",17301295,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2961\u002FPlanFabric-5.6-build-2961.jar","5.6 build 2961",1737885405,"5.6.2961",{"changelog":759,"downloads":409,"files":760,"name":769,"prerelease":459,"published_at":770,"version":771},"# 5.6 build 2959\r\n\r\nThis is a maintenance update with bugfixes and updates to dependencies.\r\n\r\nSpecial thanks to **Kopo**, **YannicHock** & **Zaemong** for contributions to this update.\r\n\r\n# Change log\r\n\r\n## Commands [action required]\r\n\r\n- \u002Fplan and \u002Fplanproxy now require `plan.command` permission to be used. This is to allow hiding \u002Fplan from tab completion, since it showed up even if a player had no access to any of the subcommands.\r\n\r\n## SQL Driver download address change\r\n\r\n- PaperMC changed their maven repository address so Plan now downloads SQL drivers from https:\u002F\u002Frepo.papermc.io instead of https:\u002F\u002Fpapermc.io\u002Frepo - This is mentioned since some users use firewall to block external connections.\r\n\r\n## Platform specific\r\n\r\n- Fabric now uses 1.21.3 api, 1.21.4 also still supported. fabric-permissions-api 0.3.3 now required. Thanks Kopo\r\n- Fixed Nukkit incompatibility with EntityTameable being moved to a different package\r\n- Fixed Folia ConcurrentModificationException related to ping task\r\n- Fixed Folia region tick thread crash if another plugin was using Plan placeholders on server thread\r\n\r\n## Website\r\n\r\n- Fixed Calendar being one day behind when server timezone was set to negative GMT, eg. GMT-8.\r\n- Calendar now responds to selected language on the UI\r\n- Fixed Calendar popup going under Sidebar\r\n- Fixed some countries not appearing on the map due to missing country name -> ISO-3166 alpha-3 translation\r\n- Added web permissions for different Server Performance graph data types. This allows configuring permissions for viewing TPS graph and nothing else.\r\n- Fixed Logo image not loading when using reverse-proxy with a subdirectory\r\n\r\n## Database\r\n\r\n- Fixed CorrectWrongCharacterEncodingPatch applying to non-Plan tables in the same database.\r\n- Fixed ping insert duplicate key error\r\n\r\n## Config\r\n\r\n- Increased default time series data retention to 10 years (3650 days) - previously 90 days. Does not change existing configs.\r\n- Removed &useSSL=false from default MySQL Launch_options. Does not change existing configs.\r\n\r\n## Extensions\r\n\r\n- StringProvider can now store values up to 250 characters long before truncation.\r\n- CMI Extension added by YannicHock\r\n\r\n## Locale\r\n\r\n- Fixed French (FR) locale causing website loading issues\r\n- Japanese (JA) locale updated by Zaemong\r\n\r\n## Placeholders\r\n\r\n- Catch any exceptions that occur during placeholder request to not cause problems in other plugins using Plan placeholders\r\n- Added %plan_top_{category}_{n}_value_raw% placeholders for unformatted values (Useful for custom time formats)\r\n- Added %plan_server_players_online% and %plan_network_players_online% placeholders that show the latest data in the database (~1 minute accuracy)\r\n",[761,765],{"filename":762,"primary":433,"size":763,"url":764},"Plan-5.6-build-2959.jar",17345444,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2959\u002FPlan-5.6-build-2959.jar",{"filename":766,"primary":433,"size":767,"url":768},"PlanFabric-5.6-build-2959.jar",17300348,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2959\u002FPlanFabric-5.6-build-2959.jar","5.6 build 2959",1737189328,"5.6.2959",{"changelog":773,"downloads":409,"files":774,"name":783,"prerelease":433,"published_at":784,"version":785},"# 5.6 DEV build 2948\r\n\r\nThis dev build contains bugfixes, contributions and dependency updates that have been done since May.\r\n\r\nSpecial thanks to **Kopo**, **YannicHock** & **Zaemong** for contributions to this update.\r\n\r\n## Changes from DEV build 2906\r\n\r\n- Dependency updates\r\n- Calendar now responds to selected language\r\n- Fixed bug with calendar in negative timezones (GMT-8 etc)\r\n- Fabric updates done by Kopo\r\n- Extension string values now up to 250 chars\r\n- Minor bugfixes\r\n\r\n# Change log\r\n\r\n## Commands [action required]\r\n\r\n- \u002Fplan and \u002Fplanproxy now require `plan.command` permission to be used. This is to allow hiding \u002Fplan from tab completion, since it showed up even if a player had no access to any of the subcommands.\r\n\r\n## Platform specific\r\n\r\n- Fabric now uses 1.21.3 api, 1.21.4 also still supported. fabric-permissions-api 0.3.3 now required. Thanks Kopo\r\n- Fixed Nukkit incompatibility with EntityTameable being moved to a different package\r\n- Fixed Folia ConcurrentModificationException related to ping task\r\n- Fixed Folia region tick thread crash if another plugin was using Plan placeholders on server thread\r\n\r\n## Website\r\n\r\n- Fixed Calendar being one day behind when server timezone was set to negative GMT, eg. GMT-8.\r\n- Calendar now responds to selected language on the UI\r\n- Fixed some countries not appearing on the map due to missing country name -> ISO-3166 alpha-3 translation\r\n- Added web permissions for different Server Perfomance graph data types. This allows configuring permissions for viewing TPS graph and nothing else.\r\n- Fixed reverse-proxy subdirectory address correction not applying to Logo image\r\n\r\n## Database\r\n\r\n- Fixed CorrectWrongCharacterEncodingPatch applying to non-Plan tables in the same database.\r\n- Fixed ping insert duplicate key error\r\n\r\n## Config\r\n\r\n- Increased default time series data retention to 10 years (3650 days) - previously 90 days. Does not change existing configs.\r\n- Removed &useSSL=false from default MySQL Launch_options. Does not change existing configs.\r\n\r\n## Extensions\r\n\r\n- StringProvider can now store values up to 250 characters long before truncation.\r\n- CMI Extension added by YannicHock\r\n\r\n## Locale\r\n\r\n- Fixed French (FR) locale causing website loading issues\r\n- Japanese (JA) locale updated by Zaemong\r\n\r\n## Placeholders\r\n\r\n- Catch any exceptions that occur during placeholder request to not cause problems in other plugins using Plan placeholders\r\n- Added %plan_top_{category}_{n}_value_raw% placeholders for unformatted values (Useful for custom time formats)\r\n- Added %plan_server_players_online% and %plan_network_players_online% placeholders that show the latest data in the database (~1 minute accuracy)\r\n",[775,779],{"filename":776,"primary":433,"size":777,"url":778},"Plan-5.6-dev-build-2948.jar",17242021,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2948\u002FPlan-5.6-dev-build-2948.jar",{"filename":780,"primary":433,"size":781,"url":782},"PlanFabric-5.6-dev-build-2948.jar",17194496,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2948\u002FPlanFabric-5.6-dev-build-2948.jar","5.6 DEV build 2948",1736162945,"5.6.2948",{"changelog":787,"downloads":409,"files":788,"name":797,"prerelease":433,"published_at":798,"version":799},"# 5.6 DEV build 2906\r\n\r\nThis dev build contains bugfixes, contributions and dependency updates that have been done since May. I would release it as a full release, but since my start of December is hectic, I want to avoid releasing a buggy version by accident.\r\n\r\nSpecial thanks to **YannicHock** & **Zaemong** for contributions to this update.\r\n\r\nThere's a small development\u002Flife update at the bottom of the change log.\r\n\r\n# Change log\r\n\r\n## Commands [action required]\r\n\r\n- \u002Fplan and \u002Fplanproxy now require `plan.command` permission to be used. This is to allow hiding \u002Fplan from tab completion, since it showed up even if a player had no access to any of the subcommands.\r\n\r\n## Platform specific\r\n\r\n- Fixed Nukkit incompatibility with EntityTameable being moved to a different package\r\n- Fixed Folia ConcurrentModificationException related to ping task\r\n- Fixed Folia region tick thread crash if another plugin was using Plan placeholders on server thread\r\n\r\n## Website\r\n\r\n- Fixed some countries not appearing on the map due to missing country name -> ISO-3166 alpha-3 translation\r\n- Added web permissions for different Server Perfomance graph data types. This allows configuring permissions for viewing TPS graph and nothing else.\r\n\r\n## Database\r\n\r\n- Fixed CorrectWrongCharacterEncodingPatch applying to non-Plan tables in the same database.\r\n\r\n## Config\r\n\r\n- Increased default time series data retention to 10 years (3650 days) - previously 90 days. Does not change existing configs.\r\n\r\n## Extensions\r\n\r\n- CMI Extension added by YannicHock\r\n\r\n## Locale\r\n\r\n- Fixed French (FR) locale causing website loading issues\r\n- Japanese (JA) locale updated by Zaemong\r\n\r\n## Placeholders\r\n\r\n- Catch any exceptions that occur during placeholder request to not cause problems in other plugins using Plan placeholders\r\n- Added %plan_top_{category}_{n}_value_raw% placeholders for unformatted values (Useful for custom time formats)\r\n- Added %plan_server_players_online% and %plan_network_players_online% placeholders that show the latest data in the database (~1 minute accuracy)\r\n\r\n----\r\n\r\n# Development\u002FLife update\r\n\r\nPlan is now 8 years old (tomorrow on 2nd of December)! Wow, that's almost third of my life.\r\n\r\nI don't know how to begin this, but since the regular updates stopped coming in June, I feel like I need to write something to let you know why.\r\n\r\nIn June, as my summer holiday started I decided to leave my laptop at home, rather than take it with me and work on Plan all summer. This was the first time in 7 years that that happened. I didn't open the IDE again for a long time, and I kind of liked it. Unfortunately any 2 month long break from a project usually leads to the build environment breaking, so I've had to deal with some of that before I could get back to regular development.\r\n\r\nOver last 4 months I've slowly worked on DataExtension Graph API on some weekends. It's surprising how much boilerplate something like that needs to function, so it's somewhere around 33%-50% done after 4 months in development. With long pauses in between due to needing to work on other bugs and broken builds, it has not progressed as fast as I would have liked.\r\n\r\nPeople always seem to wonder why I'm doing this project, and I've wondered that too over the years. I sort of rationalized the reason to be that I love doing it - and that was true for years, as I love learning new things, and Plan allowed me to do those experiments to learn. Lately I've started to think that doing this project has also been a kind of escapism. Everyone wants to feel like they're good at something, and when I found programming in 2016, that was something I felt like I could be really good at. So I started this project, and found so much enjoyment from that. It's funny how life creeps up on you if you let it, Over these last two years I've started to find my people and hobbies. Those things give me so much joy in life.\r\n\r\nI still enjoy working on this project, but I've found that doing Java projects at work, and doing Java project on the weekends is not a very sustainable hobby. I found that out the hard way when I had a burnout in 2022. In an ideal world I would love to work on this project full-time, but that's just not realistic financially.\r\n\r\nI'm not sure what the way forward is, but what I'm currently trying is to schedule Plan development time in my calendar. I feel like something I need to solve is that other activities refresh my energy, while Plan development drains it. I need to find a way to make it refresh my energy. If you've solved something like that I'd love to hear your thoughts on discord.\r\n\r\nAll that said, I don't think this project is going away anytime soon. I'll just have to figure out a sustainable way to fit it together with the rest of my life. And that just might be the learning journey that sparks my eyes again.\r\n\r\nI hope you have wonderful Christmas or other holidays ahead of you.\r\nAll the best!\r\n\r\n~Aurora",[789,793],{"filename":790,"primary":433,"size":791,"url":792},"Plan-5.6-dev-build-2906.jar",17169886,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2906\u002FPlan-5.6-dev-build-2906.jar",{"filename":794,"primary":433,"size":795,"url":796},"PlanFabric-5.6-dev-build-2906.jar",17128301,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2906\u002FPlanFabric-5.6-dev-build-2906.jar","5.6 DEV build 2906",1733046809,"5.6.2906",{"changelog":801,"downloads":409,"files":802,"name":811,"prerelease":459,"published_at":812,"version":813},"# 5.6 build 2883\r\n\r\nThis release brings redesigned join address visualization, Folia support, updates to Fabric 1.20.5, quality of life features and fixes some bugs.\r\n\r\nSpecial thanks to **jhqwqmc**, **Sniper_TVmc**, **mcmdev**, **DrexHD** and **ZhangYuheng** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Fabric\r\n\r\n- Fabric support was updated to 1.20.5 by DrexHD, older fabric versions are no longer supported as Fabric 1.20.5 requires Java 21\r\n\r\n## Folia\r\n\r\n- Folia support was implemented by ZhangYuheng. Please note that sessions from Folia servers will have incorrect world times on Folia since the platform doesn't support PlayerWorldChangeEvent yet.\r\n\r\n## Config\r\n\r\n- You can now configure Plan using environment variables. This can be useful for those running servers in docker environments. Examples:\r\n  - Plugin.ServerName -> PLAN_PLUGIN_SERVERNAME\r\n  - Database.MySQL.Password -> PLAN_DATABASE_MYSQL_PASSWORD\r\n  - ServerInfoFile.yml is also supported, eg. PLAN_SERVER_ID, PLAN_SERVER_UUID to have specific servers keep their identity if your server destroys all files on shutdown.\r\n  - With string lists variable needs to be format \"- One\\n- Two\" where \\n is newline\r\n\r\n## Website\r\n\r\n### Redesigned Join Address visualization\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002Fbbab9615-bce3-4d2a-893a-ccc3f8713a8a)\r\n\r\nJoin address visualization was difficult for servers with 100s of join addresses. With the redesign you can select multiple addresses as a group to be visualized, and rename it to your liking. This can help you track different advertising campaigns and server list entries across time.\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002F9c14f686-be66-4eb9-b346-f679831db604)\r\n\r\nThe same selectors are used on the Player Retention graph when you are grouping registered players by Join Address.\r\n\r\nThe address groups you make are linked to your user if you have login enabled, or stored to browser localstorage to keep them even if you close the page.\r\n\r\nIn addition:\r\n\r\n- It is now possible to disable join address gathering in the config\r\n- It is now possible to filter out specific addresses from the data in the config. This can help if you have a geyser server that isn't configured to forward hostnames, since the geyser server IP would appear in the data instead.\r\n- Join addresses that don't look like IPs or domains are now automatically filtered out. You can disable this behavior with Preserve_invalid setting.\r\n\r\n### Editing Queries\r\n\r\n- You can now press 'Edit Query' on the Query Results page to change the filters and view. This can be useful if you want to quickly select a timeframe from calendar and then filter the results further with other filters.\r\n![image](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002Fc57ef875-0fa5-4cb2-a0a8-1291f1d8c165)\r\n\r\n## Commands\r\n\r\n- Fixed permissions not being checked for tab completion of commands which allowed players to get list of player names via tab completion.\r\n\r\n## Database\r\n\r\n- Fixed duplicate key exception during enable in some rare cases related to UpdateWebPermissionsPatch\r\n- Fixed CorrectWrongCharacterEncodingPatch failing on mysql.user table being a view\r\n- Fixed error storing access log when IP was spoofed (Longer than IPv6)\r\n\r\n## Export\r\n\r\n- Fixed allowlist bounces data not being visible on exported pages.\r\n\r\n## Placeholders\r\n\r\n- Added %plan_server_uptime% placeholder\r\n\r\n## Extensions\r\n\r\n- Composite punishment support was added to LibertyBans Extension by mcmdev\r\n- You can now configure PlaceholderAPI values that you want to ignore from other plugins. This is useful if some plugin doesn't report placeholder value after player leaves the server.\r\n  - Placeholders that aren't replaced are now no longer stored as a changed value.\r\n\r\n## Locale\r\n\r\n- French (FR) locale was updated by Sniper_TVmc\r\n- Simplified Chinese (CN) locale was updated by jhqwqmc",[803,807],{"filename":804,"primary":433,"size":805,"url":806},"Plan-5.6-build-2883.jar",17103119,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2883\u002FPlan-5.6-build-2883.jar",{"filename":808,"primary":433,"size":809,"url":810},"PlanFabric-5.6-build-2883.jar",17062614,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2883\u002FPlanFabric-5.6-build-2883.jar","5.6 build 2883",1716736089,"5.6.2883",{"changelog":815,"downloads":409,"files":816,"name":825,"prerelease":433,"published_at":826,"version":827},"# 5.6 DEV build 2850\r\n\r\nThis dev release brings redesigned join address visualization, updates to Fabric 1.20.5, and fixes some bugs.\r\n\r\nSpecial thanks to **jhqwqmc**, **Sniper_TVmc**, **mcmdev** and **DrexHD** for contributions to this update\r\n\r\n# Change log\r\n\r\n## Fabric\r\n\r\n- Fabric support was updated to 1.20.5 by DrexHD, older fabric versions are no longer supported as Fabric 1.20.5 requires Java 21\r\n\r\n## Website\r\n\r\n### Redesigned Join Address visualization\r\n\r\n![320191723-aff709ec-f87d-47cf-bd56-c5f0cf866d6a](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002F9e7a4501-9f84-4af2-b527-4cbc0eb3f246)\r\n\r\nJoin address visualization was difficult for servers with 100s of join addresses. With the redesign you can select multiple addresses as a group to be visualized, and rename it to your liking. This can help you track different advertising campaigns and server list entries across time.\r\n\r\n![320191710-4b70bc39-e3da-47aa-884d-fb19924cfd71](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002F0cb21bb1-3570-4a58-9d31-0903a1163af2)\r\n\r\nThe same selectors are used on the Player Retention graph when you are grouping registered players by Join Address.\r\n\r\nThe address groups you make are linked to your user if you have login enabled, or stored to browser localstorage to keep them even if you close the page.\r\n\r\n### Editing Queries\r\n\r\n- You can now press 'Edit Query' on the Query Results page to change the filters and view. This can be useful if you want to quickly select a timeframe from calendar and then filter the results further with other filters.\r\n\r\n## Database\r\n\r\n- Fixed duplicate key exception during enable in some rare cases related to UpdateWebPermissionsPatch\r\n\r\n## Export\r\n\r\n- Fixed allowlist bounces data not being visible on exported pages.\r\n\r\n## Extensions\r\n\r\n- Composite punishment support was added to LibertyBans Extension by mcmdev\r\n- You can now configure PlaceholderAPI values that you want to ignore from other plugins. This is useful if some plugin doesn't report placeholder value after player leaves the server for example.\r\n\r\n## Locale\r\n\r\n- French (FR) locale was updated by Sniper_TVmc\r\n- Simplified Chinese (CN) locale was updated by jhqwqmc",[817,821],{"filename":818,"primary":433,"size":819,"url":820},"Plan-5.6-dev-build-2850.jar",16833769,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2850\u002FPlan-5.6-dev-build-2850.jar",{"filename":822,"primary":433,"size":823,"url":824},"PlanFabric-5.6-dev-build-2850.jar",16792999,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2850\u002FPlanFabric-5.6-dev-build-2850.jar","5.6 DEV build 2850",1713597967,"5.6.2850",{"changelog":829,"downloads":409,"files":830,"name":839,"prerelease":459,"published_at":840,"version":841},"# 5.6 build 2820\r\n\r\nThis build contains some bugfixes to things that were missed in last release. If you missed that, [here's the change log for that](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Ftag\u002F5.6.2816)\r\n\r\nSpecial thanks to **jhqwqmc** for contribution to this update\r\n\r\n# Change log\r\n\r\n- Fixed a error in extension boolean storage when using SQLite. A minor bug, but spammed the console a bit.\r\n- Fixed Join Address not appearing on the \u002Fplan ingame command due to formatting error\r\n- jhqwqmc updated Simplified Chinese Locale (CN)",[831,835],{"filename":832,"primary":433,"size":833,"url":834},"Plan-5.6-build-2820.jar",16799843,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2820\u002FPlan-5.6-build-2820.jar",{"filename":836,"primary":433,"size":837,"url":838},"PlanFabric-5.6-build-2820.jar",16960019,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2820\u002FPlanFabric-5.6-build-2820.jar","5.6 build 2820",1710429382,"5.6.2820",{"changelog":843,"downloads":409,"files":844,"name":853,"prerelease":459,"published_at":854,"version":855},"# 5.6 build 2816\r\n\r\nThis version brings a lot of bugfixes, such as Geolocation database download changes, and some new features, such as CSV export, whitelist bounce gathering and more placeholders.\r\n\r\nSpecial thanks to **jhqwqmc, Vankka, Beniro, liuzhen932 and SlimeDog** for contributions to this update!\r\n\r\n# Change log\r\n\r\n## Data Gathering\r\n\r\n- Plan now downloads geolite database from playeranalytics.net - This is related to MaxMind reducing their daily download counts to 30\u002Fday by March 21st which breaks the geolocation database downloading. This means the geolocation database needs to be distributed via a server rather than from MaxMind directly. Currently Plan implicitly trusts that the webserver responding from geodb.playeranalytics.net is correct one. In future there will be a signature check added to ensure Plan is talking to correct server.\r\n- Fixed server crash when using SQLite and Plan tried to gather installed plugin list on the server thread.\r\n\r\n### Allowlist bounces\r\n\r\n![allowlist-bounces](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002F9bfa987b-b9b4-4cc9-a3f2-ea4810838db4)\r\n\r\nSpigot, Sponge & Nukkit servers now gather whitelist bounces. There is a new tab on the server page under Online Activity which allows you to quickly see whose login has been blocked by whitelist, and who you have already allowed on the whitelist based on session data, so that you don't do unnecessary work allowing them again.\r\n\r\nVisibility is controlled with web permission `page.server.allowlist.bounce`\r\n\r\n## Website\r\n\r\n### CSV Export in tables\r\n\r\n![export-demo](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002Fef72f09a-945c-4841-abff-a59af7b4878a)\r\n\r\nYou can now export CSV from most tables. This is especially useful when combined with Query features, such as the click-and-drag in calendar for selecting data from specific timeframe.\r\n\r\n### Other\r\n\r\n- The react bundle is now built using Vite. It utilizes modules available in modern browsers. This sped up build times by 7 minutes and should also improve page loading speed.\r\n- Fixed some issues where reverse proxied Plan website loaded a blank page\r\n- Fixed issue where server players online graph was fetched for network page due to bad cache lookup\r\n- Server & Network Overview now uses frontend formatting for playtime and dates\r\n- Fixed issue where server ping table never loaded\r\n- Fixed server calendar being editable (You could drag blocks around rather than select)\r\n- Fixed ping graph not rendering on player page if there was a lot of points\r\n\r\n## Webserver\r\n\r\n- Added simple DDoS protection that limits requests if same IP requests same path multiple times. This type of DDoS has become more prevalent against cloudflare IPs, where a Go-http-client based bot requests \u002F repeatedly and doesn't follow redirects. Because browsers follow redirects this doesn't affect regular users.\r\n\r\n## Database\r\n\r\n- Optimized how database handles transactions on disable. More unnecessary transactions are dropped\r\n\r\n## Fabric 1.20.4\r\n\r\n- Binero implemented Fabric 1.20.4 support, 1.20.3 is not supported this build onwards.\r\n- Fabric command registration was moved earlier to avoid confusion when \u002Fplan reload doesn't exist after failed enable.\r\n\r\n## Placeholders\r\n\r\n- Added network_ equivalent to all missing server_ placeholders\r\n- Added %plan_regular_players% and %plan_network_regular_players% placeholders\r\n- Added %plan_join_address% placeholder\r\n- Fixed off-by-one error in %plan_top_...% placeholders where 0 would be top 1 and 9 top 10. Now it matches documentation where 1 -> 1, and 10 -> 10. If you were compensating for this bug you may need to change `%plan_top_..._0%` to `%plan_top_..._1%` etc\r\n\r\n## Commands\r\n\r\n- \u002Fplan ingame now shows Last join address of the player.\r\n\r\n## Export\r\n\r\n- Fixed react files getting exported even when all export is disabled.\r\n\r\n## Extensions\r\n\r\n- Vankka updated DiscordSRV Extension to fix an incompatibility with new DiscordSRV version\r\n- `@Conditional` values are now removed when the value of the boolean changes in a way that unsatisfies the condition.\r\n- Fixed FastLogin Extension recording \"Unknown\" when behind a proxy server\r\n- Fixed Quests Extension support for Quests version 5, version 4 is no longer supported.\r\n\r\n## Locale\r\n\r\n- jhqwqmc updated Chinese locale (CN)\r\n- liuzhen932 updated Chinese locale (CN)",[845,849],{"filename":846,"primary":433,"size":847,"url":848},"Plan-5.6-build-2816.jar",16799591,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2816\u002FPlan-5.6-build-2816.jar",{"filename":850,"primary":433,"size":851,"url":852},"PlanFabric-5.6-build-2816.jar",16959759,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2816\u002FPlanFabric-5.6-build-2816.jar","5.6 build 2816",1710060373,"5.6.2816",{"changelog":857,"downloads":409,"files":858,"name":867,"prerelease":433,"published_at":868,"version":869},"# 5.6 DEV build 2796\r\n\r\nThis dev release contains further fixes. It is a release candidate.\r\n\r\nSpecial thanks to **jhqwqmc, Vankka, Beniro, and liuzhen932** for contributions to this update!\r\n\r\n# Changes from DEV build 2731\r\n\r\n- Plan now downloads geolite database from playeranalytics.net\r\n- Fixes to website\r\n- New placeholders\r\n- liuzhen932 updated CN locale\r\n- SQLite now logs what it is waiting for if it needs to wait on disable\r\n- Optimizations to plugin disable transaction handling\r\n\r\n# Change log\r\n\r\n## Data Gathering\r\n\r\n- Plan now downloads geolite database from playeranalytics.net - This is related to MaxMind reducing their daily download counts to 30\u002Fday by March 21st. This means the geolocation database needs to be distributed via a server rather than from MaxMind directly. Currently Plan implicitly trusts that the webserver responding from geodb.playeranalytics.net is correct one. In future there will be a signature check added to ensure Plan is talking to correct server.\r\n\r\n## Website\r\n\r\n### CSV Export in tables\r\n\r\n![export-demo](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002Fef72f09a-945c-4841-abff-a59af7b4878a)\r\n\r\nYou can now export CSV from most tables. This is especially useful when combined with Query features, such as the click-and-drag in calendar for selecting data from specific timeframe.\r\n\r\n### Other\r\n\r\n- The react bundle is now built using Vite. It utilizes modules available in modern browsers. This sped up build times by 7 minutes and should also improve page loading speed.\r\n- Fixed some issues where reverse proxied Plan website loaded a blank page\r\n- Fixed issue where server players online graph was fetched for network page due to bad cache lookup\r\n- Server & Network Overview now uses frontend formatting for playtime and dates\r\n- Fixed issue where server ping table never loaded\r\n- Fixed server calendar being editable (You could drag blocks around rather than select)\r\n\r\n## Webserver\r\n\r\n- Added simple DDoS protection that limits requests if same IP requests same path multiple times. This type of DDoS has become more prevalent against cloudflare IPs, where a Go-http-client based bot requests \u002F repeatedly and doesn't follow redirects. Because browsers follow redirects this doesn't affect regular users.\r\n\r\n## Database\r\n\r\n- Optimized how database handles transactions on disable. More unnecessary transactions are dropped\r\n\r\n## Fabric 1.20.4\r\n\r\n- Binero implemented Fabric 1.20.4 support, 1.20.3 is not supported this build onwards.\r\n- Fabric command registration was moved earlier to avoid confusion when \u002Fplan reload doesn't exist after failed enable.\r\n\r\n## Placeholders\r\n\r\n- Added network_ equivalent to all missing server_ placeholders (You can see them here until list is updated to wiki on full release https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fcommit\u002F01ce503c77c059210c229932cafea50f299f3b7b)\r\n- Added %plan_regular_players% and %plan_network_regular_players% placeholders\r\n- Fixed off-by-one error in %plan_top_...% placeholders where 0 would be top 1 and 9 top 10. Now it matches documentation where 1 -> 1, and 10 -> 10. If you were compensating for this bug you may need to change %plan_top_..._0% to %plan_top_..._1% etc\r\n\r\n## Export\r\n\r\n- Fixed react files getting exported even when all export is disabled.\r\n\r\n## Extensions\r\n\r\n- Vankka updated DiscordSRV Extension to fix an incompatibility with new DiscordSRV version\r\n- `@Conditional` values are now removed when the value of the boolean changes in a way that unsatisfies the condition.\r\n\r\n## Locale\r\n\r\n- jhqwqmc updated Chinese locale (CN)\r\n- liuzhen932 updated Chinese locale (CN)",[859,863],{"filename":860,"primary":433,"size":861,"url":862},"Plan-5.6-dev-build-2796.jar",16787058,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2796\u002FPlan-5.6-dev-build-2796.jar",{"filename":864,"primary":433,"size":865,"url":866},"PlanFabric-5.6-dev-build-2796.jar",16948559,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2796\u002FPlanFabric-5.6-dev-build-2796.jar","5.6 DEV build 2796",1709455146,"5.6.2796",{"changelog":871,"downloads":409,"files":872,"name":881,"prerelease":433,"published_at":882,"version":883},"# 5.6 DEV build 2731\r\n\r\nThis dev release contains further maintenance and few new features\r\n\r\nSpecial thanks to **jhqwqmc, Vankka and Beniro** for contributions to this update!\r\n\r\n# Changes from DEV build 2703\r\n\r\n- CSV export added\r\n- Bugfixes in export, placeholders, fabric commands and website cache\r\n\r\n# Change log\r\n\r\n## Website\r\n\r\n### CSV Export in tables\r\n\r\n![export-demo](https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Fassets\u002F24460436\u002Fef72f09a-945c-4841-abff-a59af7b4878a)\r\n\r\nYou can now export CSV from most tables. This is especially useful when combined with Query features, such as the click-and-drag in calendar for selecting data from specific timeframe.\r\n\r\n### Other\r\n\r\n- The react bundle is now built using Vite. It utilizes modules available in modern browsers. This sped up build times by 7 minutes and should also improve page loading speed.\r\n- Fixed some issues where reverse proxied Plan website loaded a blank page\r\n- Fixed issue where server players online graph was fetched for network page due to bad cache lookup\r\n- Server & Network Overview now uses frontend formatting for playtime and dates\r\n\r\n## Fabric 1.20.4\r\n\r\n- Binero implemented Fabric 1.20.4 support, 1.20.3 is not supported this build onwards.\r\n- Fabric command registration was moved earlier to avoid confusion when \u002Fplan reload doesn't exist after failed enable.\r\n\r\n## Placeholders\r\n\r\n- Fixed off-by-one error in %plan_top_...% placeholders where 0 would be top 1 and 9 top 10. Now it matches documentation where 1 -> 1, and 10 -> 10. If you were compensating for this bug you may need to change %plan_top_..._0% to %plan_top_..._1% etc\r\n\r\n## Export\r\n\r\n- Fixed react files getting exported even when all export is disabled.\r\n\r\n## Extensions\r\n\r\n- Vankka updated DiscordSRV Extension to fix an incompatibility with new DiscordSRV version\r\n\r\n## Locale\r\n\r\n- jhqwqmc updated Chinese locale (CN)",[873,877],{"filename":874,"primary":433,"size":875,"url":876},"Plan-5.6-dev-build-2731.jar",16265156,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2731\u002FPlan-5.6-dev-build-2731.jar",{"filename":878,"primary":433,"size":879,"url":880},"PlanFabric-5.6-dev-build-2731.jar",16398789,"https:\u002F\u002Fgithub.com\u002Fplan-player-analytics\u002FPlan\u002Freleases\u002Fdownload\u002F5.6.2731\u002FPlanFabric-5.6-dev-build-2731.jar","5.6 DEV build 2731",1706342862,"5.6.2731",1792698713316]