Public Beta

Hytale Hub API

Nutze unsere REST API um Hytale Server Daten abzufragen. Perfekt für Discord Bots, Server Widgets und Status-Seiten.

Übersicht

Unsere API ist darauf ausgelegt, einfach und schnell Server-Metadaten und Vote-Statistiken bereitzustellen. Alle Endpunkte sind read-only und öffentlich zugänglich via HTTPS.

https://www.hytale-hub.de/api/public
JSON (UTF-8)
60 req / min (pro IP)
CDN Edge Cache (60s TTL)
Fair Use: Bitte nutze die API verantwortungsvoll. Für intensive Nutzung kontaktiere uns bitte vorab.

Endpunkte

GET/servers/[slug]

Gibt allgemeine Informationen über einen Server zurück (Name, Beschreibung, Tags, Region, IP).

bash
curl https://www.hytale-hub.de/api/public/servers/mein-server
GET/servers

Gibt eine paginierte Liste aller Server zurück.

?limit=20?offset=0?region=DE?mode=Survival?tag=Vanilla
bash
curl "https://www.hytale-hub.de/api/public/servers?limit=5&region=DE"
GET/servers/[slug]/stats

Gibt die aktuellen Vote-Zahlen (Heute/Gesamt) und das letzte Update-Datum zurück.

bash
curl https://www.hytale-hub.de/api/public/servers/mein-server/stats
GET/servers/[slug]/embed

Ein optimiertes Payload für Discord Embeds und Widgets. Enthält bereits formatierte Felder und Bild-URLs.

bash
curl https://www.hytale-hub.de/api/public/servers/mein-server/embed

Response Example:

json
{ "title": "Mein Hytale Server", "description": "Short description...", "url": "https://www.hytale-hub.de/server/...", "fields": [ { "name": "Votes Heute", "value": "5", "inline": true } ] }

Integration in Discord.js

Nutze den Embed-Endpunkt, um mit minimalem Aufwand einen Server-Status Befehl zu bauen.

javascript
const response = await fetch('https://www.hytale-hub.de/api/public/servers/' + serverId + '/embed'); const embedData = await response.json(); // Discord.js v14 await interaction.reply({ embeds: [embedData] });

Integration in React / Next.js

Ein vollwertiges Beispiel für eine client-seitige Serverliste mit "Mehr laden" Button.

ServerList.tsx
"use client"; import { useEffect, useState } from "react"; type ApiServer = { slug: string; name: string; region: string | null; tags: string[]; modes: string[]; publicUrl: string; votes: { today: number; total: number }; }; type ApiResponse = { data: ApiServer[]; meta: { total: number; limit: number; offset: number }; }; export default function ServerListFromApi() { const [items, setItems] = useState<ApiServer[]>([]); const [meta, setMeta] = useState<ApiResponse["meta"] | null>(null); const [loading, setLoading] = useState(false); const limit = 5; async function load(offset: number, append: boolean) { setLoading(true); const res = await fetch(`https://www.hytale-hub.de/api/public/servers?limit=${limit}&offset=${offset}`); const json: ApiResponse = await res.json(); setItems((prev) => (append ? [...prev, ...json.data] : json.data)); setMeta(json.meta); setLoading(false); } useEffect(() => { load(0, false); }, []); const canLoadMore = meta ? meta.offset + meta.limit < meta.total : false; return ( <div className="space-y-4"> <div className="grid gap-3"> {items.map((s) => ( <a key={s.slug} href={s.publicUrl} className="rounded-xl border border-white/10 p-4 hover:bg-white/5 transition block" > <div className="flex items-center justify-between mb-1"> <div className="font-bold text-white">{s.name}</div> <div className="text-xs text-zinc-400"> Votes: {s.votes.today} (Heute) </div> </div> <div className="text-xs text-zinc-500"> {s.region ?? "Global"} • {s.modes.join(", ")} </div> </a> ))} </div> <div className="flex gap-2"> <button onClick={() => meta && load(meta.offset + meta.limit, true)} className="rounded-lg bg-zinc-800 text-white px-4 py-2 text-sm font-medium disabled:opacity-50" disabled={loading || !canLoadMore} > {loading ? "Lädt..." : canLoadMore ? "Nächste Seite laden" : "Keine weiteren Server"} </button> </div> </div> ); }

API Status

Uptime99.9%
Latenz~45ms
Gehostet in Europa (Frankfurt).
Powered by Vercel Edge.
Anzeige

Hosting gesucht?

Starte dein Projekt mit unserem Partner Nitrado für maximale Performance und DDoS Schutz.

Nitrado Server mieten

Hilfe & Support

Fragen zur Integration? Komm auf unseren Discord.

Hytale Hub Discord →