> ## Documentation Index
> Fetch the complete documentation index at: https://simplecloud.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Server

> Server-Instanzen in deinem SimpleCloud-Netzwerk verstehen

## Wie Server erstellt werden

Jeder Server gehört entweder zu einer [Gruppe](/docs/de/manual/setup/server-groups) oder einem [Persistenten Server](/docs/de/manual/setup/persistent-servers).

### Aus Gruppen

Gruppen erstellen Server automatisch basierend auf Spielerbedarf:

* Auto-Scaling startet neue Server wenn Spieler beitreten und entfernt inaktive wenn die Nachfrage sinkt
* Mindestanzahl stellt sicher, dass Server immer verfügbar sind, auch ohne Spieler
* Mehrere Instanzen laufen gleichzeitig (Lobby-1, Lobby-2, Lobby-3, etc.)
* Du kannst bei Bedarf auch manuell zusätzliche Server starten

### Aus Persistenten Servern

Persistente Server sind Einzel-Instanzen, die nicht skalieren:

* Immer der gleiche Server - nur an oder aus
* Behält seine Welt und Daten zwischen Neustarts
* Ideal für Spielmodi wie Skyblock, SMP oder Citybuild

## Server-Lebenszyklus

Jeder Server durchläuft diese Zustände:

```mermaid theme={null}
stateDiagram-v2
    [*] --> QUEUED
    QUEUED --> PREPARING
    PREPARING --> STARTING
    STARTING --> AVAILABLE
    AVAILABLE --> INGAME : Spieler beitreten
    INGAME --> AVAILABLE : Spieler verlassen
    AVAILABLE --> STOPPING
    INGAME --> STOPPING
    STOPPING --> CLEANUP
    CLEANUP --> STOPPED
    STOPPED --> [*]
```

| Zustand       | Beschreibung                                             |
| ------------- | -------------------------------------------------------- |
| **Queued**    | Wartet auf Zuweisung eines Server-Hosts                  |
| **Preparing** | Template-Dateien werden ins Laufzeitverzeichnis kopiert  |
| **Starting**  | JVM-Prozess startet, Plugins laden                       |
| **Available** | Bereit für Spieler, beim Proxy registriert               |
| **Ingame**    | Hat aktive Spieler verbunden                             |
| **Stopping**  | Graceful Shutdown läuft                                  |
| **Cleanup**   | Laufzeitdateien und Cleanup-Workflows werden verarbeitet |
| **Stopped**   | Prozess beendet, Laufzeitverzeichnis aufgeräumt          |

## Server-Eigenschaften

* Jeder Server erbt Eigenschaften von seiner Gruppen- oder Persistenten-Server-Konfiguration
* Instanz-spezifische Eigenschafts-Überschreibungen sind zur Laufzeit möglich
* Eigenschaften sind für Plugins als Umgebungsvariablen auf dem laufenden Server verfügbar

## Server-Host-Zuweisung

Server laufen nicht im Vakuum - sie werden Server-Hosts zugewiesen:

* Der Controller weist Server Hosts basierend auf Deployment-Einstellungen zu
* Prioritätsreihenfolge bestimmt, welcher Host bevorzugt wird wenn mehrere verfügbar sind
* Jeder Server läuft in seinem eigenen isolierten Verzeichnis auf dem Host
