[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"post-temporal-game-leaderboards":3,"blog-temporal-game-leaderboards-1793037409336":41,"nav-games":155},{"post":4,"notFound":12,"related":17},{"id":5,"title":6,"date":7,"author":8,"authorMcUsername":8,"summary":9,"content":10,"image":11,"major":12,"editedAt":11,"editedBy":11,"tags":13,"visibility":14,"section":15,"readingMinutes":16},"temporal-game-leaderboards","Temporal game leaderboards",1793037409336,"Marcelektro","A leaderboard system capable of anything you want in a game.","A leaderboard system is a must-have if you plan to make your game a little more competitive, or just want to keep the high scores visible to the players. However, often times such system could seem difficult to implement, given the design must be optimized, light on the CPU and I\u002FO, and also functional to cover the entire game and player demands.\n\nWhen developing marCloudMC, we ran into the same problem. We needed something that's fast, and  just works, and works well. \n\nIn the past we have used many different solutions, and all of them were missing something. \n\nThe first one we tried was LeaderHeads. A now unavailable (RIP) project that created such leaderboards based on PlaceholderAPI values. It worked very well and was super lightweight, but was limited to incremental values only. So for example, 'games won' would be counted nicely, but the max 'high score', not really. Especially for temporal boards like daily\u002Fweekly\u002Fetc, this required a specialized solution.\n\nThen, we tried ajLeaderboards since LeaderHeads was no longer maintained and closed source. Created by a very nice developer, contributor of Bedwars1058, it implemented the features LeaderHeads had. While initially it worked well, over time the database growed in size, and sometimes caused OOM errors due to not closed database connections. This could be a me problem, but since I always wanted more features, I decided to build my own.\n\nA few years later, when I finally was in the mood to create it, I built marCloudMC Leaderboards — a super lightweight plugin that had the full coverage of all earlier mentioned projects, except it's schema design and plugin implementation were made with near-zero overhead in mind. Today is the day I finished it, which is why I'm posting this blog post right now.\n\n![marcloudmc leaderboards intellij idea for larping](\u002Fmedia\u002FtG22vdTnIbcEhrCb\u002F1600w.webp)\n\n\n\nHere's where I needed the temporal high score feature for:\n\nmarCloudMC lobby parkour temporal leadearboard example:\n\n![marcloudmc lobby parkour temporal leadearboard example](\u002Fmedia\u002FdpzCrFGovfsa1zfq\u002F1600w.webp)\n\n\n\nIt works well. So far. But if anything breaks, I can fix it myself.\n\nIf the system works well, I might publish the source code and the plugin to the public. \n\nWe live in the era of vibe coders who, if prompted well, could generate anything within hours. Selling a plugin in 2026 doesn't seem viable to me at all. Most of the people I know just send the description of an app to Claude and have it remake it. Unless I'm wrong, then [please let me know](https:\u002F\u002Fdiscord.gg\u002FyaftWcn) if there's still any hope.\n\nAnyway, hop on `marcloud.net` and get on top of the weekly leaderboard. You'll be rewarded with being displayed as last week's winner for the next week ^^\n\nC you in game!",null,false,[],"public","blog",2,[18,26,34],{"id":19,"title":20,"date":21,"author":8,"authorMcUsername":8,"summary":22,"content":11,"image":11,"major":12,"editedAt":23,"editedBy":8,"tags":24,"visibility":14,"section":15,"readingMinutes":25},"the-php-vulnerability-situation-is-crazy","The PHP Vulnerability situation is crazy",1792701293677,"My PoC and thoughts on the CVE-2026-109618 \u002F CVE-2026-109619 PHP critical vulnerabilities for RCE",1792701738253,[],1,{"id":27,"title":28,"date":29,"author":8,"authorMcUsername":8,"summary":30,"content":11,"image":31,"major":12,"editedAt":32,"editedBy":8,"tags":33,"visibility":14,"section":15,"readingMinutes":25},"mlg-rush-server-1-8","MLG Rush server 1.8",1792662182801,"Want a free 1.8.8 MLG Rush server that will never shut down? We got you!","\u002Fmedia\u002FHTbtlaEDVJRIEErj\u002F1600w.webp",1792664084017,[],{"id":35,"title":36,"date":37,"author":8,"authorMcUsername":8,"summary":38,"content":11,"image":11,"major":12,"editedAt":39,"editedBy":8,"tags":40,"visibility":14,"section":15,"readingMinutes":25},"first-blog-post","First blog post",1792626125493,"The first post on the website, maybe because the blog feature has just been... RELEASED!",1792695946348,[],{"data":42,"body":43,"toc":151},{},{"type":44,"children":45},"root",[46,54,59,64,69,74,79,88,93,98,106,111,116,132,146],{"type":47,"tag":48,"props":49,"children":50},"element","p",{},[51],{"type":52,"value":53},"text","A leaderboard system is a must-have if you plan to make your game a little more competitive, or just want to keep the high scores visible to the players. However, often times such system could seem difficult to implement, given the design must be optimized, light on the CPU and I\u002FO, and also functional to cover the entire game and player demands.",{"type":47,"tag":48,"props":55,"children":56},{},[57],{"type":52,"value":58},"When developing marCloudMC, we ran into the same problem. We needed something that's fast, and  just works, and works well.",{"type":47,"tag":48,"props":60,"children":61},{},[62],{"type":52,"value":63},"In the past we have used many different solutions, and all of them were missing something.",{"type":47,"tag":48,"props":65,"children":66},{},[67],{"type":52,"value":68},"The first one we tried was LeaderHeads. A now unavailable (RIP) project that created such leaderboards based on PlaceholderAPI values. It worked very well and was super lightweight, but was limited to incremental values only. So for example, 'games won' would be counted nicely, but the max 'high score', not really. Especially for temporal boards like daily\u002Fweekly\u002Fetc, this required a specialized solution.",{"type":47,"tag":48,"props":70,"children":71},{},[72],{"type":52,"value":73},"Then, we tried ajLeaderboards since LeaderHeads was no longer maintained and closed source. Created by a very nice developer, contributor of Bedwars1058, it implemented the features LeaderHeads had. While initially it worked well, over time the database growed in size, and sometimes caused OOM errors due to not closed database connections. This could be a me problem, but since I always wanted more features, I decided to build my own.",{"type":47,"tag":48,"props":75,"children":76},{},[77],{"type":52,"value":78},"A few years later, when I finally was in the mood to create it, I built marCloudMC Leaderboards — a super lightweight plugin that had the full coverage of all earlier mentioned projects, except it's schema design and plugin implementation were made with near-zero overhead in mind. Today is the day I finished it, which is why I'm posting this blog post right now.",{"type":47,"tag":48,"props":80,"children":81},{},[82],{"type":47,"tag":83,"props":84,"children":87},"img",{"alt":85,"src":86},"marcloudmc leaderboards intellij idea for larping","\u002Fmedia\u002FtG22vdTnIbcEhrCb\u002F1600w.webp",[],{"type":47,"tag":48,"props":89,"children":90},{},[91],{"type":52,"value":92},"Here's where I needed the temporal high score feature for:",{"type":47,"tag":48,"props":94,"children":95},{},[96],{"type":52,"value":97},"marCloudMC lobby parkour temporal leadearboard example:",{"type":47,"tag":48,"props":99,"children":100},{},[101],{"type":47,"tag":83,"props":102,"children":105},{"alt":103,"src":104},"marcloudmc lobby parkour temporal leadearboard example","\u002Fmedia\u002FdpzCrFGovfsa1zfq\u002F1600w.webp",[],{"type":47,"tag":48,"props":107,"children":108},{},[109],{"type":52,"value":110},"It works well. So far. But if anything breaks, I can fix it myself.",{"type":47,"tag":48,"props":112,"children":113},{},[114],{"type":52,"value":115},"If the system works well, I might publish the source code and the plugin to the public.",{"type":47,"tag":48,"props":117,"children":118},{},[119,121,130],{"type":52,"value":120},"We live in the era of vibe coders who, if prompted well, could generate anything within hours. Selling a plugin in 2026 doesn't seem viable to me at all. Most of the people I know just send the description of an app to Claude and have it remake it. Unless I'm wrong, then ",{"type":47,"tag":122,"props":123,"children":127},"a",{"href":124,"rel":125},"https:\u002F\u002Fdiscord.gg\u002FyaftWcn",[126],"nofollow",[128],{"type":52,"value":129},"please let me know",{"type":52,"value":131}," if there's still any hope.",{"type":47,"tag":48,"props":133,"children":134},{},[135,137,144],{"type":52,"value":136},"Anyway, hop on ",{"type":47,"tag":138,"props":139,"children":141},"code",{"className":140},[],[142],{"type":52,"value":143},"marcloud.net",{"type":52,"value":145}," and get on top of the weekly leaderboard. You'll be rewarded with being displayed as last week's winner for the next week ^^",{"type":47,"tag":48,"props":147,"children":148},{},[149],{"type":52,"value":150},"C you in game!",{"title":152,"searchDepth":153,"depth":153,"links":154},"",3,[],[156,164,169,174,179,184,189,195],{"slug":157,"name":158,"tagline":159,"status":160,"visibility":14,"accent":11,"cardImage":161,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"bedwars","Bedwars","Protect your bed and destroy others'!","live","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fbedwars.webp","1.8.9","1.8 — 1.21.4",{"slug":165,"name":166,"tagline":167,"status":160,"visibility":14,"accent":11,"cardImage":168,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"knockit","KnockIT","Knock your opponents off into the void!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fknockit.webp",{"slug":170,"name":171,"tagline":172,"status":160,"visibility":14,"accent":11,"cardImage":173,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"mlg-rush","MLG Rush","Rush your opponent on a narrow bridge!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fmlgrush.webp",{"slug":175,"name":176,"tagline":177,"status":160,"visibility":14,"accent":11,"cardImage":178,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"speedbuilders","SpeedBuilders","Memorize and recreate a build as fast as you can!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fspeedbuilders.webp",{"slug":180,"name":181,"tagline":182,"status":160,"visibility":14,"accent":11,"cardImage":183,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"luckrace","LuckRace","Compete in a parkour race and open lucky blocks!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fluckrace.webp",{"slug":185,"name":186,"tagline":187,"status":160,"visibility":14,"accent":11,"cardImage":188,"iconImage":11,"serverIp":11,"nativeVersion":162,"supportedVersions":163},"kitpvp","KitPVP","Fight against other players in a kit-based PVP arena!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fkitpvp.webp",{"slug":190,"name":191,"tagline":192,"status":160,"visibility":14,"accent":11,"cardImage":193,"iconImage":11,"serverIp":11,"nativeVersion":194,"supportedVersions":163},"creative","Creative","Build to your heart's content in a creative world!","https:\u002F\u002Fmc.marcloud.net\u002Fcdn\u002Fwebsite\u002Fgames\u002Fcreative.webp","1.12.2",{"slug":196,"name":197,"tagline":198,"status":160,"visibility":14,"accent":11,"cardImage":11,"iconImage":11,"serverIp":11,"nativeVersion":194,"supportedVersions":163},"murder-mystery","Murder Mystery","Secretly eliminate players, or stay alive!"]