fork
Configure Feed
Select the types of activity you want to include in your feed.
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.
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>