+
+
+
+ Licensed under MIT license using open source technologies.
+
+
+ Using dynamic statistical data version 1.
+
+
+ Not officially affiliated with Minehut, GamerSafer or Super
+ League Enterprise.
+
+
+
+
+ ),
+ {
+ width: 1200,
+ height: 630,
+ fonts: [
+ {
+ name: "Inter",
+ data: interRegular,
+ style: "normal",
+ weight: 400,
+ },
+ {
+ name: "Inter",
+ data: interBold,
+ style: "normal",
+ weight: 700,
+ },
+ {
+ name: "Inter",
+ data: interMedium,
+ style: "normal",
+ weight: 500,
+ },
+ ],
+ }
+ );
+ } catch (error) {
+ console.error("Error generating player statistics image:", error);
+
+ // Load fonts for error page
+ let interRegular: Buffer | null = null;
+ try {
+ interRegular = (await loadLocalFonts())[0];
+ } catch (e) {
+ // If we can't load fonts, we'll just use a system font
+ console.error("Failed to load fonts for error page:", e);
+ }
+
+ // Try to load the banner image
+ let bannerImageData: Buffer | null = null;
+ try {
+ const bannerPath = path.join(
+ process.cwd(),
+ "public",
+ "branding",
+ "dark-banner.png"
+ );
+ bannerImageData = fs.readFileSync(bannerPath);
+ } catch (e) {
+ // If banner image fails to load, use a solid color background
+ console.error("Failed to load banner image for error page:", e);
+ }
+
+ return new ImageResponse(
+ (
+
+ ),
+ {
+ width: 1200,
+ height: 630,
+ fonts: interRegular
+ ? [
+ {
+ name: "Inter",
+ data: interRegular,
+ style: "normal",
+ weight: 400,
+ },
+ ]
+ : undefined,
+ }
+ );
+ }
+}
diff --git a/apps/www/src/config/version.ts b/apps/www/src/config/version.ts
new file mode 100644
index 0000000..3eb8cf9
--- /dev/null
+++ b/apps/www/src/config/version.ts
@@ -0,0 +1,32 @@
+/*
+ * MHSF, Minehut Server List
+ * All external content is rather licensed under the ECA Agreement
+ * located here: https://mhsf.app/docs/legal/external-content-agreement
+ *
+ * All code under MHSF is licensed under the MIT License
+ * by open source contributors
+ *
+ * Copyright (c) 2025 dvelo
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+"use client";
+export const version = "2.0";
diff --git a/apps/www/src/config/version.tsx b/apps/www/src/config/version.tsx
deleted file mode 100644
index 9960e31..0000000
--- a/apps/www/src/config/version.tsx
+++ /dev/null
@@ -1,527 +0,0 @@
-/*
- * MHSF, Minehut Server List
- * All external content is rather licensed under the ECA Agreement
- * located here: https://mhsf.app/docs/legal/external-content-agreement
- *
- * All code under MHSF is licensed under the MIT License
- * by open source contributors
- *
- * Copyright (c) 2025 dvelo
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-"use client";
-import { Link } from "@/components/util/link";
-import { Button } from "@/components/ui/button";
-import Github from "@/components/ui/github";
-import type { ReactNode } from "react";
-
-const User = ({ user }: { user: string }) => (
-
- {user}
-
-);
-
-const FeatureList = ({
- features,
- title,
- github,
-}: {
- features: (string | ReactNode)[];
- github?: string;
- title: ReactNode;
-}) => {
- return (
-
• Fixed right-click context menu on the server list
-
• Fixed metadata bugs
-
-
-
- Hey! Update on statistics. Recently, we have figured out the Minehut
- API is blocked to Vercel servers (atleast the /servers{" "}
- endpoint). I'm actively trying to find a loop-hole so that statistics
- works correctly. Thank you {":)"}
-
-
-