Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.
Version vom 11. September 2026, 19:09 Uhr von 130.180.44.249 (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit dieser API-Schnittstelle kommuniziert der Client (Frontend) des Social Media Simulators mit dem Spring Boot-Backend, um Spielstände zu initialisieren und abzurufen.

Endpunkte Übersicht

POSTs | GETs

GET

Methode Endpunkt Beschreibung Parameter (falls vorhanden)
GET /api/active Gibt, wenn der Backend-Prozess läuft, immer true zurück. ---
GET /api/game?id={id} Gibt, wenn der Backend-Prozess läuft, immer true zurück. id | String | Spiel-UUID
GET /api/init Generiert eine neue Spieler-UUID (UTF-16). ---
GET /api/game/stream?id={id} Gibt SSE-Stream der Updates zurück. id | String | Spiel-UUID

POST

Methode Endpunkt Beschreibung Parameter (falls vorhanden)
POST /api/game/init_recall?id={id} Initialisiert ein neues Spiel mit einer Konfiguration, gespeichert mit `id` als Key. id | String | Spiel-UUID
POST /api/shop/buy?id={id}&item={item} Kauft dem Spieler das Item, welches angegeben ist. id | String | Spiel-UUID | item | String | Shop-Item-ID
POST /api/tech/unlock?id={id}&tech={tech}&cost={cost} Schaltet Technologie aus dem Tech-Tree frei. id | String | Spiel-UUID | tech | String Tech-Item-ID | cost | Integer | FP Kosten
POST /api/infrasctructure/build?id={id}&lat={lat}&lng={lng}&name={name} Errichtet nach Parametern ein Data Center. Standort wird nicht mitgeliefert! id | String | Spiel-UUID | lat | Zahl mit Nachkommastelle | Latenz | lng | Zahl mit Nachkommastelle | Sprache | name | String | Name des Rechenzentrums
POST /api/infrasctructure/repair?id={id}&index={index} Repariert ein defektes Rechenzentrum. id | String | Spiel-UUID | index | Integer | Index der Liste der Rechenzentren

Dokumentation der Endpunkte

1. Spieler-UUID generieren

  • Endpunkt: /api/init
  • Methode: GET
  • Format: text/plain;charset=utf-16

Diese Methode generiert eine neue, eindeutige V4-UUID, registriert sie im RAM des Servers in der aktiven Spielerliste und gibt sie als Byte-Array im UTF-16-Format zurück.

Rückgabe (Response) (Bsp.!)

4f3b89a2-1e4d-4c6a-9b88-123456789abc

---

2. Spielstand abrufen

  • Endpunkt: /api/game
  • Methode: GET
  • Format: application/json

Gibt den aktuellen Zustand der laufenden Simulation für die übergebene UUID zurück. Der Client nutzt diesen Endpunkt für den regelmäßigen Sync oder beim Neuladen des Dashboards.

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
id UUID Ja Die eindeutige Kennung des Spielers, die über /api/init generiert wurde.

Rückgabe (Response)

  • Status 200 (Erfolgreich): Gibt das GameResponse-JSON-Objekt zurück, wenn die UUID existiert. Falls die ID nicht in der aktiven Spielerliste registriert ist, wird null zurückgegeben.
{
  "playerId": "4f3b89a2-1e4d-4c6a-9b88-123456789abc",
  "companyName": "QuatschStudio Tech",
  "money": 50000,
  "employees": 1,
  "researchPoints": 0
}
Parameter-Spezifikation
Feld Typ Beschreibung
playerId String (UUID) Die UUID des Spielers zur Validierung auf Client-Seite.
companyName String Der Name des Social-Media-Unternehmens.
money Integer Der aktuelle Kontostand des Unternehmens im Spiel.
employees Integer Die Anzahl der derzeit eingestellten Mitarbeiter.
researchPoints Integer Die aktuell angesammelten Forschungspunkte für neue Features oder Algorithmen-Upgrades.

---

3. Spiel initialisieren

  • Endpunkt: /api/game/init_recall
  • Methode: POST
  • Format: application/json

Initialisiert die Spielmechaniken für eine bereits generierte UUID auf Basis der übergebenen Unternehmenseinstellungen im Request-Body.

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
id UUID Ja Die ID des Spielers, für den das Spiel gestartet wird.

Payload (Request Body)

Übergabe des GameConfigDTO als JSON-Objekt:

{
  "companyName": "QuatschStudio Tech",
  "infiniteMoney": false,
  "startMoney": 50000,
  "startEmployees": 1,
  "startResearch": 0
}
Parameter-Spezifikation
Feld Typ Beschreibung
companyName String Der Name des zu gründenden Social-Media-Unternehmens.
infiniteMoney Boolean Sandbox-Modus. Wenn true, ist das Startkapital unbegrenzt.
startMoney Integer Das verfügbare Startkapital bei Spielbeginn.
startEmployees Integer Die Anzahl der Mitarbeiter, mit denen das Unternehmen startet.
startResearch Integer Der initiale Wert für bereits generierte Forschungspunkte.

Server-Log (SLF4J)

Beim Aufruf triggert der Controller einen Log-Eintrag auf dem Server (Bsp.!):

2026-06-16T20:23:28.789+02:00  INFO 523700 --- [nio-8080-exec-6] o.r.smsim.api.controller.GameController  : Setting up Game for 737e1e57-3e1d-4f0e-b1a8-1fcad8c145d0:GameConfigDTO [companyName=adsf, infiniteMoney=false, startMoney=1000, startEmployees=1, startResearch=0]

index.php?title=Kategorie:Entwickler-Dokumentation