A one size fits all plugin for vanilla servers running Minecraft Beta 1.7.3
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 156 lines 7.3 kB view raw
1<!doctype html> 2<html> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script> 7 <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> 8 </head> 9 <body 10 class="from-neutral-900 p-6 to-neutral-950 bg-radial w-[100dvw] min-h-[100dvh] flex justify-center items-center text-white" 11 > 12 <main 13 class="grid gap-16 md:grid-cols-2 lg:min-w-[1024px] 2xl:min-w-[1520px]" 14 > 15 <div class="flex flex-col gap-3 justify-center"> 16 <div class="flex flex-col gap-6"> 17 <svg 18 class="stroke-neutral-400 size-[128px] 2xl:size-[148px]" 19 xmlns="http://www.w3.org/2000/svg" 20 viewBox="0 0 24 24" 21 fill="none" 22 stroke="currentColor" 23 stroke-width="2" 24 stroke-linecap="round" 25 stroke-linejoin="round" 26 class="lucide lucide-box-icon lucide-box" 27 > 28 <path 29 d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z" 30 /> 31 <path d="m3.3 7 8.7 5 8.7-5" /> 32 <path d="M12 22V12" /> 33 </svg> 34 <h1 35 class="font-semibold tracking-tight flex gap-2 text-4xl 2xl:text-5xl leading-[1.5] items-center" 36 > 37 Pack.png SMP 38 </h1> 39 </div> 40 <div class="text-md 2xl:text-xl font-medium text-neutral-400"> 41 A beta 1.7.3 minecraft server on the iconic seed<br /> 42 <i>goldenage.keii.dev</i> 43 </div> 44 </div> 45 <div class="grid grid-cols-4 gap-6"> 46 <div 47 class="rounded-xl col-span-4 border border-neutral-800 border-opacity-50 bg-neutral-800 shadow" 48 > 49 <div class="flex flex-col space-y-1.5 p-6"> 50 <h2 51 class="font-semibold leading-none tracking-tight text-neutral-400" 52 > 53 Max Player Count 54 </h2> 55 </div> 56 <div class="flex flex-col space-y-1.5 p-6"> 57 <canvas id="maxPlayerChart"></canvas> 58 <script defer> 59 const ctx1 = 60 document.getElementById("maxPlayerChart"); 61 62 const init1 = async () => { 63 const data = ( 64 await ( 65 await fetch( 66 "https://goldenage.keii.dev/api/servers/1/statistics/max-player-count", 67 ) 68 ).json() 69 )["data"]; 70 71 new Chart(ctx1, { 72 type: "line", 73 data: { 74 labels: data.map((row) => 75 new Date(row.Date).toDateString(), 76 ), 77 datasets: [ 78 { 79 label: "Max Player Count", 80 data: data.map( 81 (row) => row.MaxPlayerCount, 82 ), 83 borderWidth: 1, 84 }, 85 ], 86 }, 87 options: { 88 scales: { 89 y: { 90 beginAtZero: true, 91 }, 92 }, 93 }, 94 }); 95 }; 96 init1(); 97 </script> 98 </div> 99 </div> 100 <div 101 class="rounded-xl col-span-4 border border-neutral-800 border-opacity-50 bg-neutral-800 shadow" 102 > 103 <div class="flex flex-col space-y-1.5 p-6"> 104 <h2 105 class="font-semibold leading-none tracking-tight text-neutral-400" 106 > 107 Player Count (Past 48 hours) 108 </h2> 109 </div> 110 <div class="flex flex-col space-y-1.5 p-6"> 111 <canvas id="playerChart"></canvas> 112 <script defer> 113 const ctx2 = document.getElementById("playerChart"); 114 115 const init2 = async () => { 116 const data = ( 117 await ( 118 await fetch( 119 "https://goldenage.keii.dev/api/servers/1/statistics/player-count", 120 ) 121 ).json() 122 )["data"]; 123 124 new Chart(ctx2, { 125 type: "line", 126 data: { 127 labels: data.map((row) => 128 new Date(row.Date).toDateString(), 129 ), 130 datasets: [ 131 { 132 label: "Max Player Count", 133 data: data.map( 134 (row) => row.PlayerCount, 135 ), 136 borderWidth: 1, 137 }, 138 ], 139 }, 140 options: { 141 scales: { 142 y: { 143 beginAtZero: true, 144 }, 145 }, 146 }, 147 }); 148 }; 149 init2(); 150 </script> 151 </div> 152 </div> 153 </div> 154 </main> 155 </body> 156</html>