diff --git a/README.md b/README.md
index 2ab0f56..dd53567 100644
--- a/README.md
+++ b/README.md
@@ -100,7 +100,7 @@ auf nichts mehr: keine Posts, keine Hintergrund-Prüfungen.
| Funktion | Was sie macht |
|---|---|
-| 🎮 **Game-Server-Monitor** | DiscordGSM-Stil: pro Server ein Live-Embed (🟢/🔴, Spieler-Balken, Map, Version, Mod-Anzahl, Spieler-Liste, Knöpfe für Verbinden, Mod-Download und frei eintragbare Links wie Regeln oder TeamSpeak, Ping); **alle Spiele, die gamedig kennt** — die Auswahl im Panel kommt aus der Bibliothek selbst, inklusive Standard-Port und Hinweis auf nötige Zugangs-Codes (Farming Simulator, Terraria) — plus FiveM + HTTP-Check; Down/Up-Alerts mit Ausfalldauer |
+| 🎮 **Game-Server-Monitor** | DiscordGSM-Stil: pro Server ein Live-Embed (🟢/🔴, Name im Spiel, 🔒 bei Passwort oder Whitelist, Spieler-Balken, Map, Version, Mod-Anzahl, Spieler-Liste, Knöpfe für Verbinden, Mod-Download und frei eintragbare Links wie Regeln oder TeamSpeak, Ping); **alle Spiele, die gamedig kennt** — die Auswahl im Panel kommt aus der Bibliothek selbst, inklusive Standard-Port und Hinweis auf nötige Zugangs-Codes (Farming Simulator, Terraria) — plus FiveM + HTTP-Check; Down/Up-Alerts mit Ausfalldauer |
| 🚜 **LS — Höfe & Preise** | Für Farming-Simulator-Server: Besitzkarte auf dem Luftbild des Servers (Parzellen nach Hof eingefärbt, Fläche = Hektar, Fahrzeuge und Spieler live), Hof-Übersicht mit Hektar und Wert, Meldung bei Landkauf, dazu die Preiskurven übers Jahr mit „jetzt verkaufen oder warten". **Nicht möglich:** welche Frucht auf welchem Feld steht — das gibt der Feed nicht her (siehe [docs/ls-feed.md](docs/ls-feed.md)) |
### Server & Technik
diff --git a/frontend/src/pages/Server.jsx b/frontend/src/pages/Server.jsx
index 594242c..75ff5c8 100644
--- a/frontend/src/pages/Server.jsx
+++ b/frontend/src/pages/Server.jsx
@@ -4,7 +4,7 @@
import { useEffect, useState } from 'react';
import { apiGet } from '../api.js';
import { SkeletonCards } from '../components/Skeleton.jsx';
-import { IconGame, IconMapPin, IconClock, IconCheck, IconTeam, IconPackage, IconZap, IconDownload, IconArchive } from '../icons.jsx';
+import { IconGame, IconMapPin, IconClock, IconCheck, IconTeam, IconPackage, IconZap, IconDownload, IconArchive, IconLock } from '../icons.jsx';
import { useT, useFmt } from '../i18n.jsx';
import UptimeTrack from '../components/UptimeTrack.jsx';
@@ -100,7 +100,15 @@ function ServerCard({ s }) {
?
: {s.icon}}
- {s.name}
+
+ {s.name}
+ {s.zugang?.zu && (
+
+ )}
+
+ {/* Wie der Server sich im Spiel nennt — nur wenn es etwas
+ anderes ist als der Name hier, sonst doppelt es sich. */}
+ {s.spielname && {s.spielname}}
{s.online === null
? <> {t('server.waiting')}>
@@ -126,7 +134,7 @@ function ServerCard({ s }) {
)}
{/* Was der Server über sich verrät — nur, was auch da ist */}
- {s.online && (s.map || s.ping != null || s.version) && (
+ {s.online && (s.map || s.ping != null || s.version || s.zugang?.grund) && (
{s.map && {s.map}}
{s.version && {s.version}}
@@ -134,6 +142,7 @@ function ServerCard({ s }) {
sähen die beiden Chips wie zusammengehörig aus. */}
{s.mods > 0 && {t('server.mods', s.mods)}}
{s.ping != null && {s.ping} ms}
+ {s.zugang?.grund && {s.zugang.grund}}