# Dokumentation

Hier findest du Anleitungen und Hilfsartikel rund um dein Kundenkonto, deine gebuchten Dienste und die Einrichtung deiner Produkte.

Die Dokumentation hilft dir unter anderem bei folgenden Themen:

* Anmeldung und Verwaltung deines Kundenkontos
* Bestellung und Einrichtung neuer Dienste
* Verwaltung von Gameservern im INSTANTPANEL
* Einrichtung von Rootservern, Webspace, Domains und weiteren Produkten
* Installation von Software, Plugins, Mods oder Anwendungen
* Lösung häufiger Probleme
* Erklärung wichtiger Begriffe und Funktionen

Viele Fragen lassen sich mit den Anleitungen direkt klären. Die Artikel sind Schritt für Schritt aufgebaut und erklären auch grundlegende Begriffe, damit du nicht lange suchen musst.\
Wenn du trotz Anleitung nicht weiterkommst, kannst du jederzeit den Support kontaktieren.


# Kundenkonto erstellen

Für Bestellungen und die Verwaltung deiner Dienste benötigst du ein Kundenkonto.

Das Kundenkonto ist die Grundlage für deine Bestellungen, Rechnungen, Supportanfragen und deine Kundendaten.

### Kundenkonto erstellen

Wenn du noch kein Kundenkonto hast, kannst du während der Bestellung oder über die Registrierung ein neues Konto anlegen.

Dabei gibst du in der Regel folgende Daten an:

* Name
* E-Mail-Adresse
* Rechnungsanschrift
* Passwort
* Zahlungsinformationen, falls für die Bestellung nötig

Achte darauf, eine E-Mail-Adresse zu verwenden, auf die du dauerhaft Zugriff hast.

Diese E-Mail-Adresse ist wichtig für:

* Bestellbestätigungen
* Rechnungen
* Passwort-Zurücksetzungen
* Supportanfragen
* Panel-Zugänge

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FYVOhemwLpGtr9E03Q0rt%2Fimage.png?alt=media&amp;token=0a9daf70-05f0-4ab0-9dc2-3ae5421c6d43" alt=""><figcaption></figcaption></figure>

### E-Mail-Adresse richtig wählen

Verwende keine E-Mail-Adresse, auf die du später keinen Zugriff mehr hast.

Nicht empfehlenswert sind zum Beispiel:

* temporäre Wegwerf-Adressen
* fremde E-Mail-Adressen
* alte Schul- oder Firmenadressen, die bald deaktiviert werden
* Postfächer, bei denen du keine E-Mails empfangen kannst

Wenn du keinen Zugriff auf deine E-Mail-Adresse hast, kannst du wichtige Nachrichten nicht empfangen. Dazu gehören auch Links zum Zurücksetzen von Passwörtern.

### Einloggen

Zum Einloggen öffnest du das Kundenportal und meldest dich mit deiner E-Mail-Adresse und deinem Passwort an.

Wenn du dein Passwort vergessen hast, nutze die Funktion zum Zurücksetzen des Passworts.

### Passwort vergessen

Wenn du dich nicht mehr anmelden kannst:

1. Öffne das Kundenportal.
2. Wähle „Passwort vergessen?“ oder eine ähnliche Funktion.
3. Gib deine E-Mail-Adresse ein.
4. Prüfe dein Postfach.
5. Öffne den Link zum Zurücksetzen.
6. Lege ein neues Passwort fest.

Prüfe auch den Spam-Ordner, falls keine E-Mail ankommt.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FiPgg0hb3pszPvOI06wdJ%2Fimage.png?alt=media&amp;token=f39f84df-1b84-4929-9e04-74cc05a4328b" alt=""><figcaption></figcaption></figure>

### Unterschied zwischen Kundenkonto und Panel-Login

Das Kundenkonto ist nicht automatisch dasselbe wie dein Login im INSTANTPANEL oder im Serverpanel.

Das bedeutet:

* Dein Kundenkonto kann funktionieren.
* Dein Panel-Login kann trotzdem ein eigenes Passwort benötigen.

Das ist besonders bei Neukunden wichtig.

Wenn du zum ersten Mal einen Gameserver oder Rootserver hast, musst du im jeweiligen Panel möglicherweise einmalig ein Passwort setzen.

### Sicheres Passwort verwenden

Ein gutes Passwort sollte:

* lang genug sein
* nicht aus einem einzelnen Wort bestehen
* nicht bereits bei anderen Diensten genutzt werden
* Groß- und Kleinbuchstaben enthalten
* Zahlen oder Sonderzeichen enthalten

Noch besser ist ein Passwortmanager. Damit kannst du für jedes Portal ein eigenes Passwort speichern.

### Häufige Probleme

#### Ich bekomme keine E-Mail zum Zurücksetzen

Prüfe:

* Spam-Ordner
* richtige E-Mail-Adresse
* Tippfehler
* volles Postfach
* blockierte Absender

#### Ich kann mich im Kundenportal einloggen, aber nicht im INSTANTPANEL

Das ist kein ungewöhnlicher Fehler. Das INSTANTPANEL hat ein eigenes Passwort. Setze das Passwort direkt im INSTANTPANEL zurück.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2F59g1eSpDlh50R8qDpcRP%2Fimage.png?alt=media&amp;token=8fb54f33-df54-41b0-9493-110818f30154" alt=""><figcaption></figcaption></figure>

#### Ich kann mich im Kundenportal einloggen, aber nicht im Serverpanel

Auch hier gilt: Das Serverpanel kann ein eigenes Passwort verwenden. Setze das Passwort direkt unter `server.instantroot.de` zurück.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FoBzRbfDqB9i48No37y37%2Fimage.png?alt=media&amp;token=aff17dc1-f353-48e9-a1ed-aa404b4cfee7" alt=""><figcaption></figcaption></figure>

#### Ich habe eine andere E-Mail-Adresse verwendet

Verwende immer die E-Mail-Adresse, mit der du bestellt hast. Diese Adresse wird für die Zuordnung deines Dienstes verwendet.


# Bestellung im Store abschließen

Neue Produkte bestellst du im INSTANTROOT Store.

Der Store ist der Bereich, in dem du Produkte auswählst, konfigurierst und bezahlst.

### Store öffnen

Öffne:

`https://my.instantroot.de/`

Dort findest du verschiedene Produktbereiche, zum Beispiel:

* Gameserver
* KVM-Server
* Webspace
* Domains
* Managed Services

### Produkt auswählen

Wähle zuerst das Produkt aus, das du bestellen möchtest.

Beispiele:

* Minecraft Server
* FiveM Server
* KVM-Server
* Webspace
* Domain
* Managed Mailhosting
* Managed StorageCloud

Achte darauf, dass du das richtige Produkt auswählst. Ein Gameserver ist etwas anderes als ein KVM-Server.

### Produkt konfigurieren

Viele Produkte können vor der Bestellung angepasst werden.

Je nach Produkt können zum Beispiel folgende Punkte auswählbar sein:

* Laufzeit
* Standort
* Arbeitsspeicher
* Speicherplatz
* CPU-Leistung
* Spiel
* Betriebssystem
* Domainname
* Zusatzoptionen

Nicht jede Option gibt es bei jedem Produkt.

### Was bedeutet Laufzeit?

Die Laufzeit gibt an, für welchen Zeitraum du den Dienst bezahlst und nutzen kannst.

Bei einem Prepaid-Modell bezahlst du im Voraus. Der Dienst läuft dann für die gewählte Zeit.

Beispiel:

* 1 Monat Laufzeit bedeutet: Du bezahlst für einen Monat.
* Nach Ablauf muss der Dienst verlängert werden, wenn du ihn weiter nutzen möchtest.

### Was bedeutet Prepaid?

Prepaid bedeutet, dass du vorab bezahlst.

Du nutzt den Dienst nur für den Zeitraum, den du bezahlt hast. Dadurch hast du eine bessere Kostenkontrolle.

Prepaid bedeutet nicht automatisch, dass ein Dienst unbegrenzt läuft. Wenn die bezahlte Laufzeit endet und nicht verlängert wird, kann der Dienst deaktiviert oder später gelöscht werden.

### Bestellung prüfen

Vor dem Abschluss solltest du prüfen:

* Ist das richtige Produkt ausgewählt?
* Ist die Laufzeit korrekt?
* Sind alle Optionen richtig?
* Ist die E-Mail-Adresse korrekt?
* Stimmt der Gesamtpreis?
* Ist die Rechnungsadresse richtig?

### Zahlung abschließen

Nach der Prüfung schließt du die Bestellung ab und bezahlst mit einer verfügbaren Zahlungsmethode.

Sobald die Zahlung erfolgreich verarbeitet wurde, kann der Dienst automatisch eingerichtet werden.

### Nach der Bestellung

Nach einer erfolgreichen Bestellung erhältst du in der Regel eine Bestätigung per E-Mail.

Je nach Produkt erhältst du außerdem weitere Informationen, zum Beispiel:

* Dienstname
* Zugangsdaten
* Link zum passenden Panel
* Hinweise zur Einrichtung
* Rechnungsinformationen

### Wichtig

Wenn du nach der Bestellung ein technisches Panel nutzen musst, kann dort ein eigenes Passwort erforderlich sein.

Das betrifft vor allem:

* INSTANTPANEL für Gameserver
* Serverpanel für Rootserver und KVM-Server

Deine E-Mail-Adresse wird als Benutzername verwendet. Das Passwort wird aus Datenschutzgründen nicht automatisch übertragen.


# Was passiert nach der Bestellung?

Nach deiner Bestellung wird dein Dienst verarbeitet und eingerichtet.

Viele Dienste werden automatisch bereitgestellt. Trotzdem kann es je nach Produkt, Zahlung und technischer Prüfung einige Minuten dauern, bis alles vollständig nutzbar ist.

### Schritt 1: Bestellung wird bestätigt

Nach dem Abschluss der Bestellung erhältst du eine Bestätigung.

Diese Bestätigung zeigt, dass deine Bestellung im System eingegangen ist.

### Schritt 2: Zahlung wird geprüft

Damit ein Dienst eingerichtet werden kann, muss die Zahlung erfolgreich verbucht sein.

Wenn die Zahlung noch offen ist, kann der Dienst möglicherweise noch nicht bereitgestellt werden.

Prüfe in diesem Fall:

* ob die Zahlung abgeschlossen wurde
* ob du eine Zahlungsbestätigung erhalten hast
* ob die Bestellung im Kundenportal sichtbar ist
* ob du mit dem richtigen Kundenkonto angemeldet bist

### Schritt 3: Dienst wird eingerichtet

Nach erfolgreicher Zahlung wird der Dienst eingerichtet.

Je nach Produkt bedeutet das zum Beispiel:

| Produkt      | Was eingerichtet wird                     |
| ------------ | ----------------------------------------- |
| Gameserver   | Gameserver im INSTANTPANEL                |
| KVM-Server   | Server im Serverpanel                     |
| Webspace     | Hosting-Paket mit Verwaltungszugang       |
| Domain       | Domainregistrierung oder Domainbestellung |
| Mailhosting  | Maildienst für deine Domain               |
| StorageCloud | Cloudspeicher mit Verwaltungszugang       |

### Schritt 4: Zugangsdaten und Panel prüfen

Nach der Einrichtung solltest du prüfen, in welchem Portal dein Dienst verwaltet wird.

Für Gameserver nutzt du:

`https://instantpanel.de/`

Für Rootserver und KVM-Server nutzt du:

`https://server.instantroot.de/`

Für Kundenkonto, Rechnungen und Support nutzt du:

`https://instantroot.de/`

### Warum funktionieren meine Zugangsdaten nicht sofort im Panel?

Wenn du noch nie einen Dienst im jeweiligen Panel hattest, gibt es dort möglicherweise noch kein gesetztes Passwort.

Deine E-Mail-Adresse wird als Benutzername übertragen. Dein Passwort wird nicht übertragen.

Das ist aus Datenschutzgründen so geregelt.

Du musst dann im jeweiligen Panel einmalig ein Passwort zurücksetzen.

### Was muss ich als Neukunde tun?

Wenn du einen Gameserver bestellt hast:

1. Öffne `https://instantpanel.de/`.
2. Klicke auf „Passwort vergessen?“ oder „Passwort zurücksetzen“.
3. Gib deine E-Mail-Adresse ein.
4. Setze über die erhaltene E-Mail ein neues Passwort.
5. Melde dich danach im INSTANTPANEL an.

Wenn du einen Rootserver oder KVM-Server bestellt hast:

1. Öffne `https://server.instantroot.de/`.
2. Klicke auf „Passwort vergessen?“.
3. Gib deine E-Mail-Adresse ein.
4. Setze über die erhaltene E-Mail ein neues Passwort.
5. Melde dich danach im Serverpanel an.

### Wie lange dauert die Einrichtung?

Viele Dienste werden automatisch eingerichtet. Trotzdem kann es in Einzelfällen etwas dauern.

Mögliche Gründe:

* Zahlung wurde noch nicht bestätigt
* Domainregistrierung wird noch verarbeitet
* automatische Einrichtung läuft noch
* technische Prüfung erforderlich
* E-Mail wurde verzögert zugestellt

### Was tun, wenn der Dienst nicht erscheint?

Prüfe zuerst:

* Bist du mit der richtigen E-Mail-Adresse angemeldet?
* Ist die Zahlung abgeschlossen?
* Hast du die Bestellbestätigung erhalten?
* Schaust du im richtigen Portal nach?
* Hast du dein Panel-Passwort bereits gesetzt?

Wenn der Dienst weiterhin fehlt, kontaktiere den Support.

Gib dabei möglichst genau an:

* Bestellnummer
* E-Mail-Adresse des Kundenkontos
* Produktname
* Zeitpunkt der Bestellung
* verwendetes Portal
* genaue Fehlermeldung


# Anmeldung im INSTANTPANEL

Das INSTANTPANEL ist das Verwaltungspanel für Gameserver.

Wenn du einen Gameserver bestellt hast, findest du dort die technische Verwaltung deines Servers.

### INSTANTPANEL öffnen

Öffne:

`https://instantpanel.de/`

### Benutzername

Dein Benutzername ist die E-Mail-Adresse, die du bei der Bestellung verwendet hast.

Verwende genau diese E-Mail-Adresse.

Achte auf:

* richtige Schreibweise
* keine Leerzeichen
* keine alte oder andere E-Mail-Adresse
* keine Kundennummer als Benutzername

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FWO1MiUTnU6mmcWsYwUiW%2Fimage.png?alt=media&amp;token=69bfc024-0527-46f2-8d0c-f0861749ff1e" alt=""><figcaption></figcaption></figure>

### Passwort bei Neukunden

Wenn du zum ersten Mal einen Gameserver bei INSTANTROOT bestellt hast, hast du im INSTANTPANEL möglicherweise noch kein eigenes Passwort.

Das Passwort aus dem Kundenportal wird nicht automatisch in das INSTANTPANEL übertragen.

Das ist aus Datenschutzgründen so.

### Passwort einmalig setzen

Gehe so vor:

1. Öffne `https://instantpanel.de/`.
2. Klicke auf „Passwort vergessen?“ oder „Passwort zurücksetzen“.
3. Gib deine E-Mail-Adresse ein.
4. Prüfe dein E-Mail-Postfach.
5. Öffne die E-Mail zum Zurücksetzen.
6. Lege ein neues Passwort fest.
7. Melde dich anschließend mit E-Mail-Adresse und neuem Passwort an.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FH53tf89ze3zMVsraU8QZ%2Fimage.png?alt=media&amp;token=bc7e9226-cb7a-451b-87ad-0c0e8dfc4a7a" alt=""><figcaption></figcaption></figure>

### Warum muss ich das machen?

INSTANTROOT übermittelt an das INSTANTPANEL deine E-Mail-Adresse, damit dein Benutzerkonto zugeordnet werden kann.

Dein Passwort wird aber nicht übertragen.

Dadurch wird verhindert, dass dein Kundenportal-Passwort in ein anderes System kopiert wird. Das ist sicherer und schützt deine Zugangsdaten.

### Nach dem Login

Nach dem Login siehst du deine Gameserver.

Je nach Spiel und Paket findest du dort Funktionen wie:

* Server starten
* Server stoppen
* Server neustarten
* Konsole öffnen
* Dateien verwalten
* Einstellungen ändern
* Serveradresse anzeigen
* Backups verwalten
* Logs prüfen

### Wenn dein Gameserver nicht sichtbar ist

Prüfe:

* Hast du dich mit der richtigen E-Mail-Adresse angemeldet?
* Ist die Bestellung abgeschlossen?
* Wurde die Zahlung bestätigt?
* Wurde der Gameserver bereits eingerichtet?
* Bist du im INSTANTPANEL und nicht im Kundenportal?
* Hast du vielleicht mehrere Kundenkonten?

Wenn der Server weiterhin nicht sichtbar ist, kontaktiere den Support.

### Wenn keine Passwort-E-Mail ankommt

Prüfe:

* Spam-Ordner
* richtige E-Mail-Adresse
* Tippfehler
* volles Postfach
* blockierte Absender
* ob du überhaupt schon einen Gameserver bestellt hast

Warte einige Minuten und versuche es danach erneut.

### Häufige Fehlermeldungen

#### „Ungültige Zugangsdaten“

Die E-Mail-Adresse oder das Passwort ist falsch.

Wenn du Neukunde bist, setze dein Passwort im INSTANTPANEL zurück.

#### „Benutzer nicht gefunden“

Mögliche Ursachen:

* Die Bestellung ist noch nicht vollständig eingerichtet.
* Du verwendest eine andere E-Mail-Adresse.
* Du hast keinen Gameserver im INSTANTPANEL.
* Die Bereitstellung ist noch nicht abgeschlossen.

#### „Passwort vergessen“-E-Mail kommt nicht an

Prüfe den Spam-Ordner und die verwendete E-Mail-Adresse. Wenn weiterhin nichts ankommt, kontaktiere den Support.


# Anmeldung im Serverpanel

Das Serverpanel wird für Rootserver und KVM-Server verwendet.

Dort findest du die technische Verwaltung deines Servers.

### Serverpanel öffnen

Öffne:

`https://server.instantroot.de/`

### Login

Für den Login verwendest du:

* E-Mail-Adresse als Benutzername
* Passwort des Serverpanels

Wichtig: Das Passwort des Kundenportals ist nicht automatisch auch das Passwort des Serverpanels.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FNMKGtigt0k2nQO255h2L%2Fimage.png?alt=media&amp;token=6f1a632f-2c29-4244-8cd7-0cf51523c1ce" alt=""><figcaption></figcaption></figure>

### Passwort bei Neukunden

Wenn du zum ersten Mal einen Rootserver oder KVM-Server bei INSTANTROOT bestellt hast, musst du im Serverpanel möglicherweise zuerst ein Passwort setzen.

Das ist normal.

Die E-Mail-Adresse wird bei der Bestellung übermittelt. Das Passwort wird aus Datenschutzgründen nicht in das Serverpanel übertragen.

### Passwort zurücksetzen

Gehe so vor:

1. Öffne `https://server.instantroot.de/`.
2. Klicke auf „Passwort vergessen?“.
3. Gib deine E-Mail-Adresse ein.
4. Öffne die E-Mail zum Zurücksetzen des Passworts.
5. Lege ein neues Passwort fest.
6. Melde dich danach erneut an.

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FiDJ6rqfsrccMcD3aRYEr%2Fimage.png?alt=media&amp;token=89891f0e-e78f-4f48-a442-d215c21098d6" alt=""><figcaption></figcaption></figure>

### Nach dem Login

Nach dem Login solltest du deinen Server sehen.

Je nach Produkt und Bereitstellung findest du dort technische Verwaltungsfunktionen, zum Beispiel:

* Serverstatus prüfen
* Server neu starten
* Betriebssystem verwalten
* Neuinstallation ausführen
* Konsole oder Verwaltungszugang nutzen
* technische Informationen einsehen

<figure><img src="https://2117205339-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJfiTlTZmnDWF1KK1a2bJ%2Fuploads%2FHIn22h52TSFdHMF5gOH8%2Fimage.png?alt=media&amp;token=4406b8f1-ec82-418f-acb8-6d3758702e8d" alt=""><figcaption></figcaption></figure>

### Unterschied zwischen Serverpanel und SSH

Das Serverpanel ist die Verwaltungsoberfläche deines Servers.

SSH ist eine direkte Verbindung in dein Linux-System.

Das bedeutet:

* Im Serverpanel verwaltest du den Server von außen.
* Per SSH arbeitest du direkt im Betriebssystem des Servers.

Für Windows-Server wird statt SSH häufig RDP verwendet.

### Unterschied zwischen Serverpanel-Passwort und Root-Passwort

Das Serverpanel-Passwort ist für den Login im Serverpanel.

Das Root-Passwort ist für den administrativen Zugriff auf dein Betriebssystem.

Diese Passwörter können unterschiedlich sein.

Beispiel:

| Zugang                         | Zweck                               |
| ------------------------------ | ----------------------------------- |
| Serverpanel-Passwort           | Login unter `server.instantroot.de` |
| Root-Passwort                  | Login in Linux per SSH              |
| Windows-Administrator-Passwort | Login in Windows per RDP            |

### Wenn der Login nicht funktioniert

Prüfe:

* verwendest du die richtige E-Mail-Adresse?
* hast du dein Passwort im Serverpanel bereits zurückgesetzt?
* bist du wirklich auf `server.instantroot.de`?
* ist deine Bestellung abgeschlossen?
* wurde dein Server bereits eingerichtet?

### Wenn dein Server nicht sichtbar ist

Mögliche Ursachen:

* Zahlung noch nicht vollständig verarbeitet
* Server noch in Einrichtung
* falsche E-Mail-Adresse verwendet
* Login in falschem Portal
* Dienst wurde noch nicht zugeordnet

Wenn das Problem bestehen bleibt, kontaktiere den Support mit deiner Bestellnummer.


# Support kontaktieren

Wenn du ein Problem nicht selbst lösen kannst, kontaktiere den Support.

Damit dein Anliegen schnell geprüft werden kann, solltest du möglichst genaue Informationen angeben.

### Wann sollte ich den Support kontaktieren?

Kontaktiere den Support, wenn:

* dein Dienst nach der Bestellung nicht erscheint
* eine Zahlung nicht korrekt verbucht wurde
* du dich trotz Passwort-Reset nicht anmelden kannst
* dein Server nicht erreichbar ist
* du eine Fehlermeldung nicht verstehst
* ein technisches Problem dauerhaft besteht
* du Hilfe bei der Zuordnung eines Dienstes brauchst

### Vorher prüfen

Bevor du ein Ticket erstellst, prüfe:

* bist du im richtigen Portal?
* verwendest du die richtige E-Mail-Adresse?
* hast du das Passwort im richtigen Panel zurückgesetzt?
* ist die Zahlung abgeschlossen?
* ist der Dienst bereits eingerichtet?
* gibt es eine Wartung oder Störung?
* hast du den Dienst bereits neu gestartet, falls sinnvoll?

### Gute Supportanfrage schreiben

Eine gute Supportanfrage enthält alle wichtigen Informationen.

Schreibe nicht nur:

„Geht nicht.“

Besser ist:

„Ich habe heute einen Minecraft Server bestellt. Die Zahlung ist abgeschlossen, aber ich sehe den Server im INSTANTPANEL nicht. Ich habe mich mit der E-Mail-Adresse \[deine E-Mail-Adresse] angemeldet und bereits das Passwort zurückgesetzt.“

### Diese Angaben helfen dem Support

Gib möglichst an:

* E-Mail-Adresse deines Kundenkontos
* Bestellnummer
* Rechnungsnummer
* betroffener Dienst
* betroffenes Portal
* genaue Fehlermeldung
* Zeitpunkt des Problems
* was du bereits versucht hast

### Beispiele

#### Loginproblem im INSTANTPANEL

Gute Beschreibung:

„Ich kann mich im INSTANTPANEL nicht anmelden. Ich habe einen Gameserver bestellt und nutze die gleiche E-Mail-Adresse wie bei der Bestellung. Passwort zurücksetzen habe ich versucht, aber die E-Mail kommt nicht an.“

#### Rootserver nicht sichtbar

Gute Beschreibung:

„Mein KVM-Server wird im Serverpanel nicht angezeigt. Die Bestellung wurde heute abgeschlossen und die Zahlung ist laut Kundenportal bezahlt. Ich bin mit der E-Mail-Adresse angemeldet, mit der ich bestellt habe.“

#### Zahlung offen

Gute Beschreibung:

„Meine Zahlung wurde beim Zahlungsanbieter abgeschlossen, die Rechnung steht im Kundenportal aber noch auf offen. Bestellnummer: \[Nummer]. Zahlungszeitpunkt: \[Datum/Uhrzeit].“

### Screenshots

Screenshots können helfen.

Achte aber darauf, keine sensiblen Daten öffentlich weiterzugeben.

Schwärze bei Bedarf:

* Passwörter
* vollständige Zahlungsdaten
* private Tokens
* geheime API-Keys

### Sicherheitsregel

Sende niemals dein Passwort an den Support.

Der Support benötigt dein Passwort nicht.

Wenn ein Passwortproblem besteht, nutze die Passwort-Zurücksetzen-Funktion.


# Buchhaltung & Abrechnung

In diesem Artikel findest du alle wichtigen Informationen zu Zahlungen, Rechnungen, Laufzeiten, Guthaben, Rückerstattungen und typischen Problemen bei der Zahlungsabwicklung.

Die Abrechnung deiner Dienste richtet sich nach dem jeweiligen Produkt, der gewählten Laufzeit und der verwendeten Zahlungsart. Viele Dienste werden als Prepaid-Leistung bereitgestellt. Das bedeutet, dass der Dienst für einen bestimmten Zeitraum im Voraus bezahlt wird.

### Was bedeutet Prepaid?

Prepaid bedeutet Vorauszahlung.

Du bezahlst deinen Dienst vor Beginn der Nutzung für einen festen Zeitraum. Der Dienst wird anschließend für diesen Zeitraum bereitgestellt.

Beispiele:

* 30 Tage Gameserver
* 1 Monat KVM-Server
* 3 Monate Webspace
* 12 Monate Domain

Ohne aktive Verlängerung endet eine Prepaid-Leistung nach Ablauf des bezahlten Zeitraums automatisch. Eine Kündigung ist bei einer reinen Prepaid-Leistung ohne automatische Verlängerung in der Regel nicht erforderlich.

Wenn eine automatische Verlängerung aktiviert ist, kann der nächste Zeitraum automatisch gebucht werden, sofern ausreichend Guthaben vorhanden ist oder die Zahlung erfolgreich durchgeführt werden kann.

### Was bedeutet Laufzeit?

Die Laufzeit ist der Zeitraum, für den dein Dienst gebucht und bezahlt ist.

Je nach Produkt kann die Laufzeit unterschiedlich sein. Häufige Laufzeiten sind zum Beispiel:

* 1 Monat
* 3 Monate
* 6 Monate
* 12 Monate

Die konkrete Laufzeit wird im Bestellprozess angezeigt.

### Wann wird ein Dienst bereitgestellt?

Ein Dienst wird in der Regel nach erfolgreicher Zahlung oder Freischaltung bereitgestellt.

Je nach Produkt und Zahlungsart kann die Bereitstellung sofort erfolgen oder etwas Zeit benötigen. Besonders bei Zahlungsarten, die nicht sofort bestätigt werden, kann es zu Verzögerungen kommen.

### Preise und Rechnungen

Alle Preise werden im Bestellprozess angezeigt.

Je nach Kundentyp und Darstellung im Shop können Preise brutto oder netto ausgewiesen sein. Für Privatkunden werden im Checkout beziehungsweise im Portal Bruttopreise angezeigt.

Eine Rechnung enthält in der Regel:

* Rechnungsnummer
* Rechnungsdatum
* Kundendaten
* Produkt oder Dienstleistung
* Laufzeit oder Abrechnungszeitraum
* Betrag
* Umsatzsteuerangaben, sofern anwendbar
* Zahlungsstatus

### Rechnung finden

Deine Rechnungen findest du im Kundenportal.

Gehe dazu in den Bereich für Rechnungen oder Abrechnung. Dort kannst du offene und bezahlte Rechnungen einsehen.

### Zahlungsstatus verstehen

Der Zahlungsstatus zeigt, ob eine Rechnung bereits bezahlt wurde.

Häufige Status sind:

| Status         | Bedeutung                                     |
| -------------- | --------------------------------------------- |
| Offen          | Die Zahlung wurde noch nicht verbucht         |
| Bezahlt        | Die Zahlung wurde erfolgreich zugeordnet      |
| Fehlgeschlagen | Die Zahlung konnte nicht abgeschlossen werden |
| Storniert      | Die Rechnung oder Zahlung wurde aufgehoben    |
| Überfällig     | Die Zahlung wurde nicht rechtzeitig geleistet |

Die genaue Bezeichnung kann je nach System leicht abweichen.

### Verfügbare Zahlungsarten

Folgende Zahlungsarten können im Bestellprozess angeboten werden:

| Zahlungsart                     | Beschreibung                                 |
| ------------------------------- | -------------------------------------------- |
| Kreditkarte                     | Kreditkarte via Mollie                       |
| Automatische Abbuchung          | Zahlung per automatischer Abbuchung          |
| PayPal                          | PayPal via Mollie                            |
| Apple Pay                       | Apple Pay via Mollie                         |
| paysafecard                     | paysafecard via Mollie                       |
| Klarna                          | Jetzt kaufen, später bezahlen über Klarna    |
| SOFORT                          | Sofortige Zahlungen vom Bankkonto mit SOFORT |
| Banküberweisung                 | Banküberweisung via Mollie                   |
| Pay by Bank / Sofortüberweisung | Pay by Bank / Sofortüberweisung via Mollie   |
| iDEAL                           | iDEAL via Mollie                             |
| EPS                             | EPS via Mollie                               |
| Bancontact                      | Bancontact via Mollie                        |
| Przelewy24                      | Przelewy24 via Mollie                        |
| Google Pay                      | Google Pay via Mollie                        |

Die tatsächlich verfügbaren Zahlungsarten können je nach Produkt, Region, Zahlungsanbieter und technischer Verfügbarkeit abweichen.

### Zahlungsanbieter Mollie

Viele Zahlungsarten werden über Mollie abgewickelt.

Mollie ist ein Zahlungsdienstleister. Das bedeutet, dass die Zahlung nicht direkt auf der INSTANTROOT-Seite abgeschlossen wird, sondern über eine sichere Zahlungsabwicklung von Mollie oder über den jeweiligen Zahlungsanbieter.

Je nach Zahlungsart wirst du während des Bestellprozesses weitergeleitet, zum Beispiel zu:

* PayPal
* Klarna
* deiner Bank
* Kreditkartenprüfung
* Apple Pay
* Google Pay
* paysafecard

Nach Abschluss der Zahlung wirst du in der Regel zurück zum Shop oder Kundenportal geleitet.

### Wichtig bei Weiterleitungen

Schließe das Zahlungsfenster nicht zu früh.

Warte nach der Zahlung, bis du zurück zum Shop oder Kundenportal geleitet wirst. Wenn du den Vorgang zu früh abbrichst, kann es passieren, dass die Zahlung zwar beim Zahlungsanbieter gestartet wurde, aber im System noch nicht eindeutig abgeschlossen ist.

### Kritische Zahlungsarten und typische Probleme

Nicht jede Zahlungsart ist gleich fehleranfällig. Viele Zahlungen werden sofort bestätigt. Bei einigen Zahlungsarten kommt es jedoch häufiger zu Rückfragen oder Verzögerungen.

Besonders prüfen solltest du:

* Banküberweisung
* PayPal
* Klarna
* SOFORT / Pay by Bank
* paysafecard
* Kreditkarte
* automatische Abbuchung

### Banküberweisung

Bei einer Banküberweisung wird die Zahlung nicht immer sofort bestätigt.

Je nach Bank, Uhrzeit, Wochenende oder Feiertag kann die Verbuchung länger dauern. Dein Dienst wird normalerweise erst bereitgestellt oder verlängert, wenn die Zahlung erfolgreich zugeordnet wurde.

#### Wichtig bei Banküberweisung

Achte unbedingt darauf, den korrekten Verwendungszweck zu verwenden.

Der Verwendungszweck ist wichtig, damit die Zahlung automatisch deiner Rechnung zugeordnet werden kann.

Wenn der Verwendungszweck fehlt oder falsch ist, kann die Zahlung möglicherweise nicht automatisch erkannt werden.

#### Häufige Probleme bei Banküberweisung

| Problem                                     | Erklärung                                                             |
| ------------------------------------------- | --------------------------------------------------------------------- |
| Zahlung ist gesendet, Rechnung bleibt offen | Die Überweisung wurde noch nicht empfangen oder noch nicht zugeordnet |
| Falscher Verwendungszweck                   | Die Zahlung kann nicht automatisch zugeordnet werden                  |
| Überweisung am Wochenende                   | Banken verarbeiten Überweisungen oft erst am nächsten Bankarbeitstag  |
| Betrag stimmt nicht                         | Bei abweichendem Betrag kann die automatische Zuordnung fehlschlagen  |

#### Was tun, wenn eine Banküberweisung nicht zugeordnet wurde?

Erstelle ein Support-Ticket und gib folgende Informationen an:

* Rechnungsnummer
* überwiesener Betrag
* Datum der Überweisung
* verwendeter Verwendungszweck
* Name des Kontoinhabers
* optional: Zahlungsbeleg als Screenshot oder PDF

Sende keine vollständigen Bankzugangsdaten und keine vertraulichen Zugangsdaten.

### PayPal

PayPal-Zahlungen werden meistens schnell bestätigt.

Trotzdem kann es vorkommen, dass eine Zahlung nicht sofort als bezahlt angezeigt wird.

#### Häufige Ursachen

* PayPal-Zahlung wurde nicht vollständig abgeschlossen
* Weiterleitung zurück zum Shop wurde abgebrochen
* Zahlung wird von PayPal geprüft
* falsches PayPal-Konto verwendet
* Browser oder App hat den Vorgang unterbrochen
* Zahlung wurde bei PayPal autorisiert, aber nicht erfolgreich abgeschlossen

#### Was du prüfen solltest

1. Öffne dein PayPal-Konto.
2. Prüfe, ob die Zahlung wirklich abgeschlossen wurde.
3. Prüfe, ob die Zahlung abgebucht oder nur vorgemerkt wurde.
4. Warte einige Minuten.
5. Aktualisiere danach den Zahlungsstatus im Kundenportal.

Wenn die Rechnung weiterhin offen bleibt, kontaktiere den Support mit der PayPal-Transaktionsnummer.

### Klarna

Klarna bietet je nach Verfügbarkeit eine Zahlung mit späterer Bezahlung an.

Dabei entscheidet Klarna selbst, ob eine Zahlung angenommen wird. INSTANTROOT hat keinen direkten Einfluss auf die Entscheidung von Klarna.

#### Häufige Probleme bei Klarna

| Problem                        | Erklärung                                         |
| ------------------------------ | ------------------------------------------------- |
| Zahlung abgelehnt              | Klarna hat die Zahlung nicht genehmigt            |
| Identitätsprüfung schlägt fehl | Angaben konnten nicht bestätigt werden            |
| Zahlung bleibt offen           | Klarna hat den Vorgang noch nicht final bestätigt |
| Weiterleitung bricht ab        | Die Zahlung wurde nicht vollständig abgeschlossen |

#### Was du tun kannst

Wenn Klarna nicht funktioniert, wähle eine andere Zahlungsart.

Der Support kann eine abgelehnte Klarna-Zahlung in der Regel nicht manuell freigeben, weil die Prüfung direkt durch Klarna erfolgt.

### SOFORT und Pay by Bank / Sofortüberweisung

Bei SOFORT oder Pay by Bank wird die Zahlung direkt über dein Bankkonto ausgelöst.

Diese Zahlungsarten sind meistens schnell, können aber von deiner Bank, der Freigabe oder dem Zahlungsdienstleister abhängig sein.

#### Häufige Probleme

* Online-Banking-Freigabe wurde nicht bestätigt
* TAN oder App-Freigabe wurde abgebrochen
* Bank lehnt die Zahlung ab
* Sitzung ist abgelaufen
* Zahlung wurde gestartet, aber nicht abgeschlossen
* Weiterleitung zurück zum Shop wurde unterbrochen

#### Was du prüfen solltest

1. Prüfe, ob dein Bankkonto belastet wurde.
2. Prüfe, ob die Zahlung im Kundenportal als bezahlt angezeigt wird.
3. Warte einige Minuten.
4. Wiederhole die Zahlung nicht mehrfach, wenn du unsicher bist.
5. Kontaktiere den Support, wenn Geld abgebucht wurde, die Rechnung aber offen bleibt.

### paysafecard

Bei paysafecard können Probleme entstehen, wenn der verfügbare Betrag nicht ausreicht oder die Zahlung nicht vollständig abgeschlossen wird.

#### Häufige Probleme

* Guthaben reicht nicht aus
* Zahlung wurde abgebrochen
* paysafecard-Konto oder PIN ist eingeschränkt
* Zahlung wurde vom Anbieter abgelehnt
* Weiterleitung wurde geschlossen

#### Was du prüfen solltest

Prüfe, ob die Zahlung in deinem paysafecard-Konto als abgeschlossen angezeigt wird.

Wenn die Rechnung offen bleibt, kontaktiere den Support mit allen verfügbaren Zahlungsinformationen. Sende keine PINs oder vollständigen Zugangsdaten.

### Kreditkarte

Kreditkartenzahlungen werden meistens sofort bestätigt.

Es kann trotzdem zu Ablehnungen kommen.

#### Häufige Ursachen

* 3D-Secure-Freigabe wurde nicht bestätigt
* Kreditkarte ist abgelaufen
* Kreditkartenlimit reicht nicht aus
* Bank lehnt Onlinezahlung ab
* Sicherheitsprüfung schlägt fehl
* falsche Kartendaten eingegeben

#### Was du tun kannst

Prüfe deine Kartendaten und die Freigabe in deiner Banking- oder Kreditkarten-App.

Wenn die Zahlung weiterhin fehlschlägt, nutze eine andere Zahlungsart oder kontaktiere deine Bank.

### Automatische Abbuchung

Bei automatischer Abbuchung wird der Betrag automatisch eingezogen.

Das ist praktisch für wiederkehrende Zahlungen, kann aber fehlschlagen, wenn das Konto nicht gedeckt ist oder die Abbuchung zurückgegeben wird.

#### Häufige Probleme

* Konto nicht ausreichend gedeckt
* Bankdaten falsch
* Lastschrift wurde zurückgegeben
* Abbuchung wurde widerrufen
* Zahlungsmandat ist nicht mehr gültig

#### Wichtig

Rücklastschriften können zusätzliche Kosten verursachen.

Wenn eine Abbuchung fehlschlägt, kann der Dienst gesperrt oder nicht verlängert werden.

### Apple Pay und Google Pay

Apple Pay und Google Pay laufen über die hinterlegte Karte oder Zahlungsmethode.

Wenn eine Zahlung fehlschlägt, liegt die Ursache meistens bei der hinterlegten Karte, der Gerätefreigabe oder der Bank.

#### Prüfe bei Problemen

* ist die Karte noch gültig?
* wurde die Zahlung am Gerät bestätigt?
* ist Apple Pay oder Google Pay korrekt eingerichtet?
* blockiert deine Bank die Zahlung?
* besteht eine stabile Internetverbindung?

### iDEAL, EPS, Bancontact und Przelewy24

Diese Zahlungsarten sind regionale Bankzahlverfahren.

Sie funktionieren in der Regel zuverlässig, hängen aber von deiner Bank und der erfolgreichen Weiterleitung ab.

Wenn eine Zahlung nicht abgeschlossen wird, prüfe zuerst, ob der Betrag tatsächlich abgebucht wurde.

### Zahlung wurde abgebucht, Rechnung ist aber offen

Wenn dein Geld abgebucht wurde, die Rechnung aber weiterhin offen ist, liegt meist eine verzögerte Rückmeldung oder fehlende Zuordnung vor.

Bitte warte zunächst einige Minuten. Bei Banküberweisung kann es länger dauern.

Wenn der Status weiterhin offen bleibt, kontaktiere den Support.

Gib dabei an:

* Rechnungsnummer
* Zahlungsart
* Zahlungsdatum
* Betrag
* Transaktionsnummer, falls vorhanden
* Screenshot oder Zahlungsbeleg, falls verfügbar

### Zahlung ist fehlgeschlagen

Wenn eine Zahlung fehlschlägt, wird der Dienst normalerweise nicht bereitgestellt oder nicht verlängert.

Du kannst dann eine andere Zahlungsart wählen oder die Zahlung erneut versuchen.

Achte darauf, nicht mehrere Zahlungen gleichzeitig zu starten, wenn du nicht sicher bist, ob die erste Zahlung wirklich fehlgeschlagen ist.

### Doppelte Zahlung

Eine doppelte Zahlung kann entstehen, wenn eine Rechnung mehrfach bezahlt wurde oder ein Zahlungsversuch erst verzögert bestätigt wurde.

Wenn du glaubst, dass du doppelt bezahlt hast, kontaktiere den Support.

Gib an:

* Rechnungsnummer
* beide Zahlungszeitpunkte
* Zahlungsarten
* Beträge
* Transaktionsnummern
* Zahlungsbelege

Der Support prüft dann, ob eine doppelte Zahlung vorliegt.

### Guthaben

Je nach Produkt kann Guthaben zur Bezahlung verwendet werden.

Guthaben kann insbesondere für Prepaid-Leistungen und automatische Verlängerungen genutzt werden, wenn diese Funktion angeboten wird.

### Auto-Renew mit Guthaben

Auto-Renew bedeutet automatische Verlängerung.

Wenn Auto-Renew aktiv ist und ausreichend Guthaben vorhanden ist, wird der nächste Prepaid-Zeitraum automatisch gebucht.

Beispiel:

Du hast einen Gameserver mit 30 Tagen Laufzeit und aktivierter automatischer Verlängerung. Wenn am Verlängerungstag genug Guthaben vorhanden ist, wird der nächste Zeitraum automatisch bezahlt.

### Wenn nicht genug Guthaben vorhanden ist

Wenn zum Verlängerungszeitpunkt nicht genug Guthaben vorhanden ist, kann die Verlängerung fehlschlagen.

Dann kann der Dienst gesperrt oder nach Ablauf der Frist beendet werden.

Prüfe deshalb rechtzeitig:

* aktuelles Guthaben
* nächste Fälligkeit
* aktive automatische Verlängerung
* offene Rechnungen

### Rückerstattungen

Rückerstattungen erfolgen grundsätzlich auf die ursprünglich verwendete Zahlungsmethode.

Das bedeutet:

* Zahlung per PayPal → Rückerstattung per PayPal
* Zahlung per Kreditkarte → Rückerstattung auf die Kreditkarte
* Zahlung per Bankverfahren → Rückerstattung über den ursprünglichen Zahlungsweg, soweit möglich

Gebühren von Zahlungsdienstleistern oder Banken können, soweit zulässig, berücksichtigt werden.

### Widerruf

Verbraucher haben bei Fernabsatzverträgen grundsätzlich ein gesetzliches Widerrufsrecht von 14 Tagen.

Bei digitalen Dienstleistungen kann das Widerrufsrecht jedoch unter bestimmten Voraussetzungen erlöschen, wenn mit der Ausführung vor Ablauf der Widerrufsfrist begonnen wurde und der Kunde dem zugestimmt sowie seine Kenntnis vom Erlöschen bestätigt hat.

Bestimmte Leistungen können vom Widerruf ausgenommen sein, zum Beispiel Domains, SSL-Zertifikate, individuelle Konfigurationen oder Leistungen, die nicht oder nur mit unverhältnismäßigem Aufwand rückabwickelbar sind.

### Domains und Rückerstattung

Domains sind ein Sonderfall.

Eine Domainregistrierung wird bei der zuständigen Registry durchgeführt. Bereits gezahlte Domainentgelte werden bei Transfer oder Beendigung grundsätzlich nicht anteilig erstattet, sofern nichts anderes vereinbart wurde.

Wenn eine Domain abläuft oder nicht verlängert wird, kann sie gelöscht oder an die Registry zurückgegeben werden. Eine Wiederherstellung ist je nach Registry-Regeln möglicherweise kostenpflichtig oder nicht mehr möglich.

### Zahlungsverzug

Wenn eine Zahlung nicht rechtzeitig erfolgt, kann ein Dienst gesperrt werden.

Das kann zum Beispiel passieren bei:

* nicht bezahlter Rechnung
* fehlgeschlagener Abbuchung
* Rücklastschrift
* nicht erfolgreicher Verlängerung
* fehlendem Guthaben bei Auto-Renew

Bei Zahlungsverzug können Mahnungen, Sperren, Verzugszinsen, Mahngebühren oder Rücklastschriftkosten entstehen.

### Sperrung und Reaktivierung

Wenn ein Dienst wegen offener Zahlung gesperrt wurde, bleibt er nicht unbegrenzt erhalten.

Gesperrte Leistungen können grundsätzlich nur für einen begrenzten Zeitraum reaktivierbar sein. Nach Ablauf dieses Zeitraums kann der Dienst endgültig beendet und die zugehörigen Daten können gelöscht werden.

Das betrifft zum Beispiel:

* Instanzen
* gespeicherte Daten
* Konfigurationen
* Backups

Bei Domains können abweichende Registry-Regeln gelten.

### Wichtige Hinweise zur Datenhaltung

Wenn ein Dienst wegen ausbleibender Zahlung gesperrt oder beendet wird, solltest du nicht davon ausgehen, dass alle Daten dauerhaft erhalten bleiben.

Erstelle regelmäßig eigene Backups, besonders bei:

* Gameserver-Welten
* Webseiten
* Datenbanken
* Rootservern
* Mailpostfächern
* Konfigurationsdateien

### Standardsupport und kostenpflichtige Zusatzleistungen

Allgemeine Fragen zu Abrechnung, Zahlungsstatus, Rechnungen und Störungen im Verantwortungsbereich von INSTANTROOT sind Teil des Standardsupports.

Kostenpflichtig können Leistungen sein, die über den normalen Paketumfang hinausgehen.

Dazu gehören zum Beispiel:

* individuelle Serverkonfiguration
* individuelle Administration
* Migrationen
* Entwicklungsarbeiten
* Datenrettung
* manuelle Wiederherstellungen außerhalb des Paketumfangs
* Fehlerbehebung bei kundenseitigen Fehlkonfigurationen

Vor kostenpflichtigen Tätigkeiten erhältst du eine Aufwandsschätzung. Wenn die voraussichtlichen Kosten über 100 € netto liegen, ist eine Freigabe erforderlich.

### Was du bei Abrechnungsproblemen immer angeben solltest

Wenn du den Support wegen einer Zahlung oder Rechnung kontaktierst, gib bitte möglichst genaue Informationen an.

Wichtig sind:

* E-Mail-Adresse deines Kundenkontos
* Rechnungsnummer
* Bestellnummer, falls vorhanden
* Zahlungsart
* Betrag
* Datum und Uhrzeit der Zahlung
* Transaktionsnummer, falls vorhanden
* Screenshot oder Zahlungsbeleg, falls vorhanden
* genaue Beschreibung des Problems

### Bitte nicht senden

Sende niemals:

* Passwörter
* vollständige Kreditkartendaten
* Online-Banking-Zugangsdaten
* TANs
* paysafecard-PINs
* private Sicherheitsschlüssel

Der Support benötigt solche Daten nicht.

### Häufige Fragen

#### Warum ist meine Rechnung noch offen, obwohl ich bezahlt habe?

Die Zahlung wurde möglicherweise noch nicht bestätigt oder konnte noch nicht automatisch zugeordnet werden.

Das passiert besonders bei Banküberweisung, abgebrochener Weiterleitung oder verzögerter Rückmeldung eines Zahlungsanbieters.

#### Warum wurde mein Dienst noch nicht freigeschaltet?

Ein Dienst wird normalerweise erst nach erfolgreicher Zahlung oder Freischaltung bereitgestellt.

Wenn die Rechnung noch offen ist, wird der Dienst möglicherweise noch nicht aktiviert.

#### Kann ich die Zahlungsart nachträglich ändern?

Wenn eine Rechnung noch offen ist, kann möglicherweise eine andere Zahlungsart gewählt werden. Prüfe dazu die Zahlungsoptionen im Kundenportal.

Wenn eine Zahlung bereits abgeschlossen ist, kann die Zahlungsart für diese Zahlung nicht einfach geändert werden.

#### Kann ich mein Guthaben auszahlen lassen?

Guthaben ist grundsätzlich nicht zur Auszahlung vorgesehen und nicht übertragbar. Ausnahmen können nur unter bestimmten Voraussetzungen bestehen.

Bonus- oder Aktionsguthaben ist zweckgebunden und nicht auszahlbar.

#### Was passiert bei einer Rücklastschrift?

Bei einer Rücklastschrift kann die Zahlung als fehlgeschlagen gelten. Dadurch können offene Forderungen, Rücklastschriftkosten oder eine Sperrung des Dienstes entstehen.

Kontaktiere den Support, wenn eine Rücklastschrift versehentlich passiert ist.

#### Was passiert, wenn meine Domain nicht verlängert wird?

Domains können nach Ablauf oder ausbleibender Verlängerung gelöscht oder an die Registry zurückgegeben werden.

Eine spätere Wiederherstellung ist nicht immer möglich und kann zusätzliche Gebühren verursachen.


# Minecraft


# Mit dem Minecraft Server verbinden

In diesem Artikel erklären wir dir, wie du dich mit deinem Minecraft Server verbindest und wo du die benötigte Serveradresse im INSTANTPANEL findest.

Damit die Verbindung funktioniert, muss dein Server gestartet sein und du musst die richtige Minecraft-Version verwenden.

### Voraussetzungen

Bevor du dich verbindest, benötigst du:

* einen gestarteten Minecraft Server
* die Serveradresse aus dem INSTANTPANEL
* den Server-Port, falls dieser zusätzlich angegeben ist
* Minecraft Java Edition oder Minecraft Bedrock Edition
* die passende Minecraft-Version

**Hinweis:** Minecraft Java Edition und Minecraft Bedrock Edition sind technisch unterschiedlich. Achte deshalb darauf, dass du dich mit der richtigen Edition verbindest.

### Serveradresse im INSTANTPANEL finden

Die Serveradresse findest du direkt in deinem INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Minecraft Server aus.
4. Öffne die Serverübersicht.
5. Kopiere die angezeigte Serveradresse.

Eine Minecraft-Adresse besteht meistens aus einer IP-Adresse und einem Port.

Beispiel: `123.123.123.123:25565`

Der Teil vor dem Doppelpunkt ist die IP-Adresse. Der Teil nach dem Doppelpunkt ist der Port.

| Bestandteil       | Bedeutung                  |
| ----------------- | -------------------------- |
| `123.123.123.123` | IP-Adresse des Servers     |
| `25565`           | Port des Minecraft Servers |

**Wichtig:** Kopiere die Serveradresse möglichst direkt aus dem INSTANTPANEL. Tippfehler, Leerzeichen oder ein falscher Port führen häufig dazu, dass der Server nicht erreichbar ist.

### Mit Minecraft Java Edition verbinden

Wenn du Minecraft Java Edition nutzt, verbindest du dich über den Mehrspieler-Bereich.

1. Starte Minecraft Java Edition.
2. Klicke auf **Mehrspieler**.
3. Klicke auf **Server hinzufügen**.
4. Gib einen beliebigen Servernamen ein.
5. Trage bei **Serveradresse** die Adresse aus dem INSTANTPANEL ein.
6. Klicke auf **Fertig**.
7. Wähle den Server in der Liste aus.
8. Klicke auf **Server beitreten**.

Wenn dein Server den Standardport `25565` nutzt, reicht meistens die IP-Adresse.

Beispiel: `123.123.123.123`

Wenn dein Server einen anderen Port nutzt, musst du den Port mit angeben.

Beispiel: `123.123.123.123:25570`

**Hinweis:** Bei Minecraft Java wird der Port direkt hinter die IP-Adresse geschrieben. Zwischen IP-Adresse und Port steht ein Doppelpunkt.

### Mit Minecraft Bedrock Edition verbinden

Wenn du Minecraft Bedrock Edition nutzt, wird der Port meistens in einem eigenen Feld eingetragen.

1. Starte Minecraft Bedrock Edition.
2. Öffne den Bereich **Spielen**.
3. Wechsle zum Reiter **Server**.
4. Klicke auf **Server hinzufügen**.
5. Gib einen Namen für den Server ein.
6. Trage die Serveradresse ein.
7. Trage den Port ein.
8. Speichere den Server.
9. Wähle den Server aus und verbinde dich.

Beispiel:

| Feld          | Wert              |
| ------------- | ----------------- |
| Serveradresse | `123.123.123.123` |
| Port          | `19132`           |

Der Standardport für Minecraft Bedrock ist `19132`.

**Wichtig:** Java-Server und Bedrock-Server sind nicht automatisch miteinander kompatibel. Ein Java-Server kann nicht ohne zusätzliche Software von Bedrock-Spielern betreten werden.

### Richtige Minecraft-Version verwenden

Deine Minecraft-Version muss zur Server-Version passen.

Wenn dein Server zum Beispiel auf Minecraft `1.20.4` läuft, solltest du dich auch mit Minecraft `1.20.4` verbinden.

Wenn Client und Server unterschiedliche Versionen verwenden, erscheint häufig eine Fehlermeldung.

Typische Meldungen sind:

* `Outdated server`
* `Outdated client`
* `Incompatible version`

#### Outdated server

Diese Meldung bedeutet meistens, dass dein Minecraft Client neuer ist als der Server.

Lösung:

* Starte Minecraft mit der passenden älteren Version.
* Oder ändere die Server-Version im INSTANTPANEL, falls du eine neuere Version verwenden möchtest.

#### Outdated client

Diese Meldung bedeutet meistens, dass dein Minecraft Client älter ist als der Server.

Lösung:

* Starte Minecraft mit einer neueren Version.
* Oder stelle den Server auf eine ältere Version um.

### Verbindung über eine Domain

Du kannst deinen Minecraft Server auch über eine Domain erreichbar machen.

Beispiel: `play.deinedomain.de`

Dafür müssen passende DNS-Einträge gesetzt werden.

Wenn dein Minecraft Server den Standardport `25565` nutzt, reicht bei Java häufig ein normaler DNS-Eintrag.

Wenn dein Server einen anderen Port nutzt, brauchst du entweder die Adresse mit Port oder einen SRV-Record.

Beispiel ohne SRV-Record: `play.deinedomain.de:25570`

Beispiel mit SRV-Record: `play.deinedomain.de`

**Hinweis:** DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis eine Domain überall korrekt aufgelöst wird.

### Häufige Probleme

#### Server wird als offline angezeigt

Prüfe zuerst:

* Ist der Server im INSTANTPANEL gestartet?
* Ist die Serveradresse korrekt?
* Ist der Port korrekt?
* Verwendest du die richtige Minecraft-Version?
* Nutzt du die richtige Edition?
* Befindet sich der Server noch im Startvorgang?

Ein Minecraft Server kann nach dem Start einige Zeit benötigen, bis er vollständig erreichbar ist.

#### Verbindung schlägt fehl

Wenn die Verbindung fehlschlägt, liegt das häufig an einer falschen Adresse oder Version.

Prüfe:

* keine Leerzeichen in der Serveradresse
* richtiger Doppelpunkt zwischen IP und Port
* richtiger Port
* richtige Minecraft-Version
* richtige Edition
* Server ist wirklich online

#### Connection refused

Die Meldung `Connection refused` bedeutet meistens, dass unter der angegebenen Adresse kein Minecraft Server erreichbar ist.

Mögliche Ursachen:

* Server ist ausgeschaltet
* falscher Port
* Server ist abgestürzt
* Server startet gerade
* falsche Serveradresse

Starte den Server im INSTANTPANEL neu und prüfe anschließend die Serveradresse.

#### Timed out

Die Meldung `Timed out` bedeutet, dass keine rechtzeitige Verbindung hergestellt werden konnte.

Mögliche Ursachen:

* Netzwerkproblem
* Server überlastet
* falsche Adresse
* falscher Port
* Server reagiert nicht
* Verbindung wird blockiert

Warte einige Minuten und versuche es erneut. Wenn das Problem weiterhin besteht, prüfe die Konsole und die Logs im INSTANTPANEL.

#### You are not whitelisted

Diese Meldung bedeutet, dass die Whitelist aktiviert ist und dein Spielername nicht eingetragen wurde.

Ein Administrator muss deinen Minecraft-Namen zur Whitelist hinzufügen.

Beispielbefehl: `whitelist add Spielername`

Danach kannst du erneut versuchen, dem Server beizutreten.

#### Failed to verify username

Diese Meldung bedeutet, dass dein Minecraft-Account nicht erfolgreich geprüft werden konnte.

Mögliche Ursachen:

* Minecraft-Loginserver sind nicht erreichbar
* du bist im Minecraft Launcher nicht korrekt angemeldet
* dein Account konnte nicht überprüft werden
* der Server verwendet Online-Mode
* du nutzt einen nicht unterstützten Client

Starte Minecraft neu und prüfe, ob du korrekt mit deinem Microsoft-Konto angemeldet bist.

### Support kontaktieren

Wenn du dich weiterhin nicht verbinden kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Serveradresse
* Port
* Minecraft Edition: Java oder Bedrock
* Minecraft-Version
* genaue Fehlermeldung
* ob andere Spieler verbinden können
* ob der Server im INSTANTPANEL als online angezeigt wird
* was du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private Zugangsdaten oder Tokens an den Support.


# Server verwalten

In diesem Artikel erklären wir dir, wie du deinen Minecraft Server im INSTANTPANEL startest, stoppst und neustartest.

Diese Funktionen brauchst du immer dann, wenn du deinen Server online bringen, kontrolliert herunterfahren oder Änderungen übernehmen möchtest.

### Voraussetzungen

Bevor du deinen Server verwaltest, benötigst du:

* einen aktiven Minecraft Gameserver
* Zugriff auf das INSTANTPANEL
* deine E-Mail-Adresse als Benutzername
* dein Passwort für das INSTANTPANEL

Wenn du dich zum ersten Mal im INSTANTPANEL anmeldest und dein Passwort nicht funktioniert, nutze die Funktion zum Zurücksetzen des Passworts. Aus Datenschutzgründen wird dein Kundenportal-Passwort nicht automatisch in das INSTANTPANEL übertragen.

### Minecraft Server im INSTANTPANEL öffnen

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Minecraft Server aus.
4. Öffne die Serverübersicht.

In der Serverübersicht findest du die wichtigsten Verwaltungsfunktionen deines Servers. Dazu gehören normalerweise Starten, Stoppen und Neustarten.

### Server starten

Wenn dein Server ausgeschaltet ist, kannst du ihn über das INSTANTPANEL starten.

1. Öffne deinen Minecraft Server im INSTANTPANEL.
2. Klicke auf **Starten**.
3. Warte, bis der Server vollständig gestartet ist.
4. Prüfe die Konsole auf mögliche Fehlermeldungen.
5. Verbinde dich anschließend mit deinem Minecraft Client.

Der Start kann je nach Server, Weltgröße, Version, Plugins oder Mods einige Zeit dauern.

Ein Vanilla-Server startet meistens schneller als ein Server mit vielen Plugins, Mods oder einem großen Modpack.

**Hinweis:** Warte nach dem Start einige Minuten, bevor du dich verbindest. Der Server kann im Panel bereits als gestartet angezeigt werden, obwohl Minecraft intern noch lädt.

### Woran erkenne ich, dass der Server gestartet ist?

Ein gestarteter Minecraft Server ist normalerweise daran erkennbar, dass in der Konsole eine Meldung wie diese erscheint:

`Done`

oder sinngemäß:

`For help, type "help"`

Diese Meldung bedeutet, dass Minecraft vollständig geladen wurde und Befehle annimmt.

Je nach Version, Server-Software oder Sprache können die Meldungen leicht abweichen.

### Server stoppen

Wenn du deinen Server nicht mehr nutzen möchtest oder Änderungen an Dateien vornehmen willst, solltest du ihn kontrolliert stoppen.

1. Öffne deinen Minecraft Server im INSTANTPANEL.
2. Klicke auf **Stoppen**.
3. Warte, bis der Server vollständig heruntergefahren wurde.
4. Prüfe die Konsole, ob der Vorgang abgeschlossen ist.

Ein kontrollierter Stopp ist besser als ein erzwungenes Beenden, weil Minecraft dabei die Welt und wichtige Daten sauber speichern kann.

**Wichtig:** Stoppe den Server nicht direkt während Speicher-, Backup- oder Installationsvorgängen. Dadurch können Dateien beschädigt werden.

### Wann sollte ich den Server stoppen?

Du solltest den Server stoppen, wenn:

* du wichtige Dateien bearbeiten möchtest
* du eine Welt hochlädst oder ersetzt
* du größere Plugin- oder Mod-Änderungen machst
* du den Server längere Zeit nicht nutzt
* der Server vor einer Neuinstallation sauber beendet werden soll

Für kleine Änderungen reicht manchmal ein Neustart. Bei Dateiänderungen ist ein vollständiger Stopp aber oft sicherer.

### Server neustarten

Ein Neustart stoppt den Server und startet ihn danach wieder.

Das ist sinnvoll, wenn du Änderungen übernommen haben möchtest oder der Server nicht mehr sauber reagiert.

1. Öffne deinen Minecraft Server im INSTANTPANEL.
2. Klicke auf **Neustarten**.
3. Warte, bis der Server vollständig heruntergefahren wurde.
4. Warte anschließend, bis der Server wieder gestartet ist.
5. Prüfe die Konsole auf Fehlermeldungen.

### Wann ist ein Neustart notwendig?

Ein Neustart ist häufig notwendig nach:

* Änderung der `server.properties`
* Installation eines Plugins
* Entfernung eines Plugins
* Änderung einer Plugin-Konfiguration
* Installation oder Entfernung von Mods
* Änderung der Server-Version
* Änderung von Startparametern
* größeren Änderungen an Welten oder Dateien

Manche Änderungen werden erst nach einem vollständigen Neustart aktiv.

### Neustart oder Reload?

Minecraft und einige Server-Softwares bieten Befehle wie `reload` an.

Von einem Reload wird meistens abgeraten, besonders bei Servern mit Plugins oder Mods. Ein Reload lädt viele Dateien neu, ohne den Server vollständig zu beenden. Dadurch können Fehler entstehen, Plugins nicht korrekt laden oder Speicherprobleme auftreten.

Besser ist ein normaler Neustart über das INSTANTPANEL.

**Empfehlung:** Verwende statt `reload` lieber einen vollständigen Neustart.

### Änderungen an Dateien richtig übernehmen

Wenn du Dateien bearbeitest, solltest du sauber vorgehen.

Empfohlener Ablauf:

1. Server stoppen.
2. Datei bearbeiten oder hochladen.
3. Änderungen speichern.
4. Server starten.
5. Konsole prüfen.
6. Verbindung testen.

Dieser Ablauf ist besonders wichtig bei:

* `server.properties`
* Plugin-Konfigurationen
* Mod-Konfigurationen
* Weltdateien
* Whitelist-Dateien
* OP-Dateien
* Banlisten

Wenn du Dateien bearbeitest, während der Server läuft, kann Minecraft deine Änderungen überschreiben.

### Server startet nicht nach einem Neustart

Wenn dein Server nach einem Neustart nicht mehr startet, liegt das meistens an einer Änderung, die kurz vorher gemacht wurde.

Typische Ursachen sind:

* falsche Minecraft-Version
* fehlerhaftes Plugin
* falsche Plugin-Version
* fehlerhafte Mod
* fehlende Mod-Abhängigkeit
* beschädigte Konfigurationsdatei
* beschädigte Welt
* zu wenig Arbeitsspeicher für Modpack oder Plugins

Prüfe in diesem Fall die Konsole und die Serverlogs.

Oft steht dort direkt, welche Datei oder welches Plugin den Start verhindert.

### Server bleibt beim Start hängen

Ein Minecraft Server kann beim Start länger brauchen, wenn:

* die Welt sehr groß ist
* viele Plugins installiert sind
* viele Mods installiert sind
* ein Modpack genutzt wird
* die Welt gerade generiert wird
* Datenbankverbindungen aufgebaut werden
* große Konfigurationsdateien geladen werden

Warte einige Minuten und prüfe die Konsole.

Wenn keine neuen Meldungen mehr erscheinen und der Server dauerhaft nicht erreichbar ist, liegt wahrscheinlich ein Fehler vor.

### Server stoppt nicht richtig

Wenn der Server nicht sauber stoppt, kann es sein, dass Minecraft nicht mehr reagiert.

Mögliche Ursachen:

* Server ist überlastet
* ein Plugin blockiert den Shutdown
* eine Mod reagiert nicht mehr
* die Welt wird gerade gespeichert
* ein Prozess hängt fest

Warte zunächst einige Minuten.

Wenn der Server weiterhin nicht stoppt, kann ein erzwungenes Beenden notwendig sein. Nutze diese Möglichkeit nur, wenn ein normaler Stopp nicht funktioniert.

**Wichtig:** Ein erzwungenes Beenden kann im ungünstigen Fall zu Datenverlust führen, wenn gerade Weltdateien gespeichert werden.

### Automatische Neustarts

Regelmäßige Neustarts können sinnvoll sein, besonders bei stark genutzten Servern.

Ein automatischer Neustart kann helfen, wenn:

* der Server über längere Zeit langsamer wird
* viele Spieler online sind
* viele Plugins oder Mods genutzt werden
* Speicherverbrauch über Zeit steigt
* tägliche Wartung gewünscht ist

Viele Server werden zum Beispiel einmal täglich nachts neugestartet.

Achte darauf, Spieler vorher zu informieren, damit niemand mitten im Spiel überrascht wird.

### Vor Änderungen ein Backup erstellen

Bevor du größere Änderungen machst, solltest du ein Backup erstellen.

Das gilt besonders bei:

* Plugin-Installationen
* Mod-Installationen
* Modpack-Updates
* Versionswechseln
* Welt-Uploads
* Welt-Reset
* Änderungen an wichtigen Konfigurationsdateien

Ein Backup hilft dir, den vorherigen Zustand wiederherzustellen, wenn etwas nicht funktioniert.

### Häufige Probleme

#### Server ist gestartet, aber nicht erreichbar

Prüfe:

* ist die Serveradresse korrekt?
* ist der Port korrekt?
* ist Minecraft vollständig geladen?
* nutzt du die richtige Minecraft-Version?
* zeigt die Konsole Fehler?
* ist eine Whitelist aktiv?
* wurde der Server gerade neu gestartet?

Manchmal ist der Server im Panel bereits gestartet, Minecraft nimmt aber noch keine Verbindungen an.

#### Server startet immer wieder neu

Mögliche Ursachen:

* Crash beim Start
* fehlerhaftes Plugin
* fehlerhafte Mod
* falsche Java-Version
* fehlende Abhängigkeit
* beschädigte Welt
* zu wenig Arbeitsspeicher
* fehlerhafte Konfigurationsdatei

Prüfe die Logs und entferne testweise die zuletzt geänderten Plugins, Mods oder Konfigurationen.

#### Server geht direkt wieder aus

Wenn der Server nach dem Start sofort wieder stoppt, liegt fast immer ein Fehler beim Startvorgang vor.

Prüfe:

* letzte Änderungen
* Konsole
* Crash-Report
* Logs
* installierte Plugins oder Mods
* verwendete Minecraft-Version

#### Änderungen wurden nicht übernommen

Wenn Änderungen nicht übernommen wurden, kann das daran liegen, dass der Server während der Änderung noch lief.

Lösung:

1. Server stoppen.
2. Datei erneut bearbeiten.
3. Datei speichern.
4. Server starten.
5. Änderung prüfen.

#### Welt wurde nicht gespeichert

Wenn die Welt nach einem Neustart auf einem alten Stand ist, wurde sie möglicherweise nicht sauber gespeichert.

Mögliche Ursachen:

* Server wurde erzwungen beendet
* Server ist abgestürzt
* Weltdateien wurden während des Betriebs geändert
* Speicherprozess wurde unterbrochen

Nutze nach Möglichkeit immer den normalen Stopp oder Neustart über das INSTANTPANEL.

### Support kontaktieren

Wenn dein Server nicht startet, nicht stoppt oder nach einem Neustart Probleme macht, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Name deines Minecraft Servers
* Minecraft-Version
* verwendete Server-Software, zum Beispiel Vanilla, Paper, Spigot, Forge oder Fabric
* ob Plugins oder Mods installiert sind
* welche Änderung zuletzt vorgenommen wurde
* genaue Fehlermeldung aus der Konsole
* ob ein Crash-Report erstellt wurde
* was du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private Zugangsdaten oder Tokens an den Support.


# OP-Rechte vergeben

In diesem Artikel erklären wir dir, wie du dir oder anderen Spielern OP-Rechte auf deinem Minecraft Server gibst.

OP-Rechte werden benötigt, um administrative Befehle im Spiel auszuführen. Dazu gehören zum Beispiel Teleportieren, Spieler kicken, Spielmodus ändern, Items geben oder Servereinstellungen per Befehl anpassen.

### Was bedeutet OP?

OP steht für Operator.

Ein Operator ist ein Spieler mit erweiterten Rechten auf dem Minecraft Server. OP-Spieler können administrative Befehle ausführen und den Server im Spiel verwalten.

Beispiele für OP-Befehle:

* `/gamemode creative Spielername`
* `/tp Spielername Zielspieler`
* `/kick Spielername`
* `/ban Spielername`
* `/time set day`
* `/weather clear`
* `/give Spielername minecraft:diamond 64`

**Wichtig:** Vergib OP-Rechte nur an Personen, denen du vertraust. OP-Spieler können den Server stark verändern und bei falscher Nutzung Schaden verursachen.

### Voraussetzungen

Damit du OP-Rechte vergeben kannst, benötigst du:

* Zugriff auf deinen Minecraft Server im INSTANTPANEL
* einen gestarteten Server
* den exakten Minecraft-Spielernamen
* Zugriff auf die Konsole oder bereits vorhandene OP-Rechte

Der Spielername muss genau stimmen. Achte auf Groß- und Kleinschreibung, Zahlen und Sonderzeichen.

### OP über die Konsole vergeben

Die einfachste Methode ist die Vergabe über die Serverkonsole im INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Öffne die Konsole.
4. Gib folgenden Befehl ein: `op Spielername`
5. Bestätige den Befehl mit Enter.

Beispiel: `op MaxMustermann`

Wenn der Befehl erfolgreich war, erhält der Spieler OP-Rechte.

Der Spieler muss nicht zwingend online sein. Wichtig ist nur, dass der Spielername korrekt geschrieben ist.

### OP im Spiel vergeben

Wenn du selbst bereits OP-Rechte hast, kannst du anderen Spielern auch direkt im Spiel OP geben.

Öffne den Chat und nutze folgenden Befehl: `/op Spielername`

Beispiel: `/op MaxMustermann`

Diese Methode funktioniert nur, wenn du selbst bereits die nötigen Rechte hast.

### OP-Rechte entfernen

Wenn ein Spieler keine OP-Rechte mehr haben soll, kannst du sie wieder entfernen.

Über die Konsole nutzt du: `deop Spielername`

Im Spiel nutzt du: `/deop Spielername`

Beispiel: `deop MaxMustermann`

Nach dem Entfernen kann der Spieler keine OP-Befehle mehr verwenden.

### OP-Liste prüfen

Minecraft speichert OP-Spieler in der Datei `ops.json`.

Diese Datei findest du im Hauptverzeichnis deines Minecraft Servers.

Dort werden alle Spieler gespeichert, die OP-Rechte besitzen.

**Hinweis:** Bearbeite `ops.json` nur, wenn du weißt, was du tust. Fehlerhafte Einträge oder falsche Formatierung können dazu führen, dass die Datei nicht korrekt gelesen wird.

### OP-Level verstehen

Minecraft nutzt verschiedene OP-Level. Diese legen fest, welche Befehle ein Operator verwenden darf.

| OP-Level | Bedeutung                                                         |
| -------- | ----------------------------------------------------------------- |
| 1        | Einfache administrative Rechte, zum Beispiel Spawn-Schutz umgehen |
| 2        | Die meisten Spielbefehle wie `/gamemode`, `/tp`, `/give`          |
| 3        | Erweiterte Verwaltungsbefehle wie `/ban`, `/kick`, `/op`, `/deop` |
| 4        | Höchste Berechtigungsstufe mit allen Operator-Rechten             |

Standardmäßig wird häufig OP-Level `4` verwendet.

Der OP-Level kann in der Datei `server.properties` über den Wert `op-permission-level` angepasst werden.

Beispiel: `op-permission-level=4`

### OP-Level ändern

So änderst du den OP-Level:

1. Stoppe deinen Minecraft Server.
2. Öffne im INSTANTPANEL den Dateimanager.
3. Öffne die Datei `server.properties`.
4. Suche den Eintrag `op-permission-level`.
5. Ändere den Wert auf den gewünschten Level.
6. Speichere die Datei.
7. Starte den Server wieder.

Beispiel: `op-permission-level=3`

**Wichtig:** Änderungen an der Datei `server.properties` werden erst nach einem Neustart des Servers vollständig übernommen.

### Unterschied zwischen OP und Permissions-Plugin

OP-Rechte sind die einfache Minecraft-eigene Rechteverwaltung.

Für kleine private Server reicht OP oft aus. Für größere Server, öffentliche Server oder Server mit mehreren Rollen ist ein Permissions-Plugin besser geeignet.

Beispiele für Permissions-Plugins:

* LuckPerms
* PermissionsEx
* GroupManager

Mit einem Permissions-Plugin kannst du Rechte genauer steuern.

Beispiel:

* normale Spieler dürfen `/spawn` verwenden
* Moderatoren dürfen Spieler kicken
* Admins dürfen Spieler bannen
* Owner haben volle Rechte

OP-Rechte sind dagegen sehr grob. Ein OP-Spieler bekommt viele mächtige Rechte auf einmal.

### OP bei Vanilla, Paper, Spigot und Bukkit

OP funktioniert grundsätzlich bei allen normalen Minecraft-Serverarten.

Dazu gehören:

* Vanilla
* Paper
* Spigot
* Bukkit

Bei Paper, Spigot und Bukkit können Plugins zusätzliche Rechte verwalten. Dann kann es sein, dass ein Spieler zwar OP ist, aber bestimmte Plugin-Befehle trotzdem anders behandelt werden.

Wenn du Plugins nutzt, prüfe zusätzlich die Rechteverwaltung des jeweiligen Plugins.

### OP bei Forge und Fabric

Auch bei Forge- und Fabric-Servern funktioniert OP grundsätzlich.

Mods können aber eigene Befehle und Berechtigungen mitbringen. Manche Modpacks haben zusätzliche Verwaltungs- oder Team-Systeme.

Wenn ein bestimmter Mod-Befehl trotz OP nicht funktioniert, prüfe die Dokumentation der jeweiligen Mod.

### Häufige Probleme

#### Spieler erhält keine OP-Rechte

Prüfe:

* wurde der Name richtig geschrieben?
* wurde der Befehl in der Konsole ohne `/` eingegeben?
* ist der Server gestartet?
* steht der Spieler in der Datei `ops.json`?
* wurde der Server nach manueller Änderung neu gestartet?

In der Konsole wird der Befehl ohne Schrägstrich geschrieben.

Richtig: `op Spielername`

Falsch: `/op Spielername`

Im Spiel wird der Befehl mit Schrägstrich geschrieben.

Richtig: `/op Spielername`

#### Unknown command

Wenn die Meldung `Unknown command` erscheint, wurde der Befehl möglicherweise an der falschen Stelle eingegeben oder der Server unterstützt den Befehl nicht wie erwartet.

Prüfe:

* verwendest du die Serverkonsole oder den Ingame-Chat?
* hast du im Spiel bereits OP-Rechte?
* wurde der Server vollständig gestartet?
* nutzt du eine stark angepasste Server-Software oder ein Modpack?

#### You do not have permission

Diese Meldung bedeutet, dass du nicht genug Rechte hast, um den Befehl auszuführen.

Lösung:

* Vergib OP-Rechte über die Konsole im INSTANTPANEL.
* Oder bitte einen bestehenden Operator, dir OP zu geben.

#### OP funktioniert, aber Plugin-Befehle funktionieren nicht

Bei Plugins kann eine eigene Rechteverwaltung aktiv sein.

Mögliche Ursachen:

* Plugin nutzt eigene Permissions
* LuckPerms oder ein anderes Rechteplugin überschreibt Rechte
* Befehl gehört nicht zu Minecraft selbst
* Plugin ist nicht korrekt installiert
* Plugin unterstützt deine Server-Version nicht

Prüfe die Plugin-Dokumentation und die Serverlogs.

#### Spielername wird nicht erkannt

Prüfe:

* richtige Schreibweise
* richtiger Minecraft-Account
* keine Leerzeichen
* keine falschen Sonderzeichen
* bei Bedrock/Geyser eventuell Präfix vor dem Namen

Bei Servern mit GeyserMC können Bedrock-Spielernamen anders dargestellt werden, zum Beispiel mit einem Punkt oder Präfix.

### Sicherheit

OP-Rechte sollten sparsam vergeben werden.

Ein Operator kann je nach OP-Level:

* Spieler bannen
* Spieler kicken
* Spielmodus ändern
* Items erzeugen
* Blöcke verändern
* Serverbefehle ausführen
* andere Spieler zu OP machen
* Serverregeln umgehen

Vergib OP-Rechte deshalb nur an vertrauenswürdige Personen.

Für öffentliche Server ist ein Permissions-Plugin wie LuckPerms meistens sicherer als pauschale OP-Rechte.

### Support kontaktieren

Wenn OP-Rechte nicht funktionieren, kontaktiere den Support und gib folgende Informationen an:

* Serverart: Vanilla, Paper, Spigot, Forge oder Fabric
* Minecraft-Version
* Spielername
* verwendeter Befehl
* genaue Fehlermeldung
* ob der Befehl in der Konsole oder im Spiel ausgeführt wurde
* ob Plugins oder Mods installiert sind
* ob ein Permissions-Plugin verwendet wird

Sende keine Passwörter oder privaten Zugangsdaten.


# Whitelist aktivieren

In diesem Artikel erklären wir dir, wie du die Whitelist auf deinem Minecraft Server aktivierst und Spieler zur Whitelist hinzufügst.

Mit einer Whitelist legst du fest, welche Spieler deinen Server betreten dürfen. Alle Spieler, die nicht auf der Whitelist stehen, werden beim Verbindungsversuch abgewiesen.

### Was ist eine Whitelist?

Eine Whitelist ist eine Liste erlaubter Spieler.

Wenn die Whitelist aktiviert ist, können nur Spieler beitreten, die vorher eingetragen wurden.

Das ist besonders sinnvoll für:

* private Minecraft Server
* Server mit Freunden
* geschlossene Communitys
* Bauprojekte
* Testserver
* Modpack-Server mit festem Spielerkreis

Spieler, die nicht auf der Whitelist stehen, erhalten beim Verbinden eine Meldung wie `You are not whitelisted on this server`.

### Voraussetzungen

Bevor du die Whitelist aktivierst, solltest du Folgendes prüfen:

* dein Minecraft Server ist gestartet
* du hast Zugriff auf das INSTANTPANEL
* du kennst die Minecraft-Namen der Spieler
* du hast Zugriff auf die Serverkonsole oder OP-Rechte im Spiel

### Whitelist über die Konsole aktivieren

Die einfachste Methode ist die Aktivierung über die Serverkonsole im INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Öffne die Konsole.
4. Gib folgenden Befehl ein: `whitelist on`
5. Bestätige die Eingabe mit Enter.

Danach ist die Whitelist aktiv.

Ab diesem Moment können nur noch Spieler beitreten, die auf der Whitelist stehen.

### Spieler zur Whitelist hinzufügen

Um einen Spieler zur Whitelist hinzuzufügen, nutze folgenden Befehl in der Konsole:

`whitelist add Spielername`

Ersetze `Spielername` durch den Minecraft-Namen des Spielers.

Beispiel:

`whitelist add Steve`

Der Spieler `Steve` kann den Server danach betreten, sofern die Whitelist aktiviert ist.

### Mehrere Spieler hinzufügen

Du musst jeden Spieler einzeln hinzufügen.

Beispiele:

`whitelist add Spieler1`

`whitelist add Spieler2`

`whitelist add Spieler3`

Achte darauf, die Spielernamen korrekt zu schreiben.

### Whitelist im Spiel aktivieren

Wenn du OP-Rechte hast, kannst du die Whitelist auch direkt im Spiel aktivieren.

Öffne den Chat und gib folgenden Befehl ein:

`/whitelist on`

Einen Spieler fügst du im Spiel so hinzu:

`/whitelist add Spielername`

Der Unterschied zur Konsole ist der Schrägstrich `/`.

In der Konsole wird der Befehl ohne `/` eingegeben. Im Spiel wird der Befehl mit `/` eingegeben.

### Spieler von der Whitelist entfernen

Wenn ein Spieler keinen Zugriff mehr haben soll, entferne ihn mit folgendem Befehl:

`whitelist remove Spielername`

Beispiel:

`whitelist remove Steve`

Der Spieler kann danach nicht mehr beitreten, solange die Whitelist aktiv ist.

### Whitelist anzeigen

Mit folgendem Befehl kannst du anzeigen lassen, welche Spieler auf der Whitelist stehen:

`whitelist list`

So kannst du prüfen, ob ein Spieler bereits eingetragen wurde.

### Whitelist neu laden

Wenn du die Whitelist-Datei manuell bearbeitet hast oder Änderungen nicht erkannt werden, kannst du die Whitelist neu laden.

Befehl:

`whitelist reload`

In den meisten Fällen ist das nicht notwendig, wenn du Spieler direkt über die Konsole oder im Spiel hinzufügst.

### Whitelist deaktivieren

Wenn wieder jeder Spieler beitreten darf, kannst du die Whitelist deaktivieren.

Befehl in der Konsole:

`whitelist off`

Befehl im Spiel:

`/whitelist off`

Danach ist der Server wieder ohne Whitelist erreichbar.

### Unterschied zwischen Whitelist und OP-Rechten

Whitelist und OP-Rechte sind nicht dasselbe.

| Funktion  | Bedeutung                                               |
| --------- | ------------------------------------------------------- |
| Whitelist | Legt fest, wer dem Server beitreten darf                |
| OP-Rechte | Gibt einem Spieler administrative Rechte auf dem Server |

Ein Spieler auf der Whitelist ist nicht automatisch Operator.

Ein Operator ist nicht automatisch auf der Whitelist, wenn die Whitelist aktiv ist.

Wenn du dich selbst als Administrator einrichten möchtest, brauchst du normalerweise beides:

* dein Name muss auf der Whitelist stehen
* du brauchst OP-Rechte, wenn du Adminbefehle nutzen möchtest

### Unterschied zwischen Whitelist und Ban

Whitelist und Ban funktionieren unterschiedlich.

| Funktion  | Wirkung                                   |
| --------- | ----------------------------------------- |
| Whitelist | Nur eingetragene Spieler dürfen beitreten |
| Ban       | Bestimmte Spieler werden ausgeschlossen   |

Wenn die Whitelist aktiv ist, dürfen nur eingetragene Spieler auf den Server.

Wenn ein Spieler gebannt ist, kann er auch dann nicht beitreten, wenn er auf der Whitelist steht.

### Spielernamen richtig eintragen

Der Minecraft-Name muss korrekt geschrieben sein.

Achte auf:

* Groß- und Kleinschreibung
* keine zusätzlichen Leerzeichen
* keine falschen Sonderzeichen
* keine alten Namen, falls der Spieler seinen Namen geändert hat

Bei Minecraft Java wird der Spielername des Microsoft/Mojang-Accounts verwendet.

Bei Bedrock-Servern können Spielernamen anders aussehen, zum Beispiel mit Leerzeichen oder Prefix.

### Whitelist bei Java Edition

Bei Minecraft Java werden normale Java-Spielernamen verwendet.

Beispiel:

`whitelist add Spielername`

Wenn dein Server im Online-Mode läuft, prüft Minecraft den Account über die offiziellen Loginserver.

### Whitelist bei Bedrock Edition

Bei Minecraft Bedrock können Spielernamen je nach Plattform anders aussehen.

Wenn ein Name Leerzeichen enthält, kann es je nach Server-Software nötig sein, den Namen genau so einzutragen, wie er angezeigt wird.

Beispiel:

`whitelist add Spieler Name`

Falls der Befehl mit Leerzeichen nicht funktioniert, prüfe die Schreibweise in den Logs oder in der Spieleranzeige.

### Whitelist bei GeyserMC und Floodgate

Wenn du GeyserMC oder Floodgate verwendest, können Bedrock-Spieler mit einem Prefix angezeigt werden.

Häufig wird ein Punkt oder ein anderes Zeichen vor den Namen gesetzt.

Beispiel:

`.Spielername`

In diesem Fall muss der Name so eingetragen werden, wie er auf dem Server erscheint.

Beispiel:

`whitelist add .Spielername`

Die genaue Schreibweise hängt von deiner GeyserMC- oder Floodgate-Konfiguration ab.

### Whitelist-Datei

Minecraft speichert die Whitelist in einer Datei.

Je nach Server-Version heißt diese Datei meistens:

`whitelist.json`

Diese Datei liegt im Hauptverzeichnis deines Minecraft Servers.

In der Regel solltest du die Whitelist nicht manuell bearbeiten. Nutze besser die Befehle über die Konsole oder im Spiel.

Manuelle Änderungen können zu Fehlern führen, wenn das Format nicht korrekt ist.

### Häufige Probleme

#### Spieler kann trotz Whitelist nicht beitreten

Prüfe:

* ist die Whitelist aktiviert?
* wurde der Spieler korrekt hinzugefügt?
* wurde der Name richtig geschrieben?
* nutzt der Spieler die richtige Minecraft Edition?
* nutzt der Spieler den richtigen Account?
* ist der Spieler eventuell gebannt?
* wurde der Server nach manueller Änderung neu geladen?

#### Meldung: You are not whitelisted

Diese Meldung bedeutet, dass die Whitelist aktiv ist und der Spieler nicht eingetragen wurde.

Lösung:

Füge den Spieler mit folgendem Befehl hinzu:

`whitelist add Spielername`

Danach soll der Spieler erneut versuchen, dem Server beizutreten.

#### Spielername wird nicht gefunden

Wenn der Spielername nicht gefunden wird, kann das mehrere Gründe haben:

* der Name wurde falsch geschrieben
* der Spieler nutzt einen anderen Account
* Minecraft-Loginserver sind nicht erreichbar
* der Server läuft im Offline-Mode
* es handelt sich um einen Bedrock-Spieler mit Prefix

Prüfe die genaue Schreibweise des Namens.

#### Ich habe mich selbst ausgesperrt

Wenn du die Whitelist aktiviert hast und dein eigener Name nicht eingetragen ist, kannst du dich nicht verbinden.

Öffne in diesem Fall die Konsole im INSTANTPANEL und füge dich selbst hinzu:

`whitelist add DeinName`

Danach kannst du wieder beitreten.

#### Whitelist funktioniert nicht

Prüfe zuerst, ob die Whitelist wirklich aktiv ist.

Nutze:

`whitelist list`

und anschließend:

`whitelist on`

Wenn du die Datei manuell bearbeitet hast, lade die Whitelist neu:

`whitelist reload`

#### Spieler ist auf der Whitelist, kommt aber trotzdem nicht rein

Prüfe zusätzlich:

* ist der Spieler gebannt?
* verwendet der Spieler die richtige Minecraft-Version?
* ist der Server voll?
* blockiert ein Plugin den Beitritt?
* gibt es eine Fehlermeldung in der Konsole?
* verwendet der Spieler Java oder Bedrock?
* stimmt der Name bei GeyserMC/Floodgate?

### Sicherheitshinweise

Eine Whitelist schützt deinen Server vor unerwünschten Spielern, ersetzt aber keine saubere Rechteverwaltung.

Achte zusätzlich auf:

* vergib OP-Rechte nur an vertrauenswürdige Personen
* installiere keine unbekannten Plugins ohne Prüfung
* erstelle regelmäßig Backups
* nutze sichere Passwörter für deine Panel-Zugänge
* kontrolliere regelmäßig, wer Zugriff auf deinen Server hat

### Support kontaktieren

Wenn die Whitelist nicht funktioniert oder Spieler trotz korrektem Eintrag nicht beitreten können, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Minecraft Edition: Java oder Bedrock
* Server-Version
* verwendete Server-Software, zum Beispiel Vanilla, Paper, Spigot, Forge oder Fabric
* betroffener Spielername
* genaue Fehlermeldung
* ob GeyserMC oder Floodgate verwendet wird
* ob der Spieler gebannt ist
* was du bereits versucht hast

Sende keine Passwörter oder privaten Zugangsdaten.


# server.properties einfach erklärt

Die Datei `server.properties` enthält die wichtigsten Grundeinstellungen deines Minecraft Servers.

Über diese Datei legst du zum Beispiel fest, welcher Spielmodus aktiv ist, wie viele Spieler beitreten dürfen, ob PvP erlaubt ist, welche Welt geladen wird und ob Command Blocks genutzt werden dürfen.

Viele Änderungen an deinem Minecraft Server werden erst nach einem Neustart aktiv. Speichere die Datei deshalb nach der Bearbeitung und starte den Server anschließend im INSTANTPANEL neu.

### Was ist die server.properties?

Die `server.properties` ist eine Konfigurationsdatei deines Minecraft Servers.

In dieser Datei stehen Einstellungen im Format:

`einstellung=wert`

Beispiel: `gamemode=survival`

Der Teil vor dem Gleichzeichen ist der Name der Einstellung. Der Teil nach dem Gleichzeichen ist der eingestellte Wert.

Du solltest nur den Wert nach dem Gleichzeichen ändern. Den Namen der Einstellung vor dem Gleichzeichen solltest du nicht verändern.

Beispiel:

| Teil       | Bedeutung            |
| ---------- | -------------------- |
| `gamemode` | Name der Einstellung |
| `survival` | eingestellter Wert   |

Richtig: `gamemode=creative`

Falsch: `spielmodus=creative`

### Datei im INSTANTPANEL öffnen

Die genaue Ansicht kann je nach Server und Panel-Version leicht abweichen.

In der Regel gehst du so vor:

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Stoppe den Server.
4. Öffne den Dateimanager.
5. Suche die Datei `server.properties`.
6. Öffne die Datei im Editor.
7. Ändere die gewünschten Werte.
8. Speichere die Datei.
9. Starte den Server neu.

**Wichtig:** Bearbeite die Datei am besten nur, wenn der Server gestoppt ist. So verhinderst du, dass Änderungen überschrieben werden oder nicht sauber gespeichert werden.

### Aufbau der Datei

Eine typische Zeile sieht so aus:

`max-players=20`

Das bedeutet: Auf dem Server dürfen maximal 20 Spieler gleichzeitig online sein.

Eine andere Zeile kann so aussehen:

`pvp=true`

Das bedeutet: PvP ist aktiviert.

Viele Werte verwenden entweder `true` oder `false`.

| Wert    | Bedeutung   |
| ------- | ----------- |
| `true`  | aktiviert   |
| `false` | deaktiviert |

Beispiel:

| Einstellung | Bedeutung           |
| ----------- | ------------------- |
| `pvp=true`  | PvP ist aktiviert   |
| `pvp=false` | PvP ist deaktiviert |

### Kommentare in der Datei

Manche Zeilen können mit `#` beginnen.

Beispiel: `#Minecraft server properties`

Diese Zeilen sind Kommentare. Sie dienen nur als Hinweis und werden vom Server nicht als Einstellung verwendet.

### Server nach Änderungen neu starten

Nach Änderungen an der `server.properties` solltest du den Server neu starten.

Ein einfacher Reload reicht nicht immer aus. Ein sauberer Neustart ist zuverlässiger.

Empfohlene Reihenfolge:

1. Server stoppen.
2. Datei bearbeiten.
3. Datei speichern.
4. Server starten.
5. Änderung im Spiel testen.

### Wichtige Einstellungen im Überblick

Die folgenden Einstellungen gehören zu den wichtigsten Werten in der `server.properties`.

Je nach Minecraft-Version, Server-Software oder Modpack können zusätzliche Werte vorhanden sein.

### gamemode

`gamemode` legt den Standard-Spielmodus fest.

Beispiele:

| Wert        | Bedeutung      |
| ----------- | -------------- |
| `survival`  | Überleben      |
| `creative`  | Kreativmodus   |
| `adventure` | Abenteuermodus |
| `spectator` | Zuschauermodus |

Beispiel: `gamemode=survival`

Der Spielmodus gilt für neue Spieler oder Spieler, deren Spielmodus durch den Server gesetzt wird.

### force-gamemode

`force-gamemode` legt fest, ob Spieler beim Beitreten immer in den eingestellten Standard-Spielmodus gesetzt werden.

Beispiel: `force-gamemode=false`

| Wert    | Bedeutung                                                        |
| ------- | ---------------------------------------------------------------- |
| `true`  | Spieler werden beim Beitritt auf den Standard-Spielmodus gesetzt |
| `false` | Spieler behalten ihren bisherigen Spielmodus                     |

Wenn du möchtest, dass alle Spieler immer im gleichen Spielmodus starten, setze den Wert auf `true`.

### difficulty

`difficulty` legt die Schwierigkeit der Welt fest.

Mögliche Werte:

| Wert       | Bedeutung |
| ---------- | --------- |
| `peaceful` | Friedlich |
| `easy`     | Einfach   |
| `normal`   | Normal    |
| `hard`     | Schwer    |

Beispiel: `difficulty=normal`

Die Schwierigkeit beeinflusst unter anderem Monster, Schaden und Hunger.

### hardcore

`hardcore` aktiviert oder deaktiviert den Hardcore-Modus.

Beispiel: `hardcore=false`

| Wert    | Bedeutung                |
| ------- | ------------------------ |
| `true`  | Hardcore ist aktiviert   |
| `false` | Hardcore ist deaktiviert |

**Wichtig:** Aktiviere Hardcore nur, wenn du dir sicher bist. Spieler können im Hardcore-Modus nach dem Tod nicht normal weiterspielen.

### max-players

`max-players` legt fest, wie viele Spieler gleichzeitig auf den Server können.

Beispiel: `max-players=20`

Wenn du den Wert erhöhst, bedeutet das nicht automatisch, dass der Server diese Spielerzahl problemlos schafft. Die tatsächliche Leistung hängt von Serverleistung, Plugins, Mods, Weltgröße, Sichtweite und Spielerverhalten ab.

### pvp

`pvp` legt fest, ob Spieler sich gegenseitig Schaden zufügen können.

Beispiel: `pvp=true`

| Wert    | Bedeutung           |
| ------- | ------------------- |
| `true`  | PvP ist aktiviert   |
| `false` | PvP ist deaktiviert |

Wenn du einen friedlichen Survival-Server betreibst, ist `pvp=false` oft sinnvoll.

### white-list

`white-list` aktiviert oder deaktiviert die Whitelist.

Beispiel: `white-list=false`

| Wert    | Bedeutung                                  |
| ------- | ------------------------------------------ |
| `true`  | nur eingetragene Spieler können beitreten  |
| `false` | jeder mit der Serveradresse kann beitreten |

Wenn die Whitelist aktiv ist, müssen Spieler zusätzlich über die Konsole oder im Spiel hinzugefügt werden.

Beispielbefehl: `whitelist add Spielername`

### enforce-whitelist

`enforce-whitelist` legt fest, ob Spieler, die nicht mehr auf der Whitelist stehen, automatisch vom Server entfernt werden.

Beispiel: `enforce-whitelist=false`

Für private Server ist `enforce-whitelist=true` oft sinnvoll.

### motd

`motd` ist der Text, der in der Minecraft-Serverliste angezeigt wird.

Beispiel: `motd=Mein INSTANTROOT Minecraft Server`

Die MOTD kann einen einfachen Servernamen, eine kurze Beschreibung oder Hinweise enthalten.

Vermeide sehr lange Texte, da sie in der Serverliste nicht vollständig angezeigt werden.

### level-name

`level-name` legt fest, welcher Weltordner geladen wird.

Beispiel: `level-name=world`

Wenn du eine eigene Welt hochlädst, muss der Ordnername zur Einstellung passen.

Beispiel:

| Weltordner  | Einstellung            |
| ----------- | ---------------------- |
| `world`     | `level-name=world`     |
| `survival`  | `level-name=survival`  |
| `citybuild` | `level-name=citybuild` |

**Wichtig:** Wenn du `level-name` änderst und kein passender Weltordner vorhanden ist, erstellt der Server beim Start eine neue Welt mit diesem Namen.

### level-seed

`level-seed` legt den Seed für eine neu generierte Welt fest.

Beispiel: `level-seed=123456789`

Der Seed beeinflusst, wie die Welt generiert wird.

Diese Einstellung wirkt nur zuverlässig, wenn eine neue Welt erstellt wird. Wenn die Welt bereits existiert, ändert ein neuer Seed nicht automatisch die bestehende Welt.

Wenn du eine neue Welt mit einem bestimmten Seed erstellen möchtest:

1. Server stoppen.
2. Alten Weltordner sichern oder umbenennen.
3. `level-seed` eintragen.
4. `level-name` prüfen.
5. Server starten.

### level-type

`level-type` legt den Welttyp fest.

Häufige Werte sind je nach Version zum Beispiel:

| Wert                     | Bedeutung                  |
| ------------------------ | -------------------------- |
| `minecraft:normal`       | normale Welt               |
| `minecraft:flat`         | flache Welt                |
| `minecraft:large_biomes` | große Biome                |
| `minecraft:amplified`    | verstärkte Weltgenerierung |

Beispiel: `level-type=minecraft:normal`

Der genaue Wert kann je nach Minecraft-Version abweichen.

### generate-structures

`generate-structures` legt fest, ob Strukturen in neuen Welten generiert werden.

Beispiel: `generate-structures=true`

Dazu gehören zum Beispiel:

* Dörfer
* Tempel
* Festungen
* Minenschächte
* andere generierte Strukturen

Diese Einstellung betrifft hauptsächlich neu generierte Bereiche.

### spawn-protection

`spawn-protection` schützt den Spawnbereich vor Änderungen durch normale Spieler.

Beispiel: `spawn-protection=16`

Nur Operatoren können in diesem Bereich bauen oder abbauen.

Wenn du den Spawn-Schutz deaktivieren möchtest, kannst du den Wert auf `0` setzen.

Beispiel: `spawn-protection=0`

### enable-command-block

`enable-command-block` legt fest, ob Command Blocks verwendet werden können.

Beispiel: `enable-command-block=false`

| Wert    | Bedeutung                       |
| ------- | ------------------------------- |
| `true`  | Command Blocks sind aktiviert   |
| `false` | Command Blocks sind deaktiviert |

Command Blocks sind mächtig und können viele Befehle automatisch ausführen. Aktiviere sie nur, wenn du weißt, wofür du sie brauchst.

### allow-nether

`allow-nether` legt fest, ob der Nether aktiviert ist.

Beispiel: `allow-nether=true`

| Wert    | Bedeutung              |
| ------- | ---------------------- |
| `true`  | Nether ist aktiviert   |
| `false` | Nether ist deaktiviert |

Wenn der Nether deaktiviert ist, können Nether-Portale nicht normal genutzt werden.

### allow-flight

`allow-flight` legt fest, ob Fliegen erlaubt ist.

Beispiel: `allow-flight=false`

Diese Einstellung ist vor allem wichtig, wenn Spieler Mods, bestimmte Clients oder Flugfunktionen verwenden.

Wenn Spieler wegen Fliegen gekickt werden, obwohl sie es dürfen sollten, kann `allow-flight=true` helfen.

### online-mode

`online-mode` legt fest, ob der Server Minecraft-Accounts über die offiziellen Mojang beziehungsweise Microsoft-Server prüft.

Beispiel: `online-mode=true`

| Wert    | Bedeutung                                                           |
| ------- | ------------------------------------------------------------------- |
| `true`  | Spieler müssen mit einem gültigen Minecraft-Account angemeldet sein |
| `false` | Accountprüfung ist deaktiviert                                      |

**Wichtig:** Für normale öffentliche Server sollte `online-mode=true` aktiv bleiben.

Wenn `online-mode=false` gesetzt wird, können sich Spieler unter Umständen mit fremden Namen verbinden. Das kann zu Sicherheitsproblemen führen, besonders bei OP-Rechten, Inventaren und Berechtigungen.

### enforce-secure-profile

`enforce-secure-profile` legt fest, ob sichere Spielerprofile erzwungen werden.

Beispiel: `enforce-secure-profile=true`

Diese Einstellung hängt mit der modernen Account- und Chat-Signatur von Minecraft zusammen.

Für normale Server sollte der Standardwert beibehalten werden, sofern du keinen konkreten Grund hast, ihn zu ändern.

### server-port

`server-port` ist der Port, über den der Minecraft Server erreichbar ist.

Beispiel: `server-port=25565`

Der Standardport für Minecraft Java ist `25565`.

Bei Hostingservern solltest du den Port nicht ohne Grund ändern. Der Port wird normalerweise durch das Panel oder die Serverzuweisung vorgegeben.

Wenn du den Port falsch setzt, kann dein Server nicht mehr erreichbar sein.

### server-ip

`server-ip` sollte bei Hostingservern meistens leer bleiben.

Beispiel: `server-ip=`

Trage hier nur dann etwas ein, wenn du genau weißt, dass es notwendig ist.

Ein falscher Wert kann verhindern, dass der Server startet oder erreichbar ist.

### view-distance

`view-distance` legt fest, wie viele Chunks ein Spieler sehen kann.

Beispiel: `view-distance=10`

Ein höherer Wert sorgt für mehr Sichtweite, belastet den Server aber stärker.

Empfehlung:

| Servertyp               | Möglicher Startwert |
| ----------------------- | ------------------- |
| kleiner Survival-Server | `6` bis `8`         |
| normaler Server         | `8` bis `10`        |
| leistungsstarker Server | `10` oder höher     |

Wenn dein Server laggt, ist `view-distance` einer der ersten Werte, die du prüfen solltest.

### simulation-distance

`simulation-distance` legt fest, in welchem Bereich um Spieler herum die Welt aktiv berechnet wird.

Beispiel: `simulation-distance=10`

Das betrifft zum Beispiel:

* Mobs
* Farmen
* Redstone
* Pflanzenwachstum
* andere aktive Spielmechaniken

Ein niedrigerer Wert kann die Serverlast senken.

Für viele Server sind Werte zwischen `4` und `8` sinnvoll, wenn Performance wichtiger ist als große aktive Bereiche.

### max-world-size

`max-world-size` begrenzt die maximale Größe der Welt.

Beispiel: `max-world-size=29999984`

Für normale Server muss dieser Wert meistens nicht geändert werden.

Wenn du eine kleinere Welt erzwingen möchtest, kannst du den Wert reduzieren. Plane das aber vorher sorgfältig, damit Spieler nicht unerwartet an Grenzen stoßen.

### player-idle-timeout

`player-idle-timeout` legt fest, nach wie vielen Minuten inaktive Spieler automatisch gekickt werden.

Beispiel: `player-idle-timeout=0`

| Wert | Bedeutung                                          |
| ---- | -------------------------------------------------- |
| `0`  | Spieler werden nicht wegen Inaktivität gekickt     |
| `10` | Spieler werden nach 10 Minuten Inaktivität gekickt |

Das kann helfen, wenn viele Spieler AFK auf dem Server bleiben.

### resource-pack

`resource-pack` kann genutzt werden, um ein Server-Resource-Pack einzubinden.

Beispiel: `resource-pack=https://example.com/pack.zip`

Das Resource Pack muss über eine direkte Download-Adresse erreichbar sein.

### require-resource-pack

`require-resource-pack` legt fest, ob Spieler das Resource Pack annehmen müssen.

Beispiel: `require-resource-pack=false`

| Wert    | Bedeutung                                  |
| ------- | ------------------------------------------ |
| `true`  | Spieler müssen das Resource Pack verwenden |
| `false` | Spieler können es ablehnen                 |

Wenn dein Server ohne Resource Pack nicht richtig funktioniert, kann `require-resource-pack=true` sinnvoll sein.

### resource-pack-sha1

`resource-pack-sha1` kann genutzt werden, um die Datei des Resource Packs zu prüfen.

Für einfache Setups bleibt dieser Wert oft leer.

Wenn du ein Resource Pack professionell verteilst, kann ein SHA1-Wert sinnvoll sein, damit Clients Änderungen korrekt erkennen.

### enable-rcon

`enable-rcon` aktiviert oder deaktiviert RCON.

RCON ermöglicht es, Serverbefehle aus der Ferne auszuführen.

Beispiel: `enable-rcon=false`

Für die meisten Nutzer sollte RCON deaktiviert bleiben, wenn es nicht aktiv benötigt wird.

### rcon.password

`rcon.password` ist das Passwort für RCON.

Beispiel: `rcon.password=`

Wenn du RCON aktivierst, verwende ein starkes Passwort.

Verwende niemals einfache Passwörter wie:

* `123456`
* `password`
* `minecraft`
* deinen Servernamen

### rcon.port

`rcon.port` ist der Port für RCON.

Beispiel: `rcon.port=25575`

Ändere diesen Wert nur, wenn du weißt, dass der Port bei deinem Server verfügbar und freigegeben ist.

### enable-query

`enable-query` aktiviert die Query-Funktion.

Beispiel: `enable-query=false`

Query wird von manchen Serverlisten oder Tools genutzt, um Informationen über den Server abzufragen.

Wenn du deinen Server in eine Serverliste eintragen möchtest, kann diese Funktion erforderlich sein.

### query.port

`query.port` legt den Port für Query fest.

Beispiel: `query.port=25565`

Ändere diesen Wert nur, wenn du weißt, dass die Änderung notwendig ist.

### op-permission-level

`op-permission-level` legt fest, welche Rechte Operatoren haben.

Beispiel: `op-permission-level=4`

| Level | Bedeutung                                          |
| ----- | -------------------------------------------------- |
| `1`   | einfache Rechte, zum Beispiel Spawn-Schutz umgehen |
| `2`   | Befehle wie `/gamemode`, `/tp`, `/give`            |
| `3`   | Verwaltungsbefehle wie `/ban`, `/kick`, `/op`      |
| `4`   | volle Operator-Rechte                              |

Vergib OP-Rechte nur an Personen, denen du vertraust.

### function-permission-level

`function-permission-level` legt fest, mit welchem Rechtelevel Funktionen ausgeführt werden.

Beispiel: `function-permission-level=2`

Diese Einstellung ist hauptsächlich für Datapacks und Funktionen relevant.

Für normale Server kann der Standardwert meistens beibehalten werden.

### broadcast-console-to-ops

`broadcast-console-to-ops` legt fest, ob Konsolenbefehle an Operatoren gesendet werden.

Beispiel: `broadcast-console-to-ops=true`

Wenn du nicht möchtest, dass OPs Konsolenaktionen sehen, kannst du den Wert auf `false` setzen.

### broadcast-rcon-to-ops

`broadcast-rcon-to-ops` legt fest, ob RCON-Befehle an Operatoren gesendet werden.

Beispiel: `broadcast-rcon-to-ops=true`

Für normale Server kann der Standardwert meistens beibehalten werden.

### enable-status

`enable-status` legt fest, ob der Server in der Minecraft-Serverliste Statusinformationen anzeigt.

Beispiel: `enable-status=true`

Wenn dieser Wert deaktiviert ist, können Spieler möglicherweise nicht sehen, ob der Server online ist oder wie viele Spieler verbunden sind.

### hide-online-players

`hide-online-players` legt fest, ob die Liste der Online-Spieler versteckt wird.

Beispiel: `hide-online-players=false`

Wenn du mehr Privatsphäre möchtest, kannst du diesen Wert auf `true` setzen.

### rate-limit

`rate-limit` kann Verbindungsversuche begrenzen.

Beispiel: `rate-limit=0`

Für normale Server bleibt dieser Wert oft auf `0`.

Bei Angriffen oder sehr vielen Verbindungsversuchen kann eine Begrenzung sinnvoll sein.

### max-tick-time

`max-tick-time` legt fest, wie lange ein Tick maximal dauern darf, bevor der Server sich aus Sicherheitsgründen beendet.

Beispiel: `max-tick-time=60000`

Ändere diesen Wert nur, wenn du weißt, warum es notwendig ist.

Wenn dein Server regelmäßig wegen Tick-Problemen stoppt, liegt meistens ein Performanceproblem, ein Pluginfehler, ein Modfehler oder eine überlastete Welt vor.

### network-compression-threshold

`network-compression-threshold` betrifft die Komprimierung von Netzwerkdaten.

Beispiel: `network-compression-threshold=256`

Für normale Server sollte dieser Wert nicht verändert werden.

### sync-chunk-writes

`sync-chunk-writes` beeinflusst, wie Chunks auf die Festplatte geschrieben werden.

Beispiel: `sync-chunk-writes=true`

Diese Einstellung sollte nur geändert werden, wenn du genau weißt, was du tust oder eine konkrete Anleitung dafür nutzt.

### use-native-transport

`use-native-transport` kann auf Linux-Systemen Netzwerkoptimierungen aktivieren.

Beispiel: `use-native-transport=true`

Bei gehosteten Servern sollte der Standardwert normalerweise beibehalten werden.

### Welche Einstellungen sollte ich als Anfänger ändern?

Für die meisten Kunden sind am Anfang nur wenige Werte wichtig.

Empfohlene Startwerte:

| Einstellung            | Typischer Wert                |
| ---------------------- | ----------------------------- |
| `gamemode`             | `survival`                    |
| `difficulty`           | `normal`                      |
| `max-players`          | abhängig vom Paket            |
| `pvp`                  | `true` oder `false`           |
| `white-list`           | `true` bei privaten Servern   |
| `motd`                 | eigener Servername            |
| `view-distance`        | `6` bis `10`                  |
| `simulation-distance`  | `4` bis `8`                   |
| `enable-command-block` | nur aktivieren, wenn benötigt |

### Einstellungen, die du nicht ohne Grund ändern solltest

Einige Werte können dazu führen, dass dein Server nicht mehr erreichbar ist oder unsicher wird.

Ändere diese Werte nur, wenn du weißt, was du tust:

* `server-ip`
* `server-port`
* `online-mode`
* `enable-rcon`
* `rcon.password`
* `rcon.port`
* `max-tick-time`
* `network-compression-threshold`
* `sync-chunk-writes`
* `use-native-transport`

### Häufige Fehler

#### Server startet nach Änderung nicht mehr

Prüfe zuerst die zuletzt geänderte Zeile.

Häufige Ursachen:

* Tippfehler
* falscher Wert
* fehlendes Gleichzeichen
* ungültiger Port
* beschädigte Datei
* Sonderzeichen an falscher Stelle

Setze die geänderte Einstellung testweise wieder auf den vorherigen Wert zurück.

#### Änderung wird nicht übernommen

Mögliche Ursachen:

* Datei wurde nicht gespeichert
* Server wurde nicht neu gestartet
* falsche Datei bearbeitet
* Server hat die Datei beim Stoppen überschrieben
* Plugin oder Mod überschreibt die Einstellung

Stoppe den Server, ändere die Datei erneut, speichere sie und starte den Server danach neu.

#### Neue Welt wurde erstellt

Das passiert häufig, wenn `level-name` geändert wurde.

Wenn der Server keinen Weltordner mit diesem Namen findet, erstellt er eine neue Welt.

Prüfe den Namen deines Weltordners und den Wert bei `level-name`.

#### Spieler können nicht mehr verbinden

Prüfe:

* `server-port`
* `server-ip`
* `white-list`
* `online-mode`
* `enforce-secure-profile`
* Minecraft-Version
* Serverstatus im INSTANTPANEL

#### PvP funktioniert nicht

Prüfe:

* `pvp=true`
* Region- oder Schutzplugins
* WorldGuard-Einstellungen
* Spielmodus
* Rechteverwaltung

Wenn du Plugins verwendest, kann ein Plugin PvP unabhängig von der `server.properties` blockieren.

#### Command Blocks funktionieren nicht

Prüfe:

* `enable-command-block=true`
* Server wurde neu gestartet
* du hast die nötigen Rechte
* Command Block ist korrekt konfiguriert

### Beispiel für eine einfache Survival-Konfiguration

Eine einfache Survival-Konfiguration kann zum Beispiel so aussehen:

| Einstellung            | Wert       |
| ---------------------- | ---------- |
| `gamemode`             | `survival` |
| `difficulty`           | `normal`   |
| `pvp`                  | `true`     |
| `max-players`          | `20`       |
| `white-list`           | `true`     |
| `view-distance`        | `8`        |
| `simulation-distance`  | `6`        |
| `enable-command-block` | `false`    |
| `allow-nether`         | `true`     |

Diese Werte sind ein guter Startpunkt für einen privaten oder kleinen öffentlichen Survival-Server.

### Beispiel für einen privaten Freunde-Server

Für einen privaten Server mit Freunden sind diese Werte oft sinnvoll:

| Einstellung           | Wert               |
| --------------------- | ------------------ |
| `white-list`          | `true`             |
| `pvp`                 | `false`            |
| `difficulty`          | `normal`           |
| `max-players`         | passend zur Gruppe |
| `motd`                | eigener Servername |
| `view-distance`       | `8`                |
| `simulation-distance` | `6`                |

Danach solltest du alle gewünschten Spieler zur Whitelist hinzufügen.

Beispielbefehl: `whitelist add Spielername`

### Beispiel für bessere Performance

Wenn dein Server laggt, können diese Werte helfen:

| Einstellung           | Möglicher Wert        |
| --------------------- | --------------------- |
| `view-distance`       | `6`                   |
| `simulation-distance` | `4`                   |
| `max-players`         | realistisch begrenzen |
| `player-idle-timeout` | `10` oder `15`        |

Diese Werte ersetzen keine saubere Plugin- oder Mod-Optimierung, können aber die Grundlast senken.

### Support kontaktieren

Wenn dein Server nach einer Änderung nicht mehr startet oder du eine Einstellung nicht findest, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* betroffener Minecraft Server
* geänderte Einstellung
* vorheriger Wert
* neuer Wert
* genaue Fehlermeldung
* ob der Server nach dem Speichern neu gestartet wurde
* ob Plugins, Mods oder ein Modpack verwendet werden

Sende keine Passwörter, Tokens oder privaten Zugangsdaten.


# Minecraft Welt hochladen

In diesem Artikel erklären wir dir, wie du eine eigene Minecraft Welt auf deinen Server hochlädst und anschließend aktivierst.

Das ist sinnvoll, wenn du bereits eine bestehende Singleplayer-Welt hast, eine Welt von einem anderen Server übernehmen möchtest oder eine heruntergeladene Map verwenden willst.

### Voraussetzungen

Bevor du beginnst, benötigst du:

* Zugriff auf dein INSTANTPANEL
* eine vorhandene Minecraft Welt auf deinem Computer
* die passende Minecraft-Version
* Zugriff auf die Dateiverwaltung oder SFTP
* ein Backup deines aktuellen Servers, falls bereits Daten vorhanden sind

**Wichtig:** Erstelle vor dem Hochladen immer ein Backup, wenn sich bereits eine Welt auf dem Server befindet. Beim Ersetzen einer Welt können vorhandene Spielstände überschrieben werden.

### Was ist eine Minecraft Welt?

Eine Minecraft Welt besteht nicht nur aus einer einzelnen Datei. Eine Welt ist ein kompletter Ordner mit mehreren Dateien und Unterordnern.

Typische Dateien und Ordner in einer Welt sind:

| Datei oder Ordner | Bedeutung                                      |
| ----------------- | ---------------------------------------------- |
| `level.dat`       | Hauptdatei der Welt                            |
| `region`          | Enthält die gespeicherten Overworld-Chunks     |
| `playerdata`      | Enthält Spielerdaten wie Inventar und Position |
| `data`            | Enthält verschiedene Weltdaten                 |
| `DIM-1`           | Nether-Dimension bei Vanilla-Servern           |
| `DIM1`            | End-Dimension bei Vanilla-Servern              |

Wenn der Ordner keine `level.dat` enthält, ist es meistens nicht der richtige Weltordner.

### Server vorher stoppen

Stoppe deinen Minecraft Server, bevor du Dateien hochlädst oder ersetzt.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Klicke auf **Stoppen**.
4. Warte, bis der Server vollständig beendet ist.

**Wichtig:** Lade keine Welt hoch, während der Server läuft. Dadurch können Dateien beschädigt oder unvollständig geschrieben werden.

### Aktuelle Welt prüfen

Öffne die Dateien deines Minecraft Servers im INSTANTPANEL oder per SFTP.

Bei den meisten Minecraft Servern heißt der Standard-Weltordner:

`world`

Je nach Konfiguration kann der Weltordner auch anders heißen.

Der Name der aktiven Welt wird in der Datei `server.properties` über den Eintrag `level-name` festgelegt.

Beispiel:

`level-name=world`

Das bedeutet: Der Server lädt den Ordner `world` als Hauptwelt.

### Eigene Welt vorbereiten

Prüfe zuerst den Weltordner auf deinem Computer.

Der richtige Weltordner enthält normalerweise die Datei:

`level.dat`

Wenn deine Welt aus einer `.zip`-Datei besteht, entpacke sie zuerst auf deinem Computer.

Achte darauf, dass du nicht versehentlich einen Ordner zu tief oder zu hoch hochlädst.

Richtig:

`MeineWelt/level.dat`

Falsch:

`MeineWelt/MeineWelt/level.dat`

Wenn die Welt falsch verschachtelt ist, kann Minecraft sie nicht richtig laden.

### Welt per Dateiverwaltung hochladen

Wenn deine Welt nicht zu groß ist, kannst du sie über die Dateiverwaltung im INSTANTPANEL hochladen.

1. Öffne deinen Minecraft Server im INSTANTPANEL.
2. Stoppe den Server.
3. Öffne die Dateiverwaltung.
4. Lade den Weltordner hoch.
5. Warte, bis der Upload vollständig abgeschlossen ist.
6. Prüfe, ob der Ordner vollständig vorhanden ist.
7. Passe bei Bedarf den Eintrag `level-name` in der Datei `server.properties` an.
8. Starte den Server wieder.

**Hinweis:** Bei größeren Welten ist SFTP meistens zuverlässiger als der Upload über den Browser.

### Welt per SFTP hochladen

Für größere Welten empfehlen wir den Upload per SFTP.

SFTP ist eine sichere Dateiübertragung. Damit kannst du Dateien und Ordner direkt zwischen deinem Computer und deinem Server übertragen.

Du benötigst dafür ein SFTP-Programm, zum Beispiel FileZilla oder WinSCP.

### SFTP-Zugangsdaten finden

Die SFTP-Zugangsdaten findest du im INSTANTPANEL bei deinem Minecraft Server.

Dort findest du je nach Ansicht:

* Serveradresse
* Port
* Benutzername
* Passwort oder SFTP-Zugang
* Verzeichnis des Servers

Nutze diese Daten in deinem SFTP-Programm.

### Upload mit FileZilla

1. Öffne FileZilla.
2. Trage die SFTP-Zugangsdaten aus dem INSTANTPANEL ein.
3. Verbinde dich mit dem Server.
4. Öffne auf der rechten Seite das Serververzeichnis.
5. Lade deinen Weltordner in das Hauptverzeichnis des Minecraft Servers hoch.
6. Warte, bis alle Dateien übertragen wurden.
7. Prüfe, ob keine Übertragungen fehlgeschlagen sind.

Achte darauf, dass der Weltordner direkt im Hauptverzeichnis liegt.

Beispiel:

`/world`

oder:

`/MeineWelt`

### Bestehende Welt ersetzen

Wenn du die vorhandene Welt ersetzen möchtest, hast du zwei Möglichkeiten.

#### Möglichkeit 1: Neue Welt unter gleichem Namen hochladen

1. Stoppe den Server.
2. Erstelle ein Backup.
3. Lösche oder benenne den alten Ordner `world` um.
4. Lade deine neue Welt hoch.
5. Benenne die neue Welt in `world` um.
6. Starte den Server.

Diese Methode ist einfach, weil du die `server.properties` nicht ändern musst.

#### Möglichkeit 2: Welt mit eigenem Namen verwenden

1. Stoppe den Server.
2. Lade deine neue Welt hoch.
3. Öffne die Datei `server.properties`.
4. Suche den Eintrag `level-name`.
5. Trage den Namen deines Weltordners ein.
6. Speichere die Datei.
7. Starte den Server.

Beispiel:

`level-name=MeineWelt`

Der Ordner muss exakt so heißen wie der Eintrag in `level-name`.

Groß- und Kleinschreibung kann dabei wichtig sein.

### Nether und End bei Vanilla

Bei einem normalen Vanilla-Server liegen Nether und End meistens im Hauptweltordner.

Typische Ordner sind:

| Ordner  | Bedeutung |
| ------- | --------- |
| `DIM-1` | Nether    |
| `DIM1`  | End       |

Wenn du eine vollständige Welt übernehmen möchtest, solltest du diese Ordner ebenfalls mit hochladen.

### Nether und End bei Paper oder Spigot

Bei Paper, Spigot oder Bukkit können Nether und End teilweise als eigene Weltordner gespeichert werden.

Beispiel:

| Ordner          | Bedeutung |
| --------------- | --------- |
| `world`         | Overworld |
| `world_nether`  | Nether    |
| `world_the_end` | End       |

Wenn du eine Welt von einem Paper- oder Spigot-Server übernimmst, prüfe deshalb, ob mehrere Weltordner vorhanden sind.

Für eine vollständige Übernahme müssen alle passenden Weltordner hochgeladen werden.

### Singleplayer-Welt hochladen

Singleplayer-Welten findest du auf deinem Computer im Minecraft-Ordner.

Unter Windows liegt der Ordner meistens hier:

`%appdata%\.minecraft\saves`

Unter macOS liegt der Ordner meistens hier:

`~/Library/Application Support/minecraft/saves`

Unter Linux liegt der Ordner meistens hier:

`~/.minecraft/saves`

Wähle dort den Ordner deiner Welt aus und lade ihn auf den Server hoch.

### Welt aus ZIP-Datei hochladen

Wenn du eine Welt als ZIP-Datei hast, entpacke sie am besten zuerst auf deinem Computer.

Danach prüfst du, ob im entpackten Ordner die Datei `level.dat` vorhanden ist.

Wenn der entpackte Ordner korrekt ist, lade diesen Ordner auf den Server hoch.

**Wichtig:** Lade nicht nur die ZIP-Datei hoch, wenn dein Server sie nicht automatisch entpackt. Minecraft kann eine ZIP-Datei nicht direkt als Welt laden.

### server.properties anpassen

Die Datei `server.properties` enthält wichtige Einstellungen deines Minecraft Servers.

Für die Welt ist besonders dieser Eintrag wichtig:

`level-name=world`

Wenn deine hochgeladene Welt zum Beispiel `MeineWelt` heißt, muss der Eintrag so aussehen:

`level-name=MeineWelt`

Danach speicherst du die Datei und startest den Server neu.

### Server starten und Welt prüfen

Nachdem du die Welt hochgeladen und den Namen angepasst hast:

1. Starte den Server im INSTANTPANEL.
2. Warte, bis der Server vollständig gestartet ist.
3. Verbinde dich mit Minecraft.
4. Prüfe, ob du auf der richtigen Welt spawnst.
5. Prüfe, ob Gebäude, Inventare und Fortschritt vorhanden sind.

Wenn der Server eine neue leere Welt erstellt, stimmt meistens der Weltordner oder der Eintrag `level-name` nicht.

### Häufige Probleme

#### Server erstellt eine neue Welt

Wenn der Server eine neue Welt erstellt, erkennt Minecraft deine hochgeladene Welt nicht.

Prüfe:

* enthält der Weltordner eine `level.dat`?
* ist der Ordner richtig benannt?
* stimmt `level-name` in der `server.properties`?
* liegt der Weltordner direkt im Hauptverzeichnis?
* ist die Welt nicht doppelt verschachtelt?

Häufiger Fehler:

`MeineWelt/MeineWelt/level.dat`

Richtig wäre:

`MeineWelt/level.dat`

#### Welt wird nicht geladen

Prüfe:

* wurde der Server vor dem Upload gestoppt?
* wurden alle Dateien vollständig hochgeladen?
* gab es fehlgeschlagene SFTP-Übertragungen?
* passt die Minecraft-Version?
* ist die Welt eventuell beschädigt?

Wenn die Welt aus einer neueren Minecraft-Version stammt, kann sie meistens nicht ohne Weiteres mit einer älteren Server-Version geladen werden.

#### Gebäude fehlen

Wenn Gebäude fehlen, wurde möglicherweise nicht der richtige Weltordner hochgeladen.

Prüfe außerdem, ob du in der richtigen Dimension bist und ob Nether oder End separat gespeichert wurden.

Bei Paper oder Spigot müssen gegebenenfalls auch Ordner wie `world_nether` und `world_the_end` übertragen werden.

#### Spieler-Inventar fehlt

Spielerinventare werden im Ordner `playerdata` gespeichert.

Wenn dieser Ordner fehlt oder nicht vollständig übertragen wurde, können Inventare, Positionen und Spielerdaten fehlen.

#### Nether oder End fehlen

Prüfe, ob die Ordner für Nether und End mit hochgeladen wurden.

Bei Vanilla sind das meistens:

* `DIM-1`
* `DIM1`

Bei Paper, Spigot oder Bukkit können es eigene Ordner sein:

* `world_nether`
* `world_the_end`

#### Upload bricht ab

Bei großen Welten kann ein Browser-Upload abbrechen.

Nutze in diesem Fall SFTP und prüfe nach dem Upload, ob alle Dateien erfolgreich übertragen wurden.

#### Server startet nach Upload nicht mehr

Prüfe die Konsole und die Logs im INSTANTPANEL.

Mögliche Ursachen:

* Welt ist beschädigt
* falsche Minecraft-Version
* fehlende Dateien
* falsche Dateirechte
* inkompatible Mods oder Plugins
* nicht vollständig hochgeladene Welt

Wenn du vorher ein Backup erstellt hast, kannst du den vorherigen Zustand wiederherstellen.

### Tipps für große Welten

Große Welten können viele Dateien enthalten. Dadurch dauert der Upload länger.

Empfehlungen:

* Server vor dem Upload stoppen
* SFTP statt Browser-Upload verwenden
* vorher ein Backup erstellen
* Upload vollständig abschließen lassen
* fehlgeschlagene Übertragungen prüfen
* Weltordner nicht unnötig mehrfach verschachteln
* alte oder nicht benötigte Weltordner löschen, wenn du sicher bist

### Support kontaktieren

Wenn deine Welt nach dem Upload nicht funktioniert, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Name des Minecraft Servers
* Minecraft-Version
* verwendete Server-Software, zum Beispiel Vanilla, Paper, Spigot, Forge oder Fabric
* Name des hochgeladenen Weltordners
* aktueller Wert von `level-name`
* ob der Server eine neue Welt erstellt
* ob eine Fehlermeldung in der Konsole erscheint
* ob du per Dateiverwaltung oder SFTP hochgeladen hast
* was du bereits versucht hast

Sende keine Passwörter oder privaten Zugangsdaten.


# Minecraft Version wechseln

In diesem Artikel erklären wir dir, wie du die Minecraft Version deines Servers im INSTANTPANEL wechselst.

Das ist zum Beispiel sinnvoll, wenn du eine andere Minecraft-Version nutzen möchtest, von Vanilla auf Paper wechseln willst oder dein Server für bestimmte Plugins, Mods oder Spieler angepasst werden soll.

### Wichtig vor dem Wechsel

Ein Versionswechsel kann Auswirkungen auf deine Welt, Plugins, Mods und Einstellungen haben.

Erstelle deshalb vor jeder Änderung ein Backup.

**Wichtig:** Ein Wechsel auf eine neuere Version ist meistens möglich. Ein Wechsel zurück auf eine ältere Version kann Probleme verursachen, wenn die Welt bereits mit einer neueren Version geladen wurde.

### Was bedeutet Minecraft Version?

Die Minecraft Version bestimmt, mit welcher Spielversion dein Server läuft.

Beispiele:

* `1.20.1`
* `1.20.4`
* `1.21`
* `1.21.1`

Dein Minecraft Client sollte zur Server-Version passen. Wenn dein Server auf `1.21.1` läuft, solltest du dich auch mit dieser Version verbinden.

### Was bedeutet Server-Software?

Neben der Minecraft Version gibt es auch unterschiedliche Server-Software.

Häufige Varianten sind:

| Server-Software | Beschreibung                                                     |
| --------------- | ---------------------------------------------------------------- |
| Vanilla         | Originaler Minecraft Server ohne Plugins und Mods                |
| Paper           | Optimierte Server-Software mit Plugin-Unterstützung              |
| Spigot          | Server-Software mit Plugin-Unterstützung                         |
| Bukkit          | Ältere Plugin-Basis, heute meist durch Spigot oder Paper ersetzt |
| Forge           | Modloader für Forge-Mods und Modpacks                            |
| Fabric          | Modloader für Fabric-Mods und Modpacks                           |

Die Server-Software entscheidet, welche Erweiterungen du nutzen kannst.

Plugins funktionieren zum Beispiel auf Paper oder Spigot, aber nicht auf Vanilla, Forge oder Fabric.

Mods funktionieren mit Forge oder Fabric, aber nicht auf Paper oder Spigot.

### Version im INSTANTPANEL wechseln

Im INSTANTPANEL kannst du die Minecraft Version über den Versionenmanager wechseln.

Der Versionenmanager zeigt dir eine Liste verfügbarer Versionen und Server-Software an. Wenn du eine Version auswählst, wird die passende Serverdatei automatisch gewechselt.

### Schritt-für-Schritt-Anleitung

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Minecraft Server aus.
4. Stoppe den Server.
5. Öffne den Bereich für Versionen oder den Versionenmanager.
6. Wähle die gewünschte Minecraft Version aus der Liste.
7. Wähle bei Bedarf die passende Server-Software, zum Beispiel Vanilla, Paper, Forge oder Fabric.
8. Starte die Installation oder den Wechsel.
9. Warte, bis der Vorgang abgeschlossen ist.
10. Starte den Server wieder.
11. Prüfe die Konsole und die Logs auf Fehlermeldungen.

**Wichtig:** Stoppe den Server immer vor dem Versionswechsel. Ein Wechsel während der Server läuft, kann zu Fehlern oder beschädigten Dateien führen.

### Was passiert beim Wechsel?

Beim Wechsel über den Versionenmanager wird die Server-JAR ausgetauscht.

Die Server-JAR ist die Datei, mit der dein Minecraft Server gestartet wird. Sie enthält die eigentliche Server-Software.

Je nach Auswahl wird zum Beispiel gewechselt auf:

* eine andere Vanilla-Version
* eine Paper-Version
* eine Spigot-Version
* eine Forge-Version
* eine Fabric-Version

Deine Welt und Konfigurationsdateien bleiben normalerweise bestehen. Trotzdem solltest du vorher ein Backup erstellen, weil nicht jede Welt, jedes Plugin oder jede Mod mit jeder Version kompatibel ist.

### Von Vanilla auf Paper wechseln

Ein Wechsel von Vanilla auf Paper ist häufig sinnvoll, wenn du Plugins nutzen oder bessere Performance erreichen möchtest.

Vorteile von Paper:

* Plugin-Unterstützung
* bessere Performance als Vanilla
* viele zusätzliche Einstellungsmöglichkeiten
* große Plugin-Auswahl

Nach dem Wechsel auf Paper kannst du Plugins in den Plugin-Ordner hochladen.

Der Ordner heißt normalerweise `plugins`.

### Von Paper oder Spigot zurück auf Vanilla wechseln

Ein Wechsel zurück auf Vanilla ist möglich, kann aber Probleme verursachen.

Paper und Spigot können zusätzliche Dateien und Einstellungen erzeugen. Außerdem können Plugins Daten in der Welt oder in eigenen Ordnern speichern.

Wenn du zurück auf Vanilla wechselst:

* funktionieren Plugins nicht mehr
* der Ordner `plugins` wird nicht mehr genutzt
* pluginbezogene Funktionen können fehlen
* bestimmte Änderungen bleiben eventuell in der Welt gespeichert

Erstelle vorher ein Backup.

### Von einer älteren auf eine neuere Minecraft-Version wechseln

Ein Update auf eine neuere Minecraft-Version ist meistens der normale Weg.

Beispiel:

`1.20.4` auf `1.21.1`

Dabei kann die Welt beim ersten Start angepasst oder konvertiert werden. Das kann etwas dauern.

Nach einem Update solltest du prüfen:

* startet der Server fehlerfrei?
* können Spieler verbinden?
* funktionieren Plugins oder Mods?
* gibt es Fehlermeldungen in der Konsole?
* wurde die Welt korrekt geladen?

### Von einer neueren auf eine ältere Minecraft-Version wechseln

Ein Downgrade ist riskant.

Beispiel:

`1.21.1` zurück auf `1.20.4`

Wenn eine Welt bereits mit einer neueren Version geöffnet wurde, kann sie Daten enthalten, die eine ältere Version nicht versteht. Dadurch können Fehler entstehen.

Mögliche Folgen:

* Welt lädt nicht mehr korrekt
* Blöcke oder Items fehlen
* Chunks sind beschädigt
* Server startet nicht
* Spieler-Daten verursachen Fehler

**Wichtig:** Führe ein Downgrade nur durch, wenn du ein Backup aus der älteren Version hast.

### Forge oder Fabric auswählen

Forge und Fabric werden für Mods und Modpacks verwendet.

Du solltest Forge oder Fabric nur auswählen, wenn du auch Mods verwenden möchtest oder ein Modpack dies voraussetzt.

Achte dabei auf drei Dinge:

* Minecraft Version
* Modloader
* Mod-Version

Diese drei Punkte müssen zusammenpassen.

Beispiel:

Ein Fabric-Mod für Minecraft `1.20.1` funktioniert nicht automatisch auf Forge und nicht automatisch auf Minecraft `1.21.1`.

### Plugins, Mods und Versionen

Nach einem Versionswechsel können Plugins oder Mods nicht mehr funktionieren.

Das ist normal, wenn sie nicht zur neuen Version passen.

Prüfe deshalb nach dem Wechsel:

* sind alle Plugins für die neue Version geeignet?
* sind alle Mods für die neue Version geeignet?
* fehlen Abhängigkeiten?
* gibt es Fehlermeldungen in der Konsole?
* gibt es neue Versionen der Plugins oder Mods?

### Wann sollte ich die Version wechseln?

Ein Versionswechsel ist sinnvoll, wenn:

* du eine neuere Minecraft-Version nutzen möchtest
* Spieler mit einer bestimmten Version verbinden sollen
* ein Plugin eine bestimmte Version benötigt
* ein Modpack eine bestimmte Version benötigt
* du von Vanilla auf Paper wechseln möchtest
* du Performance verbessern möchtest
* du eine alte Version für ein bestimmtes Projekt brauchst

### Wann sollte ich nicht wechseln?

Wechsle die Version nicht ohne Backup, wenn:

* viele Spieler aktiv auf dem Server spielen
* wichtige Weltdaten vorhanden sind
* du viele Plugins oder Mods installiert hast
* du nicht weißt, ob deine Erweiterungen kompatibel sind
* du auf eine ältere Version zurückgehen möchtest

### Häufige Probleme

#### Server startet nach dem Wechsel nicht

Prüfe zuerst die Konsole und die Logs im INSTANTPANEL.

Häufige Ursachen:

* Plugin ist nicht mit der neuen Version kompatibel
* Mod ist nicht mit der neuen Version kompatibel
* falsche Java-Version
* beschädigte Serverdatei
* Welt wurde mit einer anderen Version erstellt
* fehlende Mod-Abhängigkeit

Entferne testweise zuletzt hinzugefügte Plugins oder Mods und starte den Server erneut.

#### Spieler können nicht mehr verbinden

Prüfe:

* nutzen die Spieler die richtige Minecraft-Version?
* wurde die Server-Version wirklich gewechselt?
* ist der Server vollständig gestartet?
* wird eine Fehlermeldung angezeigt?
* ist die Whitelist aktiv?

Typische Meldungen sind:

* `Outdated server`
* `Outdated client`
* `Incompatible version`

#### Plugins laden nicht mehr

Plugins funktionieren nur auf Server-Software mit Plugin-Unterstützung, zum Beispiel Paper oder Spigot.

Prüfe:

* läuft der Server wirklich auf Paper oder Spigot?
* ist das Plugin für die neue Minecraft-Version geeignet?
* fehlt eine Abhängigkeit wie Vault oder ProtocolLib?
* steht ein Fehler in der Konsole?

#### Mods laden nicht mehr

Mods funktionieren nur mit dem passenden Modloader.

Prüfe:

* nutzt du Forge oder Fabric?
* passt die Mod zur Minecraft-Version?
* passt die Mod zum Modloader?
* fehlt eine Library oder Abhängigkeit?
* ist die Mod auch auf dem Client installiert, falls erforderlich?

#### Welt lädt nicht richtig

Wenn die Welt nach einem Versionswechsel nicht richtig lädt, kann eine Inkompatibilität vorliegen.

Mögliche Ursachen:

* Welt wurde bereits mit einer neueren Version geöffnet
* Downgrade wurde durchgeführt
* Mods wurden entfernt
* Welt enthält Blöcke oder Items aus Mods
* Weltdateien sind beschädigt

Stelle in diesem Fall ein Backup wieder her.

### Support kontaktieren

Wenn der Versionswechsel nicht funktioniert oder dein Server danach nicht startet, kontaktiere den Support.

Gib bitte folgende Informationen an:

* aktuelle Server-Version
* gewünschte Server-Version
* verwendete Server-Software, zum Beispiel Vanilla, Paper, Forge oder Fabric
* genaue Fehlermeldung aus der Konsole
* ob Plugins oder Mods installiert sind
* ob vor dem Wechsel ein Backup erstellt wurde
* was du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private Zugangsdaten oder Tokens an den Support.


# Plugin installieren

In diesem Artikel erklären wir dir, wie du Plugins auf deinem Minecraft Server installierst. Bei INSTANTROOT kannst du viele Plugins direkt über den One-Click Plugin Installer im INSTANTPANEL installieren.

Plugins erweitern deinen Minecraft Server um zusätzliche Funktionen. Dazu gehören zum Beispiel Rechteverwaltung, Schutzsysteme, Economy-Funktionen, Teleport-Befehle, Weltbearbeitung oder Verwaltungsfunktionen.

### Voraussetzungen

Bevor du ein Plugin installierst, solltest du prüfen, ob dein Server Plugins unterstützt.

Plugins funktionieren normalerweise mit Server-Software wie:

* Paper
* Spigot
* Bukkit
* Purpur

Plugins funktionieren normalerweise nicht mit:

* Vanilla
* Forge
* Fabric
* reinen Bedrock-Servern

**Wichtig:** Wenn du Mods verwenden möchtest, brauchst du Forge oder Fabric. Wenn du Plugins verwenden möchtest, brauchst du Paper, Spigot, Bukkit oder eine vergleichbare Plugin-Software.

### Was ist ein Plugin?

Ein Plugin ist eine Erweiterung für deinen Minecraft Server.

Es verändert oder erweitert die Funktionen des Servers, ohne dass Spieler dafür meistens etwas im eigenen Minecraft Client installieren müssen.

Beispiele für Plugins:

| Plugin      | Zweck                                                    |
| ----------- | -------------------------------------------------------- |
| LuckPerms   | Rechte und Gruppen verwalten                             |
| EssentialsX | Befehle wie Home, Spawn, TPA und Warps                   |
| WorldEdit   | Schnelles Bearbeiten von Bauwerken und Regionen          |
| WorldGuard  | Regionen schützen                                        |
| Vault       | Schnittstelle für Economy- und Rechteplugins             |
| CoreProtect | Änderungen von Spielern nachverfolgen                    |
| GeyserMC    | Bedrock-Spielern den Zugriff auf Java-Server ermöglichen |

### One-Click Plugin Installer öffnen

Viele Plugins kannst du direkt über den One-Click Plugin Installer installieren.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Minecraft Server aus.
4. Öffne den Bereich für Plugins oder den One-Click Plugin Installer.
5. Suche nach dem gewünschten Plugin.
6. Wähle das Plugin aus.
7. Klicke auf Installieren.
8. Starte den Server neu.

Nach dem Neustart wird das Plugin geladen.

### Plugin nach der Installation prüfen

Nach der Installation solltest du prüfen, ob das Plugin erfolgreich geladen wurde.

Öffne dazu die Konsole im INSTANTPANEL und gib folgenden Befehl ein:

`plugins`

Bei Paper, Spigot und Bukkit zeigt dieser Befehl die geladenen Plugins an.

Wenn das Plugin grün angezeigt wird, wurde es normalerweise erfolgreich geladen.

Wenn das Plugin rot angezeigt wird oder nicht in der Liste steht, gibt es wahrscheinlich ein Problem.

### Server nach der Installation neu starten

Nach jeder Plugin-Installation solltest du den Server neu starten.

Ein Reload reicht nicht immer aus und kann bei manchen Plugins Fehler verursachen.

Empfohlen ist:

1. Server stoppen.
2. Einige Sekunden warten.
3. Server starten.

**Wichtig:** Verwende `/reload` nur, wenn du genau weißt, dass das Plugin damit umgehen kann. Viele Plugins empfehlen einen vollständigen Neustart.

### Plugin manuell installieren

Wenn ein Plugin nicht im One-Click Plugin Installer verfügbar ist, kannst du es manuell installieren.

1. Lade das Plugin von einer vertrauenswürdigen Quelle herunter.
2. Achte darauf, dass die Datei auf `.jar` endet.
3. Öffne im INSTANTPANEL den Dateimanager oder verbinde dich per SFTP.
4. Öffne den Ordner `plugins`.
5. Lade die `.jar`-Datei in den Ordner `plugins` hoch.
6. Starte den Server neu.

Nach dem Neustart erstellt das Plugin meistens automatisch einen eigenen Ordner mit Konfigurationsdateien.

### Plugin konfigurieren

Viele Plugins erstellen nach dem ersten Start eigene Konfigurationsdateien.

Diese findest du meistens im Ordner:

`plugins/PluginName/`

Dort liegen häufig Dateien wie:

* `config.yml`
* `messages.yml`
* `settings.yml`
* `groups.yml`

Änderungen an Konfigurationsdateien werden meistens erst nach einem Neustart oder einem Plugin-Reload übernommen.

**Hinweis:** YAML-Dateien reagieren empfindlich auf falsche Einrückungen. Verwende keine Tabulatoren, sondern Leerzeichen.

### Plugin aktualisieren

Um ein Plugin zu aktualisieren, gehst du je nach Installationsart unterschiedlich vor.

Wenn das Plugin über den One-Click Plugin Installer installiert wurde, prüfe dort, ob eine neue Version verfügbar ist.

Bei manueller Installation:

1. Lade die neue Plugin-Version herunter.
2. Stoppe den Server.
3. Erstelle ein Backup.
4. Ersetze die alte `.jar`-Datei im Ordner `plugins`.
5. Starte den Server wieder.

**Wichtig:** Prüfe vor einem Update, ob die neue Plugin-Version mit deiner Minecraft-Version kompatibel ist.

### Plugin entfernen

Wenn du ein Plugin entfernen möchtest:

1. Stoppe den Server.
2. Öffne den Dateimanager oder SFTP.
3. Öffne den Ordner `plugins`.
4. Lösche die `.jar`-Datei des Plugins.
5. Optional: Lösche auch den zugehörigen Plugin-Ordner.
6. Starte den Server neu.

Wenn du nur die `.jar`-Datei löschst, bleiben die Konfigurationsdateien erhalten. Das ist sinnvoll, wenn du das Plugin später wieder installieren möchtest.

Wenn du auch den Plugin-Ordner löschst, werden die Einstellungen des Plugins entfernt.

### Plugin-Abhängigkeiten

Manche Plugins benötigen andere Plugins, um zu funktionieren.

Ein häufiges Beispiel ist `Vault`.

Viele Economy-, Rechte- oder Chat-Plugins brauchen Vault als Schnittstelle.

Wenn eine Abhängigkeit fehlt, startet das Plugin möglicherweise nicht oder zeigt Fehler in der Konsole.

Typische Hinweise in der Konsole sind:

* `Missing dependency`
* `Could not load plugin`
* `Unknown dependency`
* `Plugin disabled`

Prüfe in diesem Fall die Beschreibung des Plugins und installiere die benötigten Abhängigkeiten.

### Kompatibilität prüfen

Nicht jedes Plugin funktioniert mit jeder Minecraft-Version.

Achte vor der Installation auf:

* unterstützte Minecraft-Version
* unterstützte Server-Software
* benötigte Abhängigkeiten
* letzte Aktualisierung des Plugins
* Hinweise des Entwicklers

Beispiel:

Ein Plugin für Minecraft `1.20.1` funktioniert nicht automatisch auf Minecraft `1.21`.

### Häufige Probleme

#### Plugin wird nicht angezeigt

Prüfe:

* läuft dein Server auf Paper, Spigot, Bukkit oder Purpur?
* liegt die `.jar`-Datei im Ordner `plugins`?
* wurde der Server nach dem Upload neu gestartet?
* ist die Datei vollständig hochgeladen?
* ist das Plugin mit deiner Minecraft-Version kompatibel?

#### Plugin ist rot in der Plugin-Liste

Wenn ein Plugin rot angezeigt wird, wurde es nicht korrekt geladen.

Mögliche Ursachen:

* falsche Minecraft-Version
* fehlende Abhängigkeit
* fehlerhafte Konfiguration
* beschädigte `.jar`-Datei
* Plugin ist nicht mit deiner Server-Software kompatibel

Prüfe die Konsole und die Logdateien, um die genaue Ursache zu finden.

#### Server startet nach Plugin-Installation nicht mehr

Wenn der Server nach einer Plugin-Installation nicht mehr startet:

1. Öffne die Konsole oder die Logs.
2. Suche nach dem Namen des zuletzt installierten Plugins.
3. Stoppe den Server.
4. Entferne die Plugin-Datei aus dem Ordner `plugins`.
5. Starte den Server erneut.

Wenn der Server danach wieder startet, war das Plugin oder dessen Konfiguration wahrscheinlich die Ursache.

#### Befehle des Plugins funktionieren nicht

Prüfe:

* wurde das Plugin geladen?
* nutzt du den richtigen Befehl?
* hast du die nötigen Rechte?
* ist ein Rechteplugin wie LuckPerms korrekt eingerichtet?
* gibt es Fehler in der Konsole?

#### Keine Rechte für Plugin-Befehle

Viele Plugins verwenden Berechtigungen.

Wenn du einen Befehl nicht ausführen kannst, fehlt dir wahrscheinlich eine Permission.

Beispiel:

`essentials.home`

Permissions werden meistens über ein Rechteplugin wie LuckPerms vergeben.

### Gute Plugin-Praxis

Installiere nicht zu viele Plugins gleichzeitig.

Wenn du mehrere Plugins auf einmal installierst und danach ein Fehler auftritt, ist schwer erkennbar, welches Plugin das Problem verursacht.

Besser ist:

1. Ein Plugin installieren.
2. Server neu starten.
3. Funktion prüfen.
4. Erst danach das nächste Plugin installieren.

### Sicherheit

Lade Plugins nur aus vertrauenswürdigen Quellen herunter.

Achte besonders auf:

* offizielle Plugin-Seiten
* bekannte Plattformen
* aktuelle Versionen
* Bewertungen und Kommentare
* keine unbekannten Reuploads
* keine verdächtigen Dateien

**Wichtig:** Ein Plugin läuft direkt auf deinem Server. Schädliche Plugins können Daten auslesen, Dateien verändern oder deinen Server beschädigen.

### Support kontaktieren

Wenn ein Plugin nicht funktioniert, kontaktiere den Support nur mit möglichst genauen Informationen.

Gib bitte an:

* Name des Plugins
* Installationsart: One-Click Installer oder manuell
* Minecraft-Version
* Server-Software, zum Beispiel Paper oder Spigot
* genaue Fehlermeldung
* Auszug aus der Konsole oder Logdatei
* was du bereits versucht hast

Sende keine Passwörter, Tokens oder privaten Zugangsdaten.


# Forge / Fabric Mod installieren

In diesem Artikel erklären wir dir, wie du Mods auf deinem Minecraft Server installierst.

Bei INSTANTROOT kannst du viele Mods direkt über den **One-Click Mod Installer** im INSTANTPANEL installieren. Dadurch musst du Mod-Dateien in vielen Fällen nicht manuell hochladen.

### Was sind Mods?

Mods erweitern Minecraft um neue Funktionen, Blöcke, Items, Kreaturen, Biome, Techniksysteme oder Spielmechaniken.

Beispiele für Mods sind:

* neue Maschinen
* neue Dimensionen
* neue Mobs
* neue Waffen oder Werkzeuge
* Performance-Verbesserungen
* neue Weltgeneration
* zusätzliche Komfortfunktionen

Mods unterscheiden sich von Plugins. Plugins werden meistens auf Paper, Spigot oder Bukkit verwendet. Mods benötigen dagegen einen Modloader wie Forge oder Fabric.

### Forge und Fabric kurz erklärt

Forge und Fabric sind sogenannte Modloader.

Ein Modloader sorgt dafür, dass Minecraft Mods laden und ausführen kann.

| Modloader | Beschreibung                                                                                          |
| --------- | ----------------------------------------------------------------------------------------------------- |
| Forge     | Sehr verbreiteter Modloader mit vielen großen Modpacks und umfangreichen Mods                         |
| Fabric    | Leichter Modloader, häufig für moderne Versionen, Performance-Mods und kleinere Erweiterungen genutzt |

Ein Forge-Mod funktioniert normalerweise nicht auf Fabric.

Ein Fabric-Mod funktioniert normalerweise nicht auf Forge.

Achte deshalb immer darauf, dass Modloader, Minecraft-Version und Mod-Version zusammenpassen.

### Voraussetzungen

Bevor du eine Mod installierst, prüfe:

* dein Server ist im INSTANTPANEL erreichbar
* du weißt, ob dein Server Forge oder Fabric nutzt
* die Minecraft-Version des Servers ist bekannt
* die Mod ist mit deiner Minecraft-Version kompatibel
* die Mod ist für den richtigen Modloader gedacht
* du hast vor Änderungen ein Backup erstellt

**Wichtig:** Installiere Mods nicht blind auf einem laufenden Server. Stoppe den Server vorher und erstelle ein Backup.

### Backup erstellen

Erstelle vor der Installation einer Mod immer ein Backup.

So kannst du den vorherigen Zustand wiederherstellen, falls der Server nach der Installation nicht mehr startet oder die Mod Probleme verursacht.

1. Öffne deinen Minecraft Server im INSTANTPANEL.
2. Gehe zum Bereich **Backups**.
3. Erstelle ein neues Backup.
4. Warte, bis das Backup vollständig abgeschlossen ist.
5. Stoppe danach den Server.

### Mod über den One-Click Mod Installer installieren

Der einfachste Weg ist die Installation über den One-Click Mod Installer.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Stoppe den Server.
4. Öffne den Bereich **Mod Installer** oder **One-Click Mod Installer**.
5. Suche die gewünschte Mod.
6. Prüfe die angezeigte Minecraft-Version.
7. Prüfe den Modloader, also Forge oder Fabric.
8. Wähle die passende Version aus.
9. Starte die Installation.
10. Warte, bis die Installation abgeschlossen ist.
11. Starte den Server erneut.

Nach dem Start lädt der Server die installierte Mod. Je nach Mod kann der erste Start etwas länger dauern.

### Passende Version auswählen

Die häufigste Ursache für Probleme ist eine falsche Version.

Diese drei Angaben müssen zusammenpassen:

| Angabe            | Beispiel                   |
| ----------------- | -------------------------- |
| Minecraft-Version | `1.20.1`                   |
| Modloader         | `Forge`                    |
| Mod-Version       | Version für `Forge 1.20.1` |

Wenn dein Server auf Minecraft `1.20.1` mit Forge läuft, brauchst du auch eine Mod für Forge und Minecraft `1.20.1`.

Eine Fabric-Mod für Minecraft `1.20.1` funktioniert nicht auf einem Forge-Server.

Eine Forge-Mod für Minecraft `1.19.2` funktioniert normalerweise nicht auf einem Forge-Server mit Minecraft `1.20.1`.

### Modloader vor der Installation prüfen

Prüfe vor der Installation, ob dein Server Forge oder Fabric nutzt.

Du findest diese Information in der Regel in der Serverübersicht, bei der Software-Auswahl oder im Startlog.

Typische Hinweise:

| Hinweis                 | Bedeutung                                                 |
| ----------------------- | --------------------------------------------------------- |
| Forge                   | Server nutzt Forge                                        |
| Fabric                  | Server nutzt Fabric                                       |
| Vanilla                 | Keine Mods möglich                                        |
| Paper / Spigot / Bukkit | Plugins möglich, aber keine klassischen Forge/Fabric-Mods |

Wenn dein Server noch auf Vanilla läuft, musst du zuerst auf Forge oder Fabric wechseln, bevor du Mods verwenden kannst.

### Client-Mods und Server-Mods

Nicht jede Mod muss auf dem Server installiert werden.

Es gibt drei Arten von Mods:

| Art                    | Bedeutung                                                     |
| ---------------------- | ------------------------------------------------------------- |
| Server-Mod             | Muss auf dem Server installiert werden                        |
| Client-Mod             | Muss nur beim Spieler installiert werden                      |
| Client- und Server-Mod | Muss auf dem Server und bei allen Spielern installiert werden |

Viele Gameplay-Mods müssen sowohl auf dem Server als auch auf dem Client installiert sein.

Beispiele:

* neue Blöcke
* neue Items
* neue Mobs
* neue Dimensionen
* neue Maschinen

Reine Client-Mods wie Minimap-Mods oder Grafik-Mods werden normalerweise nicht auf dem Server installiert.

### Spieler müssen die gleiche Mod verwenden

Wenn eine Mod auch auf dem Client benötigt wird, müssen alle Spieler diese Mod ebenfalls installieren.

Dabei müssen Version und Modloader passen.

Beispiel:

Der Server nutzt:

* Minecraft `1.20.1`
* Forge
* Mod `BeispielMod` für Forge `1.20.1`

Dann müssen Spieler ebenfalls verwenden:

* Minecraft `1.20.1`
* Forge
* dieselbe oder kompatible Version der Mod

Wenn ein Spieler eine benötigte Mod nicht installiert hat, kann die Verbindung fehlschlagen.

Typische Fehlermeldungen sind:

* `Mod rejected`
* `Missing mods`
* `Mismatched mod list`
* `Incompatible mod set`
* `Connection closed`

### Mod manuell installieren

Wenn eine Mod nicht im One-Click Mod Installer verfügbar ist, kannst du sie manuell installieren.

1. Lade die Mod von einer vertrauenswürdigen Quelle herunter.
2. Prüfe Minecraft-Version und Modloader.
3. Stoppe deinen Server im INSTANTPANEL.
4. Öffne den Dateimanager oder verbinde dich per SFTP.
5. Öffne den Ordner `mods`.
6. Lade die `.jar`-Datei der Mod in den Ordner `mods` hoch.
7. Starte den Server erneut.

Falls der Ordner `mods` nicht vorhanden ist, läuft dein Server wahrscheinlich nicht auf Forge oder Fabric.

### Mod entfernen

Wenn du eine Mod entfernen möchtest:

1. Stoppe den Server.
2. Öffne den One-Click Mod Installer oder den Dateimanager.
3. Entferne die Mod.
4. Prüfe den Ordner `mods`, falls die Mod manuell installiert wurde.
5. Starte den Server erneut.

**Wichtig:** Entferne Mods nicht unüberlegt aus bestehenden Welten. Wenn die Mod Blöcke, Items oder Dimensionen hinzugefügt hat, können beim Entfernen Daten fehlen oder beschädigt werden.

### Mod aktualisieren

Um eine Mod zu aktualisieren:

1. Erstelle ein Backup.
2. Stoppe den Server.
3. Entferne die alte Mod-Version.
4. Installiere die neue passende Mod-Version.
5. Starte den Server.
6. Prüfe die Konsole und die Logs.

Aktualisiere nicht mehrere Mods gleichzeitig, wenn du Probleme vermeiden möchtest. Installiere Änderungen besser Schritt für Schritt.

### Abhängigkeiten beachten

Manche Mods benötigen zusätzliche Bibliotheken oder weitere Mods.

Diese werden oft als Dependencies oder Required Mods bezeichnet.

Beispiele:

* Library-Mods
* API-Mods
* Core-Mods
* Fabric API

Wenn eine benötigte Abhängigkeit fehlt, startet der Server möglicherweise nicht.

Typische Hinweise im Log sind:

* `Missing dependency`
* `Requires`
* `Mod requires`
* `Dependency not found`

Installiere in diesem Fall die fehlende Abhängigkeit in der passenden Version.

### Fabric API

Viele Fabric-Mods benötigen die Fabric API.

Wenn du Fabric verwendest und eine Mod nicht startet, prüfe, ob die Fabric API benötigt wird.

Die Fabric API muss dann ebenfalls in den Ordner `mods` installiert werden oder über den One-Click Mod Installer hinzugefügt werden, falls verfügbar.

### Häufige Probleme

#### Server startet nach Mod-Installation nicht

Prüfe:

* passt die Mod zur Minecraft-Version?
* passt die Mod zu Forge oder Fabric?
* fehlen Abhängigkeiten?
* wurde eine Client-only Mod auf dem Server installiert?
* ist die Mod-Datei vollständig hochgeladen?
* gibt es eine Fehlermeldung im Log?

Wenn der Server nicht startet, entferne zuletzt installierte Mods oder stelle dein Backup wieder her.

#### Spieler können nicht verbinden

Mögliche Ursachen:

* Spieler haben die Mod nicht installiert
* Spieler nutzen eine andere Mod-Version
* Spieler nutzen den falschen Modloader
* Spieler verwenden eine andere Minecraft-Version
* Server und Client haben unterschiedliche Modlisten

Vergleiche die Modliste des Servers mit der Modliste des Spielers.

#### Missing mods

Diese Meldung bedeutet, dass dem Client oder Server eine benötigte Mod fehlt.

Lösung:

* fehlende Mod installieren
* richtige Version verwenden
* Modloader prüfen
* Server und Client vergleichen

#### Incompatible mod set

Diese Meldung bedeutet, dass eine oder mehrere Mods nicht zusammenpassen.

Mögliche Ursachen:

* falsche Minecraft-Version
* falscher Modloader
* inkompatible Mod-Version
* fehlende Abhängigkeit
* Mod ist nicht für Server geeignet

#### Server crasht direkt beim Start

Öffne die Konsole oder die Logs im INSTANTPANEL.

Suche nach Begriffen wie:

* `Error`
* `Exception`
* `Caused by`
* `Missing`
* `Incompatible`
* `Failed to load`

Die wichtigste Stelle im Log steht meistens am Ende oder direkt nach `Caused by`.

#### Ordner `mods` fehlt

Wenn der Ordner `mods` fehlt, läuft dein Server wahrscheinlich nicht auf Forge oder Fabric.

Wechsle zuerst die Server-Software auf Forge oder Fabric und starte den Server einmal. Danach wird der Ordner normalerweise automatisch erstellt.

### Empfehlungen

* Installiere nur Mods aus vertrauenswürdigen Quellen.
* Erstelle vor jeder Änderung ein Backup.
* Installiere Mods einzeln und teste nach jeder Änderung.
* Achte immer auf Minecraft-Version, Modloader und Mod-Version.
* Entferne Mods aus bestehenden Welten nur mit Vorsicht.
* Lies bei Problemen immer die Logs.
* Verwende für Modpacks möglichst die offiziellen Serverfiles.

### Support kontaktieren

Wenn du eine Mod nicht installieren kannst oder der Server nach der Installation nicht startet, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Minecraft-Version
* Modloader: Forge oder Fabric
* Name der Mod
* Mod-Version
* ob die Mod über den One-Click Mod Installer oder manuell installiert wurde
* genaue Fehlermeldung
* letzter Abschnitt aus dem Serverlog
* was du bereits versucht hast

Sende keine Passwörter, Tokens oder privaten Zugangsdaten.


# Modpack installieren

In diesem Artikel erklären wir dir, wie du ein Modpack auf deinem Minecraft Server installierst.

Bei INSTANTROOT kannst du viele Modpacks direkt über den One-Click Mod Installer im INSTANTPANEL installieren. Dadurch musst du die Serverdateien nicht manuell hochladen und sparst dir viele einzelne Einrichtungsschritte.

### Was ist ein Modpack?

Ein Modpack ist eine Sammlung aus mehreren Minecraft Mods, Konfigurationen und oft auch zusätzlichen Dateien.

Mods erweitern Minecraft um neue Inhalte oder Funktionen. Ein Modpack bündelt viele dieser Mods zu einem fertigen Spielerlebnis.

Ein Modpack kann zum Beispiel enthalten:

* neue Blöcke
* neue Items
* neue Biome
* Techniksysteme
* Magiesysteme
* neue Mobs
* neue Dimensionen
* Performance-Mods
* eigene Konfigurationen
* angepasste Rezepte

Bekannte Modpacks sind zum Beispiel Modpacks von CurseForge, Modrinth oder anderen Plattformen.

### Wichtig vor der Installation

Ein Modpack verändert deinen Server oft sehr stark. Bestehende Welten, Einstellungen oder Dateien können dadurch überschrieben werden.

Erstelle deshalb vor der Installation ein Backup, wenn du deinen aktuellen Serverstand behalten möchtest.

**Wichtig:** Installiere ein Modpack möglichst nur auf einem frisch eingerichteten Server oder nachdem du ein Backup erstellt hast.

### Voraussetzungen

Bevor du ein Modpack installierst, solltest du prüfen:

* der Minecraft Server ist im INSTANTPANEL sichtbar
* du hast Zugriff auf das INSTANTPANEL
* der Server ist gestoppt
* du weißt, welches Modpack du installieren möchtest
* du hast vorher ein Backup erstellt, falls bereits Daten vorhanden sind

### Modpack über den One-Click Mod Installer installieren

Der einfachste Weg ist die Installation über den One-Click Mod Installer im INSTANTPANEL.

Gehe dazu so vor:

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Minecraft Server aus.
4. Stoppe den Server.
5. Öffne den Bereich für den One-Click Mod Installer.
6. Suche das gewünschte Modpack.
7. Wähle das Modpack aus.
8. Prüfe die angezeigte Version.
9. Starte die Installation.
10. Warte, bis die Installation vollständig abgeschlossen ist.
11. Starte den Server wieder.

Je nach Größe des Modpacks kann die Installation einige Minuten dauern.

Während der Installation solltest du den Server nicht starten, neu installieren oder Dateien löschen.

### Nach der Installation

Nach der Installation startet der Server mit dem ausgewählten Modpack.

Beim ersten Start kann der Server länger brauchen als gewohnt. Das ist normal, weil viele Modpacks zusätzliche Dateien erstellen, Konfigurationen vorbereiten und eine neue Welt generieren.

Warte deshalb nach dem Start einige Minuten und prüfe die Konsole im INSTANTPANEL.

### Passenden Client installieren

Damit du dich mit einem Modpack-Server verbinden kannst, brauchst du das gleiche Modpack auch auf deinem eigenen Minecraft Client.

Es reicht nicht, nur den Server zu installieren.

Du musst auf deinem PC denselben Modpack-Client verwenden, der zur Serverversion passt.

Das bedeutet:

* gleiche Minecraft-Version
* gleicher Modloader
* gleiche Modpack-Version
* gleiche Mods
* passende Konfigurationen, falls erforderlich

Wenn der Server zum Beispiel ein Forge-Modpack nutzt, brauchst du auf deinem PC ebenfalls die passende Forge-Version mit dem gleichen Modpack.

### CurseForge oder Modrinth Launcher verwenden

Viele Modpacks lassen sich bequem über einen Launcher installieren.

Häufig genutzt werden zum Beispiel:

* CurseForge Launcher
* Modrinth App
* Prism Launcher
* ATLauncher
* Technic Launcher, falls das Modpack dort angeboten wird

Wähle dort das gleiche Modpack und möglichst exakt die gleiche Version aus, die auch auf dem Server installiert wurde.

### Modpack-Version beachten

Die Modpack-Version ist sehr wichtig.

Wenn dein Client eine andere Version nutzt als der Server, kann die Verbindung fehlschlagen.

Typische Fehlermeldungen sind:

* `Mod list is not compatible`
* `Mismatched mod channel list`
* `Failed to synchronize registry data`
* `Incompatible FML modded server`
* `This server has mods that require Forge`
* `Connection closed`

Prüfe in diesem Fall, ob Server und Client wirklich dieselbe Modpack-Version verwenden.

### Forge, Fabric und andere Modloader

Modpacks benötigen meistens einen Modloader.

Ein Modloader ist die technische Grundlage, damit Mods überhaupt geladen werden können.

Häufige Modloader sind:

| Modloader | Verwendung                                  |
| --------- | ------------------------------------------- |
| Forge     | sehr verbreitet für große Modpacks          |
| Fabric    | häufig für moderne und performante Modpacks |
| Quilt     | ähnlich zu Fabric, je nach Modpack          |
| NeoForge  | neuerer Forge-Zweig bei manchen Modpacks    |

Der Modloader muss zur Modpack-Version passen.

Ein Forge-Modpack funktioniert nicht einfach mit Fabric. Ein Fabric-Modpack funktioniert nicht einfach mit Forge.

### Server startet nach der Installation nicht

Wenn der Server nach der Modpack-Installation nicht startet, prüfe zuerst die Konsole und die Logs im INSTANTPANEL.

Häufige Ursachen sind:

* falsche Modpack-Version
* unvollständige Installation
* Modpack benötigt mehr Arbeitsspeicher
* Modpack ist nicht für Server geeignet
* eine Mod fehlt
* eine Mod ist nur für den Client gedacht
* falsche Java-Version
* bestehende Welt ist nicht mit dem Modpack kompatibel

### Modpack benötigt mehr Arbeitsspeicher

Viele Modpacks benötigen deutlich mehr Arbeitsspeicher als ein normaler Vanilla-Server.

Kleine Modpacks können mit weniger RAM laufen. Große Technik- oder Abenteuer-Modpacks benötigen oft deutlich mehr.

Wenn dein Server beim Start abstürzt oder sehr langsam reagiert, kann zu wenig Arbeitsspeicher eine Ursache sein.

Typische Anzeichen sind:

* Server startet sehr langsam
* Server stürzt beim Start ab
* Spieler werden getrennt
* starke Lags
* `OutOfMemoryError`
* `Java heap space`

In diesem Fall solltest du prüfen, ob dein gebuchtes Paket genug Ressourcen für das Modpack hat.

### Bestehende Welt mit Modpack verwenden

Eine bestehende Vanilla-Welt kann mit einem Modpack funktionieren, muss aber nicht.

Modpacks verändern oft:

* Weltgenerierung
* Biome
* Blöcke
* Items
* Dimensionen
* Strukturen
* Rezepte

Wenn du eine alte Welt mit einem neuen Modpack nutzt, können fehlende Blöcke, beschädigte Chunks oder Fehler beim Start auftreten.

**Empfehlung:** Erstelle für ein neues Modpack am besten eine neue Welt.

### Welt nach Modpack-Installation neu generieren

Wenn du eine neue Welt für das Modpack erstellen möchtest, kannst du den alten Weltordner entfernen oder umbenennen.

Vorher solltest du ein Backup erstellen.

Danach startet der Server beim nächsten Start mit einer neuen Welt.

Der Name des Weltordners hängt von deiner Serverkonfiguration ab. Häufig heißt der Ordner `world`.

### Modpack wechseln

Wenn du ein anderes Modpack installieren möchtest, solltest du vorher prüfen, ob du die bestehende Welt behalten möchtest.

Ein Wechsel zwischen Modpacks kann problematisch sein, weil Mods, Blöcke und Items unterschiedlich sind.

Empfohlenes Vorgehen:

1. Server stoppen.
2. Backup erstellen.
3. Bestehende Welt sichern oder entfernen.
4. Neues Modpack über den One-Click Mod Installer installieren.
5. Server starten.
6. Konsole prüfen.
7. Mit passendem Client verbinden.

### Modpack deinstallieren

Ein Modpack lässt sich nicht immer sauber durch das Löschen einzelner Mods entfernen.

Wenn du zurück zu Vanilla, Paper oder einer anderen Serverart wechseln möchtest, ist meist eine Neuinstallation oder ein sauberer Wechsel der Server-Software sinnvoll.

Vorher solltest du ein Backup erstellen.

### Häufige Probleme

#### Ich kann nicht auf den Server verbinden

Prüfe:

* ist der Server gestartet?
* nutzt dein Client das gleiche Modpack?
* nutzt dein Client die gleiche Modpack-Version?
* nutzt dein Client den richtigen Modloader?
* verwendest du die richtige Minecraft-Version?
* ist die Serveradresse korrekt?

#### Fehlermeldung: Mod list is not compatible

Diese Meldung bedeutet, dass Client und Server nicht dieselben Mods oder Versionen verwenden.

Lösung:

* installiere das gleiche Modpack wie auf dem Server
* verwende die gleiche Modpack-Version
* entferne zusätzliche Mods, die nicht zum Server passen
* aktualisiere Server und Client nicht unabhängig voneinander

#### Fehlermeldung: Failed to synchronize registry data

Diese Meldung tritt häufig auf, wenn Mods, Items oder Blöcke zwischen Client und Server nicht übereinstimmen.

Lösung:

* Client-Modpack-Version prüfen
* Server-Modpack-Version prüfen
* keine einzelnen Mods manuell austauschen
* Modpack neu installieren, falls nötig

#### Server crasht direkt beim Start

Prüfe die Logs im INSTANTPANEL.

Häufige Ursachen:

* Modpack benötigt mehr RAM
* falsche Java-Version
* fehlerhafte Mod
* Client-Mod wurde auf den Server geladen
* Mod-Abhängigkeit fehlt
* Welt ist nicht kompatibel

#### Server hängt beim Start

Große Modpacks können beim ersten Start länger brauchen.

Warte einige Minuten und beobachte die Konsole.

Wenn über längere Zeit keine neuen Einträge erscheinen oder der Server automatisch stoppt, prüfe die Logs.

#### Spieler haben starke Lags

Modpacks können deutlich mehr Leistung benötigen als normale Minecraft Server.

Prüfe:

* Anzahl der Spieler
* Anzahl der geladenen Chunks
* große Maschinen oder Farmen
* viele Entities
* zu hohe View-Distance
* zu wenig RAM
* Performance-Mods oder Servereinstellungen

### Support kontaktieren

Wenn die Installation oder Verbindung nicht funktioniert, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Name des Modpacks
* Modpack-Version
* Minecraft-Version
* Modloader, zum Beispiel Forge oder Fabric
* genaue Fehlermeldung
* Screenshot oder Auszug aus der Konsole
* ob der Server über den One-Click Mod Installer installiert wurde
* ob bereits eine Welt vorhanden war
* was du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private Zugangsdaten oder Tokens an den Support.


# Minecraft Server optimieren

In diesem Artikel erklären wir dir, wie du deinen Minecraft Server optimieren kannst und welche Einstellungen besonders häufig Einfluss auf die Leistung haben.

Minecraft Server können aus verschiedenen Gründen langsam werden. Häufig liegt es nicht nur am Arbeitsspeicher, sondern an zu vielen geladenen Chunks, vielen Entities, aufwendigen Redstone-Schaltungen, ungeeigneten Plugins, Mods oder einer zu hohen Sichtweite.

### Wann ist eine Optimierung sinnvoll?

Eine Optimierung ist sinnvoll, wenn dein Server regelmäßig langsam reagiert oder Spieler Verzögerungen bemerken.

Typische Anzeichen sind:

* Blöcke bauen sich verzögert ab
* Spieler werden zurückgesetzt oder „rubberbanden“
* Mobs bewegen sich ruckartig
* Befehle reagieren verzögert
* Chunks laden langsam
* die Konsole zeigt Warnungen wie `Can't keep up!`
* der Server benötigt sehr lange zum Starten
* Spieler werden wegen Zeitüberschreitung getrennt

### Wichtige Begriffe

Bevor du Einstellungen änderst, solltest du einige Grundbegriffe kennen.

| Begriff                    | Bedeutung                                                                                                       |
| -------------------------- | --------------------------------------------------------------------------------------------------------------- |
| TPS                        | Ticks per Second. Minecraft läuft idealerweise mit 20 TPS. Sinkt der Wert, läuft der Server langsamer.          |
| MSPT                       | Milliseconds per Tick. Gibt an, wie lange ein Tick benötigt. Je niedriger, desto besser.                        |
| RAM                        | Arbeitsspeicher. Wichtig für Welt, Spieler, Plugins, Mods und Java. Mehr RAM löst aber nicht jedes Lag-Problem. |
| CPU                        | Prozessorleistung. Minecraft ist stark von guter Einzelkernleistung abhängig.                                   |
| Chunk                      | Ein Bereich der Minecraft-Welt. Viele geladene Chunks belasten den Server.                                      |
| Entity                     | Bewegliche Objekte wie Tiere, Monster, Items, Boote, Minecarts oder Villager.                                   |
| Tile Entity / Block Entity | Besondere Blöcke mit eigener Logik, zum Beispiel Hopper, Kisten, Öfen oder Maschinen aus Mods.                  |

### TPS verstehen

Minecraft arbeitet intern mit sogenannten Ticks.

Ein ideal laufender Server erreicht `20 TPS`. Das bedeutet, dass der Server 20 Verarbeitungsschritte pro Sekunde schafft.

| TPS          | Einschätzung                   |
| ------------ | ------------------------------ |
| 20 TPS       | Sehr gut                       |
| 18–19 TPS    | Meist noch unproblematisch     |
| 15–17 TPS    | Spürbare Verzögerungen möglich |
| 10–14 TPS    | Deutliche Lags                 |
| Unter 10 TPS | Starke Probleme                |

Wenn die TPS sinken, läuft nicht nur die Welt langsamer. Auch Mobs, Redstone, Pflanzenwachstum, Befehle und Spieleraktionen können verzögert reagieren.

### MSPT verstehen

MSPT bedeutet „Milliseconds per Tick“.

Ein Minecraft Server hat pro Tick ungefähr `50 ms` Zeit. Wenn ein Tick länger als 50 ms dauert, kann der Server keine stabilen 20 TPS halten.

| MSPT        | Einschätzung              |
| ----------- | ------------------------- |
| Unter 40 ms | Sehr gut                  |
| 40–50 ms    | Normal                    |
| Über 50 ms  | TPS können sinken         |
| Über 100 ms | Deutliche Lags            |
| Über 200 ms | Sehr starke Verzögerungen |

### Arbeitsspeicher richtig einschätzen

Viele Spieler denken, dass mehr RAM automatisch alle Lags behebt. Das stimmt nicht.

RAM ist wichtig, aber Minecraft laggt oft wegen CPU-Last, vielen Chunks, Entities, Plugins, Mods oder schlecht optimierten Einstellungen.

Mehr RAM hilft vor allem bei:

* vielen Plugins
* großen Modpacks
* vielen geladenen Welten
* vielen Spielern
* großen Welten
* häufigem Nachladen von Daten

Mehr RAM hilft meistens nicht bei:

* schlecht optimierten Plugins
* zu hoher View-Distance
* zu vielen Entities
* großen Redstone-Maschinen
* zu vielen Hoppern
* fehlerhaften Mods
* langsamen Datenbankverbindungen

**Wichtig:** Weise einem Server nicht unnötig viel RAM zu. Zu viel RAM kann bei Java sogar längere Garbage-Collection-Pausen verursachen.

### View-Distance reduzieren

Die `view-distance` legt fest, wie weit Spieler die Welt sehen können.

Je höher dieser Wert ist, desto mehr Chunks müssen geladen und verarbeitet werden. Das belastet CPU, RAM und Speicher.

Empfohlene Werte:

| Servergröße         | Empfehlung  |
| ------------------- | ----------- |
| Kleiner Server      | `6` bis `8` |
| Mittelgroßer Server | `5` bis `7` |
| Viele Spieler       | `4` bis `6` |
| Modpack-Server      | `4` bis `6` |

Du findest die Einstellung in der Datei `server.properties`.

Beispiel: `view-distance=6`

Nach einer Änderung muss der Server neu gestartet werden.

### Simulation-Distance reduzieren

Die `simulation-distance` legt fest, in welchem Bereich um Spieler herum die Welt aktiv berechnet wird.

Das betrifft zum Beispiel:

* Mobs
* Redstone
* Pflanzenwachstum
* Flüssigkeiten
* Farmen
* Villager
* Maschinen

Eine niedrige Simulation-Distance kann sehr viel Leistung sparen.

Empfohlene Werte:

| Servertyp       | Empfehlung  |
| --------------- | ----------- |
| Vanilla / Paper | `4` bis `6` |
| Viele Spieler   | `3` bis `5` |
| Modpacks        | `3` bis `5` |

Beispiel: `simulation-distance=4`

### Paper statt Vanilla verwenden

Für öffentliche oder größere Minecraft Java Server ist Paper meistens besser geeignet als Vanilla.

Paper ist eine optimierte Serversoftware, die viele Verbesserungen für Performance, Konfiguration und Plugin-Unterstützung mitbringt.

Vorteile von Paper:

* bessere Performance als Vanilla
* Unterstützung für Bukkit-/Spigot-Plugins
* viele zusätzliche Einstellungen
* bessere Kontrolle über Entities, Chunks und Mob-Verhalten
* nützliche Diagnosefunktionen

**Hinweis:** Paper kann das Verhalten einzelner Spielmechaniken leicht verändern. Für komplett unverändertes Vanilla-Verhalten ist Vanilla die passendere Wahl. Für die meisten Server ist Paper aber die bessere Grundlage.

### Plugins prüfen

Plugins können die Leistung stark beeinflussen.

Ein schlecht optimiertes Plugin kann mehr Probleme verursachen als viele kleine Plugins zusammen.

Prüfe besonders Plugins, die:

* viele Events überwachen
* regelmäßig Daten speichern
* viele Datenbankabfragen ausführen
* Scoreboards aktualisieren
* Welten schützen oder verändern
* große Menüs oder Shops verwalten
* Anti-Cheat-Funktionen ausführen
* viele Hologramme oder NPCs erzeugen

### Nicht benötigte Plugins entfernen

Installiere nur Plugins, die du wirklich nutzt.

Jedes Plugin kann:

* Startzeit erhöhen
* Speicher verbrauchen
* Fehler verursachen
* Updates erschweren
* Konflikte mit anderen Plugins auslösen

Wenn du ein Plugin testweise entfernst, stoppe den Server vorher und erstelle ein Backup.

### Plugins aktuell halten

Veraltete Plugins können Fehler verursachen oder unnötig viel Leistung verbrauchen.

Achte darauf, dass Plugins zur Server-Version passen.

Prüfe bei jedem Plugin:

* unterstützt es deine Minecraft-Version?
* ist es noch gepflegt?
* gibt es bekannte Fehler?
* benötigt es weitere Plugins?
* gibt es eine modernere Alternative?

### Mods und Modpacks optimieren

Modpacks benötigen oft deutlich mehr Leistung als normale Minecraft Server.

Besonders anspruchsvoll sind Mods mit:

* Maschinen
* Energie-Systemen
* automatisierten Farmen
* vielen neuen Mobs
* Dimensionen
* komplexer Weltgenerierung
* großen Strukturen
* vielen Block Entities

Bei Modpacks solltest du besonders auf RAM, CPU-Auslastung, Startlogs und Mod-Konflikte achten.

### Client-Mods und Server-Mods unterscheiden

Nicht jede Mod gehört auf den Server.

Es gibt:

| Mod-Art                    | Gehört auf den Server? |
| -------------------------- | ---------------------- |
| Server-Mod                 | Ja                     |
| Client-Mod                 | Nein                   |
| Performance-Mod für Server | Ja                     |
| Grafik-Mod                 | Nein                   |
| Minimap                    | Meist nein             |
| Shader                     | Nein                   |

Wenn du Client-Mods auf den Server hochlädst, kann der Server beim Starten abstürzen.

### Performance-Mods verwenden

Bei Forge- oder Fabric-Servern können Performance-Mods helfen.

Achte aber darauf, dass jede Mod zur Minecraft-Version und zum Modloader passt.

Typische Performance-Bereiche sind:

* Chunk-Optimierung
* Entity-Optimierung
* Speicherverwaltung
* Netzwerkoptimierung
* schnellere Weltgenerierung

Installiere nicht blind viele Performance-Mods gleichzeitig. Manche Mods überschneiden sich oder sind nicht miteinander kompatibel.

### Entities reduzieren

Entities sind eine häufige Ursache für Lags.

Dazu gehören:

* Monster
* Tiere
* Villager
* Items auf dem Boden
* Pfeile
* Boote
* Minecarts
* Rüstungsständer

Besonders problematisch sind oft:

* große Tierfarmen
* Villager-Hallen
* Item-Sortieranlagen
* viele fallengelassene Items
* Mobfarmen
* ungenutzte Minecarts
* viele Armor Stands

### Items auf dem Boden vermeiden

Viele Items auf dem Boden können den Server stark belasten.

Typische Ursachen:

* Farmen ohne Sammelsystem
* Spieler werfen große Mengen Items weg
* Mobfarmen produzieren zu viele Drops
* automatische Anlagen laufen dauerhaft

Lösungen:

* Farmen abschalten, wenn sie nicht genutzt werden
* Sammelsysteme verbessern
* automatische Item-Löschung konfigurieren
* Hopper-Anzahl reduzieren
* Drops begrenzen

### Villager optimieren

Villager können sehr leistungsintensiv sein.

Sie verursachen Last durch:

* Wegfindung
* Berufe
* Handel
* Tagesabläufe
* Betten
* Arbeitsblöcke
* Türen
* Kollisionen

Große Trading-Halls können deshalb starke Lags verursachen.

Empfehlungen:

* nicht zu viele Villager an einem Ort
* Villager sicher fixieren
* unnötige Bewegungsfreiheit vermeiden
* große Hallen aufteilen
* keine ungenutzten Villager behalten

### Redstone optimieren

Redstone kann je nach Bauweise sehr viel Last verursachen.

Problematisch sind besonders:

* dauerhaft laufende Clocks
* schnelle Taktgeber
* große Sortiersysteme
* viele Observer
* viele Pistons
* große automatische Farmen
* Anlagen in dauerhaft geladenen Chunks

Empfehlungen:

* Redstone-Clocks abschaltbar bauen
* Farmen nur bei Bedarf aktivieren
* unnötige Observer vermeiden
* große Anlagen aufteilen
* Chunkloader vorsichtig verwenden

### Hopper reduzieren

Hopper sind auf vielen Servern eine häufige Lag-Ursache.

Viele Hopper prüfen regelmäßig, ob Items aufgenommen, weitergegeben oder verteilt werden müssen.

Empfehlungen:

* Hopper nur dort verwenden, wo sie nötig sind
* Hopper mit Komposter oder Container abdecken, wenn sinnvoll
* lange Hopper-Ketten vermeiden
* Wasserstreams statt Hopper-Ketten verwenden
* Sortieranlagen optimieren

### Chunks vorab generieren

Wenn Spieler neue Gebiete erkunden, muss der Server neue Chunks generieren.

Das kann starke Lags verursachen, besonders bei:

* vielen Spielern
* neuen Welten
* Modpacks
* komplexer Weltgenerierung
* großen Biomen oder Strukturen

Eine Lösung ist Chunk-Pregeneration.

Dabei werden Chunks vorab erstellt, bevor Spieler sie betreten.

Für Paper-Server wird häufig das Plugin `Chunky` verwendet.

### Weltgröße begrenzen

Eine unbegrenzt wachsende Welt kann langfristig Speicherplatz und Leistung belasten.

Besonders bei öffentlichen Servern ist eine Weltgrenze sinnvoll.

Vorteile:

* weniger Speicherverbrauch
* kontrollierbare Weltgröße
* einfachere Backups
* bessere Planbarkeit
* weniger unkontrollierte Chunkgenerierung

Du kannst dafür je nach Servertyp Vanilla-Worldborder oder Plugins verwenden.

### Backups planen

Optimierung bedeutet nicht nur bessere Leistung. Auch Datensicherheit gehört dazu.

Erstelle Backups besonders vor:

* Server-Updates
* Versionswechseln
* Plugin-Installationen
* Mod-Installationen
* Konfigurationsänderungen
* Weltänderungen
* Neuinstallationen

Bewahre nicht nur ein einziges Backup auf. Wenn ein Fehler erst später auffällt, kann ein älteres Backup hilfreich sein.

### Logs regelmäßig prüfen

Die Serverlogs zeigen viele Probleme frühzeitig.

Achte auf Meldungen wie:

* `Can't keep up!`
* `OutOfMemoryError`
* `Exception`
* `Could not pass event`
* `Plugin took too long`
* `Skipping Entity`
* `Server thread/WARN`
* `Server thread/ERROR`

Nicht jede Warnung ist kritisch. Häufig wiederkehrende Fehler solltest du aber prüfen.

### Timings verwenden

Bei Paper-Servern kannst du Timings nutzen, um Performance-Probleme zu analysieren.

Timings zeigen, welche Prozesse, Plugins oder Aufgaben viel Zeit benötigen.

Typischer Ablauf:

1. Timings aktivieren.
2. Server einige Zeit normal laufen lassen.
3. Lags oder typische Spielsituationen auftreten lassen.
4. Timings-Report erstellen.
5. Report auswerten.

Typische Befehle:

* `/timings on`
* `/timings paste`
* `/timings off`

**Wichtig:** Timings sollten nicht dauerhaft ohne Grund laufen. Nutze sie zur Analyse und deaktiviere sie danach wieder.

### Spark verwenden

Spark ist ein Analyse-Tool für Minecraft Server.

Es kann helfen, genaue Ursachen für Lags zu finden.

Spark kann unter anderem prüfen:

* CPU-Auslastung
* Tickzeiten
* Speicherverbrauch
* aktive Threads
* Plugin-Last
* Garbage Collection
* genaue Performance-Spitzen

Typischer Befehl für eine Analyse: `/spark profiler`

Spark ist besonders hilfreich, wenn normale Logs nicht ausreichen.

### Automatische Neustarts einrichten

Ein regelmäßiger Neustart kann helfen, kleinere Speicherprobleme oder festhängende Prozesse zu vermeiden.

Ein Neustart ersetzt aber keine echte Optimierung.

Empfehlung:

* täglicher Neustart bei aktiven Servern
* Neustart zu einer Uhrzeit mit wenigen Spielern
* vorherige Warnung an Spieler senden
* Backup-Zeitpunkt beachten

Beispiel:

Ein Server kann nachts automatisch neu starten, wenn wenige Spieler online sind.

### Spielerzahl realistisch festlegen

Die maximale Spielerzahl sollte zur Serverleistung und zum Servertyp passen.

Mehr Slots bedeuten nicht automatisch, dass der Server stabil mit so vielen Spielern läuft.

Die tatsächliche Leistung hängt ab von:

* Minecraft-Version
* Server-Software
* Plugins
* Mods
* Weltgröße
* View-Distance
* Simulation-Distance
* Spieleraktivität
* Farmen und Redstone
* Anzahl geladener Chunks

Ein kleiner Vanilla-Server mit wenigen Plugins kann mehr Spieler schaffen als ein schweres Modpack mit vielen Maschinen.

### Scoreboards, Hologramme und NPCs prüfen

Viele Server nutzen kosmetische oder Verwaltungsfunktionen wie:

* Scoreboards
* Tablisten
* Hologramme
* NPCs
* Menüs
* Shops
* Rangsysteme

Diese Funktionen können Leistung kosten, wenn sie sehr häufig aktualisiert werden.

Achte besonders auf:

* zu kurze Update-Intervalle
* viele Hologramme
* viele NPCs
* komplexe Platzhalter
* Datenbankabfragen bei jedem Update

### Datenbanken prüfen

Manche Plugins nutzen externe oder interne Datenbanken.

Probleme entstehen, wenn:

* die Datenbank langsam antwortet
* Zugangsdaten falsch sind
* Verbindungen abbrechen
* zu viele Abfragen gleichzeitig laufen
* Tabellen sehr groß geworden sind
* Plugins synchron auf Datenbankantworten warten

Wenn ein Plugin regelmäßig Datenbankfehler in der Konsole ausgibt, solltest du das Plugin oder die Datenbankverbindung prüfen.

### Empfohlene Grundeinstellungen

Für viele Minecraft Java Server sind diese Werte ein guter Startpunkt:

| Einstellung          | Empfehlung                                   |
| -------------------- | -------------------------------------------- |
| Server-Software      | Paper                                        |
| view-distance        | `6`                                          |
| simulation-distance  | `4`                                          |
| max-players          | realistisch nach Serverleistung              |
| online-mode          | `true`, sofern kein Proxy-Setup genutzt wird |
| enable-command-block | nur aktivieren, wenn benötigt                |
| spawn-protection     | nach Bedarf                                  |
| allow-flight         | nur aktivieren, wenn nötig                   |
| max-tick-time        | nicht ohne Grund ändern                      |

Diese Werte sind keine Pflichtwerte. Sie sind ein sinnvoller Ausgangspunkt und müssen je nach Server angepasst werden.

### Optimierung bei kleinen Servern

Für kleine private Server reichen oft wenige Maßnahmen aus:

* Paper statt Vanilla nutzen
* View-Distance auf `6` bis `8` setzen
* Simulation-Distance auf `4` bis `6` setzen
* unnötige Plugins entfernen
* automatische Farmen begrenzen
* regelmäßige Backups erstellen

### Optimierung bei öffentlichen Servern

Öffentliche Server benötigen mehr Planung.

Achte besonders auf:

* klare Weltgrenzen
* regelmäßige Backups
* kontrollierte Farmen
* Rechteverwaltung
* Plugin-Auswahl
* Performance-Analyse
* Schutz vor Griefing
* regelmäßige Neustarts
* klare Regeln für Redstone und Farmen

### Optimierung bei Modpacks

Modpacks sind oft deutlich anspruchsvoller.

Empfehlungen:

* ausreichend RAM einplanen
* keine unnötigen Mods hinzufügen
* Client-Mods nicht auf den Server laden
* Dimensionen und Maschinen beobachten
* große automatische Anlagen begrenzen
* Logs regelmäßig prüfen
* Chunkloader kontrollieren
* Performance-Mods vorsichtig testen

### Was du nicht tun solltest

Vermeide diese typischen Fehler:

* wahllos sehr viel RAM zuweisen
* viele Plugins ohne Prüfung installieren
* mehrere Performance-Plugins blind kombinieren
* View-Distance zu hoch setzen
* Simulation-Distance zu hoch setzen
* große Redstone-Clocks dauerhaft laufen lassen
* keine Backups vor Änderungen erstellen
* Fehlermeldungen in der Konsole ignorieren
* Server während Dateiänderungen laufen lassen
* Plugins oder Mods aus unsicheren Quellen installieren

### Schritt-für-Schritt: Erste Optimierung

Wenn dein Server laggt, gehe so vor:

1. Server im INSTANTPANEL prüfen.
2. Konsole und Logs auf Fehler prüfen.
3. View-Distance reduzieren.
4. Simulation-Distance reduzieren.
5. Nicht benötigte Plugins oder Mods entfernen.
6. Entities und Farmen prüfen.
7. Server neu starten.
8. Bei Paper einen Timings-Report erstellen.
9. Bei komplexen Problemen Spark verwenden.
10. Änderungen einzeln testen.

Ändere nicht zu viele Dinge gleichzeitig. Sonst ist später schwer erkennbar, welche Änderung geholfen oder ein neues Problem verursacht hat.

### Häufige Probleme

#### Der Server zeigt `Can't keep up!`

Diese Meldung bedeutet, dass der Server mit der Verarbeitung nicht hinterherkommt.

Mögliche Ursachen:

* zu hohe View-Distance
* zu hohe Simulation-Distance
* zu viele Entities
* viele Redstone-Anlagen
* schlecht optimierte Plugins
* Modpack zu anspruchsvoll
* neue Chunks werden generiert

#### Der Server hat genug RAM, laggt aber trotzdem

Dann liegt das Problem wahrscheinlich nicht am Arbeitsspeicher.

Prüfe:

* CPU-Last
* TPS
* MSPT
* Plugins
* Mods
* Entities
* Chunks
* Redstone
* Logs

#### Spieler laggen nur in bestimmten Bereichen

Dann liegt das Problem oft an einem bestimmten Ort in der Welt.

Mögliche Ursachen:

* große Farm
* viele Villager
* viele Items auf dem Boden
* Redstone-Anlage
* viele Hopper
* große Maschinen aus Mods
* beschädigter Chunk

#### Der Server startet langsam

Mögliche Ursachen:

* viele Plugins
* großes Modpack
* große Welt
* langsame Plugin-Datenbank
* viele Fehler beim Start
* umfangreiche Konfigurationen
* beschädigte Dateien

#### Der Server crasht nach einer Optimierung

Dann wurde möglicherweise eine Einstellung, ein Plugin oder eine Mod falsch geändert.

Gehe so vor:

1. Letzte Änderung rückgängig machen.
2. Logs prüfen.
3. Plugin oder Mod testweise entfernen.
4. Backup wiederherstellen, falls nötig.
5. Server erneut starten.

### Support kontaktieren

Wenn du das Problem nicht selbst findest, kontaktiere den Support.

Gib dabei bitte möglichst genaue Informationen an:

* Minecraft-Version
* Server-Software, zum Beispiel Vanilla, Paper, Forge oder Fabric
* Anzahl der Plugins oder Mods
* Anzahl der Spieler, bei denen Probleme auftreten
* genaue Fehlermeldungen aus der Konsole
* Zeitpunkt, seit wann die Lags auftreten
* ob vorher etwas geändert wurde
* ob der Server dauerhaft laggt oder nur an bestimmten Orten
* vorhandener Timings- oder Spark-Report, falls vorhanden

**Sicherheit:** Sende keine Passwörter, Tokens oder privaten Zugangsdaten an den Support.


# Server startet nicht

In diesem Artikel erklären wir dir, was du tun kannst, wenn dein Minecraft Server im INSTANTPANEL nicht startet oder kurz nach dem Start wieder stoppt.

Ein Minecraft Server kann aus verschiedenen Gründen nicht starten. Häufig liegt es an einer falschen Version, beschädigten Dateien, fehlerhaften Plugins, Mods, Modpacks oder einer ungültigen Konfiguration.

### Erste Prüfung im INSTANTPANEL

Prüfe zuerst den aktuellen Status deines Servers.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Prüfe, ob der Server als **Offline**, **Starting**, **Stopping** oder **Crashed** angezeigt wird.
4. Öffne die **Konsole**.
5. Starte den Server erneut.
6. Beobachte die Meldungen in der Konsole.

Die Konsole zeigt meistens direkt an, warum der Server nicht startet.

**Hinweis:** Starte den Server nicht dauerhaft mehrfach hintereinander neu. Wenn der Server immer wieder abstürzt, sollte zuerst die Ursache geprüft werden.

### Häufige Ursachen

Ein Minecraft Server startet meistens aus einem dieser Gründe nicht:

* falsche Minecraft-Version
* falsche Java-Version
* fehlerhafte `server.properties`
* beschädigte Welt
* fehlerhaftes Plugin
* fehlerhafte Mod
* fehlende Mod-Abhängigkeit
* falsche Modloader-Version
* unvollständig hochgeladenes Modpack
* zu wenig Arbeitsspeicher
* beschädigte Serverdateien
* Port oder Startprozess blockiert
* EULA wurde nicht akzeptiert

### Konsole prüfen

Die wichtigste Fehlerquelle ist die Konsole.

Wenn der Server nicht startet, steht dort häufig eine Fehlermeldung. Suche besonders nach Begriffen wie:

* `Error`
* `Exception`
* `Caused by`
* `Failed`
* `Crash`
* `OutOfMemory`
* `UnsupportedClassVersionError`
* `Missing Mods`
* `Mod loading error`
* `Could not load plugin`
* `Invalid or corrupt jarfile`

Diese Meldungen helfen dabei, den Auslöser zu finden.

### Logs prüfen

Neben der Konsole sind die Logdateien wichtig.

Du findest sie je nach Server-Software meistens im Ordner `logs`.

Wichtige Dateien sind häufig:

| Datei                  | Bedeutung                            |
| ---------------------- | ------------------------------------ |
| `latest.log`           | aktuelles Serverlog                  |
| `debug.log`            | ausführlicheres Log, falls vorhanden |
| `crash-reports`        | Ordner mit Crash-Berichten           |
| `crash-YYYY-MM-DD.txt` | einzelner Crash-Bericht              |

Wenn der Server direkt abstürzt, ist oft der neueste Crash-Report besonders hilfreich.

### EULA wurde nicht akzeptiert

Minecraft Server benötigen die Zustimmung zur Minecraft EULA.

Wenn die EULA nicht akzeptiert wurde, startet der Server nicht vollständig.

Typische Meldung:

`You need to agree to the EULA in order to run the server`

Prüfe die Datei `eula.txt`.

Dort muss stehen:

`eula=true`

Wenn dort `eula=false` steht, ändere den Wert auf `true` und speichere die Datei.

**Wichtig:** Mit dem Setzen von `eula=true` bestätigst du, dass du die Minecraft EULA akzeptierst.

### Falsche Minecraft-Version

Wenn du Dateien, Plugins, Mods oder eine Welt für eine andere Minecraft-Version nutzt, kann der Server beim Start abstürzen.

Beispiele:

* Server läuft auf `1.20.1`, Plugin ist nur für `1.21` geeignet
* Modpack benötigt `1.19.2`, Server läuft aber auf `1.20.4`
* Welt wurde mit einer neueren Version erstellt und soll mit einer älteren Version gestartet werden

Prüfe deshalb:

* Welche Minecraft-Version nutzt dein Server?
* Welche Version benötigen deine Plugins oder Mods?
* Wurde die Welt mit einer neueren Minecraft-Version geöffnet?
* Passt die Server-Software zur gewünschten Version?

### Falsche Java-Version

Minecraft benötigt je nach Version eine passende Java-Version.

Wenn die Java-Version nicht passt, kann der Server direkt beim Start abbrechen.

Typische Meldungen sind:

* `UnsupportedClassVersionError`
* `This Java Runtime only recognizes class file versions`
* `A JNI error has occurred`
* `Unsupported Java detected`

Beispiele:

| Minecraft-Version | Häufig benötigte Java-Version |
| ----------------- | ----------------------------- |
| 1.16.5 und älter  | Java 8                        |
| 1.17              | Java 16                       |
| 1.18 bis 1.20.4   | Java 17                       |
| 1.20.5 und neuer  | Java 21                       |

**Hinweis:** Die benötigte Java-Version kann je nach Server-Software oder Modpack abweichen. Prüfe bei Modpacks immer die Angaben des Modpack-Erstellers.

### Fehlerhafte server.properties

Die Datei `server.properties` enthält wichtige Einstellungen deines Minecraft Servers.

Wenn dort ungültige Werte eingetragen sind, kann der Server nicht korrekt starten.

Typische problematische Einstellungen sind:

| Einstellung           | Möglicher Fehler                                   |
| --------------------- | -------------------------------------------------- |
| `server-port`         | falscher oder bereits belegter Port                |
| `level-name`          | Weltordner existiert nicht oder ist falsch benannt |
| `motd`                | ungültige Sonderzeichen                            |
| `resource-pack`       | ungültiger Link                                    |
| `max-players`         | ungültiger Wert                                    |
| `view-distance`       | zu hoher Wert                                      |
| `simulation-distance` | zu hoher Wert                                      |

Wenn du die Datei kürzlich geändert hast, mache die Änderung rückgängig und starte den Server erneut.

### Plugins prüfen

Wenn du Paper, Spigot oder Bukkit verwendest, können Plugins den Start verhindern.

Häufige Ursachen:

* Plugin ist nicht mit der Minecraft-Version kompatibel
* Plugin-Datei ist beschädigt
* Plugin-Abhängigkeit fehlt
* zwei Plugins verursachen Konflikte
* Plugin-Konfiguration ist fehlerhaft
* Plugin wurde für eine andere Server-Software entwickelt

#### Test ohne Plugins

Um zu prüfen, ob ein Plugin verantwortlich ist:

1. Stoppe den Server.
2. Öffne den Dateimanager oder SFTP-Zugang.
3. Benenne den Ordner `plugins` in `plugins_old` um.
4. Starte den Server erneut.

Wenn der Server danach startet, liegt das Problem sehr wahrscheinlich an einem Plugin.

Danach kannst du die Plugins einzeln wieder einfügen und den Server jeweils starten, bis der Fehler erneut auftritt.

**Wichtig:** Lösche den Plugin-Ordner nicht direkt. Benenne ihn zuerst nur um, damit du deine Daten wiederherstellen kannst.

### Mods prüfen

Wenn du Forge oder Fabric verwendest, können Mods den Start verhindern.

Häufige Ursachen:

* Mod passt nicht zur Minecraft-Version
* Mod passt nicht zum Modloader
* Forge-Mod wurde auf Fabric installiert
* Fabric-Mod wurde auf Forge installiert
* erforderliche Abhängigkeit fehlt
* Client- und Server-Mods wurden verwechselt
* Mod ist nur für den Client gedacht
* Mod-Datei wurde beschädigt oder nicht vollständig hochgeladen

#### Test ohne Mods

Um zu prüfen, ob eine Mod verantwortlich ist:

1. Stoppe den Server.
2. Öffne den Dateimanager oder SFTP-Zugang.
3. Benenne den Ordner `mods` in `mods_old` um.
4. Starte den Server erneut.

Wenn der Server danach startet, verursacht wahrscheinlich eine Mod das Problem.

Füge die Mods danach einzeln oder in kleinen Gruppen wieder ein und starte den Server jeweils neu.

### Modpack startet nicht

Bei Modpacks entstehen Startprobleme besonders häufig durch unvollständige oder falsche Serverdateien.

Prüfe:

* Hast du die Serverfiles des Modpacks verwendet?
* Passt die Minecraft-Version?
* Passt Forge oder Fabric zur Modpack-Version?
* Wurden alle Mods vollständig hochgeladen?
* Gibt es einen Ordner `mods`?
* Gibt es Konfigurationsdateien im Ordner `config`?
* Wurde das Modpack für Server freigegeben?
* Sind nur Client-Mods enthalten, die auf einem Server nicht laufen?

**Hinweis:** Viele Modpacks benötigen eigene Serverfiles. Der normale Client-Download eines Modpacks reicht oft nicht aus, um einen Server zu betreiben.

### Zu wenig Arbeitsspeicher

Wenn ein Server zu wenig Arbeitsspeicher hat, kann er beim Start abbrechen oder direkt nach dem Start abstürzen.

Typische Meldungen:

* `OutOfMemoryError`
* `Java heap space`
* `GC overhead limit exceeded`
* `Killed`
* `Cannot allocate memory`

Besonders Modpacks benötigen oft deutlich mehr RAM als ein normaler Vanilla-Server.

Mögliche Lösungen:

* unnötige Mods entfernen
* kleinere Modpack-Version verwenden
* View-Distance reduzieren
* Simulation-Distance reduzieren
* Welt optimieren
* Serverpaket mit mehr Arbeitsspeicher verwenden

### Beschädigte Welt

Eine beschädigte Welt kann verhindern, dass der Server startet.

Das passiert zum Beispiel nach:

* Absturz während des Speicherns
* fehlerhaftem Upload
* falscher Minecraft-Version
* beschädigten Region-Dateien
* defekten Mod-Daten
* abgebrochenem Backup-Restore

#### Test mit neuer Welt

Um zu prüfen, ob die Welt das Problem ist:

1. Stoppe den Server.
2. Öffne die Datei `server.properties`.
3. Suche den Wert `level-name`.
4. Ändere ihn zum Beispiel auf `world_test`.
5. Speichere die Datei.
6. Starte den Server erneut.

Wenn der Server mit einer neuen Welt startet, liegt das Problem wahrscheinlich an der bisherigen Welt.

**Wichtig:** Lösche deine alte Welt nicht, bevor du ein Backup erstellt hast.

### Beschädigte Serverdateien

Wenn Serverdateien fehlen oder beschädigt sind, kann der Start fehlschlagen.

Das kann passieren durch:

* abgebrochene Installation
* unvollständigen Upload
* falsche Server-JAR
* beschädigte Dateien nach einem Crash
* manuelle Änderungen an wichtigen Dateien

Mögliche Lösung:

* Server neu installieren
* vorher Backup erstellen
* nur wichtige Daten wie Welt, Plugins und Configs wieder einspielen
* Server danach erneut starten

### Server hängt bei Starting

Wenn der Server dauerhaft bei **Starting** bleibt, startet der Prozess nicht vollständig.

Mögliche Ursachen:

* Server braucht ungewöhnlich lange
* Modpack lädt sehr langsam
* Startprozess hängt an einem Fehler
* Konsole wartet auf eine Eingabe
* Weltgenerierung dauert lange
* Server ist überlastet

Prüfe in der Konsole, ob weiterhin neue Meldungen erscheinen.

Wenn keine neuen Meldungen erscheinen und der Server lange nicht erreichbar ist, stoppe den Server und prüfe die Logs.

### Server stoppt direkt nach dem Start

Wenn der Server kurz startet und danach sofort wieder offline geht, liegt meistens ein Startfehler vor.

Prüfe:

* Konsole
* `latest.log`
* Crash-Reports
* zuletzt geänderte Dateien
* neu installierte Plugins oder Mods
* geänderte Konfigurationen
* verfügbare Ressourcen

### Änderungen rückgängig machen

Wenn der Server nach einer Änderung nicht mehr startet, mache diese Änderung zuerst rückgängig.

Typische Änderungen sind:

* neues Plugin installiert
* neue Mod installiert
* Modpack aktualisiert
* Minecraft-Version geändert
* Welt hochgeladen
* `server.properties` bearbeitet
* Resource Pack eingetragen
* Backup wiederhergestellt

Wenn du nicht sicher bist, was geändert wurde, prüfe die zuletzt bearbeiteten Dateien.

### Backup wiederherstellen

Wenn der Server vorher funktioniert hat, ist ein Backup oft die schnellste Lösung.

Stelle ein Backup wieder her, wenn:

* die Welt beschädigt ist
* viele Dateien verändert wurden
* ein Modpack-Update fehlgeschlagen ist
* Plugins falsch konfiguriert wurden
* du nicht mehr weißt, welche Änderung den Fehler verursacht hat

**Wichtig:** Prüfe vor dem Wiederherstellen, ob das Backup den gewünschten Stand enthält. Eine Wiederherstellung kann neuere Daten überschreiben.

### Vorgehensweise zur Fehlersuche

Gehe am besten in dieser Reihenfolge vor:

1. Server einmal starten und Konsole beobachten.
2. Fehlermeldung notieren.
3. `latest.log` prüfen.
4. Crash-Report prüfen, falls vorhanden.
5. Letzte Änderungen rückgängig machen.
6. Plugins oder Mods testweise deaktivieren.
7. Mit neuer Welt testen.
8. Java- und Minecraft-Version prüfen.
9. Backup wiederherstellen, wenn nötig.
10. Support kontaktieren, wenn der Fehler unklar bleibt.

### Support kontaktieren

Wenn du den Fehler nicht selbst findest, kontaktiere den Support.

Gib bitte möglichst genaue Informationen an:

* Name des Servers
* Minecraft-Version
* Server-Software, zum Beispiel Vanilla, Paper, Spigot, Forge oder Fabric
* ob Plugins, Mods oder ein Modpack verwendet werden
* was zuletzt geändert wurde
* genaue Fehlermeldung aus der Konsole
* Inhalt oder Auszug aus `latest.log`
* Crash-Report, falls vorhanden
* ob der Server vorher funktioniert hat

**Sicherheit:** Sende keine Passwörter, Tokens oder privaten Zugangsdaten an den Support.


# Spieler können nicht verbinden

In diesem Artikel erklären wir dir, warum Spieler deinem Minecraft Server möglicherweise nicht beitreten können und wie du die häufigsten Ursachen prüfst.

Verbindungsprobleme entstehen meistens durch eine falsche Serveradresse, einen falschen Port, eine unpassende Minecraft-Version, eine aktive Whitelist oder einen Server, der noch nicht vollständig gestartet ist.

### Erste Prüfung

Prüfe zuerst die grundlegenden Punkte:

* Ist der Server im INSTANTPANEL gestartet?
* Wird der Server im INSTANTPANEL als online angezeigt?
* Verwenden die Spieler die richtige Serveradresse?
* Ist der Port korrekt?
* Nutzen die Spieler die passende Minecraft-Version?
* Handelt es sich um Java Edition oder Bedrock Edition?
* Ist die Whitelist aktiviert?
* Gibt es Fehlermeldungen in der Konsole?

Viele Verbindungsprobleme lassen sich bereits durch diese Punkte eingrenzen.

### Serverstatus im INSTANTPANEL prüfen

Öffne zuerst deinen Minecraft Server im INSTANTPANEL.

Prüfe dort:

* ob der Server gestartet ist
* ob der Server vollständig hochgefahren ist
* ob die Konsole Fehlermeldungen anzeigt
* ob der Server direkt nach dem Start wieder abstürzt
* ob ausreichend Speicher verfügbar ist

Ein Server kann im Panel kurz als gestartet erscheinen, obwohl Minecraft selbst noch lädt. Warte nach einem Neustart einige Minuten und versuche die Verbindung erneut.

### Serveradresse und Port prüfen

Die Serveradresse muss exakt so eingetragen werden, wie sie im INSTANTPANEL angezeigt wird.

Beispiel: `123.123.123.123:25565`

Der Teil vor dem Doppelpunkt ist die IP-Adresse. Der Teil nach dem Doppelpunkt ist der Port.

| Bestandteil       | Bedeutung                  |
| ----------------- | -------------------------- |
| `123.123.123.123` | IP-Adresse des Servers     |
| `25565`           | Port des Minecraft Servers |

Bei Minecraft Java wird der Port direkt hinter die IP-Adresse geschrieben.

Beispiel: `123.123.123.123:25570`

Bei Minecraft Bedrock wird der Port meistens in einem eigenen Feld eingetragen.

| Feld          | Beispiel          |
| ------------- | ----------------- |
| Serveradresse | `123.123.123.123` |
| Port          | `19132`           |

### Java Edition und Bedrock Edition prüfen

Minecraft Java Edition und Minecraft Bedrock Edition sind technisch unterschiedlich.

Ein Java-Server kann nicht automatisch von Bedrock-Spielern betreten werden. Ein Bedrock-Server kann nicht automatisch von Java-Spielern betreten werden.

Wenn Java- und Bedrock-Spieler gemeinsam spielen sollen, wird zusätzliche Software benötigt, zum Beispiel GeyserMC. Ohne eine solche Einrichtung müssen alle Spieler die gleiche Edition verwenden.

### Minecraft-Version prüfen

Die Minecraft-Version des Spielers muss zur Server-Version passen.

Wenn dein Server zum Beispiel auf `1.20.4` läuft, sollten Spieler auch mit `1.20.4` verbinden.

Typische Fehlermeldungen bei falscher Version sind:

* `Outdated server`
* `Outdated client`
* `Incompatible version`
* `Server is still on ...`
* `Client is outdated`

#### Outdated server

Diese Meldung bedeutet meistens, dass der Spieler mit einer neueren Minecraft-Version verbindet als der Server verwendet.

Lösung:

* Spieler startet Minecraft mit der passenden älteren Version.
* Oder du stellst den Server auf eine neuere Version um.

#### Outdated client

Diese Meldung bedeutet meistens, dass der Spieler mit einer älteren Minecraft-Version verbindet als der Server verwendet.

Lösung:

* Spieler startet Minecraft mit einer neueren Version.
* Oder du stellst den Server auf eine ältere Version um.

### Whitelist prüfen

Wenn die Whitelist aktiv ist, können nur eingetragene Spieler beitreten.

Typische Fehlermeldung: `You are not whitelisted on this server`

Prüfe im INSTANTPANEL oder in der Konsole, ob die Whitelist aktiv ist.

Spieler zur Whitelist hinzufügen:

`whitelist add Spielername`

Whitelist neu laden:

`whitelist reload`

Whitelist deaktivieren:

`whitelist off`

**Wichtig:** Der Spielername muss korrekt geschrieben sein. Achte auf Groß- und Kleinschreibung sowie Sonderzeichen.

### OP-Rechte sind nicht erforderlich

Spieler brauchen keine OP-Rechte, um dem Server beizutreten.

OP-Rechte werden nur für administrative Befehle benötigt. Wenn ein Spieler nicht verbinden kann, liegt es normalerweise nicht daran, dass er kein OP ist.

### Server ist noch im Startvorgang

Nach einem Neustart kann es einige Zeit dauern, bis der Server vollständig erreichbar ist.

Das gilt besonders bei:

* großen Welten
* vielen Plugins
* vielen Mods
* Modpacks
* großen Datenbanken oder Konfigurationen
* langsamer Weltgenerierung

Warte einige Minuten und beobachte die Konsole.

Ein Server ist normalerweise bereit, wenn in der Konsole eine Meldung wie `Done` oder eine ähnliche Abschlussmeldung erscheint.

### Server startet und stoppt direkt wieder

Wenn der Server kurz startet und danach wieder stoppt, können Spieler nicht verbinden.

Mögliche Ursachen:

* fehlerhafte Mod
* fehlerhaftes Plugin
* falsche Java-Version
* beschädigte Welt
* falsche Server-Version
* fehlende Mod-Abhängigkeit
* zu wenig Arbeitsspeicher
* Fehler in einer Konfigurationsdatei

Prüfe in diesem Fall die Konsole und die Logs im INSTANTPANEL.

### Mods und Modpacks prüfen

Bei Forge, Fabric oder Modpacks müssen Client und Server zusammenpassen.

Das bedeutet:

* gleicher Modloader
* gleiche Minecraft-Version
* gleiche Mod-Versionen
* alle notwendigen Abhängigkeiten installiert
* keine Client-only-Mods auf dem Server
* keine Server-only-Mods im Client erforderlich, sofern nicht nötig

Typische Fehlermeldungen sind:

* `Mod mismatch`
* `Missing mods`
* `Incompatible mod set`
* `Failed to synchronize registry data`
* `This server has mods that require FML/Forge`

Wenn ein Spieler wegen Mods nicht verbinden kann, prüfe, ob er exakt die gleiche Modpack-Version nutzt wie der Server.

### Plugins prüfen

Plugins betreffen normalerweise nur Paper, Spigot oder Bukkit.

Ein fehlerhaftes Plugin kann verhindern, dass der Server korrekt startet oder Spieler verbinden können.

Prüfe:

* lädt das Plugin erfolgreich?
* passt das Plugin zur Server-Version?
* fehlen Abhängigkeiten wie `Vault`, `ProtocolLib` oder `LuckPerms`?
* gibt es Fehlermeldungen in der Konsole?
* wurde das Plugin nach der Installation korrekt konfiguriert?

Wenn das Problem nach der Installation eines Plugins begonnen hat, entferne dieses Plugin testweise und starte den Server neu.

### Online-Mode prüfen

Der Online-Mode legt fest, ob Minecraft-Spieler über die offiziellen Minecraft-Loginserver geprüft werden.

Bei normalen öffentlichen Servern sollte `online-mode=true` verwendet werden.

Wenn Spieler die Meldung `Failed to verify username` erhalten, kann das bedeuten:

* Minecraft-Loginserver sind vorübergehend nicht erreichbar
* der Spieler ist nicht korrekt im Launcher angemeldet
* der Spieler nutzt keinen gültigen Account
* der Server kann die Accountprüfung nicht durchführen

Lösung:

* Spieler soll Minecraft neu starten.
* Spieler soll sich im Launcher neu anmelden.
* Prüfe, ob andere Spieler verbinden können.
* Prüfe, ob der Server online ist und keine Netzwerkprobleme hat.

### Verbindung über Domain prüfen

Wenn Spieler über eine Domain verbinden, prüfe zuerst, ob die Verbindung über die direkte IP-Adresse funktioniert.

Beispiel direkte Adresse: `123.123.123.123:25565`

Wenn die direkte IP funktioniert, aber die Domain nicht, liegt das Problem wahrscheinlich an DNS.

Mögliche Ursachen:

* falscher A-Record
* falscher SRV-Record
* DNS-Änderung noch nicht übernommen
* Domain zeigt auf eine alte IP-Adresse
* Port im SRV-Record falsch gesetzt

DNS-Änderungen können einige Minuten bis mehrere Stunden benötigen.

### SRV-Record prüfen

Ein SRV-Record wird verwendet, wenn Spieler ohne Port über eine Domain verbinden sollen.

Beispiel mit Port: `play.deinedomain.de:25570`

Beispiel ohne sichtbaren Port durch SRV-Record: `play.deinedomain.de`

Wenn der SRV-Record falsch ist, können Spieler die Domain nicht korrekt nutzen.

Prüfe besonders:

* Zieladresse
* Port
* Subdomain
* Priorität und Gewichtung
* ob der A-Record für das Ziel korrekt gesetzt ist

### Firewall und lokale Verbindung prüfen

Wenn nur ein einzelner Spieler nicht verbinden kann, liegt das Problem häufig nicht am Server.

Mögliche Ursachen beim Spieler:

* instabile Internetverbindung
* VPN oder Proxy
* Firewall blockiert Minecraft
* Antivirus blockiert Java oder Minecraft
* falscher DNS-Cache
* Routerproblem
* veralteter Launcher
* falscher Client

Lass den Spieler testen:

* Minecraft neu starten
* Router neu starten
* VPN deaktivieren
* Firewall prüfen
* andere Server testen
* mit einer anderen Internetverbindung testen

### Alle Spieler oder nur einzelne Spieler?

Prüfe, ob alle Spieler betroffen sind oder nur einzelne.

| Situation                                      | Wahrscheinliche Ursache                                         |
| ---------------------------------------------- | --------------------------------------------------------------- |
| Kein Spieler kann verbinden                    | Serveradresse, Port, Serverstatus, Crash, Version oder Netzwerk |
| Nur ein Spieler kann nicht verbinden           | Client, Account, Internet, Whitelist, Bann oder Modpack         |
| Nur Bedrock-Spieler können nicht verbinden     | Bedrock-Port, GeyserMC, falsche Edition                         |
| Nur Java-Spieler können nicht verbinden        | falsche Java-Adresse, falsche Version, Proxy-Problem            |
| Nur Spieler über Domain können nicht verbinden | DNS oder SRV-Record                                             |
| Spieler auf direkter IP können verbinden       | Domain oder DNS falsch                                          |
| Spieler kommen kurz rein und fliegen wieder    | Plugin, Mod, Timeout, Rechte, AntiCheat oder Weltproblem        |

### Banns prüfen

Wenn ein Spieler gebannt wurde, kann er dem Server nicht beitreten.

Spieler entbannen:

`pardon Spielername`

IP entbannen:

`pardon-ip IP-Adresse`

Gebannte Spieler anzeigen:

`banlist players`

Gebannte IP-Adressen anzeigen:

`banlist ips`

### Maximale Spielerzahl prüfen

Wenn der Server voll ist, können keine weiteren Spieler beitreten.

Die maximale Spielerzahl wird in der `server.properties` über `max-players` festgelegt.

Beispiel: `max-players=20`

Wenn bereits 20 Spieler online sind, kann kein weiterer Spieler beitreten, außer er hat besondere Berechtigungen oder der Server erlaubt Ausnahmen.

### Wartung oder Neustart

Spieler können während eines Neustarts oder einer Neuinstallation nicht verbinden.

Prüfe, ob gerade eine dieser Aktionen läuft:

* Serverneustart
* Neuinstallation
* Versionswechsel
* Backup-Wiederherstellung
* Welt-Upload
* Plugin- oder Mod-Installation

Warte, bis der Vorgang abgeschlossen ist, und versuche es erneut.

### Logs prüfen

Die Logs zeigen häufig die genaue Ursache.

Öffne im INSTANTPANEL die Konsole oder die Logdateien und suche nach Fehlermeldungen.

Wichtige Begriffe sind zum Beispiel:

* `ERROR`
* `WARN`
* `Exception`
* `Failed`
* `Disconnect`
* `Timed out`
* `Missing`
* `Incompatible`
* `Crash`

Wenn du eine Fehlermeldung nicht verstehst, kopiere sie vollständig und sende sie an den Support.

### Häufige Fehlermeldungen

| Fehlermeldung               | Bedeutung                                              |
| --------------------------- | ------------------------------------------------------ |
| `Connection refused`        | Unter Adresse oder Port ist kein Server erreichbar     |
| `Timed out`                 | Verbindung dauert zu lange oder Server antwortet nicht |
| `Outdated server`           | Client ist neuer als der Server                        |
| `Outdated client`           | Client ist älter als der Server                        |
| `You are not whitelisted`   | Spieler ist nicht auf der Whitelist                    |
| `Failed to verify username` | Account konnte nicht geprüft werden                    |
| `Missing mods`              | Client oder Server hat nicht alle benötigten Mods      |
| `Mod mismatch`              | Mod-Versionen stimmen nicht überein                    |
| `Internal Exception`        | Verbindung wurde durch einen Fehler getrennt           |
| `Server is full`            | Maximale Spielerzahl erreicht                          |

### Schritt-für-Schritt Fehleranalyse

Gehe bei Verbindungsproblemen am besten so vor:

1. Server im INSTANTPANEL öffnen.
2. Prüfen, ob der Server online ist.
3. Serveradresse und Port aus dem INSTANTPANEL kopieren.
4. Selbst mit der direkten Adresse verbinden.
5. Minecraft-Version prüfen.
6. Java oder Bedrock Edition prüfen.
7. Whitelist prüfen.
8. Banns prüfen.
9. Konsole auf Fehler prüfen.
10. Logs öffnen und Fehlermeldungen suchen.
11. Falls Domain genutzt wird, direkte IP testen.
12. Falls Mods genutzt werden, Modpack-Version vergleichen.
13. Falls Plugins installiert wurden, letzte Änderungen prüfen.
14. Server neu starten.
15. Wenn das Problem bleibt, Support kontaktieren.

### Support kontaktieren

Wenn Spieler weiterhin nicht verbinden können, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Serveradresse
* Port
* Minecraft Edition: Java oder Bedrock
* Minecraft-Version
* verwendete Server-Software, zum Beispiel Vanilla, Paper, Forge oder Fabric
* genaue Fehlermeldung
* ob alle Spieler betroffen sind oder nur einzelne
* ob die direkte IP-Adresse funktioniert
* ob eine Domain oder ein SRV-Record verwendet wird
* ob Mods oder Plugins installiert sind
* was zuletzt geändert wurde
* relevante Logauszüge aus Konsole oder Logdatei

**Sicherheit:** Sende niemals Passwörter, Tokens, private Schlüssel oder Zugangsdaten an den Support.


# Server laggt

In diesem Artikel erklären wir dir, warum ein Minecraft Server laggen kann, welche Arten von Lags es gibt und wie du die häufigsten Ursachen findest.

Minecraft Server können aus verschiedenen Gründen langsam reagieren. Nicht jeder Lag bedeutet automatisch, dass der Server zu wenig Leistung hat. Häufig entstehen Lags durch Einstellungen, Plugins, Mods, Welten, Entities oder zu viele geladene Chunks.

### Was bedeutet Lag?

Lag bedeutet, dass der Server oder die Verbindung verzögert reagiert.

Typische Anzeichen sind:

* Blöcke bauen sich nach dem Abbauen wieder auf
* Mobs bewegen sich ruckartig
* Spieler werden zurückgesetzt
* Chatnachrichten kommen verzögert an
* Inventare öffnen langsam
* Befehle brauchen lange
* der Server reagiert nicht mehr flüssig
* Spieler werden mit Timeout getrennt

### Lag ist nicht immer dasselbe

Es gibt verschiedene Arten von Lag. Für die Fehlerbehebung ist wichtig, welche Art von Lag auftritt.

| Art                  | Bedeutung                                                       |
| -------------------- | --------------------------------------------------------------- |
| Server-Lag           | Der Minecraft Server verarbeitet Spielaktionen zu langsam       |
| Client-Lag           | Der PC des Spielers hat zu wenig FPS oder lädt die Welt langsam |
| Netzwerk-Lag         | Die Verbindung zwischen Spieler und Server ist instabil         |
| Start-Lag            | Der Server braucht nach dem Start noch Zeit zum Laden           |
| Chunk-Lag            | Neue Weltbereiche werden zu langsam geladen oder generiert      |
| Plugin- oder Mod-Lag | Erweiterungen verursachen hohe Last                             |

### TPS verstehen

TPS bedeutet Ticks per Second.

Minecraft arbeitet normalerweise mit `20 TPS`. Das bedeutet, dass der Server 20 Verarbeitungsschritte pro Sekunde ausführt.

Wenn die TPS deutlich sinken, reagiert der Server langsamer.

| TPS           | Bedeutung                     |
| ------------- | ----------------------------- |
| 20 TPS        | Sehr gut                      |
| 18 bis 20 TPS | Normal                        |
| 15 bis 18 TPS | Leichte Verzögerungen möglich |
| 10 bis 15 TPS | Deutliche Lags                |
| unter 10 TPS  | Starke Serverprobleme         |

Wenn die TPS niedrig sind, liegt das Problem meistens auf dem Server oder an der Serverkonfiguration.

### FPS und TPS nicht verwechseln

FPS betrifft den Computer des Spielers.

TPS betrifft den Server.

Wenn nur ein Spieler Ruckler hat, andere Spieler aber normal spielen können, liegt das Problem oft am Client des Spielers.

Wenn alle Spieler gleichzeitig Verzögerungen haben, liegt das Problem eher am Server, an der Welt, an Plugins, Mods oder an der Verbindung.

### Erste Prüfung im INSTANTPANEL

Prüfe zuerst den Zustand deines Servers im INSTANTPANEL.

Achte besonders auf:

* CPU-Auslastung
* RAM-Auslastung
* Serverstatus
* Konsole
* Logs
* Fehlermeldungen
* Neustarts oder Crashes

Wenn die Auslastung dauerhaft sehr hoch ist, solltest du die Ursache genauer prüfen.

### Server neu starten

Ein Neustart kann kurzfristig helfen, wenn sich Fehler angesammelt haben oder der Server längere Zeit ohne Neustart lief.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Minecraft Server aus.
3. Klicke auf **Neustarten**.
4. Warte, bis der Server vollständig gestartet ist.
5. Prüfe, ob die Lags weiterhin auftreten.

Ein Neustart löst aber nicht die eigentliche Ursache, wenn ein Plugin, eine Mod oder eine Einstellung dauerhaft zu viel Leistung benötigt.

### Häufige Ursachen für Lags

#### Zu hohe Sichtweite

Die Sichtweite bestimmt, wie viele Chunks um einen Spieler herum geladen werden.

Je höher die Sichtweite ist, desto mehr muss der Server berechnen.

Die Einstellung heißt in der `server.properties`:

`view-distance`

Für viele Server ist ein Wert zwischen `6` und `10` sinnvoll.

Bei vielen Spielern, Mods oder schwächerem Server sollte der Wert niedriger gewählt werden.

#### Zu hohe Simulation-Distance

Die Simulation-Distance bestimmt, in welchem Bereich um Spieler herum Dinge aktiv berechnet werden.

Dazu gehören zum Beispiel:

* Mobs
* Redstone
* Farmen
* Pflanzenwachstum
* Flüssigkeiten
* bestimmte Blockupdates

Die Einstellung heißt:

`simulation-distance`

Ein zu hoher Wert kann starke Lags verursachen.

Für viele Server ist ein Wert zwischen `4` und `8` sinnvoll.

#### Zu viele Entities

Entities sind bewegliche oder aktive Objekte in der Welt.

Dazu gehören zum Beispiel:

* Tiere
* Monster
* Dorfbewohner
* Items auf dem Boden
* Boote
* Minecarts
* Armor Stands
* Projektile

Sehr viele Entities können den Server stark belasten.

Typische Ursachen sind:

* große Tierfarmen
* Villager-Farmen
* Item-Farmen
* nicht aufgesammelte Items
* zu viele Mobs in einem Bereich
* unkontrollierte Spawner

#### Zu viel Redstone

Redstone kann sehr viel Leistung benötigen, besonders wenn Schaltungen dauerhaft aktiv sind.

Problematisch sind zum Beispiel:

* schnelle Clocks
* große automatische Farmen
* viele Hopper
* Sortieranlagen
* Kolbenmaschinen
* dauerhaft laufende Schaltungen

Wenn Lags in der Nähe bestimmter Farmen auftreten, liegt die Ursache oft dort.

#### Neue Chunks werden generiert

Wenn Spieler neue Weltbereiche erkunden, muss der Server neue Chunks generieren.

Das kann viel Leistung benötigen.

Besonders stark ist das bei:

* vielen Spielern, die gleichzeitig neue Gebiete erkunden
* großen Mods oder Modpacks
* neuen Dimensionen
* hoher Sichtweite
* langsamen Datenträgern
* komplexer Weltgenerierung

Eine Lösung kann sein, die Welt vorab zu generieren. Dafür wird häufig ein Plugin wie Chunky verwendet.

#### Plugins verursachen Last

Plugins können den Server stark belasten, wenn sie schlecht konfiguriert sind oder viele Aufgaben ausführen.

Typische Beispiele:

* große Schutzplugins
* Economy-Plugins
* Minigame-Plugins
* Anti-Cheat-Plugins
* Scoreboard-Plugins
* Plugins mit Datenbankverbindung
* Plugins mit vielen automatischen Aufgaben

Wenn die Lags nach der Installation eines Plugins begonnen haben, solltest du dieses Plugin zuerst prüfen.

#### Mods oder Modpacks verursachen Last

Modpacks können deutlich mehr Leistung benötigen als ein normaler Vanilla-Server.

Besonders belastend sind oft Mods mit:

* Maschinen
* Energie-Netzwerken
* Rohren
* automatischer Verarbeitung
* vielen neuen Mobs
* komplexer Weltgenerierung
* zusätzlichen Dimensionen
* großen Strukturen

Bei Modpacks ist es wichtig, dass Server und Client dieselbe Modpack-Version verwenden.

#### Zu wenig RAM

Zu wenig RAM kann dazu führen, dass der Server langsam reagiert oder abstürzt.

Typische Anzeichen sind:

* `OutOfMemoryError`
* Server wird automatisch beendet
* lange Standbilder
* starke Verzögerungen nach einiger Laufzeit
* häufige Garbage-Collection-Pausen

Mehr RAM hilft aber nicht immer. Wenn ein Plugin, eine Mod oder eine Welt schlecht optimiert ist, kann auch mehr RAM das Problem nur verzögern.

#### Zu viele Spieler

Mehr Spieler bedeuten mehr Last.

Jeder Spieler lädt Chunks, erzeugt Entities, nutzt Inventare, bewegt sich durch die Welt und kann Maschinen, Farmen oder Redstone auslösen.

Wenn die Lags nur auftreten, sobald viele Spieler online sind, kann die Spielerzahl für die aktuelle Konfiguration zu hoch sein.

#### Fehler in der Konsole

Fehler in der Konsole können den Server dauerhaft belasten.

Achte besonders auf wiederholte Fehlermeldungen.

Wenn dieselbe Meldung immer wieder erscheint, kann ein Plugin, eine Mod oder eine Datei beschädigt sein.

### Einstellungen zur Optimierung

Diese Werte können bei vielen Servern helfen.

| Einstellung                         | Empfehlung                             |
| ----------------------------------- | -------------------------------------- |
| `view-distance`                     | 6 bis 10                               |
| `simulation-distance`               | 4 bis 8                                |
| `max-players`                       | realistisch setzen                     |
| `spawn-protection`                  | nur verwenden, wenn benötigt           |
| `entity-broadcast-range-percentage` | bei Bedarf reduzieren                  |
| automatische Neustarts              | regelmäßig einrichten                  |
| Backups                             | nicht während Hauptspielzeit ausführen |

Die richtigen Werte hängen von deinem Server, deiner Spielerzahl und deiner Server-Software ab.

### Paper statt Vanilla verwenden

Für viele öffentliche Minecraft Server ist Paper besser geeignet als Vanilla.

Paper ist eine optimierte Server-Software für Minecraft Java. Sie unterstützt Plugins und bietet zusätzliche Performance-Einstellungen.

Vorteile von Paper:

* bessere Performance als Vanilla
* Plugin-Unterstützung
* zusätzliche Konfigurationsmöglichkeiten
* häufig bessere Stabilität bei mehreren Spielern
* gute Grundlage für Survival- und Community-Server

Wenn du Plugins nutzen möchtest, solltest du Paper verwenden.

### Plugins prüfen

Wenn du Plugins nutzt, prüfe sie einzeln.

Vorgehen:

1. Erstelle ein Backup.
2. Stoppe den Server.
3. Entferne testweise zuletzt installierte Plugins.
4. Starte den Server.
5. Prüfe, ob die Lags weiterhin auftreten.
6. Wiederhole den Test bei Bedarf mit weiteren Plugins.

Lösche Plugins nicht endgültig, bevor du ein Backup erstellt hast.

### Mods prüfen

Bei Mods oder Modpacks solltest du besonders auf Versionen achten.

Prüfe:

* passt die Mod zur Minecraft-Version?
* passt die Mod zum Modloader?
* nutzt du Forge oder Fabric?
* ist die Mod auch auf dem Client installiert, falls nötig?
* gibt es bekannte Performance-Probleme mit der Mod?
* wurden alle Abhängigkeiten installiert?

Wenn der Server erst seit einer neuen Mod laggt, entferne diese testweise nach einem Backup.

### Welt prüfen

Manchmal liegt die Ursache in der Welt selbst.

Mögliche Probleme:

* sehr viele Entities an einem Ort
* beschädigte Chunks
* übergroße Farmen
* dauerhaft laufende Redstone-Schaltungen
* zu viele Hopper
* große Villager-Bereiche
* viele Items auf dem Boden

Wenn die Lags nur an bestimmten Orten auftreten, liegt die Ursache wahrscheinlich in diesen Chunks.

### Items auf dem Boden entfernen

Viele herumliegende Items können Lags verursachen.

Du kannst Items mit einem Befehl entfernen.

Beispiel:

`kill @e[type=item]`

Dieser Befehl entfernt alle Items, die auf dem Boden liegen.

**Wichtig:** Der Befehl löscht alle gedroppten Items in der geladenen Welt. Verwende ihn nur, wenn du sicher bist.

### Mobs reduzieren

Wenn zu viele Mobs aktiv sind, kann das den Server belasten.

Mögliche Maßnahmen:

* Farmen prüfen
* Spawner kontrollieren
* Mobcap beachten
* unnötige Mobs entfernen
* schwierige Farmbereiche entschärfen

Je nach Server-Software können zusätzliche Einstellungen für Mob-Spawning verfügbar sein.

### Automatische Neustarts einrichten

Regelmäßige Neustarts können helfen, den Server stabil zu halten.

Ein Neustart ersetzt keine Optimierung, kann aber Speicherprobleme und angesammelte Fehler reduzieren.

Empfohlen ist oft ein automatischer Neustart einmal täglich, zum Beispiel nachts, wenn wenige Spieler online sind.

### Backups nicht zur Hauptspielzeit ausführen

Backups können je nach Weltgröße viel Leistung benötigen.

Wenn ein Backup während hoher Spieleraktivität läuft, kann der Server langsamer reagieren.

Lege automatische Backups möglichst auf Zeiten mit wenig Aktivität.

### Logs prüfen

Die Logs zeigen, was auf dem Server passiert.

Achte auf Begriffe wie:

* `ERROR`
* `WARN`
* `OutOfMemoryError`
* `Can't keep up`
* `Timed out`
* `Skipping entity`
* `Exception`
* `Server thread`

Die Meldung `Can't keep up! Is the server overloaded?` bedeutet, dass der Server nicht schnell genug arbeitet.

Wenn diese Meldung selten erscheint, ist das nicht immer kritisch. Wenn sie dauerhaft erscheint, sollte die Ursache geprüft werden.

### Timings oder Profiler verwenden

Bei Paper-Servern können Timings helfen, Performance-Probleme zu finden.

Noch genauer ist ein Profiler wie Spark.

Damit kannst du prüfen, welche Plugins, Mods oder Serverprozesse besonders viel Zeit benötigen.

Für Einsteiger reicht oft zuerst:

* Logs prüfen
* zuletzt installierte Plugins prüfen
* Sichtweite reduzieren
* Entities und Farmen prüfen
* Server neu starten

### Häufige Probleme

#### Alle Spieler haben gleichzeitig Lag

Wenn alle Spieler gleichzeitig betroffen sind, liegt das Problem wahrscheinlich am Server.

Prüfe:

* TPS
* CPU-Auslastung
* RAM-Auslastung
* Konsole
* Logs
* Plugins
* Mods
* Weltbereiche mit vielen Entities

#### Nur ein Spieler hat Lag

Wenn nur ein Spieler betroffen ist, liegt die Ursache häufig nicht am Server.

Mögliche Ursachen:

* schlechte Internetverbindung
* hoher Ping
* schwacher PC
* zu wenig FPS
* zu hohe Grafikeinstellungen
* veraltete Client-Version
* Resource Pack verursacht Probleme

#### Lags treten nur an einem Ort auf

Wenn Lags nur an einem bestimmten Ort auftreten, liegt die Ursache häufig in diesem Bereich.

Prüfe dort:

* viele Mobs
* viele Villager
* viele Items
* Redstone-Schaltungen
* Hopper
* Farmen
* Maschinen bei Modpacks

#### Server laggt nach Plugin-Installation

Wenn die Lags nach einem neuen Plugin begonnen haben, ist das Plugin wahrscheinlich beteiligt.

Prüfe:

* ist das Plugin aktuell?
* passt es zur Server-Version?
* gibt es Fehlermeldungen in der Konsole?
* benötigt das Plugin Abhängigkeiten?
* ist die Konfiguration korrekt?

#### Server laggt nach Modpack-Installation

Modpacks benötigen oft deutlich mehr Leistung als Vanilla oder Paper.

Prüfe:

* RAM-Auslastung
* CPU-Auslastung
* Logs
* fehlende Mods
* falsche Mod-Versionen
* Weltgenerierung
* Maschinen und automatische Systeme

#### Server laggt beim Erkunden

Wenn der Server besonders beim Erkunden laggt, werden wahrscheinlich neue Chunks generiert.

Mögliche Lösungen:

* Sichtweite reduzieren
* Simulation-Distance reduzieren
* Welt vorab generieren
* weniger Spieler gleichzeitig neue Gebiete erkunden lassen
* komplexe Weltgenerierungsmods prüfen

### Was du vermeiden solltest

Vermeide folgende Maßnahmen ohne Backup:

* wahllos Plugins löschen
* Mod-Dateien austauschen
* Weltordner bearbeiten
* Konfigurationsdateien entfernen
* Server-Software wechseln
* große Updates ohne Sicherung durchführen

Erstelle vor größeren Änderungen immer ein Backup.

### Support kontaktieren

Wenn du die Ursache nicht findest, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Servername
* Minecraft-Version
* Server-Software, zum Beispiel Vanilla, Paper, Spigot, Forge oder Fabric
* Anzahl der Spieler, wenn die Lags auftreten
* ob Plugins oder Mods installiert sind
* ob die Lags dauerhaft oder nur zeitweise auftreten
* ob alle Spieler betroffen sind oder nur einzelne
* Fehlermeldungen aus der Konsole
* was du bereits getestet hast

**Sicherheit:** Sende niemals Passwörter, private Zugangsdaten oder Tokens an den Support.


# Windrose


# Mit dem Windrose Server verbinden

In diesem Artikel erklären wir dir, wie du dich mit deinem Windrose Server verbindest und wo du den benötigten Invite-Code findest.

Windrose verwendet für Dedicated Server in der Regel keinen klassischen Serverbeitritt nur über IP-Adresse, sondern einen Invite-Code. Diesen Code gibst du im Spiel ein, um deinen Server zu finden und beizutreten.

### Voraussetzungen

Bevor du dich verbindest, benötigst du:

* einen gestarteten Windrose Server
* den Invite-Code deines Servers
* eine installierte Windrose-Spielversion
* die gleiche Spielversion wie auf dem Server
* eine stabile Internetverbindung

Der Server muss vollständig gestartet sein, bevor du dich verbinden kannst. Direkt nach einem Neustart kann es einen Moment dauern, bis der Server im Spiel erreichbar ist.

### Invite-Code im INSTANTPANEL finden

Der Invite-Code ist der wichtigste Zugang zu deinem Windrose Server.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Windrose Server aus.
4. Öffne die Dateiverwaltung oder Konfiguration.
5. Suche nach der Datei `ServerDescription.json`.
6. Öffne die Datei.
7. Suche nach dem Eintrag `InviteCode`.
8. Kopiere den dort angegebenen Code.
9. Schaue im Reiter Startoptionen ob dort bereits ein code hinterlegt ist oder hinterlege ihn dort.

Der Invite-Code ist der Code, den du im Spiel eingibst, um deinen Server zu finden.

Beispiel: `AB12CD34`

Achte beim Kopieren auf Groß- und Kleinschreibung. Der Code muss genau so eingegeben werden, wie er in der Datei steht.

### Mit dem Windrose Server verbinden

Nachdem du den Invite-Code kopiert hast, kannst du dich im Spiel verbinden.

1. Starte Windrose.
2. Öffne das Hauptmenü.
3. Wähle **Play**.
4. Klicke auf **Connect to Server**.
5. Gib den Invite-Code deines Servers ein.
6. Suche nach dem Server.
7. Wähle den gefundenen Server aus.
8. Verbinde dich mit dem Server.

Wenn der Server korrekt gestartet ist und der Invite-Code stimmt, sollte dein Server angezeigt werden.

### Invite-Code richtig verwenden

Der Invite-Code ist nicht dasselbe wie eine IP-Adresse.

Du gibst also normalerweise nicht die Server-IP ein, sondern den Invite-Code.

Richtig: `AB12CD34`

Falsch: `123.123.123.123:7777`

Der genaue Code ist abhängig von deinem Server und steht in der Serverkonfiguration.

### Server wird nicht gefunden

Wenn dein Server nicht gefunden wird, prüfe zuerst den Invite-Code.

Häufige Ursachen sind:

* Invite-Code wurde falsch kopiert
* Groß- und Kleinschreibung stimmt nicht
* Server ist noch nicht vollständig gestartet
* Server ist abgestürzt
* Serverversion passt nicht zur Spielversion
* der Server wurde nach einer Änderung nicht neu gestartet
* die Serverdateien wurden noch nicht vollständig erzeugt

Starte den Server im INSTANTPANEL neu und versuche es danach erneut.

### ServerDescription.json wurde noch nicht erstellt

Die Datei `ServerDescription.json` wird normalerweise nach dem ersten Start des Servers erzeugt.

Wenn du die Datei nicht findest:

1. Starte den Windrose Server einmal.
2. Warte, bis der Startvorgang abgeschlossen ist.
3. Stoppe den Server wieder.
4. Öffne die Dateiverwaltung erneut.
5. Suche erneut nach `ServerDescription.json`.

Die offiziellen Dedicated-Server-Hinweise beschreiben, dass die Standard-Konfigurationsdateien beim ersten Start automatisch erstellt werden. Dazu gehören `ServerDescription.json` für allgemeine Servereinstellungen und `WorldDescription.json` für weltspezifische Einstellungen. :contentReference\[oaicite:0]{index=0}

### Gleiche Spielversion verwenden

Client und Server müssen dieselbe oder eine kompatible Version verwenden.

Wenn dein Spiel aktueller ist als der Server oder der Server aktueller ist als dein Spiel, kann die Verbindung fehlschlagen.

Typische Anzeichen sind:

* Server wird nicht gefunden
* Verbindung bricht ab
* Fehlermeldung wegen unterschiedlicher Version
* Spieler können nach einem Update nicht mehr beitreten

Prüfe in diesem Fall:

* wurde dein Spiel aktualisiert?
* wurde der Server aktualisiert?
* läuft der Server nach dem Update vollständig?
* wurde der Server nach dem Update neu gestartet?

Windrose befindet sich in aktiver Entwicklung. Nach Updates können Verbindungsprobleme oder Versionsunterschiede auftreten. Halte Server und Spiel möglichst auf demselben Stand.

### Freunde einladen

Damit Freunde deinem Windrose Server beitreten können, gibst du ihnen den Invite-Code.

Deine Freunde gehen anschließend genauso vor:

1. Windrose starten.
2. **Play** öffnen.
3. **Connect to Server** auswählen.
4. Invite-Code eingeben.
5. Server suchen.
6. Server beitreten.

Teile den Invite-Code nur mit Personen, die Zugriff auf deinen Server erhalten sollen.

### Invite-Code öffentlich teilen

Veröffentliche den Invite-Code nicht unüberlegt.

Wer den Code kennt, kann versuchen, deinem Server beizutreten. Wenn dein Server nur für Freunde gedacht ist, teile den Code nur privat.

Sinnvolle Wege sind zum Beispiel:

* private Nachricht
* geschlossener Discord-Kanal
* Freundesgruppe
* internes Community-Forum

### Server nach Änderungen neu starten

Wenn du Einstellungen in `ServerDescription.json` oder anderen Konfigurationsdateien änderst, solltest du den Server danach neu starten.

Gehe dabei so vor:

1. Server stoppen.
2. Datei bearbeiten.
3. Änderungen speichern.
4. Server starten.
5. Verbindung erneut testen.

Ändere Konfigurationsdateien nach Möglichkeit nicht, während der Server läuft. Dadurch können Einstellungen überschrieben oder nicht korrekt übernommen werden.

### Verbindung per IP-Adresse

Windrose wird häufig über Invite-Code verbunden. Je nach Serverversion und Konfiguration kann es zusätzlich direkte Verbindungsmöglichkeiten geben.

Für die normale Nutzung im INSTANTPANEL ist der Invite-Code der wichtigste und einfachste Weg.

Wenn eine direkte Verbindung per IP und Port angeboten wird, findest du die benötigten Daten in der Serverübersicht oder Konfiguration. Verwende in diesem Fall genau die Adresse, die dir im Panel angezeigt wird.

### Häufige Probleme

#### Der Server wird nicht angezeigt

Prüfe:

* ist der Server im INSTANTPANEL gestartet?
* wurde der Invite-Code richtig eingegeben?
* stimmt Groß- und Kleinschreibung?
* nutzt du die aktuelle Spielversion?
* wurde der Server nach einem Update neu gestartet?
* ist die Datei `ServerDescription.json` vorhanden?
* wurde der Server nach Änderungen an der Konfiguration neu gestartet?

#### Invite-Code funktioniert nicht

Mögliche Ursachen:

* Code falsch kopiert
* Leerzeichen am Anfang oder Ende
* falscher Code aus alter Konfiguration
* `ServerDescription.json` wurde neu erzeugt
* Server wurde zurückgesetzt
* Server ist noch nicht vollständig gestartet

Kopiere den Code erneut direkt aus der Datei `ServerDescription.json`.

#### Verbindung bricht ab

Wenn die Verbindung abbricht, kann das verschiedene Ursachen haben.

Prüfe:

* Serverlogs im INSTANTPANEL
* Spielversion
* Serverstatus
* Internetverbindung
* ob andere Spieler ebenfalls betroffen sind
* ob der Server gerade neu startet
* ob kurz zuvor ein Update durchgeführt wurde

#### Freunde können nicht beitreten

Wenn du selbst verbinden kannst, Freunde aber nicht, prüfe:

* wurde der richtige Invite-Code weitergegeben?
* nutzen deine Freunde dieselbe Spielversion?
* wurde der Code vollständig kopiert?
* gibt es Leerzeichen beim Einfügen?
* ist der Server weiterhin online?
* wurde der Server nach einer Änderung neu gestartet?

#### Server lädt sehr lange

Beim ersten Beitritt oder nach einem Welt-Update kann das Laden länger dauern.

Das kann besonders passieren bei:

* neu erstellten Welten
* großen Spielständen
* Serverneustart direkt vor dem Beitritt
* Updates
* hoher Serverlast
* langsamer Verbindung

Warte einen Moment und versuche es erneut, wenn der Verbindungsversuch abbricht.

#### Version mismatch

Ein Version-Mismatch bedeutet, dass Spiel und Server nicht zusammenpassen.

Lösung:

1. Prüfe, ob dein Spiel aktuell ist.
2. Aktualisiere den Server im INSTANTPANEL.
3. Starte den Server neu.
4. Versuche die Verbindung erneut.

Wenn das Problem direkt nach einem Spielupdate auftritt, kann es sein, dass der Server ebenfalls aktualisiert werden muss.

#### Server startet, aber niemand kann verbinden

Prüfe in diesem Fall die Logs.

Achte besonders auf:

* Fehlermeldungen beim Start
* fehlende Konfigurationsdateien
* beschädigte JSON-Dateien
* falsche Werte in `ServerDescription.json`
* Probleme nach einem Update
* Abstürze direkt nach dem Start

Wenn du kurz vorher eine Datei geändert hast, mache die letzte Änderung rückgängig oder stelle ein Backup wieder her.


# Invite-Code finden und verwenden

In diesem Artikel erklären wir dir, wofür der Invite-Code bei Windrose genutzt wird, wo du ihn im INSTANTPANEL findest und wie du ihn verwendest.

Der Invite-Code ist wichtig, damit Spieler deinem Windrose Server beitreten können. Ohne den richtigen Code kann der Server je nach Konfiguration nicht korrekt gefunden oder betreten werden.

### Was ist ein Invite-Code?

Ein Invite-Code ist ein Zugangscode für deinen Windrose Server.

Über diesen Code können Spieler deinen Server im Spiel finden und beitreten. Der Code dient also als Verbindung zwischen deinem Server und dem Spielclient.

Je nach Einrichtung wird der Invite-Code entweder automatisch erzeugt oder muss von dir selbst hinterlegt werden.

### Invite-Code im INSTANTPANEL prüfen

Bei INSTANTROOT prüfst du den Invite-Code zuerst im INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Windrose Server aus.
4. Öffne den Reiter **Startoptionen**.
5. Prüfe, ob dort bereits ein Invite-Code hinterlegt ist.

Wenn dort bereits ein Code eingetragen ist, kannst du diesen verwenden.

Wenn noch kein Code hinterlegt ist, trage dort einen eigenen Invite-Code ein.

### Invite-Code selbst hinterlegen

Wenn im Reiter **Startoptionen** kein Invite-Code eingetragen ist, kannst du selbst einen Code festlegen.

Nutze am besten einen kurzen, eindeutigen Code.

Beispiele:

* `meinserver2026`
* `pirateninsel`
* `crewserver`
* `windrose123`

Vermeide sehr einfache oder öffentlich bekannte Codes, wenn nicht jeder deinem Server beitreten soll.

Nach dem Eintragen des Codes musst du die Änderung speichern und den Server neu starten.

### Server nach Änderung neu starten

Änderungen an Startoptionen werden normalerweise erst nach einem Neustart übernommen.

Gehe so vor:

1. Speichere die Änderung im Reiter **Startoptionen**.
2. Stoppe den Server.
3. Starte den Server erneut.
4. Warte, bis der Server vollständig gestartet ist.
5. Verbinde dich anschließend mit dem neuen Invite-Code.

### Invite-Code in der Beschreibung prüfen

Je nach Konfiguration kann der Invite-Code auch in der Serverbeschreibung beziehungsweise in der Datei `ServerDescription.json` eingetragen oder sichtbar sein.

Prüfe diesen Bereich, wenn:

* im Reiter **Startoptionen** kein Code steht
* der Code aus den Startoptionen nicht funktioniert
* du die Serverdateien manuell bearbeitet hast
* der Server nach einer Neuinstallation anders konfiguriert wurde
* du den Code direkt in den Konfigurationsdateien ändern möchtest

Achte darauf, dass der Invite-Code in den Startoptionen und in der Serverbeschreibung nicht widersprüchlich gesetzt ist.

### Invite-Code im Spiel verwenden

Sobald du den Invite-Code hast, kannst du ihn im Spiel verwenden.

1. Starte Windrose.
2. Öffne den Bereich zum Verbinden mit einem Server.
3. Wähle die Verbindung über Invite-Code.
4. Gib den Invite-Code ein.
5. Bestätige die Eingabe.
6. Warte, bis die Verbindung hergestellt wurde.

Wenn der Code korrekt ist und der Server online ist, solltest du dem Server beitreten können.

### Invite-Code an Freunde weitergeben

Du kannst den Invite-Code an andere Spieler weitergeben, damit sie deinem Server beitreten können.

Teile den Code nur mit Personen, die Zugriff auf deinen Server erhalten sollen.

Wenn der Code öffentlich geteilt wird, können möglicherweise auch fremde Spieler versuchen, deinem Server beizutreten.

### Invite-Code ändern

Du kannst den Invite-Code ändern, wenn du den Zugriff auf deinen Server neu regeln möchtest.

Das ist sinnvoll, wenn:

* der Code öffentlich bekannt geworden ist
* fremde Spieler beitreten
* du den Server nur noch mit bestimmten Personen nutzen möchtest
* du eine neue Gruppe oder Crew einladen möchtest

Ändere den Code im Reiter **Startoptionen** oder, falls nötig, in der Serverbeschreibung. Starte den Server danach neu.

### Häufige Probleme

#### Im Reiter Startoptionen ist kein Code eingetragen

Trage selbst einen Invite-Code ein, speichere die Änderung und starte den Server neu.

Achte darauf, dass der Code keine unnötigen Leerzeichen enthält.

#### Invite-Code funktioniert nicht

Prüfe:

* Ist der Server gestartet?
* Wurde der Server nach der Änderung neu gestartet?
* Wurde der Code korrekt eingegeben?
* Gibt es Leerzeichen am Anfang oder Ende?
* Stimmen Groß- und Kleinschreibung?
* Ist der Code in den Startoptionen korrekt hinterlegt?
* Steht in der Serverbeschreibung ein anderer Code?

#### Freunde können nicht beitreten

Prüfe zuerst, ob du selbst mit dem Invite-Code verbinden kannst.

Wenn du verbinden kannst, deine Freunde aber nicht, sollten sie prüfen:

* richtige Schreibweise des Codes
* aktuelle Spielversion
* stabile Internetverbindung
* keine Leerzeichen beim Kopieren
* ob sie den richtigen Verbindungsbereich im Spiel verwenden

#### Server wird trotz Invite-Code nicht gefunden

Mögliche Ursachen:

* Server ist nicht vollständig gestartet
* Invite-Code wurde nicht gespeichert
* Server wurde nach Änderung nicht neu gestartet
* falscher Code wurde verwendet
* Serverversion und Clientversion passen nicht zusammen
* es gibt ein allgemeines Verbindungsproblem

Prüfe in diesem Fall auch die Konsole und Logs im INSTANTPANEL.

#### Code wurde geändert, aber der alte Code funktioniert noch

Dann wurde die Änderung möglicherweise noch nicht übernommen.

Gehe so vor:

1. Server stoppen.
2. Invite-Code in den Startoptionen prüfen.
3. Änderung speichern.
4. Server neu starten.
5. Einige Minuten warten.
6. Erneut testen.

### Wichtig

Verwende einen Invite-Code, der eindeutig ist, aber nicht leicht erraten werden kann.

Nicht empfehlenswert:

* `1234`
* `test`
* `server`
* `windrose`
* dein öffentlicher Benutzername

Besser sind eigene Kombinationen aus Wörtern und Zahlen.

Beispiel: `crew-hafen-2026`


# ServerDescription.json erklären

In diesem Artikel erklären wir dir, wofür die `ServerDescription.json` bei einem Windrose Server verwendet wird und wie du die wichtigsten Einstellungen verwaltest.

Bei INSTANTROOT musst du viele Einstellungen nicht direkt in der Datei bearbeiten. Im INSTANTPANEL findest du im Reiter **Startoptionen** mehrere auswählbare Einstellungen. Diese Startoptionen sind einfacher zu verwalten und überschreiben die entsprechenden Werte aus der `ServerDescription.json`.

### Was ist die ServerDescription.json?

Die `ServerDescription.json` ist eine Konfigurationsdatei deines Windrose Servers.

In dieser Datei speichert der Server wichtige Informationen und Einstellungen, zum Beispiel:

* Servername
* Serverbeschreibung
* Invite-Code
* Weltinformationen
* Spielparameter
* technische Serverwerte

Die Datei wird vom Windrose Dedicated Server verwendet, um den Server mit den passenden Einstellungen zu starten.

### Wo finde ich die Datei?

Du findest die `ServerDescription.json` in den Serverdateien deines Windrose Servers.

Je nach Serverstruktur kann der genaue Pfad unterschiedlich sein. Öffne im INSTANTPANEL den Dateimanager oder verbinde dich per SFTP, um die Serverdateien zu prüfen.

Typische Bereiche sind:

* Server-Hauptverzeichnis
* Konfigurationsordner
* Savegame- oder Dedicated-Server-Ordner

Wenn du dir nicht sicher bist, suche im Dateimanager nach `ServerDescription.json`.

### Startoptionen im INSTANTPANEL verwenden

Viele wichtige Einstellungen kannst du direkt im INSTANTPANEL ändern.

Gehe dazu so vor:

1. Öffne das INSTANTPANEL.
2. Wähle deinen Windrose Server aus.
3. Öffne den Reiter **Startoptionen**.
4. Passe die gewünschten Werte an.
5. Speichere die Änderungen.
6. Starte den Server neu.

Die Startoptionen sind der empfohlene Weg, um häufig genutzte Einstellungen zu ändern.

### Warum Startoptionen besser sind

Die Startoptionen sind einfacher und sicherer als eine manuelle Bearbeitung der `ServerDescription.json`.

Vorteile:

* übersichtliche Eingabefelder
* weniger Risiko für Formatierungsfehler
* Einstellungen sind schneller auffindbar
* Änderungen können gezielt angepasst werden
* kein direktes Bearbeiten von JSON notwendig
* Werte bleiben besser nachvollziehbar

JSON-Dateien müssen eine genaue Struktur einhalten. Schon ein fehlendes Komma, eine falsche Klammer oder ein falsch gesetztes Anführungszeichen kann dazu führen, dass der Server nicht mehr korrekt startet.

### Wichtig: Startoptionen überschreiben Dateiwerte

Wenn eine Einstellung im Reiter **Startoptionen** vorhanden ist, wird dieser Wert beim Start des Servers verwendet.

Das bedeutet:

Eine Einstellung aus den Startoptionen kann den entsprechenden Wert aus der `ServerDescription.json` überschreiben.

Beispiel:

| Einstellung  | Wert in ServerDescription.json |  Wert in Startoptionen |       Verwendeter Wert |
| ------------ | -----------------------------: | ---------------------: | ---------------------: |
| Servername   |         `Mein Windrose Server` | `INSTANTROOT Windrose` | `INSTANTROOT Windrose` |
| Spielerlimit |                            `8` |                   `12` |                   `12` |
| Beschreibung |                 `Private Welt` |     `Community Server` |     `Community Server` |

Wenn du also eine Einstellung direkt in der Datei änderst, diese Einstellung aber auch in den Startoptionen gesetzt ist, kann deine Änderung beim nächsten Start überschrieben werden.

### Welche Einstellungen sollte ich in den Startoptionen ändern?

Nutze die Startoptionen für alle Werte, die dort angeboten werden.

Dazu können je nach Servertemplate zum Beispiel gehören:

* Servername
* Serverbeschreibung
* Invite-Code
* Spielerlimit
* Weltname
* Weltparameter
* Schwierigkeitsgrad
* Passwort oder Zugangsbeschränkung
* Ports
* sonstige Startparameter

Die genaue Auswahl kann je nach Windrose-Version und INSTANTPANEL-Template abweichen.

### Wann sollte ich die ServerDescription.json direkt bearbeiten?

Bearbeite die Datei nur dann direkt, wenn eine gewünschte Einstellung nicht im Reiter **Startoptionen** verfügbar ist.

Eine direkte Bearbeitung kann sinnvoll sein bei:

* erweiterten Windrose-Einstellungen
* speziellen Weltparametern
* Einstellungen, die nicht im Panel angezeigt werden
* manueller Fehlerprüfung
* Anpassungen nach offizieller Anleitung

Wenn du unsicher bist, nutze zuerst die Startoptionen oder kontaktiere den Support.

### Vor der Bearbeitung ein Backup erstellen

Bevor du die `ServerDescription.json` manuell bearbeitest, solltest du ein Backup erstellen.

So gehst du vor:

1. Stoppe den Windrose Server.
2. Öffne den Dateimanager im INSTANTPANEL.
3. Suche die Datei `ServerDescription.json`.
4. Lade die Datei herunter oder kopiere sie.
5. Bearbeite erst danach die Datei.

So kannst du die alte Version wiederherstellen, falls der Server nach einer Änderung nicht mehr startet.

### Datei nur bei gestopptem Server bearbeiten

Bearbeite die `ServerDescription.json` nur, wenn der Server gestoppt ist.

Wenn du die Datei während des laufenden Betriebs änderst, kann es passieren, dass:

* Änderungen nicht übernommen werden
* der Server die Datei beim Beenden überschreibt
* Werte beschädigt werden
* der Server beim nächsten Start Fehler ausgibt

Empfohlene Reihenfolge:

1. Server stoppen.
2. Backup erstellen.
3. Datei bearbeiten oder Startoptionen ändern.
4. Änderungen speichern.
5. Server starten.
6. Logs prüfen.

### JSON-Grundlagen

Die `ServerDescription.json` ist eine JSON-Datei.

JSON ist ein strukturiertes Dateiformat. Es besteht aus Namen und Werten.

Ein einfacher Wert sieht zum Beispiel so aus:

`"ServerName": "Mein Windrose Server"`

Ein Zahlenwert sieht zum Beispiel so aus:

`"MaxPlayers": 10`

Ein Wahr/Falsch-Wert sieht zum Beispiel so aus:

`"IsPrivate": true`

Wichtig bei JSON:

* Texte stehen in Anführungszeichen.
* Zahlen stehen ohne Anführungszeichen.
* Wahr/Falsch-Werte heißen `true` oder `false`.
* Einträge werden meistens mit Komma getrennt.
* Klammern müssen vollständig geschlossen sein.

### Häufige JSON-Fehler

Wenn du die Datei manuell bearbeitest, vermeide diese Fehler:

| Fehler                    | Beispiel                                           |
| ------------------------- | -------------------------------------------------- |
| fehlendes Komma           | Zwei Werte stehen direkt hintereinander            |
| falsche Anführungszeichen | typografische Anführungszeichen statt normaler `"` |
| fehlende Klammer          | Datei endet unvollständig                          |
| falscher Datentyp         | Zahl als Text oder Text ohne Anführungszeichen     |
| zusätzlicher Text         | Kommentare oder Notizen in der JSON-Datei          |

JSON erlaubt normalerweise keine Kommentare. Schreibe deshalb keine eigenen Hinweise direkt in die Datei.

### Servername ändern

Wenn der Servername in den Startoptionen verfügbar ist, ändere ihn dort.

Empfohlener Weg:

1. INSTANTPANEL öffnen.
2. Windrose Server auswählen.
3. Reiter **Startoptionen** öffnen.
4. Feld für Servername ändern.
5. Speichern.
6. Server neu starten.

Wenn kein Startoptionsfeld vorhanden ist, kann der Servername direkt in der `ServerDescription.json` angepasst werden.

### Serverbeschreibung ändern

Die Serverbeschreibung wird genutzt, um deinen Server im Spiel besser zu erkennen oder kurz zu beschreiben.

Beispiele:

* `Privater Server für Freunde`
* `Deutscher Community Server`
* `PvE Abenteuerwelt`

Auch hier gilt: Wenn die Beschreibung in den Startoptionen vorhanden ist, ändere sie dort.

### Invite-Code finden

Der Invite-Code wird verwendet, damit Spieler deinem Windrose Server beitreten können.

Je nach Einrichtung findest du den Invite-Code:

* im INSTANTPANEL
* in den Startoptionen
* in der `ServerDescription.json`
* in den Serverlogs nach dem Start

Wenn der Invite-Code in den Startoptionen verwaltet wird, solltest du ihn dort prüfen.

### Invite-Code teilen

Teile den Invite-Code nur mit Spielern, die Zugriff auf deinen Server erhalten sollen.

Wenn der Code öffentlich geteilt wird, können möglicherweise unerwünschte Spieler versuchen, deinem Server beizutreten.

### Spielerlimit ändern

Wenn dein Server ein Spielerlimit unterstützt, sollte dieses nach Möglichkeit über die Startoptionen geändert werden.

Ein zu hohes Spielerlimit kann zu Performance-Problemen führen.

Achte darauf, dass das Spielerlimit zur Serverleistung passt.

### Welt-Einstellungen ändern

Windrose kann je nach Version und Servertemplate verschiedene Welt-Einstellungen verwenden.

Dazu können gehören:

* Weltname
* Spielmodus
* Schwierigkeit
* Seed oder Weltparameter
* PvE- oder PvP-Einstellungen
* Fortschritts- oder Weltoptionen

Nutze auch hier zuerst die Startoptionen, wenn die gewünschte Einstellung dort verfügbar ist.

### Änderungen übernehmen

Nach Änderungen an Startoptionen oder der `ServerDescription.json` muss der Server neu gestartet werden.

Ein einfacher Speichervorgang reicht meistens nicht aus.

Empfohlene Reihenfolge:

1. Änderung speichern.
2. Server stoppen, falls er noch läuft.
3. Server starten.
4. Logs prüfen.
5. Verbindung testen.

### Änderungen werden nicht übernommen

Wenn deine Änderungen nicht übernommen werden, prüfe zuerst:

* Hast du den Server neu gestartet?
* Hast du die richtige Datei bearbeitet?
* Gibt es dieselbe Einstellung in den Startoptionen?
* Wird der Wert beim Start durch eine Startoption überschrieben?
* Wurde die Datei während des laufenden Servers bearbeitet?
* Gibt es einen JSON-Fehler?
* Hat der Server die Datei beim Start neu erzeugt?

In vielen Fällen liegt es daran, dass der Wert in den Startoptionen gesetzt ist und deshalb die Datei überschrieben wird.

### Server startet nach Änderung nicht

Wenn der Server nach einer Änderung nicht mehr startet, gehe so vor:

1. Öffne die Konsole und Logs im INSTANTPANEL.
2. Prüfe, ob ein Fehler zur `ServerDescription.json` angezeigt wird.
3. Mache die letzte Änderung rückgängig.
4. Stelle dein Backup wieder her.
5. Starte den Server erneut.

Typische Ursachen sind:

* ungültiges JSON
* falscher Wert
* fehlendes Komma
* fehlerhafte Klammer
* Startoption und Datei widersprechen sich
* nicht unterstützter Wert

### Empfohlene Vorgehensweise

Für die meisten Kunden ist diese Reihenfolge am besten:

1. Startoptionen im INSTANTPANEL prüfen.
2. Gewünschte Einstellung dort ändern, wenn vorhanden.
3. Server neu starten.
4. Prüfen, ob die Änderung übernommen wurde.
5. Datei nur direkt bearbeiten, wenn es keine passende Startoption gibt.
6. Vor manuellen Änderungen immer ein Backup erstellen.


# Lokale Welt auf den Server laden

In diesem Artikel erklären wir dir, wie du eine lokal gespeicherte Windrose-Welt auf deinen Gameserver hochlädst.

Das ist hilfreich, wenn du bereits lokal oder mit Freunden auf deinem eigenen PC gespielt hast und diese Welt anschließend dauerhaft auf deinem INSTANTROOT Gameserver weiterverwenden möchtest.

### Voraussetzungen

Bevor du beginnst, benötigst du:

* Zugriff auf deinen lokalen PC, auf dem die Welt gespeichert ist
* Zugriff auf deinen Windrose Server im INSTANTPANEL
* SFTP- oder Dateimanager-Zugriff auf deinen Server
* eine Sicherung deiner lokalen Welt
* einen gestoppten Windrose Server

**Wichtig:** Stoppe den Server immer, bevor du Savegames hochlädst, ersetzt oder bearbeitest. Wenn der Server währenddessen läuft, können Dateien beschädigt oder beim nächsten Start überschrieben werden.

### Lokale Windrose-Welt finden

Windrose speichert lokale Spielstände unter Windows im AppData-Verzeichnis.

Der typische Pfad lautet:

`C:\Users\DEIN_WINDOWS_NAME\AppData\Local\R5\Saved\SaveProfiles\`

Du kannst den Ordner schneller öffnen:

1. Drücke `Windows-Taste + R`.
2. Gib `%LOCALAPPDATA%\R5\Saved\SaveProfiles` ein.
3. Drücke Enter.

In diesem Ordner findest du einen oder mehrere Profilordner. Bei Steam ist der Ordner häufig nach deiner Steam-ID benannt.

Der Speicherpfad sieht ungefähr so aus:

`C:\Users\DEIN_WINDOWS_NAME\AppData\Local\R5\Saved\SaveProfiles\DEINE_STEAM_ID\RocksDB\SPIELVERSION\Worlds\WELT_ID`

### Richtige Welt erkennen

Im Ordner `Worlds` können mehrere Weltordner liegen.

Jede Welt hat eine eigene ID. Diese ID sieht meistens nicht wie ein normaler Weltname aus, sondern eher wie eine technische Zeichenfolge.

Beispiel:

`7f3a9c1b4d2e4567`

Öffne die Weltordner und prüfe, ob dort Dateien und Unterordner der Windrose-Welt vorhanden sind.

Falls du mehrere Welten hast, kannst du die richtige Welt oft über Änderungsdatum und Uhrzeit erkennen.

Achte auf:

* zuletzt geändertes Datum
* Größe des Weltordners
* Zeitpunkt, wann du zuletzt gespielt hast
* vorhandene Dateien wie `WorldDescription.json`, falls vorhanden

**Wichtig:** Benenne den Weltordner nicht um. Windrose verwendet die Welt-ID intern. Wenn du den Ordner umbenennst, kann der Server die Welt möglicherweise nicht korrekt laden.

### Lokale Welt sichern

Erstelle vor dem Upload eine Kopie deiner Welt.

So gehst du vor:

1. Öffne den lokalen Weltordner.
2. Kopiere den gesamten Ordner der Welt.
3. Füge ihn an einem sicheren Ort ein, zum Beispiel auf dem Desktop.
4. Benenne nur die Sicherung eindeutig, zum Beispiel `Windrose-Welt-Backup`.

Ändere dabei nicht den Namen des originalen Weltordners, den du später hochladen möchtest.

### Server stoppen

Bevor du Dateien auf dem Server ersetzt, stoppe deinen Windrose Server.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Windrose Server aus.
3. Klicke auf **Stoppen**.
4. Warte, bis der Server vollständig offline ist.

Lade die Welt erst hoch, wenn der Server wirklich gestoppt ist.

### Server-Saveordner öffnen

Öffne nun den Dateimanager oder verbinde dich per SFTP mit deinem Server.

Der typische Savegame-Pfad auf einem Windrose Dedicated Server lautet:

`R5/Saved/SaveProfiles/Default/RocksDB/`

Je nach Spielversion kann der Pfad auch so aussehen:

`R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/`

Darunter folgt normalerweise ein Ordner mit der Spielversion und anschließend der Ordner `Worlds`.

Beispiel:

`R5/Saved/SaveProfiles/Default/RocksDB/0.10.0.5.120/Worlds/`

oder:

`R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/0.10.0.5.120/Worlds/`

**Hinweis:** Die genaue Spielversion kann sich durch Updates ändern. Verwende auf dem Server den Ordner, der zu deiner aktuell installierten Windrose-Version gehört.

### Lokale Welt hochladen

Lade jetzt den kompletten lokalen Weltordner in den `Worlds`-Ordner deines Servers hoch.

Beispiel:

Lokaler Weltordner:

`7f3a9c1b4d2e4567`

Ziel auf dem Server:

`R5/Saved/SaveProfiles/Default/RocksDB/0.10.0.5.120/Worlds/7f3a9c1b4d2e4567`

Achte darauf, dass du den ganzen Ordner hochlädst und nicht nur einzelne Dateien.

Der Weltordner muss am Ende direkt im `Worlds`-Verzeichnis liegen.

Richtig:

`Worlds/7f3a9c1b4d2e4567/`

Falsch:

`Worlds/MeineWelt/7f3a9c1b4d2e4567/`

Falsch:

`Worlds/7f3a9c1b4d2e4567/7f3a9c1b4d2e4567/`

### Aktive Welt in ServerDescription.json setzen

Damit der Server deine hochgeladene Welt lädt, muss die Welt-ID in der `ServerDescription.json` eingetragen werden.

Die Datei liegt normalerweise im Windrose-Serververzeichnis unter:

`R5/ServerDescription.json`

Öffne die Datei mit dem Dateimanager oder per SFTP.

Suche nach dem Eintrag:

`WorldIslandId`

Trage dort die ID deines hochgeladenen Weltordners ein.

Beispiel:

`WorldIslandId: 7f3a9c1b4d2e4567`

Die Welt-ID muss exakt dem Ordnernamen deiner hochgeladenen Welt entsprechen.

**Wichtig:** Verwende keine andere Schreibweise und füge keine zusätzlichen Leerzeichen, Sonderzeichen oder neuen Namen hinzu. Die ID muss genau stimmen.

### Server starten

Nachdem du die Welt hochgeladen und die `WorldIslandId` gesetzt hast, kannst du den Server starten.

1. Öffne das INSTANTPANEL.
2. Starte deinen Windrose Server.
3. Beobachte die Konsole.
4. Warte, bis der Server vollständig gestartet ist.
5. Verbinde dich anschließend über den Invite-Code oder die Serververbindung.

Beim ersten Start nach dem Upload kann der Server etwas länger benötigen.

### Prüfen, ob die Welt geladen wurde

Nach dem Start solltest du prüfen, ob die richtige Welt geladen wurde.

Achte auf:

* bekannten Spawnpunkt
* bekannte Gebäude
* bekannte Schiffe
* bekannte Lager
* bekannten Fortschritt
* vorhandene Spieler- oder Weltstände

Wenn eine neue leere Welt geladen wurde, wurde wahrscheinlich die falsche Welt-ID gesetzt oder der Weltordner liegt im falschen Verzeichnis.

### Häufige Fehler

#### Server lädt eine neue Welt

Wenn der Server eine neue Welt erstellt, findet er deine hochgeladene Welt nicht oder sie wurde nicht als aktive Welt gesetzt.

Prüfe:

* liegt der Weltordner im richtigen `Worlds`-Verzeichnis?
* stimmt die `WorldIslandId` mit dem Weltordnernamen überein?
* wurde der Weltordner versehentlich umbenannt?
* liegt die Welt in einem zusätzlichen Unterordner?
* wurde der Server vor dem Upload gestoppt?
* wurde die richtige Spielversion verwendet?

#### Weltordner wurde doppelt verschachtelt

Ein häufiger Fehler ist ein falsch gepackter oder falsch hochgeladener Ordner.

Falsch:

`Worlds/WindroseBackup/7f3a9c1b4d2e4567/`

Richtig:

`Worlds/7f3a9c1b4d2e4567/`

Der Server erwartet die Welt direkt im `Worlds`-Ordner.

#### Server startet nicht nach dem Upload

Wenn der Server nach dem Upload nicht startet, prüfe die Konsole und Logs.

Mögliche Ursachen:

* unvollständiger Upload
* beschädigte Weltdateien
* falscher Speicherpfad
* falsche Spielversion
* fehlerhafte `ServerDescription.json`
* Weltordner wurde umbenannt
* Dateien wurden während laufendem Server ersetzt

Stelle in diesem Fall zuerst das vorherige Backup wieder her.

#### Welt wird geladen, aber Fortschritt fehlt

Wenn die Welt geladen wird, aber Fortschritt fehlt, wurde möglicherweise nicht der richtige Save hochgeladen.

Prüfe lokal:

* hast du den richtigen Profilordner verwendet?
* hast du die richtige Steam-ID geöffnet?
* hast du den zuletzt geänderten Weltordner gewählt?
* gibt es mehrere `RocksDB`- oder Backup-Ordner?
* wurde eventuell ein älterer Spielstand hochgeladen?

#### Upload bricht ab

Bei großen Welten kann der Upload länger dauern.

Nutze bei größeren Savegames am besten SFTP statt nur den Web-Dateimanager.

Prüfe außerdem:

* stabile Internetverbindung
* genug Speicherplatz auf dem Server
* vollständiger Upload aller Dateien
* keine laufende Serverinstanz während des Uploads

### Wichtige Hinweise zu Windrose-Versionen

Windrose befindet sich in aktiver Entwicklung. Speicherpfade und Save-Strukturen können sich durch Updates ändern.

Deshalb solltest du vor einem Welttransfer immer prüfen:

* lokale Spielversion
* Serverversion
* Ordnerstruktur auf dem Server
* vorhandene `RocksDB`- oder `RocksDB_v2_Backups`-Ordner
* aktuelle Serverlogs nach dem Start

Client und Server sollten möglichst auf derselben Version laufen.

### Backup vor Änderungen erstellen

Erstelle immer ein Backup, bevor du eine Welt ersetzt.

Sichere mindestens:

* den vorhandenen Server-Weltordner
* die `ServerDescription.json`
* die hochzuladende lokale Welt
* falls vorhanden, relevante Backup-Ordner

So kannst du den alten Zustand wiederherstellen, falls der Upload nicht funktioniert.


# Windrose Server aktualisieren

In diesem Artikel erklären wir dir, wie du deinen Windrose Server aktualisierst.

Bei INSTANTROOT kannst du Updates über die Startoptionen im INSTANTPANEL aktivieren. Danach muss der Server neu gestartet werden, damit das Update ausgeführt wird.

### Wann sollte der Server aktualisiert werden?

Ein Update ist sinnvoll, wenn:

* eine neue Windrose-Version veröffentlicht wurde
* Spieler wegen unterschiedlicher Versionen nicht verbinden können
* im Spiel die Meldung zu einer falschen oder veralteten Version erscheint
* der Server nach einem Spielupdate nicht mehr erreichbar ist
* Fehler oder Verbindungsprobleme durch ein Update behoben wurden

Besonders nach einem Update des Spiels auf deinem eigenen PC sollte auch der Server geprüft werden. Client und Server müssen zusammenpassen.

### Vor dem Update

Erstelle vor einem Update nach Möglichkeit ein Backup.

Ein Backup ist wichtig, falls nach dem Update Probleme auftreten oder ein Spielstand nicht richtig geladen wird.

Prüfe vor dem Update:

* Server ist im INSTANTPANEL erreichbar
* du hast Zugriff auf deinen Windrose Server
* wichtige Spielstände wurden gesichert
* aktuell sind keine Spieler auf dem Server
* du hast genug Zeit für einen Neustart eingeplant

### Auto Update aktivieren

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Windrose Server aus.
4. Öffne den Bereich **Startoptionen**.
5. Suche die Option **Auto Update**.
6. Aktiviere **Auto Update**.
7. Speichere die Änderung, falls eine Speicherung erforderlich ist.

Wenn Auto Update aktiviert ist, prüft der Server beim Start, ob eine neuere Version verfügbar ist.

### Server neu starten

Nach dem Aktivieren von Auto Update muss der Server neu gestartet werden.

1. Öffne die Serverübersicht im INSTANTPANEL.
2. Klicke auf **Neustarten**.
3. Warte, bis der Server vollständig gestoppt und wieder gestartet wurde.
4. Beobachte die Konsole während des Starts.
5. Prüfe, ob das Update ohne Fehler durchgeführt wurde.

Während des Neustarts ist der Server kurzzeitig nicht erreichbar.

### Update prüfen

Nach dem Neustart solltest du testen, ob der Server wieder korrekt läuft.

Prüfe:

* startet der Server ohne Fehlermeldungen?
* wird der Server im INSTANTPANEL als online angezeigt?
* können Spieler wieder verbinden?
* stimmen Client- und Server-Version überein?
* wird der Spielstand korrekt geladen?

Wenn du dich nach dem Update verbinden kannst, war das Update erfolgreich.

### Wenn Spieler nicht verbinden können

Wenn Spieler nach einem Update nicht verbinden können, liegt häufig ein Versionsunterschied vor.

Prüfe:

* wurde dein eigener Windrose-Client aktualisiert?
* wurde der Server nach Aktivieren von Auto Update wirklich neu gestartet?
* ist Auto Update weiterhin aktiviert?
* läuft der Server vollständig?
* zeigen Konsole oder Logs Fehlermeldungen?
* nutzt jeder Spieler die aktuelle Spielversion?

Falls der Server noch auf einer alten Version läuft, starte ihn erneut neu.

### Wenn der Server nach dem Update nicht startet

Wenn der Server nach einem Update nicht startet, prüfe die Konsole und die Logs im INSTANTPANEL.

Mögliche Ursachen:

* Update wurde nicht vollständig abgeschlossen
* Serverdateien sind beschädigt
* Spielupdate enthält einen Fehler
* ein Spielstand ist nicht mit der neuen Version kompatibel
* Änderungen an Konfigurationsdateien verursachen Probleme
* installierte Mods sind nicht mehr kompatibel

Falls du kurz vor dem Update Änderungen an Dateien vorgenommen hast, prüfe diese zuerst.

### Wenn Mods verwendet werden

Wenn du Mods auf deinem Windrose Server nutzt, kann ein Update zusätzliche Probleme verursachen.

Mods müssen zur aktuellen Spielversion passen. Nach einem Windrose-Update kann es sein, dass einzelne Mods nicht mehr funktionieren oder den Serverstart verhindern.

Prüfe nach dem Update:

* sind alle Mods mit der neuen Version kompatibel?
* gibt es Updates für die installierten Mods?
* startet der Server ohne Mods?
* zeigen die Logs Fehler zu bestimmten Mods?

Wenn der Server nicht startet, entferne testweise zuletzt installierte oder veraltete Mods und starte den Server erneut.

### Auto Update deaktivieren

Wenn du nicht möchtest, dass der Server beim Start automatisch aktualisiert wird, kannst du Auto Update wieder deaktivieren.

Das kann sinnvoll sein, wenn du eine bestimmte Version behalten möchtest oder zuerst prüfen willst, ob Mods und Spielstand mit einer neuen Version funktionieren.

Beachte aber: Wenn dein Spielclient bereits aktualisiert wurde und der Server nicht, kann es zu Verbindungsproblemen kommen.

### Häufige Probleme

#### Der Server ist nach dem Neustart weiterhin nicht aktuell

Prüfe:

* wurde Auto Update wirklich aktiviert?
* wurde die Änderung gespeichert?
* wurde der Server danach neu gestartet?
* gibt es Fehlermeldungen in der Konsole?
* wurde das Update eventuell vom Spielanbieter noch nicht als Serverversion bereitgestellt?

#### Der Server bleibt beim Start hängen

Mögliche Ursachen:

* Update läuft noch
* Serverdateien werden geprüft
* Spielstand wird konvertiert
* ein Fehler verhindert den Start
* Mods oder Konfigurationsdateien sind nicht kompatibel

Warte zunächst kurz und prüfe dann die Konsole.

#### Version mismatch

Diese Meldung bedeutet, dass Client und Server nicht dieselbe Version verwenden.

Lösung:

1. Auto Update in den Startoptionen aktivieren.
2. Server neu starten.
3. Windrose-Client aktualisieren.
4. Verbindung erneut testen.

#### Spieler werden direkt getrennt

Prüfe:

* Version von Client und Server
* Serverlogs
* Mods
* Spielstand
* Invite-Code
* ob der Server vollständig gestartet ist


# Freunde können nicht beitreten

In diesem Artikel erklären wir dir, was du prüfen solltest, wenn deine Freunde deinem Windrose Server nicht beitreten können.

Verbindungsprobleme können mehrere Ursachen haben. Häufig liegt es an einem falschen Invite-Code, einer unterschiedlichen Spielversion, einem noch nicht vollständig gestarteten Server oder einer fehlerhaften Serverkonfiguration.

### Voraussetzungen

Damit andere Spieler deinem Windrose Server beitreten können, müssen folgende Punkte erfüllt sein:

* der Server ist im INSTANTPANEL gestartet
* der Server ist vollständig hochgefahren
* der Invite-Code ist korrekt
* alle Spieler verwenden die gleiche Windrose-Version
* der Server wurde nach Änderungen neu gestartet
* der Server ist nicht abgestürzt
* es gibt kein aktuelles Verbindungsproblem im Spiel oder bei Steam

### Serverstatus im INSTANTPANEL prüfen

Prüfe zuerst, ob dein Server im INSTANTPANEL wirklich online ist.

1. Öffne das INSTANTPANEL.
2. Wähle deinen Windrose Server aus.
3. Prüfe den Serverstatus.
4. Öffne die Konsole.
5. Prüfe, ob der Server ohne Fehler gestartet ist.

Ein Server kann im Panel bereits als gestartet angezeigt werden, obwohl das Spiel intern noch lädt. Warte nach dem Start einige Minuten und versuche die Verbindung danach erneut.

### Invite-Code prüfen

Windrose verwendet für den Beitritt zum Server einen Invite-Code.

Wenn deine Freunde nicht beitreten können, ist ein falscher oder alter Invite-Code eine häufige Ursache.

Prüfe:

* wurde der Invite-Code vollständig kopiert?
* wurden keine Leerzeichen mitkopiert?
* wurde der richtige Code verwendet?
* wurde der Server nach Änderungen neu gestartet?
* wurde eventuell eine neue Serverkonfiguration erzeugt?

**Wichtig:** Kopiere den Invite-Code möglichst direkt aus der Serverkonfiguration oder aus dem Bereich, in dem er im INSTANTPANEL angezeigt wird.

### Spielversion vergleichen

Alle Spieler müssen die gleiche Windrose-Version verwenden wie der Server.

Wenn der Server eine ältere oder neuere Version nutzt als der Client, kann der Beitritt fehlschlagen.

Typische Hinweise auf unterschiedliche Versionen sind:

* `Version mismatch`
* Verbindung bricht direkt ab
* Server wird nicht akzeptiert
* Spieler landen wieder im Menü
* Invite-Code funktioniert scheinbar nicht

Prüfe deshalb:

* ist Windrose bei allen Spielern aktualisiert?
* wurde der Server nach einem Spielupdate ebenfalls aktualisiert?
* läuft der Server noch auf einer alten Version?
* wurde Steam bei allen Spielern neu gestartet?

### Server nach Update neu starten

Nach einem Update sollte der Server vollständig neu gestartet werden.

Gehe so vor:

1. Stoppe den Windrose Server im INSTANTPANEL.
2. Warte, bis der Server vollständig beendet wurde.
3. Starte den Server erneut.
4. Warte einige Minuten.
5. Teste die Verbindung erneut.

Wenn ein Update verfügbar ist, führe dieses zuerst durch und starte den Server danach neu.

### Serverkonfiguration prüfen

Wenn der Invite-Code oder die Weltkonfiguration nicht korrekt geladen wird, können Spieler möglicherweise nicht beitreten.

Prüfe in der Serverkonfiguration:

* ist die Serverbeschreibung gültig?
* wurde die Datei korrekt gespeichert?
* gibt es keine fehlenden Klammern oder Anführungszeichen?
* wurde nach der Änderung ein Neustart durchgeführt?
* wurde keine wichtige Datei versehentlich gelöscht?

Besonders bei JSON-Dateien ist die Schreibweise wichtig. Ein fehlendes Komma, eine falsche Klammer oder ein zusätzliches Zeichen kann dazu führen, dass die Konfiguration nicht geladen wird.

### Serverlogs prüfen

Die Logs zeigen oft, warum Spieler nicht beitreten können.

Öffne im INSTANTPANEL die Konsole oder die Logdateien und achte auf Meldungen wie:

* Fehler beim Laden der Konfiguration
* Version mismatch
* Netzwerkfehler
* Absturzmeldungen
* fehlende Dateien
* beschädigter Spielstand
* Mod-Fehler
* Verbindungsabbrüche

Wenn du eine Fehlermeldung findest, kopiere sie für die weitere Prüfung. Sende aber keine Passwörter, Tokens oder privaten Zugangsdaten.

### Mods prüfen

Wenn du Mods installiert hast, müssen diese zur Serverversion passen.

Je nach Mod kann es außerdem notwendig sein, dass Spieler dieselben Mods auch lokal installiert haben.

Prüfe:

* wurden kürzlich Mods installiert?
* wurde eine Mod aktualisiert?
* passt die Mod zur aktuellen Windrose-Version?
* startet der Server ohne Mods?
* können Spieler ohne Mods beitreten?
* gibt es Mod-Fehler in der Konsole?

Wenn das Problem nach einer Mod-Installation begonnen hat, entferne die zuletzt installierte Mod testweise und starte den Server neu.

### Spielstand prüfen

Ein beschädigter oder fehlerhafter Spielstand kann ebenfalls verhindern, dass Spieler beitreten.

Mögliche Anzeichen:

* Server startet, aber niemand kann beitreten
* Server crasht beim Laden der Welt
* Verbindung bricht direkt nach dem Beitritt ab
* Logs zeigen Fehler beim Laden des Spielstands

In diesem Fall kannst du testweise ein Backup wiederherstellen oder eine neue Welt erstellen.

**Wichtig:** Erstelle vor Änderungen am Spielstand immer ein Backup.

### Steam und Spiel neu starten

Manchmal liegt das Problem nicht am Server, sondern am Spielclient.

Alle betroffenen Spieler sollten Folgendes versuchen:

1. Windrose vollständig schließen.
2. Steam neu starten.
3. Prüfen, ob ein Update verfügbar ist.
4. Windrose erneut starten.
5. Invite-Code erneut eingeben.

Wenn nur ein einzelner Spieler nicht beitreten kann, liegt das Problem wahrscheinlich am Client dieses Spielers.

### Prüfen, ob alle Spieler betroffen sind

Unterscheide zwischen zwei Fällen.

| Situation                              | Wahrscheinliche Ursache                                          |
| -------------------------------------- | ---------------------------------------------------------------- |
| Kein Spieler kann beitreten            | Server, Version, Invite-Code oder Konfiguration prüfen           |
| Nur ein Spieler kann nicht beitreten   | Client, Spielversion, Steam, Netzwerk oder lokale Dateien prüfen |
| Nur nach Update Probleme               | Serverversion und Clientversion prüfen                           |
| Nur nach Mod-Installation Probleme     | Mods und Logs prüfen                                             |
| Nur bei bestimmtem Spielstand Probleme | Savegame oder Welt prüfen                                        |

Diese Unterscheidung hilft dabei, die Ursache schneller einzugrenzen.

### Lokale Spieldateien prüfen

Wenn nur ein Spieler betroffen ist, kann dieser seine lokalen Spieldateien über Steam prüfen.

1. Steam öffnen.
2. Bibliothek öffnen.
3. Rechtsklick auf Windrose.
4. Eigenschaften öffnen.
5. Installierte Dateien auswählen.
6. Dateien auf Fehler überprüfen.

Steam prüft danach die lokalen Spieldateien und lädt fehlende oder beschädigte Dateien erneut herunter.

### Netzwerk des Spielers prüfen

Wenn nur ein bestimmter Spieler nicht beitreten kann, kann auch dessen Netzwerk die Ursache sein.

Der Spieler sollte prüfen:

* stabile Internetverbindung
* VPN testweise deaktivieren
* Firewall prüfen
* Router neu starten
* anderes Netzwerk testen, falls möglich
* Steam online und verbunden

Bei Verbindungsproblemen über VPN oder öffentliche Netzwerke kann der Beitritt fehlschlagen.

### Server neu starten

Ein Neustart kann einfache Verbindungsprobleme beheben.

Gehe so vor:

1. Informiere aktive Spieler.
2. Stoppe den Server im INSTANTPANEL.
3. Warte, bis der Server vollständig beendet wurde.
4. Starte den Server erneut.
5. Warte einige Minuten.
6. Teste den Beitritt erneut.

### Häufige Ursachen

#### Falscher Invite-Code

Der Invite-Code wurde falsch kopiert oder ist nicht mehr gültig.

Lösung:

* Invite-Code erneut kopieren
* Leerzeichen entfernen
* Server neu starten
* Code erneut an Freunde senden

#### Unterschiedliche Spielversion

Client und Server nutzen unterschiedliche Versionen.

Lösung:

* Windrose bei allen Spielern aktualisieren
* Server aktualisieren
* Steam neu starten
* Server nach Update neu starten

#### Server ist noch nicht vollständig gestartet

Der Server läuft im Panel, ist aber spielintern noch nicht bereit.

Lösung:

* einige Minuten warten
* Konsole prüfen
* erneut verbinden

#### Fehlerhafte Konfiguration

Eine Konfigurationsdatei wurde falsch bearbeitet.

Lösung:

* letzte Änderung prüfen
* JSON-Schreibweise kontrollieren
* Backup der Konfiguration wiederherstellen
* Server neu starten

#### Mod verursacht Probleme

Eine Mod ist nicht kompatibel oder fehlt bei Spielern.

Lösung:

* zuletzt installierte Mod prüfen
* Server ohne Mod testen
* Mod-Version kontrollieren
* Logs prüfen

#### Spielstand lädt nicht richtig

Der Server kann die Welt nicht korrekt laden.

Lösung:

* Logs prüfen
* Backup wiederherstellen
* neue Welt testweise starten


# 7 Days to Die


# Mit dem 7 Days to Die Server verbinden

In diesem Artikel erklären wir dir, wie du dich mit deinem 7 Days to Die Server verbindest und wo du die benötigte Serveradresse im INSTANTPANEL findest.

Damit die Verbindung funktioniert, muss dein Server gestartet sein. Außerdem muss deine Spielversion zur Server-Version passen.

### Voraussetzungen

Bevor du dich verbindest, benötigst du:

* einen gestarteten 7 Days to Die Server
* die Serveradresse aus dem INSTANTPANEL
* den Server-Port
* 7 Days to Die auf deinem PC
* die passende Spielversion
* das Serverpasswort, falls der Server geschützt ist

### Serveradresse im INSTANTPANEL finden

Die Serveradresse findest du direkt in deinem INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen 7 Days to Die Server aus.
4. Öffne die Serverübersicht.
5. Kopiere die angezeigte Serveradresse.

Eine Serveradresse besteht meistens aus einer IP-Adresse und einem Port.

Beispiel: `123.123.123.123:26900`

Der Teil vor dem Doppelpunkt ist die IP-Adresse. Der Teil nach dem Doppelpunkt ist der Port.

| Bestandteil       | Bedeutung                      |
| ----------------- | ------------------------------ |
| `123.123.123.123` | IP-Adresse des Servers         |
| `26900`           | Port des 7 Days to Die Servers |

**Wichtig:** Kopiere die Serveradresse möglichst direkt aus dem INSTANTPANEL. Tippfehler, Leerzeichen oder ein falscher Port führen häufig dazu, dass der Server nicht erreichbar ist.

### Verbindung über die Serverliste herstellen

Du kannst deinen Server direkt über die Serverliste im Spiel suchen.

1. Starte 7 Days to Die.
2. Klicke auf **Spiel beitreten**.
3. Öffne die Serverliste.
4. Suche nach dem Namen deines Servers.
5. Wähle den Server aus.
6. Gib das Serverpasswort ein, falls eines gesetzt ist.
7. Klicke auf **Verbinden**.

Wenn der Server nicht sofort angezeigt wird, warte einen Moment und aktualisiere die Serverliste.

### Verbindung über IP und Port herstellen

Wenn du deinen Server nicht in der Serverliste findest, kannst du dich direkt über IP und Port verbinden.

1. Starte 7 Days to Die.
2. Klicke auf **Spiel beitreten**.
3. Öffne die direkte Verbindung oder IP-Verbindung.
4. Trage die IP-Adresse deines Servers ein.
5. Trage den Port ein.
6. Gib das Serverpasswort ein, falls eines gesetzt ist.
7. Verbinde dich mit dem Server.

Beispiel:

| Feld       | Wert              |
| ---------- | ----------------- |
| IP-Adresse | `123.123.123.123` |
| Port       | `26900`           |

### Über Steam verbinden

Du kannst dich auch über Steam mit deinem Server verbinden.

1. Öffne Steam.
2. Klicke oben auf **Ansicht**.
3. Öffne **Spielserver**.
4. Wechsle zum Bereich **Favoriten**.
5. Klicke auf **Server hinzufügen**.
6. Trage die Serveradresse ein.
7. Speichere den Server.
8. Starte 7 Days to Die und verbinde dich über deine Favoriten.

Beispiel: `123.123.123.123:26900`

Falls die Verbindung über Steam nicht funktioniert, versuche zusätzlich die direkte Verbindung im Spiel.

### Serverpasswort eingeben

Wenn dein Server mit einem Passwort geschützt ist, musst du dieses beim Verbinden eingeben.

Das Passwort findest du je nach Einrichtung:

* in den Servereinstellungen im INSTANTPANEL
* in der Konfigurationsdatei des Servers
* in den Zugangsinformationen deines Dienstes

Achte bei der Eingabe auf Groß- und Kleinschreibung.

### Richtige Spielversion verwenden

Deine Spielversion muss zur Server-Version passen.

Wenn dein Client eine andere Version nutzt als der Server, kann die Verbindung fehlschlagen oder der Server wird nicht korrekt angezeigt.

Prüfe deshalb:

* installierte Spielversion in Steam
* Server-Version im INSTANTPANEL
* aktive Beta-Version in Steam
* installierte Mods
* ob der Server nach einem Update neu gestartet wurde

### Beta-Versionen prüfen

7 Days to Die kann über Steam unterschiedliche Versionen oder Betas verwenden.

Wenn dein Server eine bestimmte Version nutzt, musst du deinen Client entsprechend einstellen.

1. Öffne Steam.
2. Rechtsklicke auf **7 Days to Die**.
3. Klicke auf **Eigenschaften**.
4. Öffne den Bereich **Betas**.
5. Wähle die passende Version aus.
6. Warte, bis Steam das Spiel aktualisiert hat.
7. Starte das Spiel erneut.

Wenn du keine bestimmte Beta-Version benötigst, wähle die aktuelle stabile Version.

### Mods beachten

Wenn dein Server Mods verwendet, müssen manche Mods auch auf deinem Client installiert sein.

Das hängt von der jeweiligen Mod ab.

Es gibt:

| Mod-Art                               | Muss auf dem Client installiert sein? |
| ------------------------------------- | ------------------------------------- |
| reine Server-Mods                     | meistens nein                         |
| Mods mit neuen Items, Blöcken oder UI | meistens ja                           |
| große Modpacks                        | ja                                    |
| reine Konfigurationsänderungen        | meistens nein                         |

Wenn dir beim Verbinden Mod-Fehler angezeigt werden, prüfe, ob du dieselben Mods wie der Server installiert hast.

### Häufige Probleme

#### Server wird nicht in der Liste angezeigt

Prüfe zuerst:

* Ist der Server im INSTANTPANEL gestartet?
* Ist der Server vollständig hochgefahren?
* Ist der Servername korrekt?
* Nutzt du die richtige Spielversion?
* Ist der Server öffentlich sichtbar eingestellt?
* Hast du die Serverliste aktualisiert?

Ein 7 Days to Die Server kann nach dem Start einige Minuten benötigen, bis er in der Serverliste erscheint.

#### Direkte Verbindung funktioniert nicht

Prüfe:

* IP-Adresse korrekt eingegeben?
* Port korrekt eingegeben?
* Server gestartet?
* Passwort korrekt?
* richtige Spielversion?
* Mods korrekt installiert?

Kopiere IP und Port am besten direkt aus dem INSTANTPANEL.

#### Passwort wird nicht akzeptiert

Achte auf:

* Groß- und Kleinschreibung
* keine Leerzeichen vor oder nach dem Passwort
* aktuelles Passwort aus den Servereinstellungen
* Server nach Passwortänderung neu gestartet?

Wenn du das Passwort geändert hast, muss der Server in der Regel neu gestartet werden.

#### Verbindung bleibt bei „Connecting“ hängen

Mögliche Ursachen:

* Server startet noch
* falsche Version
* Mod-Konflikt
* Netzwerkproblem
* Server ist ausgelastet
* Welt lädt noch

Warte einige Minuten und prüfe danach die Konsole oder Logs im INSTANTPANEL.

#### Version stimmt nicht überein

Wenn Client und Server unterschiedliche Versionen verwenden, kann keine Verbindung hergestellt werden.

Prüfe in Steam, ob du eine Beta-Version aktiviert hast. Stelle deinen Client auf die Version um, die dein Server verwendet.

#### Server startet, aber niemand kann verbinden

Prüfe:

* Serverstatus im INSTANTPANEL
* Logs auf Fehlermeldungen
* Server-Port
* Serverpasswort
* installierte Mods
* Server-Version
* ob der Server vollständig hochgefahren ist


# Servereinstellungen ändern

In diesem Artikel erklären wir dir, wie du die Einstellungen deines 7 Days to Die Servers änderst und worauf du dabei achten solltest.

Über die Servereinstellungen legst du fest, wie dein Server im Spiel angezeigt wird und welche Regeln auf deiner Welt gelten. Dazu gehören zum Beispiel Servername, Passwort, maximale Spieleranzahl, Schwierigkeit, Tageslänge, Loot-Einstellungen und Blood-Moon-Verhalten.

### Voraussetzungen

Bevor du Änderungen vornimmst, solltest du Folgendes beachten:

* dein Server sollte gestoppt sein
* wichtige Daten sollten vorher gesichert werden
* Änderungen müssen gespeichert werden
* nach vielen Änderungen ist ein Neustart erforderlich
* manche Änderungen wirken sich nur auf neue Welten aus

**Wichtig:** Erstelle vor größeren Änderungen ein Backup. Das gilt besonders, wenn du Welt-, Seed-, Map- oder Mod-Einstellungen änderst.

### Wo finde ich die Servereinstellungen?

Die Servereinstellungen findest du im INSTANTPANEL bei deinem 7 Days to Die Server.

Je nach Oberfläche können die Einstellungen direkt im Panel bearbeitet werden oder über eine Konfigurationsdatei.

Typische Wege sind:

* Einstellungen im INSTANTPANEL
* Konfigurationsbereich des Servers
* Dateiverwaltung
* Datei `serverconfig.xml`

Wenn du die Datei direkt bearbeitest, achte darauf, die Struktur nicht zu beschädigen.

### serverconfig.xml verstehen

Viele Einstellungen von 7 Days to Die werden in der Datei `serverconfig.xml` gespeichert.

XML ist ein strukturiertes Dateiformat. Einstellungen werden dort meistens als einzelne Zeilen mit Name und Wert dargestellt.

Ein typischer Eintrag sieht so aus:

`<property name="ServerName" value="Mein 7 Days Server"/>`

Dabei bedeutet:

| Bestandteil | Bedeutung            |
| ----------- | -------------------- |
| `property`  | Einstellungseintrag  |
| `name`      | Name der Einstellung |
| `value`     | Wert der Einstellung |

Ändere in der Regel nur den Wert innerhalb von `value`.

Beispiel:

Vorher: `<property name="ServerName" value="Mein Server"/>`

Nachher: `<property name="ServerName" value="INSTANTROOT 7 Days"/>`

### Einstellungen sicher bearbeiten

Gehe beim Bearbeiten der Einstellungen vorsichtig vor.

Empfohlene Reihenfolge:

1. Server stoppen.
2. Backup erstellen.
3. Einstellungen öffnen.
4. gewünschten Wert ändern.
5. Änderungen speichern.
6. Server starten.
7. Verbindung testen.
8. Logs prüfen, falls der Server nicht startet.

Bearbeite nicht viele kritische Werte gleichzeitig. Wenn danach ein Fehler auftritt, ist sonst schwer erkennbar, welche Änderung das Problem verursacht hat.

### Servername ändern

Der Servername ist der Name, der in der Serverliste angezeigt wird.

Typische Einstellung:

`ServerName`

Beispiel:

`<property name="ServerName" value="Mein 7 Days Server"/>`

Ändere den Wert auf den gewünschten Namen.

Beispiel:

`<property name="ServerName" value="INSTANTROOT PvE Server"/>`

Nach dem Speichern muss der Server neu gestartet werden.

**Hinweis:** Es kann etwas dauern, bis der neue Servername in der öffentlichen Serverliste sichtbar ist.

### Serverbeschreibung ändern

Die Serverbeschreibung kann Spielern zusätzliche Informationen anzeigen.

Typische Einstellung:

`ServerDescription`

Beispiel:

`<property name="ServerDescription" value="Willkommen auf unserem Server"/>`

Nutze hier kurze und klare Informationen, zum Beispiel:

* Spielmodus
* Regeln
* Discord-Hinweis
* PvE oder PvP
* Wipe-Zyklus

### Serverpasswort setzen

Mit einem Passwort kannst du festlegen, dass nur Spieler mit Passwort beitreten können.

Typische Einstellung:

`ServerPassword`

Beispiel mit Passwort:

`<property name="ServerPassword" value="MeinPasswort"/>`

Beispiel ohne Passwort:

`<property name="ServerPassword" value=""/>`

Wenn kein Passwort gesetzt werden soll, bleibt der Wert leer.

**Wichtig:** Verwende kein Passwort, das du auch für andere Dienste nutzt. Sende Serverpasswörter nur an Personen, denen du vertraust.

### Maximale Spieleranzahl ändern

Die maximale Spieleranzahl legt fest, wie viele Spieler gleichzeitig auf den Server können.

Typische Einstellung:

`ServerMaxPlayerCount`

Beispiel:

`<property name="ServerMaxPlayerCount" value="8"/>`

Wähle die Spieleranzahl passend zur Leistung deines Servers.

Mehr Spieler bedeuten mehr Belastung durch:

* geladene Weltbereiche
* Zombies
* Fahrzeuge
* Basen
* Loot
* Kämpfe
* Datenverkehr
* Mods

Wenn dein Server laggt, reduziere testweise die maximale Spieleranzahl.

### Server öffentlich oder privat anzeigen

7 Days to Die Server können je nach Einstellung öffentlich sichtbar oder eher privat genutzt werden.

Typische Einstellungen können je nach Version unter anderem Server-Sichtbarkeit oder Listenoptionen betreffen.

Wenn dein Server öffentlich gefunden werden soll, achte darauf, dass:

* der Server gestartet ist
* der Servername gesetzt ist
* kein falscher Port verwendet wird
* die Sichtbarkeit korrekt eingestellt ist
* die Spielversion passt

Wenn du privat spielen möchtest, nutze ein Serverpasswort.

### Schwierigkeit ändern

Die Schwierigkeit beeinflusst, wie stark und gefährlich die Gegner sind.

Typische Einstellung:

`GameDifficulty`

Je höher der Wert, desto schwieriger das Spiel.

Für Einsteiger empfiehlt sich ein niedriger bis mittlerer Wert. Für erfahrene Gruppen kann ein höherer Wert sinnvoll sein.

**Hinweis:** Zu hohe Schwierigkeit kann besonders am Anfang schnell frustrierend sein, wenn Spieler noch keine Ausrüstung, Basis oder Ressourcen haben.

### Spielmodus einstellen

7 Days to Die wird auf Servern meistens im Survival-Modus gespielt.

Je nach Version und Konfiguration gibt es Einstellungen für Spielmodus, Welt und Szenario.

Achte darauf, nur Werte zu verwenden, die von deiner Serverversion unterstützt werden.

Falsche Werte können dazu führen, dass der Server nicht korrekt startet.

### Welt und Map einstellen

Die Welt legt fest, welche Karte dein Server verwendet.

Typische Möglichkeiten sind:

* Navezgane
* Random Gen
* vorgefertigte Karten
* eigene Karten

Wichtige Einstellungen können sein:

* `GameWorld`
* `WorldGenSeed`
* `WorldGenSize`
* `GameName`

Die genaue Benennung kann je nach Version abweichen.

**Wichtig:** Änderungen an Welt, Seed, Map-Größe oder GameName können dazu führen, dass eine neue Welt geladen oder erstellt wird. Sichere deine aktuelle Welt vorher.

### Seed ändern

Der Seed bestimmt bei Random-Gen-Welten, wie die Welt generiert wird.

Wenn du den Seed änderst, betrifft das in der Regel eine neue Weltgenerierung.

Ändere den Seed nicht auf einem bestehenden Spielstand, wenn du die aktuelle Welt behalten möchtest.

### GameName verstehen

Der `GameName` ist wichtig, weil darüber oft der Speicherstand zugeordnet wird.

Wenn du den `GameName` änderst, kann der Server einen neuen Spielstand verwenden, obwohl deine alten Daten noch vorhanden sind.

Beispiel:

Alter Wert: `<property name="GameName" value="MeinSpielstand"/>`

Neuer Wert: `<property name="GameName" value="NeuerSpielstand"/>`

Das kann dazu führen, dass eine neue Welt gestartet wird.

Wenn deine alte Welt plötzlich „weg“ wirkt, prüfe zuerst den GameName.

### Tageslänge ändern

Die Tageslänge legt fest, wie lange ein Ingame-Tag dauert.

Typische Einstellung:

`DayNightLength`

Beispiel:

`<property name="DayNightLength" value="60"/>`

Der Wert gibt meistens die Länge eines Tages in Echtzeit-Minuten an.

Beispiel:

| Wert  | Bedeutung         |
| ----- | ----------------- |
| `30`  | kurzer Tag        |
| `60`  | Standardnaher Tag |
| `90`  | längerer Tag      |
| `120` | sehr langer Tag   |

Längere Tage geben Spielern mehr Zeit zum Bauen, Looten und Vorbereiten.

### Tageslichtdauer ändern

Die Tageslichtdauer legt fest, wie viele Stunden des Ingame-Tages hell sind.

Typische Einstellung:

`DayLightLength`

Beispiel:

`<property name="DayLightLength" value="18"/>`

Ein höherer Wert bedeutet längere helle Phase. Ein niedrigerer Wert bedeutet längere Nacht.

### Blood Moon einstellen

Der Blood Moon ist eines der wichtigsten Ereignisse in 7 Days to Die.

Typische Einstellungen können sein:

* Häufigkeit
* Abweichung
* Warnzeit
* Gegneranzahl
* Zombie-Verhalten

Häufig genutzte Einstellungen sind:

* `BloodMoonFrequency`
* `BloodMoonRange`
* `BloodMoonWarning`
* `BloodMoonEnemyCount`

### Blood Moon Frequency

Diese Einstellung legt fest, wie oft ein Blood Moon stattfindet.

Beispiel:

`<property name="BloodMoonFrequency" value="7"/>`

Ein Wert von `7` bedeutet: ungefähr alle 7 Tage.

Beispiele:

| Wert | Bedeutung                   |
| ---- | --------------------------- |
| `1`  | jede Nacht Blood Moon       |
| `3`  | etwa alle 3 Tage            |
| `7`  | klassischer 7-Tage-Rhythmus |
| `14` | etwa alle 14 Tage           |

### Blood Moon Range

Diese Einstellung sorgt für zufällige Abweichung beim Blood Moon.

Beispiel:

`<property name="BloodMoonRange" value="0"/>`

Wenn du feste Blood-Moon-Tage möchtest, nutze `0`.

Wenn du mehr Zufall möchtest, kannst du einen höheren Wert setzen.

### Blood Moon Enemy Count

Diese Einstellung beeinflusst, wie viele Gegner während des Blood Moon gleichzeitig pro Spieler aktiv sein können.

Beispiel:

`<property name="BloodMoonEnemyCount" value="8"/>`

Ein höherer Wert macht den Blood Moon intensiver, belastet aber auch den Server stärker.

Wenn dein Server während des Blood Moon laggt, reduziere diesen Wert.

### Zombie-Anzahl und Spawns

Mehr Zombies bedeuten mehr Action, aber auch mehr Serverlast.

Achte besonders bei größeren Gruppen oder schwächeren Servern darauf, die Zombie-Anzahl realistisch einzustellen.

Zu viele aktive Gegner können führen zu:

* Lags
* verzögerten Trefferabfragen
* schlechter Performance beim Blood Moon
* längeren Tickzeiten
* höherer CPU-Auslastung

### Loot-Einstellungen ändern

Loot-Einstellungen beeinflussen, wie viele Gegenstände Spieler finden und wie oft Container neu befüllt werden.

Typische Einstellungen:

* `LootAbundance`
* `LootRespawnDays`

### LootAbundance

Diese Einstellung bestimmt, wie viel Loot gefunden wird.

Beispiel:

`<property name="LootAbundance" value="100"/>`

`100` entspricht in vielen Konfigurationen dem normalen Wert.

Beispiele:

| Wert  | Bedeutung      |
| ----- | -------------- |
| `50`  | weniger Loot   |
| `100` | normaler Loot  |
| `150` | mehr Loot      |
| `200` | sehr viel Loot |

### LootRespawnDays

Diese Einstellung legt fest, nach wie vielen Tagen Loot in Containern wieder erscheinen kann.

Beispiel:

`<property name="LootRespawnDays" value="7"/>`

Ein niedriger Wert sorgt für häufigeren Loot-Respawn. Ein hoher Wert macht Ressourcen knapper.

### XP-Multiplikator ändern

Der XP-Multiplikator beeinflusst, wie schnell Spieler Erfahrungspunkte sammeln.

Typische Einstellung:

`XPMultiplier`

Beispiel:

`<property name="XPMultiplier" value="100"/>`

`100` steht für normale Erfahrung.

Beispiele:

| Wert  | Bedeutung           |
| ----- | ------------------- |
| `50`  | halbe Erfahrung     |
| `100` | normale Erfahrung   |
| `150` | 1,5-fache Erfahrung |
| `200` | doppelte Erfahrung  |

Ein hoher XP-Multiplikator beschleunigt den Fortschritt, kann den Server aber schneller „durchgespielt“ wirken lassen.

### PvP und PvE einstellen

Du kannst festlegen, ob Spieler sich gegenseitig Schaden zufügen können.

Typische Einstellung:

`PlayerKillingMode`

Je nach Wert kann PvP erlaubt, eingeschränkt oder deaktiviert sein.

Für private Koop-Server ist PvE meistens sinnvoller. Für öffentliche Survival-Server kann PvP gewünscht sein, sollte aber klar kommuniziert werden.

### Claim- und Land-Protection-Einstellungen

Land Claims schützen Spielerbasen.

Typische Einstellungen können betreffen:

* Größe des Schutzbereichs
* Dauer des Schutzes
* Schutzstärke online
* Schutzstärke offline
* Anzahl erlaubter Claims

Diese Einstellungen sind besonders für öffentliche Server wichtig.

Wenn der Schutz zu schwach ist, kann Griefing leichter passieren. Wenn er zu stark ist, kann PvP oder Basen-Raiding eingeschränkt werden.

### Serverregion und Sprache

Je nach Serverkonfiguration können Region, Sprache oder Serverfilter beeinflussen, wie dein Server gefunden wird.

Wenn dein Server nicht in der Liste erscheint, prüfe:

* Servername
* Passwort
* Region
* Spielversion
* Sichtbarkeit
* Ports
* Filter in der Serverliste

### Änderungen übernehmen

Viele Einstellungen werden erst nach einem Neustart aktiv.

Gehe nach Änderungen so vor:

1. Änderungen speichern.
2. Server starten oder neu starten.
3. Warten, bis der Server vollständig online ist.
4. Verbindung testen.
5. Logs prüfen, falls etwas nicht funktioniert.

### Wenn Einstellungen nicht übernommen werden

Wenn deine Änderungen nicht übernommen werden, prüfe:

* wurde der Server vorher gestoppt?
* wurde die Datei gespeichert?
* wurde der richtige Wert geändert?
* wurde die richtige Datei bearbeitet?
* wurde der Server neu gestartet?
* überschreibt das Panel die Einstellung?
* gibt es einen Tippfehler in der XML-Datei?
* wurde ein ungültiger Wert eingetragen?

### Häufige Fehler

#### Server startet nach Änderung nicht mehr

Dann ist häufig ein Wert ungültig oder die XML-Struktur wurde beschädigt.

Prüfe:

* fehlende Anführungszeichen
* gelöschte Klammern
* falscher Wert
* Sonderzeichen im Servernamen
* beschädigte Datei
* letzte Änderung

Setze testweise die letzte Änderung zurück und starte den Server erneut.

#### Servername ändert sich nicht

Mögliche Ursachen:

* Server wurde nicht neu gestartet
* falsche Datei bearbeitet
* Änderung wurde nicht gespeichert
* Serverliste hat den alten Namen noch zwischengespeichert

Warte einige Minuten und aktualisiere die Serverliste.

#### Neue Welt wird geladen

Wenn plötzlich eine neue Welt erscheint, wurde möglicherweise `GameName`, `GameWorld`, Seed oder Map geändert.

Prüfe die Werte und stelle bei Bedarf den vorherigen Wert wieder her.

#### Passwort funktioniert nicht

Prüfe:

* wurde das Passwort korrekt gespeichert?
* enthält es Sonderzeichen, die Probleme verursachen?
* wurde der Server neu gestartet?
* nutzt du das richtige Passwort?
* wurde versehentlich ein Leerzeichen kopiert?

#### Server laggt nach Änderung

Mögliche Ursachen:

* zu viele Spieler
* zu hohe Zombie-Anzahl
* zu hoher BloodMoonEnemyCount
* zu viel Loot
* große Map
* anspruchsvolle Mods
* viele aktive Gegner

Reduziere testweise besonders die Werte für Spieleranzahl, Zombie-Anzahl und Blood-Moon-Gegner.

### Empfehlungen für Einsteiger

Für einen stabilen Start empfehlen sich moderate Werte.

Beispielhafte Orientierung:

| Einstellung            | Empfehlung                                           |
| ---------------------- | ---------------------------------------------------- |
| Spieleranzahl          | passend zur Serverleistung, zum Beispiel `4` bis `8` |
| Schwierigkeit          | niedrig bis mittel                                   |
| Tageslänge             | `60`                                                 |
| Blood Moon Frequency   | `7`                                                  |
| Blood Moon Enemy Count | moderat halten                                       |
| LootAbundance          | `100`                                                |
| XPMultiplier           | `100`                                                |
| Passwort               | bei privaten Servern aktivieren                      |

Diese Werte sind nur eine Orientierung. Du kannst sie später anpassen.


# Adminrechte vergeben

In diesem Artikel erklären wir dir, wie du einem Spieler auf deinem 7 Days to Die Server Adminrechte gibst.

Adminrechte werden benötigt, wenn du im Spiel administrative Befehle nutzen möchtest. Dazu gehören zum Beispiel Teleportieren, Spieler verwalten, Serverinformationen prüfen oder andere Verwaltungsfunktionen.

### Voraussetzungen

Bevor du Adminrechte vergibst, benötigst du:

* Zugriff auf deinen 7 Days to Die Server im INSTANTPANEL
* die SteamID64 des Spielers
* Zugriff auf die Serverdateien
* einen gestoppten Server oder die Möglichkeit, den Server neu zu starten

**Wichtig:** Vergib Adminrechte nur an Personen, denen du vertraust. Administratoren können je nach Berechtigung Spieler verwalten, Befehle ausführen und den Spielbetrieb beeinflussen.

### Was ist eine SteamID64?

Die SteamID64 ist eine eindeutige Kennung deines Steam-Accounts.

Sie sieht zum Beispiel so aus:

`76561198000000000`

Der Spielername reicht für Adminrechte normalerweise nicht aus. Du benötigst die SteamID64, damit der Server den richtigen Spieler eindeutig erkennt.

### SteamID64 finden

Du kannst deine SteamID64 auf mehreren Wegen finden.

#### Möglichkeit 1: Über dein Steam-Profil

1. Öffne dein Steam-Profil im Browser.
2. Kopiere den Link zu deinem Profil.
3. Nutze einen SteamID-Finder, um daraus die SteamID64 zu ermitteln.
4. Kopiere die angezeigte SteamID64.

#### Möglichkeit 2: Über die Serverlogs

Wenn der Spieler bereits einmal auf dem Server war, kann die SteamID64 häufig in den Logs gefunden werden.

1. Öffne das INSTANTPANEL.
2. Wähle deinen 7 Days to Die Server aus.
3. Öffne die Konsole oder die Logs.
4. Suche nach dem Spielernamen.
5. Kopiere die zugehörige SteamID64.

**Hinweis:** Achte darauf, wirklich die SteamID64 zu verwenden. Andere SteamID-Formate funktionieren nicht immer in der Admin-Konfiguration.

### Admin-Datei öffnen

Die Adminrechte werden bei 7 Days to Die über eine Konfigurationsdatei verwaltet.

Je nach Serverversion und Installation heißt diese Datei häufig:

`serveradmin.xml`

Du findest sie meistens im Save- oder Konfigurationsbereich deines Servers.

Typische Pfade können sein:

| Datei              | Zweck                                              |
| ------------------ | -------------------------------------------------- |
| `serveradmin.xml`  | Verwaltung von Admins, Berechtigungen und Befehlen |
| `serverconfig.xml` | Allgemeine Servereinstellungen                     |

Der genaue Pfad kann je nach Installation abweichen. Suche im Dateimanager nach `serveradmin.xml`.

### Server stoppen

Stoppe den Server, bevor du die Admin-Datei bearbeitest.

Das ist wichtig, damit deine Änderungen nicht überschrieben werden und sauber gespeichert bleiben.

1. Öffne deinen Server im INSTANTPANEL.
2. Klicke auf **Stoppen**.
3. Warte, bis der Server vollständig offline ist.
4. Öffne danach den Dateimanager.

### Spieler als Admin eintragen

Öffne die Datei `serveradmin.xml`.

Suche den Bereich für Admins. Dieser Bereich kann je nach Version unterschiedlich aussehen, enthält aber meistens Einträge für Benutzer und Berechtigungslevel.

Ein Admin-Eintrag sieht sinngemäß so aus:

`<user steamID="76561198000000000" permission_level="0" />`

Dabei gilt:

| Wert               | Bedeutung                       |
| ------------------ | ------------------------------- |
| `steamID`          | SteamID64 des Spielers          |
| `permission_level` | Berechtigungslevel des Spielers |

### Permission-Level verstehen

Bei 7 Days to Die gilt: Je niedriger die Zahl, desto mehr Rechte hat der Spieler.

| Permission-Level | Bedeutung                        |
| ---------------- | -------------------------------- |
| `0`              | Höchste Adminrechte              |
| `1` bis `999`    | Eingeschränkte Adminrechte       |
| `1000`           | Standardspieler ohne Adminrechte |

Für vollständige Adminrechte wird häufig Level `0` verwendet.

**Wichtig:** Nutze Level `0` nur für Personen, denen du vollständig vertraust.

### Beispiel für vollständige Adminrechte

Wenn ein Spieler vollständige Adminrechte erhalten soll, kann der Eintrag so aussehen:

`<user steamID="76561198000000000" permission_level="0" />`

Ersetze `76561198000000000` durch die echte SteamID64 des Spielers.

### Datei speichern

Nachdem du den Eintrag hinzugefügt hast:

1. Speichere die Datei.
2. Prüfe, ob keine Zeichen entfernt wurden.
3. Achte darauf, dass die XML-Struktur korrekt bleibt.
4. Starte den Server neu.

Wenn die XML-Datei fehlerhaft ist, kann der Server die Adminrechte möglicherweise nicht laden.

### Adminrechte im Spiel testen

Nachdem der Server gestartet ist, kann der Spieler dem Server beitreten und die Adminrechte testen.

Öffne im Spiel die Konsole und führe einen Adminbefehl aus.

Ein einfacher Test ist zum Beispiel:

`help`

Je nach Berechtigung sollten weitere Befehle sichtbar oder nutzbar sein.

### Häufige Adminbefehle

Einige häufig genutzte Befehle sind:

| Befehl                   | Zweck                                       |
| ------------------------ | ------------------------------------------- |
| `help`                   | Zeigt verfügbare Befehle an                 |
| `listplayers`            | Zeigt verbundene Spieler an                 |
| `kick Spielername`       | Entfernt einen Spieler vom Server           |
| `ban add Spielername`    | Sperrt einen Spieler                        |
| `tele Spieler1 Spieler2` | Teleportiert einen Spieler zu einem anderen |
| `saveworld`              | Speichert die Welt                          |
| `shutdown`               | Fährt den Server herunter                   |

Die verfügbaren Befehle hängen vom Berechtigungslevel und der Serverversion ab.

### Adminrechte wieder entfernen

Wenn du einem Spieler die Adminrechte entziehen möchtest:

1. Stoppe den Server.
2. Öffne die Datei `serveradmin.xml`.
3. Entferne den entsprechenden Eintrag.
4. Speichere die Datei.
5. Starte den Server neu.

Danach sollte der Spieler keine Adminrechte mehr haben.

### Häufige Probleme

#### Adminrechte funktionieren nicht

Prüfe:

* wurde die richtige SteamID64 verwendet?
* wurde der Server nach der Änderung neu gestartet?
* ist der XML-Eintrag korrekt geschrieben?
* steht der Eintrag im richtigen Bereich der Datei?
* wurde die Datei wirklich gespeichert?

#### Falscher Spieler hat Adminrechte

Dann wurde wahrscheinlich eine falsche SteamID64 eingetragen.

Entferne den Eintrag und trage die richtige SteamID64 ein.

#### Datei wurde überschrieben

Wenn du die Datei bearbeitest, während der Server läuft, können Änderungen überschrieben werden.

Stoppe den Server vor der Bearbeitung und speichere die Datei erst danach.

#### Server startet nach Änderung nicht

Dann ist möglicherweise die XML-Datei fehlerhaft.

Prüfe besonders:

* fehlende Anführungszeichen
* falsch geschlossene Tags
* versehentlich gelöschte Zeilen
* doppelte oder fehlerhafte Einträge

Wenn du ein Backup hast, stelle die vorherige Version der Datei wieder her.

### Sicherheit

Adminrechte geben Spielern weitreichende Kontrolle über den Server.

Beachte deshalb:

* vergib Adminrechte nur an vertrauenswürdige Personen
* nutze vollständige Rechte nur, wenn nötig
* entferne alte Admins, wenn sie nicht mehr benötigt werden
* erstelle vor Änderungen ein Backup
* teile keine Panel-Zugangsdaten mit anderen Spielern


# 7 Days to Die Server startet nicht

Ein häufiger Grund ist ein fehlender oder falsch gesetzter Telnet-Port in den Startoptionen. Der Telnet-Port wird von 7 Days to Die für bestimmte Verwaltungsfunktionen benötigt. Wenn dort kein gültiger Port eingetragen ist oder ein alter Port verwendet wird, kann der Server beim Start Probleme machen.

### Häufiges Problem nach der Bestellung

Nach der Bestellung kann es vorkommen, dass im INSTANTPANEL unter den Startoptionen im Feld **Telnet** bereits ein Port steht, zum Beispiel `8081`.

Dieser Port sollte nicht einfach unverändert genutzt werden.

Stattdessen muss ein eigener Port über den Netzwerk-Bereich erstellt und anschließend in den Startoptionen eingetragen werden.

### 1. Server stoppen

Öffne zuerst deinen 7 Days to Die Server im INSTANTPANEL.

Falls der Server gerade läuft oder im Startvorgang hängt, stoppe ihn zuerst vollständig.

Warte danach einige Sekunden, bis der Server wirklich offline ist.

### 2. Startoptionen öffnen

Öffne im INSTANTPANEL den Bereich **Startoptionen**.

Suche dort nach dem Feld **Telnet** oder **Telnet Port**.

Wenn dort bereits ein Port wie `8081` eingetragen ist, entferne diesen Wert zuerst.

Das Feld sollte danach leer sein.

### 3. Neuen Port im Netzwerk-Bereich erstellen

Wechsle nun in den Tab **Netzwerk**.

Erstelle dort oben eine neue Zuweisung.

Nach dem Erstellen wird ein neuer Port angezeigt.

Diesen neuen Port brauchst du gleich für das Telnet-Feld.

### 4. Richtigen Port kopieren

Kopiere den neu erstellten Port.

Achte dabei darauf, dass du nicht den Port verwendest, der als **Primär** markiert ist.

Der primäre Port ist in der Regel der Hauptport des Gameservers. Für Telnet soll ein zusätzlicher Port verwendet werden.

| Port-Typ                | Verwendung                |
| ----------------------- | ------------------------- |
| Primärer Port           | Hauptport des Gameservers |
| Neuer zusätzlicher Port | Für Telnet verwenden      |

### 5. Port in den Startoptionen eintragen

Gehe zurück zu **Startoptionen**.

Trage den neu erstellten zusätzlichen Port in das Feld **Telnet** ein.

Speichere die Änderung.

### 6. Server starten

Starte den 7 Days to Die Server anschließend erneut.

Der Server sollte nun problemlos starten.

Der erste Start kann je nach Server, Weltgröße und Einstellungen etwas dauern. Warte deshalb einige Minuten und prüfe währenddessen die Konsole.

### Wichtig

Verwende für das Telnet-Feld nicht den primären Port.

Wenn du versehentlich den primären Port einträgst, kann es weiterhin zu Startproblemen oder Verbindungsproblemen kommen.

Der Telnet-Port muss ein zusätzlicher Port aus dem Netzwerk-Bereich sein.

### Woran erkenne ich den richtigen Port?

Der richtige Port ist der Port, den du im Tab **Netzwerk** neu erstellt hast.

Er darf nicht als **Primär** markiert sein.

Wenn du mehrere zusätzliche Ports hast und unsicher bist, kannst du einen neuen Port erstellen und genau diesen für Telnet verwenden.

### Warum ist der Telnet-Port wichtig?

7 Days to Die nutzt mehrere Ports.

Der Hauptport ist für die Spielverbindung zuständig. Darüber verbinden sich Spieler mit dem Server.

Der Telnet-Port ist ein zusätzlicher Verwaltungsport. Wenn dieser falsch gesetzt ist oder mit einem anderen Port kollidiert, kann der Server nicht korrekt starten.


# FiveM


# Mit dem FiveM Server verbinden

In diesem Artikel erklären wir dir, wie du dich mit deinem FiveM Server verbindest und wo du die benötigte Serveradresse im INSTANTPANEL findest.

Damit die Verbindung funktioniert, muss dein FiveM Server gestartet sein. Außerdem benötigst du den FiveM Client und die richtige Serveradresse.

### Voraussetzungen

Bevor du dich verbindest, benötigst du:

* einen gestarteten FiveM Server
* die Serveradresse aus dem INSTANTPANEL
* den Server-Port, falls dieser zusätzlich angegeben ist
* den FiveM Client
* eine installierte Version von Grand Theft Auto V

**Hinweis:** FiveM ist eine Multiplayer-Modifikation für Grand Theft Auto V. Du brauchst deshalb eine gültige GTA-V-Installation, damit du FiveM nutzen kannst.

### Serveradresse im INSTANTPANEL finden

Die Serveradresse findest du direkt in deinem INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen FiveM Server aus.
4. Öffne die Serverübersicht.
5. Kopiere die angezeigte Serveradresse.

Eine FiveM-Adresse besteht meistens aus einer IP-Adresse und einem Port.

Beispiel: `123.123.123.123:30120`

Der Teil vor dem Doppelpunkt ist die IP-Adresse. Der Teil nach dem Doppelpunkt ist der Port.

| Bestandteil       | Bedeutung              |
| ----------------- | ---------------------- |
| `123.123.123.123` | IP-Adresse des Servers |
| `30120`           | Port des FiveM Servers |

**Wichtig:** Kopiere die Serveradresse möglichst direkt aus dem INSTANTPANEL. Tippfehler, Leerzeichen oder ein falscher Port führen häufig dazu, dass die Verbindung fehlschlägt.

### Verbindung über den FiveM Client

Du kannst deinen Server direkt über den FiveM Client suchen und betreten.

1. Starte FiveM.
2. Öffne den Bereich **Play**.
3. Suche nach deinem Servernamen.
4. Wähle deinen Server aus.
5. Klicke auf **Connect**.

Wenn dein Server neu eingerichtet wurde, kann es etwas dauern, bis er in der öffentlichen Serverliste erscheint.

### Verbindung über direkte Adresse

Wenn dein Server nicht in der Serverliste angezeigt wird, kannst du dich direkt über die Serveradresse verbinden.

1. Starte FiveM.
2. Drücke `F8`, um die Konsole zu öffnen.
3. Gib den Verbindungsbefehl ein.
4. Bestätige mit Enter.

Beispiel: `connect 123.123.123.123:30120`

Ersetze `123.123.123.123:30120` durch die Serveradresse aus deinem INSTANTPANEL.

**Hinweis:** Die direkte Verbindung über `connect` ist besonders hilfreich, wenn dein Server noch nicht in der Serverliste sichtbar ist.

### Verbindung über cfx.re-Link

Manche FiveM Server können auch über einen cfx.re-Link betreten werden.

Beispiel: `cfx.re/join/abc123`

Wenn dir ein solcher Link angezeigt oder bereitgestellt wird, kannst du ihn im Browser öffnen oder direkt in FiveM verwenden.

**Hinweis:** Ein cfx.re-Link ist nicht dasselbe wie die direkte IP-Adresse. Wenn ein cfx.re-Link nicht funktioniert, teste zusätzlich die direkte Verbindung über `connect IP:PORT`.

### Server wird nicht in der Liste angezeigt

Wenn dein Server nicht in der FiveM-Serverliste erscheint, bedeutet das nicht automatisch, dass er offline ist.

Mögliche Ursachen:

* der Server wurde gerade erst gestartet
* der Server ist noch nicht vollständig geladen
* der Servername wurde gerade geändert
* der FiveM License Key fehlt oder ist ungültig
* die `server.cfg` ist fehlerhaft
* der Server ist nicht öffentlich gelistet
* FiveM aktualisiert die Serverliste verzögert
* ein Ressourcenfehler verhindert den vollständigen Start

Teste zuerst die direkte Verbindung über die F8-Konsole.

Beispiel: `connect 123.123.123.123:30120`

### Richtigen Port verwenden

Der Standardport für FiveM ist meistens `30120`.

Trotzdem kann dein Server einen anderen Port verwenden. Nutze deshalb immer die Serveradresse aus dem INSTANTPANEL.

Beispiele:

| Adresse                 | Bedeutung         |
| ----------------------- | ----------------- |
| `123.123.123.123:30120` | Standardport      |
| `123.123.123.123:30125` | abweichender Port |

Wenn du den Port weglässt oder einen falschen Port verwendest, kann FiveM den Server nicht erreichen.

### Häufige Probleme

#### Verbindung schlägt fehl

Wenn die Verbindung fehlschlägt, prüfe zuerst:

* Ist der Server im INSTANTPANEL gestartet?
* Ist die Serveradresse korrekt?
* Ist der Port korrekt?
* Hast du FiveM vollständig gestartet?
* Ist GTA V korrekt installiert?
* Gibt es Fehlermeldungen in der FiveM-Konsole?
* Zeigt die Serverkonsole im INSTANTPANEL Fehler?

#### Server ist offline

Wenn FiveM den Server als offline anzeigt, kann das mehrere Gründe haben.

Prüfe:

* Serverstatus im INSTANTPANEL
* Serverkonsole
* letzte Fehlermeldungen
* `server.cfg`
* License Key
* installierte Ressourcen

Ein FiveM Server kann als offline erscheinen, obwohl er gerade noch startet oder durch einen Fehler nicht vollständig geladen wurde.

#### Serverliste zeigt den Server nicht

Wenn dein Server nicht in der öffentlichen Liste erscheint, teste zuerst die direkte Verbindung.

Mögliche Ursachen:

* Serverliste wurde noch nicht aktualisiert
* Server wurde gerade neu gestartet
* Servername wurde geändert
* License Key fehlt
* `sv_master1` oder Listing-Einstellungen sind falsch
* Server ist nicht vollständig gestartet

**Hinweis:** Die Serverliste ist nicht immer sofort aktuell. Eine direkte Verbindung über IP und Port ist zuverlässiger zum Testen.

#### F8-Konsole öffnet sich nicht

Die F8-Konsole öffnet sich normalerweise mit der Taste `F8`.

Wenn das nicht funktioniert:

* prüfe, ob FiveM aktiv im Vordergrund ist
* nutze eine Tastatur ohne aktivierte Sonderfunktion
* prüfe, ob `Fn + F8` nötig ist
* starte FiveM neu
* teste eine andere Tastaturbelegung

#### Fehlermeldung beim Verbinden

FiveM kann unterschiedliche Fehlermeldungen anzeigen.

Häufige Ursachen sind:

* fehlende oder beschädigte Client-Dateien
* veralteter FiveM Client
* Serverressourcen laden nicht korrekt
* Steam oder Rockstar-Dienste sind nicht erreichbar
* der Server nutzt Ressourcen, die beim Beitreten Fehler verursachen
* der Server ist nicht vollständig gestartet

Starte FiveM neu und teste die Verbindung erneut. Prüfe außerdem die Serverkonsole im INSTANTPANEL.

#### Verbindung bleibt bei „Downloading content“ hängen

Beim Beitritt lädt FiveM Serverinhalte herunter.

Wenn der Vorgang hängen bleibt, kann das an großen oder fehlerhaften Ressourcen liegen.

Mögliche Ursachen:

* sehr große Fahrzeug-, Mapping- oder Kleidungspakete
* fehlerhafte Ressource
* langsame Verbindung
* Cache-Problem im FiveM Client
* Server ist überlastet
* Datei fehlt oder ist beschädigt

Teste zuerst einen Neustart von FiveM. Wenn nur dein Server betroffen ist, prüfe die zuletzt installierten Ressourcen.

#### Verbindung bricht beim Laden ab

Wenn die Verbindung während des Ladens abbricht, prüfe:

* Konsole im INSTANTPANEL
* FiveM-Client-Fehlermeldung
* zuletzt installierte Ressourcen
* Datenbankverbindung
* `server.cfg`
* License Key
* Ressourcenreihenfolge

Häufig liegt die Ursache an einer Ressource, die beim Spielerbeitritt Fehler verursacht.

### Direkte Verbindung testen

Wenn du prüfen möchtest, ob dein Server grundsätzlich erreichbar ist, nutze immer zuerst die direkte Verbindung.

1. Starte FiveM.
2. Öffne die F8-Konsole.
3. Gib `connect SERVERADRESSE` ein.
4. Ersetze `SERVERADRESSE` durch deine IP mit Port.

Beispiel: `connect 123.123.123.123:30120`

Wenn diese Verbindung funktioniert, ist dein Server erreichbar. Wenn er trotzdem nicht in der Liste erscheint, liegt das Problem eher an der Serverliste, dem Listing oder der Konfiguration.


# Server.cfg verstehen und bearbeiten

Die `server.cfg` ist eine der wichtigsten Dateien deines FiveM Servers. In dieser Datei legst du grundlegende Einstellungen fest, startest Ressourcen und hinterlegst wichtige Werte wie Servername, Slots, License Key oder Datenbankverbindung.

Wenn dein FiveM Server nicht startet, nicht in der Serverliste erscheint oder bestimmte Ressourcen nicht geladen werden, liegt die Ursache häufig in der `server.cfg`.

### Was ist die server.cfg?

Die `server.cfg` ist die zentrale Konfigurationsdatei deines FiveM Servers.

Dort wird festgelegt:

* unter welchem Namen dein Server angezeigt wird
* wie viele Spieler verbinden können
* welche Ressourcen beim Start geladen werden
* welcher License Key verwendet wird
* welche Tags und Beschreibungen angezeigt werden
* ob bestimmte Funktionen aktiviert oder deaktiviert sind
* wie sich der Server mit einer Datenbank verbindet

Die Datei wird beim Start des Servers geladen. Änderungen an der `server.cfg` werden deshalb meistens erst nach einem Neustart aktiv.

### Wo finde ich die server.cfg?

Du findest die `server.cfg` im Dateimanager deines FiveM Servers im INSTANTPANEL.

Je nach Serverstruktur liegt die Datei häufig im Hauptverzeichnis deines Servers oder in einem Konfigurationsordner.

Typische Speicherorte sind:

* `server.cfg`
* `/home/container/server.cfg`
* `/txData/default/server.cfg`
* `/txData/[Profilname]/server.cfg`

Wenn du txAdmin verwendest, kann die aktive `server.cfg` in einem txAdmin-Profilordner liegen. Achte deshalb darauf, wirklich die Datei zu bearbeiten, die dein Server beim Start verwendet.

### server.cfg bearbeiten

Gehe so vor:

1. Öffne das INSTANTPANEL.
2. Wähle deinen FiveM Server aus.
3. Öffne den Dateimanager.
4. Suche die Datei `server.cfg`.
5. Öffne die Datei im Editor.
6. Nimm die gewünschten Änderungen vor.
7. Speichere die Datei.
8. Starte den Server neu.

**Wichtig:** Erstelle vor größeren Änderungen ein Backup der Datei. So kannst du bei Fehlern schnell zur vorherigen Version zurückkehren.

### Aufbau der server.cfg

Eine `server.cfg` besteht aus einzelnen Befehlen und Einstellungen.

Ein einfacher Eintrag sieht zum Beispiel so aus:

`sv_hostname "Mein FiveM Server"`

Der erste Teil ist der Befehl oder die Einstellung.

Der zweite Teil ist der Wert.

Bei Texten werden häufig Anführungszeichen verwendet.

Beispiel:

| Bestandteil           | Bedeutung                       |
| --------------------- | ------------------------------- |
| `sv_hostname`         | Einstellung für den Servernamen |
| `"Mein FiveM Server"` | angezeigter Name des Servers    |

### Kommentare verwenden

Kommentare sind Zeilen, die nicht ausgeführt werden.

Sie dienen nur als Notiz oder Erklärung.

In der `server.cfg` werden Kommentare meistens mit `#` geschrieben.

Beispiel:

`# Das ist ein Kommentar`

Du kannst Kommentare nutzen, um deine Konfiguration übersichtlicher zu machen.

Beispiel:

`# Servername und Beschreibung`

`sv_hostname "Mein FiveM Roleplay"`

### Wichtige Einstellungen

In der `server.cfg` gibt es einige Einstellungen, die besonders häufig verwendet werden.

| Einstellung                   | Bedeutung                       |
| ----------------------------- | ------------------------------- |
| `sv_hostname`                 | Name des Servers                |
| `sets sv_projectName`         | Projektname in der Serverliste  |
| `sets sv_projectDesc`         | Beschreibung in der Serverliste |
| `sv_maxclients`               | maximale Spieleranzahl          |
| `sv_licenseKey`               | FiveM License Key               |
| `ensure`                      | startet eine Ressource          |
| `set mysql_connection_string` | Datenbankverbindung             |
| `sets tags`                   | Tags für die Serverliste        |
| `locale`                      | Sprache oder Region             |
| `endpoint_add_tcp`            | TCP-Portbindung                 |
| `endpoint_add_udp`            | UDP-Portbindung                 |

### Servername ändern

Der Servername wird mit `sv_hostname` gesetzt.

Beispiel:

`sv_hostname "INSTANTROOT FiveM Server"`

Nach dem Speichern musst du den Server neu starten.

Der Name wird anschließend im FiveM Client und teilweise auch in der Serverliste angezeigt.

### Projektname und Beschreibung ändern

Für die Serverliste werden häufig zusätzlich Projektname und Beschreibung verwendet.

Beispiel:

`sets sv_projectName "INSTANTROOT Roleplay"`

`sets sv_projectDesc "Deutscher FiveM Roleplay Server"`

Der Projektname ist eine kurze Bezeichnung. Die Beschreibung kann etwas genauer erklären, worum es auf dem Server geht.

### Maximale Spieleranzahl ändern

Die maximale Spieleranzahl wird über `sv_maxclients` festgelegt.

Beispiel:

`sv_maxclients 32`

Der Wert legt fest, wie viele Spieler gleichzeitig auf deinen Server verbinden können.

**Hinweis:** Setze die Spielerzahl realistisch. Mehr Slots bedeuten nicht automatisch, dass der Server stabil mit so vielen Spielern läuft. Die tatsächliche Leistung hängt von Ressourcen, Scripts, Fahrzeugen, Datenbank und Serverauslastung ab.

### FiveM License Key eintragen

Damit ein FiveM Server korrekt funktioniert, wird ein License Key benötigt.

Der Eintrag sieht so aus:

`sv_licenseKey "dein_license_key"`

Achte darauf, den Key vollständig und ohne zusätzliche Leerzeichen einzutragen.

**Wichtig:** Gib deinen License Key nicht öffentlich weiter. Der Key gehört zu deinem Server und sollte nicht in Screenshots, öffentlichen Logs oder Supportanfragen sichtbar sein.

### Ressourcen starten

Ressourcen werden in FiveM über `ensure` gestartet.

Beispiel:

`ensure chat`

`ensure spawnmanager`

`ensure sessionmanager`

`ensure hardcap`

`ensure mysql-async`

`ensure mein_script`

Der Name hinter `ensure` muss exakt dem Ordnernamen der Ressource entsprechen.

Beispiel:

Wenn der Ressourcenordner so heißt:

`mein-polizei-script`

Dann muss der Eintrag so aussehen:

`ensure mein-polizei-script`

### Unterschied zwischen ensure und start

In älteren Konfigurationen wird häufig `start` verwendet.

Beispiel:

`start mein_script`

Heute wird meistens `ensure` empfohlen.

`ensure` sorgt dafür, dass eine Ressource gestartet wird und bei Bedarf wieder gestartet werden kann, falls sie gestoppt wurde.

Für neue Einträge solltest du in der Regel `ensure` verwenden.

### Reihenfolge von Ressourcen

Die Reihenfolge in der `server.cfg` ist wichtig.

Manche Ressourcen benötigen andere Ressourcen, bevor sie starten können.

Beispiel:

* zuerst Framework
* dann Datenbankressource
* dann Abhängigkeiten
* danach eigene Scripts

Eine typische Reihenfolge kann so aussehen:

1. Grundressourcen
2. Datenbankressource
3. Framework, zum Beispiel ESX oder QBCore
4. Abhängigkeiten
5. Jobs, Systeme und Scripts
6. Maps, Fahrzeuge und Kleidung

Wenn eine Ressource vor ihrer Abhängigkeit startet, kann sie Fehler verursachen oder nicht funktionieren.

### Datenbankverbindung eintragen

Viele FiveM Server verwenden eine Datenbank, besonders Roleplay-Server mit ESX oder QBCore.

Die Datenbankverbindung wird meistens über einen Connection String gesetzt.

Beispiel:

`set mysql_connection_string "mysql://benutzer:passwort@host/datenbank?charset=utf8mb4"`

Die Werte müssen zu deiner Datenbank passen.

| Bestandteil       | Bedeutung                                |
| ----------------- | ---------------------------------------- |
| `benutzer`        | Datenbankbenutzer                        |
| `passwort`        | Passwort des Datenbankbenutzers          |
| `host`            | Datenbankserver                          |
| `datenbank`       | Name der Datenbank                       |
| `charset=utf8mb4` | Zeichensatz für Sonderzeichen und Emojis |

**Wichtig:** Wenn dein Datenbankpasswort Sonderzeichen enthält, kann es sein, dass der Connection String angepasst werden muss. Prüfe bei Datenbankfehlern immer zuerst Benutzername, Passwort, Host und Datenbankname.

### Tags setzen

Tags helfen dabei, den Server in der FiveM Serverliste einzuordnen.

Beispiel:

`sets tags "german, roleplay, esx, economy"`

Verwende passende Tags und vermeide falsche oder irreführende Angaben.

### Sprache und Region setzen

Je nach Konfiguration kannst du eine Sprache oder Region setzen.

Beispiel:

`sets locale "de-DE"`

Das hilft Spielern, deinen Server besser einzuordnen.

### Ports und Endpoints

In vielen FiveM-Konfigurationen findest du Einträge wie:

`endpoint_add_tcp "0.0.0.0:30120"`

`endpoint_add_udp "0.0.0.0:30120"`

Diese Einträge legen fest, auf welchem Port der Server Verbindungen annimmt.

Der Standardport für FiveM ist häufig `30120`.

**Wichtig:** Ändere diese Werte nur, wenn du genau weißt, was du tust oder der Support dich dazu auffordert. Falsche Portwerte können dazu führen, dass dein Server nicht mehr erreichbar ist.

### OneSync

OneSync ist eine wichtige FiveM-Funktion für moderne Server.

Je nach Serverkonfiguration kann OneSync über die Konfiguration oder über txAdmin verwaltet werden.

Typische Einträge können sein:

`set onesync on`

oder:

`set onesync legacy`

oder:

`set onesync infinity`

Welche Einstellung sinnvoll ist, hängt von deinem Server, deinen Scripts und deiner FiveM-Version ab.

### Icon und Banner

Einige Server verwenden eigene Bilder für die Darstellung in der Serverliste.

Je nach Konfiguration können dafür Dateien und Einträge in der `server.cfg` genutzt werden.

Beispiel:

`load_server_icon logo.png`

Die Datei muss im richtigen Verzeichnis liegen und korrekt benannt sein.

### sv\_scriptHookAllowed

Mit `sv_scriptHookAllowed` wird festgelegt, ob ScriptHook erlaubt ist.

Beispiel:

`sv_scriptHookAllowed 0`

Für öffentliche Roleplay-Server sollte ScriptHook in der Regel deaktiviert sein.

| Wert | Bedeutung              |
| ---- | ---------------------- |
| `0`  | ScriptHook deaktiviert |
| `1`  | ScriptHook aktiviert   |

**Wichtig:** Aktiviere ScriptHook nur, wenn du genau weißt, warum du es brauchst. Auf öffentlichen Servern kann es ein Sicherheitsrisiko darstellen.

### RCON

RCON ermöglicht entfernte Serverbefehle.

Wenn RCON verwendet wird, sollte ein sicheres Passwort gesetzt werden.

Beispiel:

`rcon_password "sehr_sicheres_passwort"`

**Wichtig:** Verwende kein einfaches Passwort und veröffentliche den RCON-Zugang niemals. Wer Zugriff auf RCON hat, kann administrative Befehle ausführen.

### Beispielstruktur einer server.cfg

Eine einfache Struktur kann so aussehen:

| Bereich      | Beispiel                                                                  |
| ------------ | ------------------------------------------------------------------------- |
| Netzwerk     | `endpoint_add_tcp "0.0.0.0:30120"`                                        |
| Netzwerk     | `endpoint_add_udp "0.0.0.0:30120"`                                        |
| Servername   | `sv_hostname "Mein FiveM Server"`                                         |
| Beschreibung | `sets sv_projectDesc "Deutscher Roleplay Server"`                         |
| Slots        | `sv_maxclients 32`                                                        |
| License Key  | `sv_licenseKey "dein_license_key"`                                        |
| Datenbank    | `set mysql_connection_string "mysql://user:pass@host/db?charset=utf8mb4"` |
| Ressource    | `ensure chat`                                                             |
| Ressource    | `ensure mein_script`                                                      |

### Häufige Fehler in der server.cfg

#### Fehlende Anführungszeichen

Texte sollten häufig in Anführungszeichen stehen.

Falsch:

`sv_hostname Mein FiveM Server`

Besser:

`sv_hostname "Mein FiveM Server"`

#### Falscher Ressourcenname

Der Name bei `ensure` muss exakt dem Ordnernamen entsprechen.

Wenn der Ordner `policejob` heißt, muss auch `ensure policejob` eingetragen werden.

#### Ressource liegt im falschen Ordner

Ressourcen müssen im richtigen `resources`-Ordner liegen.

Wenn eine Ressource nicht gefunden wird, prüfe:

* liegt der Ordner im richtigen Verzeichnis?
* ist die Ressource entpackt?
* gibt es keine doppelte Unterordnerstruktur?
* stimmt der Name in der `server.cfg`?

#### Doppelte Einträge

Doppelte oder widersprüchliche Einträge können Probleme verursachen.

Beispiel:

`sv_maxclients 32`

und später:

`sv_maxclients 64`

In diesem Fall kann unklar sein, welcher Wert aktiv ist. Halte deine Datei sauber und entferne alte Einträge.

#### Falscher License Key

Ein falscher oder fehlender License Key kann dazu führen, dass der Server nicht korrekt startet oder nicht sichtbar ist.

Prüfe:

* Key vollständig kopiert?
* keine Leerzeichen?
* richtige IP bei der Key-Erstellung verwendet?
* Key nicht abgelaufen oder gesperrt?

#### Fehlerhafte Datenbankverbindung

Wenn ESX, QBCore oder andere Ressourcen Datenbankfehler anzeigen, prüfe:

* Datenbankhost
* Benutzername
* Passwort
* Datenbankname
* importierte SQL-Dateien
* verwendete MySQL-Ressource, zum Beispiel `oxmysql`

#### Falsche Startreihenfolge

Wenn Ressourcen Abhängigkeiten benötigen, müssen diese vorher gestartet werden.

Beispiel:

`ensure oxmysql`

`ensure es_extended`

`ensure esx_policejob`

Hier muss `oxmysql` vor ESX starten, und ESX vor den ESX-Jobs.

### Nach Änderungen immer neu starten

Viele Änderungen in der `server.cfg` werden erst nach einem Neustart aktiv.

Nach dem Speichern solltest du deshalb:

1. Server stoppen.
2. Einige Sekunden warten.
3. Server wieder starten.
4. Konsole prüfen.
5. Fehler oder Warnungen beachten.

Ein einfacher Neustart reicht meistens aus. Bei größeren Problemen ist ein kompletter Stop-und-Start oft sauberer.

### Konsole nach Fehlern prüfen

Nach jeder Änderung solltest du die Konsole prüfen.

Achte besonders auf Meldungen wie:

* `Couldn't find resource`
* `Failed to load resource`
* `Access denied`
* `You lack the required entitlement`
* `sv_licenseKey was not specified`
* `Could not connect to database`
* `Error parsing script`
* `No such export`
* `Started resource`
* `Stopping resource`

Nicht jede Warnung ist kritisch. Wiederkehrende Fehler sollten aber geprüft werden.

### Schritt-für-Schritt: Änderung sicher testen

Wenn du eine Änderung an der `server.cfg` vornehmen möchtest, gehe so vor:

1. Backup der aktuellen `server.cfg` erstellen.
2. Nur eine Änderung durchführen.
3. Datei speichern.
4. Server neu starten.
5. Konsole prüfen.
6. Funktion testen.
7. Erst danach die nächste Änderung durchführen.

Ändere nicht zu viele Dinge gleichzeitig. Sonst ist später schwer erkennbar, welche Änderung ein Problem verursacht hat.

### Server startet nach Änderung nicht mehr

Wenn der Server nach einer Änderung nicht mehr startet, gehe so vor:

1. Öffne die Konsole.
2. Prüfe die letzte Fehlermeldung.
3. Öffne die `server.cfg`.
4. Mache die letzte Änderung rückgängig.
5. Prüfe Anführungszeichen und Schreibweise.
6. Speichere die Datei.
7. Starte den Server neu.

Wenn du ein Backup erstellt hast, kannst du die vorherige Version wiederherstellen.

### Server wird nicht in der Liste angezeigt

Wenn dein Server läuft, aber nicht in der FiveM Serverliste sichtbar ist, prüfe:

* ist der License Key korrekt?
* ist der Server vollständig gestartet?
* ist `sv_hostname` gesetzt?
* sind Ports korrekt?
* ist der Server direkt per IP erreichbar?
* blockiert eine fehlerhafte Ressource den Start?
* wurde der Server gerade erst gestartet?

Die Serverliste kann etwas Zeit benötigen. Teste zusätzlich immer die direkte Verbindung.


# FiveM License Key einrichten

In diesem Artikel erklären wir dir, wie du einen FiveM License Key erstellst und in deinem FiveM Server einträgst.

Ein FiveM Server benötigt einen gültigen License Key, damit er korrekt mit den Cfx.re-Diensten verbunden werden kann. Ohne gültigen Key startet der Server entweder nicht richtig oder wird nicht korrekt in der FiveM-Serverliste angezeigt.

### Was ist ein FiveM License Key?

Ein FiveM License Key ist ein Server-Schlüssel von Cfx.re.

Dieser Schlüssel verknüpft deinen FiveM Server mit deinem Cfx.re-Konto und wird in der Serverkonfiguration hinterlegt.

Der Key ist notwendig, damit dein Server von FiveM korrekt erkannt und verwendet werden kann. In der offiziellen FiveM-Dokumentation wird der License Key in der Datei `server.cfg` über `sv_licenseKey "licenseKeyGoesHere"` gesetzt. :contentReference\[oaicite:0]{index=0}

### Voraussetzungen

Du benötigst:

* einen aktiven FiveM Gameserver
* Zugriff auf das INSTANTPANEL
* ein Cfx.re-Konto
* Zugriff auf den Cfx.re Keymaster
* die IP-Adresse deines FiveM Servers
* Zugriff auf die Datei `server.cfg`

Den Keymaster erreichst du über das offizielle Cfx.re Keymaster-Portal. Dort meldest du dich mit deinem Cfx.re/FiveM-Konto an und verwaltest deine Serverregistrierungen. :contentReference\[oaicite:1]{index=1}

### License Key im Cfx.re Keymaster erstellen

Gehe so vor:

1. Öffne den Cfx.re Keymaster.
2. Melde dich mit deinem Cfx.re-Konto an.
3. Öffne den Bereich für Server oder Serverregistrierungen.
4. Erstelle einen neuen Server-Key.
5. Trage die benötigten Serverdaten ein.
6. Verwende die IP-Adresse deines FiveM Servers.
7. Erstelle den Key.
8. Kopiere den erzeugten License Key.

Je nach Cfx.re-Oberfläche können die Bezeichnungen leicht abweichen. Der Bereich wird häufig als Keymaster, Server, Serverregistrierung oder Server Key bezeichnet.

### Welche IP-Adresse muss ich eintragen?

Verwende die IP-Adresse deines FiveM Servers aus dem INSTANTPANEL.

Wichtig ist die Server-IP, nicht deine private IP-Adresse zu Hause.

Beispiel:

| Falsch               | Richtig                           |
| -------------------- | --------------------------------- |
| deine eigene Heim-IP | IP-Adresse aus dem INSTANTPANEL   |
| IP von deinem PC     | IP deines FiveM Servers           |
| Domain ohne Prüfung  | Server-IP aus der Panel-Übersicht |

Wenn du die falsche IP-Adresse einträgst, kann der Key später nicht korrekt funktionieren.

### License Key im INSTANTPANEL eintragen

Nachdem du den Key erstellt hast, musst du ihn in deiner FiveM-Konfiguration eintragen.

1. Öffne das INSTANTPANEL.
2. Wähle deinen FiveM Server aus.
3. Stoppe den Server.
4. Öffne den Dateimanager.
5. Öffne die Datei `server.cfg`.
6. Suche nach dem Eintrag `sv_licenseKey`.
7. Trage dort deinen License Key ein.
8. Speichere die Datei.
9. Starte den Server wieder.

Der Eintrag sieht so aus:

`sv_licenseKey "dein_license_key"`

Ersetze `dein_license_key` durch deinen echten License Key.

### Beispiel

So kann der Eintrag in der `server.cfg` aussehen:

`sv_licenseKey "cfxk_123456789abcdef"`

Der tatsächliche Key sieht bei dir anders aus. Kopiere ihn immer direkt aus dem Cfx.re Keymaster.

### Wenn bereits ein Key eingetragen ist

In manchen Servervorlagen ist bereits eine Zeile für den License Key vorbereitet.

Beispiel:

`sv_licenseKey ""`

Trage deinen Key zwischen die Anführungszeichen ein.

Danach sollte die Zeile so aussehen:

`sv_licenseKey "dein_license_key"`

Achte darauf, dass die Zeile nicht doppelt vorhanden ist.

### Häufige Fehler beim Eintragen

Prüfe besonders diese Punkte:

* der Key wurde vollständig kopiert
* es fehlt kein Zeichen
* es wurde kein Leerzeichen am Anfang oder Ende mitkopiert
* der Key steht in der richtigen Datei
* die Datei heißt `server.cfg`
* der Server wurde nach der Änderung neu gestartet
* die Zeile beginnt mit `sv_licenseKey`
* der Key wurde für die richtige Server-IP erstellt
* der Key wurde nicht versehentlich in eine auskommentierte Zeile geschrieben

### Server nach Änderung neu starten

Änderungen an der `server.cfg` werden normalerweise erst nach einem Neustart wirksam.

Stoppe den Server deshalb vollständig und starte ihn danach neu.

Ein reiner Reconnect im FiveM Client reicht nicht aus.

### Typische Fehlermeldungen

#### This server does not have a license key specified

Diese Meldung bedeutet, dass der Server keinen License Key findet.

Mögliche Ursachen:

* `sv_licenseKey` fehlt in der `server.cfg`
* der Key wurde nicht gespeichert
* die falsche Konfigurationsdatei wurde bearbeitet
* die Zeile ist auskommentiert
* der Server wurde nach der Änderung nicht neu gestartet

Lösung:

Prüfe die `server.cfg`, trage den Key erneut ein, speichere die Datei und starte den Server neu.

#### Invalid license key

Diese Meldung bedeutet, dass der eingetragene Key nicht gültig ist oder nicht akzeptiert wird.

Mögliche Ursachen:

* Key falsch kopiert
* Key ist unvollständig
* falsche IP-Adresse im Keymaster verwendet
* Key wurde gelöscht oder ersetzt
* Key gehört zu einem anderen Cfx.re-Konto
* Key wurde in der `server.cfg` falsch eingetragen

Lösung:

Erstelle im Cfx.re Keymaster einen neuen Key für die korrekte Server-IP und trage ihn erneut ein.

#### Server startet, erscheint aber nicht in der Serverliste

Ein fehlender oder falscher License Key kann ein Grund sein, ist aber nicht die einzige Ursache.

Prüfe zusätzlich:

* Server ist vollständig gestartet
* keine Fehler in der Konsole
* `server.cfg` ist korrekt
* Servername ist gesetzt
* Netzwerk-Port ist korrekt
* Cfx.re-Dienste sind erreichbar
* Serverliste braucht etwas Zeit zur Aktualisierung

Teste zuerst die direkte Verbindung über die F8-Konsole im FiveM Client.

Beispiel: `connect 123.123.123.123:30120`

### License Key neu erstellen

Du kannst einen neuen Key erstellen, wenn der alte Key nicht funktioniert oder falsch angelegt wurde.

Gehe so vor:

1. Öffne den Cfx.re Keymaster.
2. Melde dich mit deinem Cfx.re-Konto an.
3. Erstelle einen neuen Server-Key.
4. Verwende die korrekte Server-IP.
5. Kopiere den neuen Key.
6. Ersetze den alten Key in der `server.cfg`.
7. Speichere die Datei.
8. Starte den Server neu.

### License Key nicht öffentlich teilen

Dein FiveM License Key ist kein normales Passwort, sollte aber trotzdem nicht öffentlich geteilt werden.

Veröffentliche den Key nicht:

* in Screenshots
* in Discord-Channels
* in öffentlichen Logs
* in GitHub-Repositories
* in Forenbeiträgen
* in Supportanfragen ohne Aufforderung

Wenn du einen Screenshot der `server.cfg` teilst, schwärze den License Key vorher.

### Unterschied zwischen License Key und Steam Web API Key

FiveM nutzt je nach Serverkonfiguration unterschiedliche Schlüssel.

Der License Key ist nicht dasselbe wie ein Steam Web API Key.

| Key                | Zweck                                                     |
| ------------------ | --------------------------------------------------------- |
| FiveM License Key  | Verknüpft den Server mit Cfx.re                           |
| Steam Web API Key  | Wird von manchen Ressourcen für Steam-Funktionen benötigt |
| Datenbank-Passwort | Wird für MySQL/MariaDB-Verbindungen genutzt               |

Verwechsle diese Werte nicht. Sie gehören an unterschiedliche Stellen in der Konfiguration.

### Checkliste

Wenn dein License Key nicht funktioniert, prüfe diese Punkte:

* Ist der Server gestoppt worden, bevor du die Datei bearbeitet hast?
* Wurde die `server.cfg` gespeichert?
* Steht der Key bei `sv_licenseKey`?
* Ist der Key vollständig?
* Sind keine zusätzlichen Leerzeichen enthalten?
* Wurde die richtige Server-IP im Keymaster verwendet?
* Wurde der Server nach der Änderung neu gestartet?
* Gibt es Fehlermeldungen in der Konsole?
* Gibt es den Eintrag `sv_licenseKey` nur einmal?


# Ressourcen installieren und verwalten

In diesem Artikel erklären wir dir, wie du Ressourcen auf deinem FiveM Server installierst, aktivierst, aktualisierst und entfernst.

Ressourcen sind Erweiterungen für deinen FiveM Server. Sie können neue Funktionen, Fahrzeuge, Karten, Jobs, Menüs, Scripts, Frameworks oder Admin-Tools hinzufügen.

### Was sind FiveM Ressourcen?

Eine Ressource ist ein Ordner mit Dateien, die vom FiveM Server geladen werden.

Typische Ressourcen sind zum Beispiel:

* Fahrzeuge
* Maps
* Scripts
* Jobs
* Admin-Menüs
* Framework-Erweiterungen
* Inventarsysteme
* Garagen
* Kleidung
* Waffen
* HUDs
* Datenbank-Scripts

Eine Ressource besteht meistens aus mehreren Dateien. Besonders wichtig ist die Datei `fxmanifest.lua` oder bei älteren Ressourcen `__resource.lua`.

Diese Datei beschreibt dem Server, was zur Ressource gehört und wie sie geladen werden soll.

### Voraussetzungen

Bevor du eine Ressource installierst, benötigst du:

* Zugriff auf deinen FiveM Server im INSTANTPANEL
* Zugriff auf den Dateimanager oder SFTP
* die heruntergeladene Ressource
* einen entpackten Ressourcenordner
* Grundkenntnisse zur Datei `server.cfg`

Außerdem sollte dein Server gestoppt sein, bevor du Dateien hochlädst, entfernst oder größere Änderungen vornimmst.

**Wichtig:** Erstelle vor größeren Änderungen immer ein Backup. Fehlerhafte Ressourcen können dazu führen, dass dein Server nicht mehr startet oder bestimmte Funktionen nicht mehr korrekt arbeiten.

### Geeignete Quellen verwenden

Lade Ressourcen nur aus vertrauenswürdigen Quellen herunter.

Achte besonders auf:

* bekannte Entwickler
* aktuelle Versionen
* Bewertungen oder Community-Rückmeldungen
* Dokumentation des Entwicklers
* passende FiveM-Version
* benötigte Abhängigkeiten
* Hinweise zur Installation

Vermeide unbekannte Downloads aus unsicheren Quellen. Fehlerhafte oder manipulierte Ressourcen können deinen Server beschädigen, Daten auslesen oder unerwünschte Funktionen ausführen.

### Ressource herunterladen und entpacken

Viele Ressourcen werden als `.zip`- oder `.rar`-Archiv bereitgestellt.

Nach dem Download musst du das Archiv zuerst entpacken.

Der Ordner sollte danach direkt die Ressourcendateien enthalten.

Richtiges Beispiel:

| Pfad                        | Bewertung |
| --------------------------- | --------- |
| `myresource/fxmanifest.lua` | richtig   |
| `myresource/client.lua`     | richtig   |
| `myresource/server.lua`     | richtig   |

Falsches Beispiel:

| Pfad                                         | Problem                         |
| -------------------------------------------- | ------------------------------- |
| `myresource-main/myresource/fxmanifest.lua`  | Ordner liegt eine Ebene zu tief |
| `myresource.zip`                             | Archiv wurde nicht entpackt     |
| `myresource/README.md` ohne `fxmanifest.lua` | möglicherweise falscher Ordner  |

Wenn der Server die Ressource nicht erkennt, liegt häufig eine falsche Ordnerstruktur vor.

### Ressourcenordner finden

FiveM Ressourcen liegen normalerweise im Ordner `resources`.

Je nach Serverpaket kann die Struktur etwas unterschiedlich aussehen.

Typische Pfade sind:

* `resources`
* `server-data/resources`
* `resources/[local]`
* `resources/[standalone]`
* `resources/[esx]`
* `resources/[qb]`

Ordner mit eckigen Klammern wie `[local]`, `[esx]` oder `[qb]` dienen meistens nur zur besseren Sortierung. Sie helfen dabei, Ressourcen übersichtlicher zu gruppieren.

### Ressource hochladen

Gehe so vor:

1. Stoppe deinen FiveM Server im INSTANTPANEL.
2. Öffne den Dateimanager oder verbinde dich per SFTP.
3. Öffne den Ordner `resources`.
4. Lade den entpackten Ressourcenordner hoch.
5. Prüfe, ob im Ressourcenordner eine `fxmanifest.lua` oder `__resource.lua` liegt.
6. Öffne danach die Datei `server.cfg`.
7. Trage die Ressource dort ein.
8. Starte den Server neu.
9. Prüfe die Konsole auf Fehler.

### Ressource in der server.cfg aktivieren

Damit FiveM eine Ressource lädt, muss sie in der `server.cfg` gestartet werden.

Dafür wird meistens `ensure` verwendet.

Beispiel: `ensure myresource`

Der Name muss exakt dem Ordnernamen der Ressource entsprechen.

Wenn dein Ordner also `myresource` heißt, muss der Eintrag so aussehen:

`ensure myresource`

Wenn der Ordner `carpack` heißt, lautet der Eintrag:

`ensure carpack`

**Wichtig:** Achte auf Groß- und Kleinschreibung, Leerzeichen und Sonderzeichen. Der Eintrag in der `server.cfg` muss zum Ordnernamen passen.

### Unterschied zwischen ensure und start

Bei FiveM werden häufig die Befehle `ensure` und `start` verwendet.

| Befehl                  | Bedeutung                                                |
| ----------------------- | -------------------------------------------------------- |
| `ensure ressourcenname` | startet die Ressource und lädt sie bei Bedarf sauber neu |
| `start ressourcenname`  | startet die Ressource                                    |
| `stop ressourcenname`   | stoppt die Ressource                                     |

Für die meisten Installationen ist `ensure` die bessere Wahl.

Beispiel:

`ensure oxmysql`

`ensure es_extended`

`ensure myresource`

### Reihenfolge der Ressourcen

Die Reihenfolge in der `server.cfg` ist wichtig.

Manche Ressourcen benötigen andere Ressourcen, bevor sie starten können.

Beispiel:

`oxmysql` muss vor vielen ESX- oder QBCore-Scripts gestartet werden, weil diese Scripts eine Datenbankverbindung benötigen.

Eine einfache Reihenfolge kann so aussehen:

| Reihenfolge | Beispiel                             |
| ----------- | ------------------------------------ |
| 1           | Datenbank-Ressourcen                 |
| 2           | Framework                            |
| 3           | Framework-Abhängigkeiten             |
| 4           | Jobs und Systeme                     |
| 5           | Fahrzeuge, Maps und kleinere Scripts |

Beispiel:

`ensure oxmysql`

`ensure es_extended`

`ensure esx_society`

`ensure esx_jobs`

`ensure myjob`

Wenn eine Ressource vor ihrer Abhängigkeit startet, kann sie Fehler erzeugen oder gar nicht geladen werden.

### Abhängigkeiten prüfen

Viele Ressourcen benötigen zusätzliche Ressourcen.

Diese werden oft in der Beschreibung oder Dokumentation genannt.

Typische Abhängigkeiten sind zum Beispiel:

* `oxmysql`
* `mysql-async`
* `ox_lib`
* `es_extended`
* `qb-core`
* `PolyZone`
* `NativeUI`
* `menuv`
* `pma-voice`

Wenn eine Abhängigkeit fehlt, erscheinen in der Konsole häufig Fehlermeldungen.

Typische Hinweise sind:

* `No such export`
* `Couldn't find resource`
* `Missing dependency`
* `attempt to call a nil value`
* `SCRIPT ERROR`

Prüfe deshalb immer die Installationsanleitung der Ressource.

### Datenbank-Scripts installieren

Viele Roleplay-Ressourcen benötigen eine Datenbank.

Das betrifft zum Beispiel:

* Jobs
* Inventare
* Garagen
* Shops
* Banking
* Housing
* Character-Systeme
* Frameworks

Wenn eine Ressource eine `.sql`-Datei enthält, muss diese häufig in deine Datenbank importiert werden.

Gehe allgemein so vor:

1. Öffne deine Datenbankverwaltung.
2. Wähle die passende Datenbank aus.
3. Importiere die `.sql`-Datei der Ressource.
4. Prüfe, ob neue Tabellen erstellt wurden.
5. Kontrolliere die Datenbankverbindung in der `server.cfg`.
6. Starte den Server neu.

Wenn die SQL-Datei nicht importiert wurde, startet die Ressource möglicherweise, funktioniert aber nicht richtig.

### Ressource über die Konsole testen

Du kannst Ressourcen auch über die Konsole verwalten.

Typische Befehle:

| Befehl                   | Bedeutung                        |
| ------------------------ | -------------------------------- |
| `ensure ressourcenname`  | Ressource starten oder neu laden |
| `start ressourcenname`   | Ressource starten                |
| `stop ressourcenname`    | Ressource stoppen                |
| `restart ressourcenname` | Ressource neu starten            |
| `refresh`                | Ressourcenliste neu einlesen     |

Beispiel:

`restart myresource`

Wenn du eine neue Ressource hochgeladen hast und sie nicht erkannt wird, kann `refresh` helfen. Danach kannst du die Ressource mit `ensure ressourcenname` starten.

### Ressource aktualisieren

Beim Aktualisieren solltest du vorsichtig vorgehen.

Gehe so vor:

1. Stoppe den Server.
2. Erstelle ein Backup der bestehenden Ressource.
3. Lade die neue Version herunter.
4. Lies die Update-Hinweise des Entwicklers.
5. Prüfe, ob sich Konfigurationsdateien geändert haben.
6. Ersetze die alten Dateien.
7. Übernimm eigene Anpassungen vorsichtig.
8. Importiere neue SQL-Dateien nur, wenn es erforderlich ist.
9. Starte den Server.
10. Prüfe die Konsole auf Fehler.

**Wichtig:** Überschreibe nicht blind deine Konfigurationsdateien. Dabei können Einstellungen, Übersetzungen oder eigene Anpassungen verloren gehen.

### Ressource entfernen

Wenn du eine Ressource nicht mehr verwenden möchtest, entferne sie sauber.

Gehe so vor:

1. Stoppe den Server.
2. Entferne den `ensure`-Eintrag aus der `server.cfg`.
3. Lösche oder verschiebe den Ressourcenordner.
4. Starte den Server neu.
5. Prüfe die Konsole auf Fehlermeldungen.

Wenn andere Ressourcen von der entfernten Ressource abhängig sind, können danach Fehler auftreten.

### Ressource deaktivieren, ohne sie zu löschen

Du kannst eine Ressource auch nur deaktivieren.

Dafür entfernst du den Eintrag nicht zwingend, sondern kommentierst ihn aus.

Beispiel: `# ensure myresource`

Dadurch bleibt die Ressource auf dem Server, wird aber nicht mehr automatisch gestartet.

Das ist praktisch zum Testen, wenn du prüfen möchtest, ob eine Ressource Probleme verursacht.

### Ordnernamen sauber halten

Verwende möglichst einfache Ordnernamen.

Empfohlen:

* nur Buchstaben
* Zahlen
* Bindestriche
* Unterstriche

Vermeide:

* Leerzeichen
* Umlaute
* Sonderzeichen
* sehr lange Namen
* doppelte Ordnerstrukturen

Gutes Beispiel: `my_resource`

Schlechtes Beispiel: `Mein Script Neu !!!`

### Ressourcen mit Klammerordnern

FiveM unterstützt Sortierordner mit eckigen Klammern.

Beispiel: `[standalone]`

Darin können mehrere Ressourcen liegen.

Beispielstruktur:

| Pfad                                | Bedeutung                          |
| ----------------------------------- | ---------------------------------- |
| `resources/[standalone]/myresource` | Ressource liegt in einer Kategorie |
| `resources/[cars]/sportscar`        | Fahrzeug-Ressource                 |
| `resources/[maps]/mymap`            | Map-Ressource                      |

In der `server.cfg` wird trotzdem nur der eigentliche Ressourcenname verwendet.

Beispiel: `ensure myresource`

Nicht: `ensure [standalone]/myresource`

### Häufige Fehler

#### Ressource wird nicht gefunden

Typische Fehlermeldung:

`Couldn't find resource myresource`

Mögliche Ursachen:

* Ordnername stimmt nicht mit dem `ensure`-Eintrag überein
* Ressource wurde in den falschen Ordner hochgeladen
* Archiv wurde nicht entpackt
* Ordner liegt eine Ebene zu tief
* `fxmanifest.lua` fehlt
* Schreibfehler in der `server.cfg`

Prüfe zuerst den genauen Ordnernamen.

#### Ressource startet, funktioniert aber nicht

Mögliche Ursachen:

* Abhängigkeit fehlt
* Datenbank wurde nicht importiert
* Config wurde nicht angepasst
* falsches Framework
* falsche Version
* Ressource ist nicht mit deinem Server kompatibel
* Fehler in der Konsole

Prüfe die Dokumentation der Ressource und die Serverlogs.

#### No such export

Diese Fehlermeldung bedeutet meistens, dass eine Ressource eine Funktion aus einer anderen Ressource verwenden möchte, diese aber nicht verfügbar ist.

Mögliche Ursachen:

* Abhängigkeit fehlt
* Abhängigkeit startet zu spät
* falsche Version der Abhängigkeit
* Ressource wurde nicht gestartet
* falsche Reihenfolge in der `server.cfg`

#### SCRIPT ERROR

`SCRIPT ERROR` bedeutet, dass ein Script während der Ausführung einen Fehler verursacht hat.

Die Ursache steht meistens direkt in der Konsole oder im Log darüber oder darunter.

Prüfe:

* Name der betroffenen Ressource
* Datei und Zeile des Fehlers
* fehlende Abhängigkeiten
* falsche Konfiguration
* Datenbankfehler
* Framework-Kompatibilität

#### Datenbankfehler

Typische Ursachen:

* falscher Datenbankname
* falscher Benutzername
* falsches Passwort
* falscher Host
* fehlende Tabellen
* SQL-Datei nicht importiert
* falscher Connection String
* Datenbank-Ressource startet zu spät

Prüfe zuerst deine Datenbankverbindung und ob `oxmysql` oder die genutzte Datenbank-Ressource korrekt gestartet wird.

#### Server startet nach Installation nicht mehr

Wenn der Server nach einer neuen Ressource nicht mehr startet, gehe so vor:

1. Öffne die Konsole oder Logs.
2. Suche nach der ersten Fehlermeldung.
3. Entferne oder deaktiviere die zuletzt installierte Ressource.
4. Prüfe die `server.cfg`.
5. Starte den Server erneut.
6. Installiere die Ressource erst wieder, wenn die Ursache gefunden wurde.

### Gute Vorgehensweise beim Installieren

Installiere Ressourcen nicht alle auf einmal.

Besser ist:

1. Eine Ressource hochladen.
2. `server.cfg` anpassen.
3. Server starten.
4. Konsole prüfen.
5. Ressource im Spiel testen.
6. Erst danach die nächste Ressource installieren.

So erkennst du schneller, welche Ressource ein Problem verursacht.


# ESX, QBCore und vMenu kurz erklärt

In diesem Artikel erklären wir dir die Unterschiede zwischen ESX, QBCore und vMenu.

Diese Begriffe tauchen bei FiveM sehr häufig auf. Sie beschreiben aber nicht dasselbe. ESX und QBCore sind Frameworks für Roleplay-Server. vMenu ist dagegen ein Admin- und Spieler-Menü und kein vollständiges Roleplay-Framework.

### Was ist ein Framework?

Ein Framework ist eine technische Grundlage für deinen FiveM Server.

Es stellt Funktionen bereit, auf denen andere Scripts und Ressourcen aufbauen können.

Bei einem Roleplay-Server übernimmt ein Framework zum Beispiel häufig:

* Spielercharaktere
* Jobs
* Geldsystem
* Inventar
* Fahrzeuge
* Fraktionen
* Shops
* Datenbankanbindung
* Berechtigungen
* Grundfunktionen für weitere Scripts

Viele FiveM-Scripts setzen ein bestimmtes Framework voraus. Ein Script für ESX funktioniert deshalb nicht automatisch auf QBCore.

### ESX

ESX ist eines der bekanntesten Roleplay-Frameworks für FiveM.

Es wird häufig für klassische Roleplay-Server genutzt und hat eine große Auswahl an Scripts, Erweiterungen und Tutorials.

Typische ESX-Funktionen sind:

* Charakterverwaltung
* Jobsystem
* Geldsystem
* Bankkonten
* Inventar
* Shops
* Fahrzeuge
* Fraktionen
* Datenbankanbindung
* viele Erweiterungen aus der Community

ESX wird oft von Servern genutzt, die ein klassisches Roleplay-System mit Jobs, Wirtschaft und Fraktionen aufbauen möchten.

### QBCore

QBCore ist ebenfalls ein Roleplay-Framework für FiveM.

Es wird häufig als modernere Alternative zu ESX verwendet und ist besonders im englischsprachigen Bereich weit verbreitet.

Typische QBCore-Funktionen sind:

* Charakterverwaltung
* Jobsystem
* Geldsystem
* Inventar
* Fahrzeuge
* Fraktionen
* Berechtigungen
* Datenbankanbindung
* modulare Erweiterungen

QBCore ist stark auf ein modulares System ausgelegt. Viele Funktionen werden über einzelne Ressourcen ergänzt.

### vMenu

vMenu ist kein Roleplay-Framework.

vMenu ist ein Menüsystem für FiveM, mit dem Spieler oder Administratoren bestimmte Funktionen direkt im Spiel steuern können.

Typische Funktionen von vMenu sind:

* Spieler teleportieren
* Fahrzeuge spawnen
* Waffen geben
* Wetter ändern
* Uhrzeit ändern
* Spieler verwalten
* Berechtigungen über ACE Permissions
* Admin-Funktionen
* einfache Freeroam-Verwaltung

vMenu eignet sich besonders für Freeroam-Server, Testserver, Trainingsserver oder einfache Community-Server ohne komplexes Roleplay-System.

### Unterschied zwischen ESX, QBCore und vMenu

| System | Art                | Typischer Einsatz                                            |
| ------ | ------------------ | ------------------------------------------------------------ |
| ESX    | Roleplay-Framework | Klassische RP-Server mit Jobs, Geld, Inventar und Fraktionen |
| QBCore | Roleplay-Framework | Moderne RP-Server mit modularem Aufbau                       |
| vMenu  | Menü / Adminsystem | Freeroam, Administration, Testserver, einfache Server        |

Der wichtigste Unterschied ist:

* ESX und QBCore bilden die Grundlage für einen Roleplay-Server.
* vMenu stellt ein Menü und Verwaltungsfunktionen bereit.
* vMenu ersetzt kein vollständiges ESX- oder QBCore-System.

### Kann man ESX und QBCore zusammen nutzen?

In der Regel solltest du ESX und QBCore nicht zusammen auf einem Server verwenden.

Beide Frameworks bringen eigene Systeme mit, zum Beispiel für:

* Spieler
* Jobs
* Geld
* Inventar
* Fahrzeuge
* Berechtigungen
* Datenbanktabellen

Wenn beide Frameworks gleichzeitig laufen, kann es zu Konflikten kommen.

Typische Probleme sind:

* Ressourcen starten nicht
* Datenbankfehler
* doppelte Charakterverwaltung
* Inventar funktioniert nicht
* Jobsystem funktioniert nicht
* Fehlermeldungen in der Konsole
* Server startet nicht sauber

Entscheide dich deshalb normalerweise für eines der beiden Frameworks.

### Kann man vMenu mit ESX oder QBCore nutzen?

Ja, vMenu kann grundsätzlich zusätzlich zu ESX oder QBCore verwendet werden.

Trotzdem solltest du prüfen, ob die Funktionen zu deinem Serverkonzept passen.

Problematisch kann es werden, wenn vMenu Funktionen erlaubt, die dein Roleplay-System umgehen.

Beispiele:

* Spieler können Fahrzeuge spawnen, obwohl Fahrzeuge eigentlich gekauft werden sollen.
* Spieler können Waffen erhalten, obwohl Waffen über Shops oder Fraktionen geregelt werden.
* Spieler können teleportieren, obwohl das im Roleplay nicht erlaubt sein soll.
* Adminfunktionen sind zu offen eingestellt.

Wenn du vMenu auf einem Roleplay-Server nutzt, solltest du die Berechtigungen sauber einschränken.

### Was sind Ressourcen?

In FiveM werden Erweiterungen meistens Ressourcen genannt.

Eine Ressource kann ein einzelnes Script, ein Fahrzeugpack, eine Map, ein Menü oder ein komplettes System sein.

Beispiele:

* Job-Script
* Inventar-Script
* Fahrzeughändler
* Polizeisystem
* Banking-System
* Mapping
* Kleidung
* Admin-Menü

Ressourcen werden im `resources`-Ordner abgelegt und anschließend in der `server.cfg` gestartet.

Beispiel: `ensure ressourcenname`

### Warum ist das Framework wichtig?

Das Framework entscheidet, welche Scripts du verwenden kannst.

Wenn ein Script für ESX geschrieben wurde, erwartet es ESX-Funktionen. Wenn diese Funktionen fehlen, startet das Script nicht oder verursacht Fehler.

Beispiel:

Ein ESX-Script sucht nach ESX-Spielerdaten. Auf einem QBCore-Server existieren diese Daten aber nicht in derselben Form. Das Script funktioniert dann nicht ohne Anpassung.

Dasselbe gilt umgekehrt für QBCore-Scripts auf ESX-Servern.

### Woran erkenne ich, für welches Framework ein Script ist?

Prüfe vor der Installation immer die Beschreibung des Scripts.

Achte auf Begriffe wie:

* ESX
* QBCore
* QB
* Standalone
* vMenu
* ox\_lib
* ox\_inventory
* oxmysql

Typische Hinweise in Script-Beschreibungen sind:

* „ESX required“
* „QBCore required“
* „QB-Core“
* „Standalone“
* „Requires oxmysql“
* „Requires ox\_lib“

Wenn ein Script als „Standalone“ bezeichnet wird, kann es oft ohne ESX oder QBCore funktionieren. Trotzdem kann es zusätzliche Abhängigkeiten geben.

### Abhängigkeiten verstehen

Viele Ressourcen benötigen andere Ressourcen, damit sie funktionieren.

Diese zusätzlichen Ressourcen nennt man Abhängigkeiten.

Beispiele:

| Abhängigkeit   | Zweck                                   |
| -------------- | --------------------------------------- |
| `oxmysql`      | Verbindung zur MySQL-Datenbank          |
| `ox_lib`       | gemeinsame Funktionen für viele Scripts |
| `es_extended`  | Grundlage für ESX                       |
| `qb-core`      | Grundlage für QBCore                    |
| `mysql-async`  | ältere MySQL-Anbindung                  |
| `PolyZone`     | Zonen und Bereiche im Spiel             |
| `qb-target`    | Interaktionssystem bei QBCore           |
| `ox_target`    | modernes Interaktionssystem             |
| `ox_inventory` | Inventarsystem                          |

Wenn eine Abhängigkeit fehlt, startet die Ressource oft nicht richtig.

### Startreihenfolge in der server.cfg

Die Reihenfolge in der `server.cfg` ist wichtig.

Grundlagen und Abhängigkeiten müssen vor den Ressourcen gestartet werden, die sie verwenden.

Beispiel für ESX:

* Datenbankverbindung
* ESX-Grundsystem
* ESX-Erweiterungen
* Jobs
* Shops
* weitere Scripts

Beispiel für QBCore:

* Datenbankverbindung
* `qb-core`
* QBCore-Abhängigkeiten
* QBCore-Ressourcen
* weitere Scripts

Wenn die Reihenfolge falsch ist, können Ressourcen beim Start Fehlermeldungen ausgeben.

### ESX oder QBCore: Was soll ich wählen?

Das hängt von deinem Serverkonzept ab.

ESX eignet sich häufig, wenn du:

* viele deutschsprachige Tutorials nutzen möchtest
* klassische RP-Strukturen bevorzugst
* viele ältere oder bekannte ESX-Scripts verwenden willst
* ein traditionelles Jobsystem aufbauen möchtest

QBCore eignet sich häufig, wenn du:

* ein modernes Framework nutzen möchtest
* viele englischsprachige Ressourcen verwenden willst
* modular arbeiten möchtest
* ein aktuelles RP-Grundsystem bevorzugst

vMenu eignet sich häufig, wenn du:

* keinen komplexen Roleplay-Server brauchst
* einen Freeroam-Server betreibst
* einen Testserver aufbauen möchtest
* einfache Adminfunktionen benötigst
* Fahrzeuge, Waffen oder Teleports über ein Menü verwalten möchtest

### Typische Fehler

#### Script startet nicht

Mögliche Ursachen:

* falsches Framework
* fehlende Abhängigkeit
* falscher Ordnername
* Ressource nicht in der `server.cfg` eingetragen
* Fehler in der Konfiguration
* Datenbanktabellen fehlen

#### Datenbankfehler

Viele ESX- und QBCore-Server benötigen eine Datenbank.

Prüfe:

* Datenbankzugangsdaten
* Connection String
* importierte `.sql`-Dateien
* installierte Datenbankressource wie `oxmysql`
* Startreihenfolge in der `server.cfg`

#### Jobs funktionieren nicht

Mögliche Ursachen:

* Framework fehlt
* Job-Script passt nicht zum Framework
* Datenbanktabellen fehlen
* Job wurde nicht korrekt konfiguriert
* Abhängigkeit fehlt

#### Inventar funktioniert nicht

Mögliche Ursachen:

* falsches Inventarsystem
* fehlende Abhängigkeit
* Konflikt zwischen mehreren Inventaren
* Datenbankfehler
* falsche Startreihenfolge

#### vMenu öffnet sich nicht

Mögliche Ursachen:

* vMenu wurde nicht gestartet
* Berechtigungen fehlen
* ACE Permissions sind falsch gesetzt
* Taste wurde geändert
* Ressource wurde falsch hochgeladen

### Gute Vorgehensweise bei der Installation

Gehe bei Frameworks und größeren Serverpaketen Schritt für Schritt vor.

Empfohlene Reihenfolge:

1. Backup erstellen.
2. Server stoppen.
3. Framework oder Serverpaket hochladen.
4. Datenbank vorbereiten.
5. `.sql`-Dateien importieren.
6. Datenbankverbindung eintragen.
7. Ressourcen in der `server.cfg` prüfen.
8. Server starten.
9. Konsole auf Fehler prüfen.
10. Ingame testen.

Installiere nicht viele Scripts gleichzeitig. Wenn ein Fehler auftritt, ist sonst schwer erkennbar, welches Script ihn verursacht.

### Wichtige Hinweise

Verwende möglichst keine gemischten Ressourcen ohne Prüfung.

Ein ESX-Server sollte hauptsächlich ESX-kompatible Ressourcen verwenden.

Ein QBCore-Server sollte hauptsächlich QBCore-kompatible Ressourcen verwenden.

Standalone-Ressourcen können auf beiden Systemen funktionieren, müssen aber trotzdem zur Server-Version und zu den vorhandenen Abhängigkeiten passen.


# Hytale


# Mit dem Hytale Server verbinden

In diesem Artikel erklären wir dir, wie du dich mit deinem Hytale Server verbindest und wo du die benötigte Serveradresse im INSTANTPANEL findest.

Damit die Verbindung funktioniert, muss dein Hytale Server gestartet sein. Außerdem müssen Client und Server zueinander passen. Wenn der Server eine andere Version verwendet als dein Spiel, kann die Verbindung fehlschlagen.

### Voraussetzungen

Bevor du dich verbindest, benötigst du:

* einen gestarteten Hytale Server
* die Serveradresse aus dem INSTANTPANEL
* den Server-Port, falls dieser zusätzlich angegeben ist
* einen Hytale Account
* einen installierten Hytale Client
* eine passende Spielversion

Hytale unterstützt neben normalen Multiplayer-Sitzungen auch dedizierte Server. Ein dedizierter Server läuft unabhängig von einem einzelnen Spieler und ist dafür gedacht, dauerhaft für mehrere Spieler erreichbar zu sein. Die offizielle Hytale-Dokumentation unterscheidet dabei zwischen normalen Freundes-Sitzungen und dedizierten Servern. Bei Freundes-Sitzungen kann ein Host eine Welt öffnen und einen Share Code erzeugen. Bei einem Hosting-Server verbindest du dich dagegen über die Serveradresse deines Servers.

### Serveradresse im INSTANTPANEL finden

Die Serveradresse findest du direkt im INSTANTPANEL.

1. Öffne das INSTANTPANEL.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen Hytale Server aus.
4. Öffne die Serverübersicht.
5. Kopiere die angezeigte Serveradresse.

Eine Serveradresse besteht meistens aus einer IP-Adresse und einem Port.

Beispiel: `123.123.123.123:5520`

Der Teil vor dem Doppelpunkt ist die IP-Adresse. Der Teil nach dem Doppelpunkt ist der Port.

| Bestandteil       | Bedeutung               |
| ----------------- | ----------------------- |
| `123.123.123.123` | IP-Adresse des Servers  |
| `5520`            | Port des Hytale Servers |

**Wichtig:** Kopiere die Serveradresse möglichst direkt aus dem INSTANTPANEL. Tippfehler, Leerzeichen oder ein falscher Port führen häufig dazu, dass der Server nicht erreichbar ist.

### Mit dem Hytale Server verbinden

Öffne zuerst den Hytale Client und melde dich mit deinem Hytale Account an.

Der genaue Menüpunkt kann sich je nach Version ändern. Suche im Spiel nach einem Bereich für Multiplayer, Server, direkte Verbindung oder Serveradresse.

Typischer Ablauf:

1. Starte Hytale.
2. Melde dich mit deinem Hytale Account an.
3. Öffne den Multiplayer- oder Serverbereich.
4. Wähle die Option zum direkten Verbinden oder zum Hinzufügen eines Servers.
5. Trage die Serveradresse aus dem INSTANTPANEL ein.
6. Gib den Port ein, falls dieser separat abgefragt wird.
7. Speichere den Server oder verbinde dich direkt.
8. Warte, bis die Verbindung hergestellt wurde.

Beispiel für eine vollständige Adresse: `123.123.123.123:5520`

Wenn Adresse und Port getrennt eingegeben werden, sieht es so aus:

| Feld          | Beispiel          |
| ------------- | ----------------- |
| Serveradresse | `123.123.123.123` |
| Port          | `5520`            |

**Hinweis:** Die Benutzeroberfläche von Hytale kann sich im Early Access ändern. Wenn die Menüpunkte anders heißen, suche nach Begriffen wie „Multiplayer“, „Server“, „Join“, „Direct Connect“ oder „Server Address“.

### Server muss gestartet sein

Dein Hytale Server muss im INSTANTPANEL gestartet sein, bevor du dich verbinden kannst.

Wenn der Server ausgeschaltet ist, kann der Client keine Verbindung herstellen.

Prüfe deshalb zuerst:

* Serverstatus im INSTANTPANEL
* Konsole des Servers
* Startvorgang
* Fehlermeldungen im Log
* ob der Server vollständig hochgefahren ist

Ein Server kann nach dem Start einige Zeit benötigen, bis er vollständig erreichbar ist.

### Version prüfen

Client und Server müssen zueinander passen.

Wenn dein Hytale Client eine andere Version verwendet als dein Server, kann die Verbindung fehlschlagen oder der Server wird als nicht kompatibel angezeigt.

Prüfe bei Verbindungsproblemen:

* wurde Hytale im Client aktualisiert?
* wurde der Server bereits aktualisiert?
* läuft der Server noch auf einer älteren Version?
* gab es kurz vorher ein Update?
* wurde der Server nach einem Update neu gestartet?

Wenn gerade ein Update erschienen ist, kann es kurzzeitig zu Versionsunterschieden kommen.

### Unterschied zwischen Share Code und dediziertem Server

Hytale kann verschiedene Arten von Multiplayer unterstützen.

Bei einer privaten Freundes-Sitzung kann ein Spieler seine Welt öffnen und einen Share Code weitergeben. Andere Spieler treten dann über diesen Code bei.

Bei einem dedizierten Server läuft die Welt dauerhaft auf einem Server. Spieler verbinden sich über eine Serveradresse.

| Verbindung    | Erklärung                                                             |
| ------------- | --------------------------------------------------------------------- |
| Share Code    | Für private Sitzungen, die von einem Spieler geöffnet werden          |
| Serveradresse | Für dedizierte Server, die dauerhaft über IP und Port erreichbar sind |

Wenn du einen Hytale Gameserver bei INSTANTROOT nutzt, verwendest du normalerweise die Serveradresse aus dem INSTANTPANEL.

### Verbindung über eine Domain

Du kannst deinen Hytale Server auch über eine Domain erreichbar machen.

Beispiel: `play.deinedomain.de`

Dafür müssen passende DNS-Einträge gesetzt werden.

Wenn dein Server einen eigenen Port nutzt, muss der Port entweder mit angegeben oder über passende DNS-Einstellungen abgebildet werden.

Beispiel mit Port: `play.deinedomain.de:5520`

**Hinweis:** DNS-Änderungen sind nicht sofort überall aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis eine Domain korrekt aufgelöst wird.

### Öffentlicher und privater Server

Je nach Einstellung kann ein Hytale Server öffentlich oder privat genutzt werden.

Ein öffentlicher Server ist für mehr Spieler gedacht und kann je nach Konfiguration leichter erreichbar sein.

Ein privater Server ist nur für ausgewählte Spieler gedacht. In diesem Fall kann eine Einladung, Freigabe oder Zugriffsbeschränkung erforderlich sein.

Wenn Spieler nicht beitreten können, prüfe:

* ist der Server öffentlich erreichbar?
* gibt es eine Whitelist oder Zugriffsbeschränkung?
* wurde der Spieler zugelassen?
* ist die Serveradresse korrekt?
* ist der richtige Port angegeben?

### Häufige Probleme

#### Server wird als offline angezeigt

Prüfe zuerst:

* Ist der Server im INSTANTPANEL gestartet?
* Ist der Startvorgang abgeschlossen?
* Ist die Serveradresse korrekt?
* Ist der Port korrekt?
* Verwendest du die passende Hytale-Version?
* Gibt es Fehlermeldungen in der Konsole?

Wenn der Server gerade gestartet wurde, warte kurz und versuche es erneut.

#### Verbindung schlägt fehl

Wenn die Verbindung fehlschlägt, liegt das häufig an einer falschen Adresse, einem falschen Port oder einer nicht passenden Version.

Prüfe:

* keine Leerzeichen in der Serveradresse
* richtige IP-Adresse
* richtiger Port
* Server ist online
* Client ist aktuell
* Server ist aktuell
* keine Fehlermeldungen beim Serverstart

#### Verbindung läuft in einen Timeout

Ein Timeout bedeutet, dass keine rechtzeitige Verbindung zum Server hergestellt werden konnte.

Mögliche Ursachen:

* Server ist nicht erreichbar
* Server ist überlastet
* falsche Adresse
* falscher Port
* Server startet noch
* Netzwerkproblem
* Verbindung wird blockiert

Prüfe den Serverstatus im INSTANTPANEL und starte den Server bei Bedarf neu.

#### Verbindung wird abgelehnt

Wenn die Verbindung abgelehnt wird, kann der Server zwar erreichbar sein, nimmt deine Verbindung aber nicht an.

Mögliche Ursachen:

* Server ist noch nicht vollständig gestartet
* Server ist voll
* Spieler ist nicht freigeschaltet
* Zugriffsbeschränkung aktiv
* falsche Version
* Serverfehler im Hintergrund

Prüfe die Konsole und die Logs im INSTANTPANEL.

#### Falsche Version

Wenn Client und Server nicht zusammenpassen, kann der Beitritt blockiert werden.

Lösung:

* Hytale Client aktualisieren
* Server aktualisieren
* Server neu starten
* prüfen, ob ein Update gerade erst erschienen ist

#### Server ist voll

Wenn das Spielerlimit erreicht ist, können weitere Spieler nicht beitreten.

Prüfe im INSTANTPANEL oder in der Serverkonfiguration:

* maximale Spielerzahl
* aktuelle Spielerzahl
* reservierte Slots, falls vorhanden
* Zugriffsbeschränkungen

#### Spieler hat keine Berechtigung

Wenn ein Spieler nicht beitreten darf, kann eine Rechte- oder Zugriffseinstellung aktiv sein.

Prüfe:

* Whitelist
* Rollen
* Berechtigungen
* private Servereinstellungen
* Einladungen oder Freigaben

#### Mods oder Inhalte fehlen

Hytale ist stark auf eigene Inhalte und Modding ausgelegt. Je nach Serverkonfiguration können beim Verbinden zusätzliche Inhalte erforderlich sein.

Wenn die Verbindung wegen fehlender Inhalte fehlschlägt, prüfe:

* wurden serverseitige Inhalte korrekt installiert?
* sind Mods oder Asset Packs beschädigt?
* passen Client und Server zusammen?
* zeigt die Konsole Fehler beim Laden von Inhalten?
* wurde nach Änderungen ein Neustart durchgeführt?

### Gute erste Prüfung bei Problemen

Wenn du dich nicht verbinden kannst, gehe so vor:

1. Server im INSTANTPANEL öffnen.
2. Prüfen, ob der Server gestartet ist.
3. Serveradresse direkt aus dem Panel kopieren.
4. Port prüfen.
5. Hytale Client neu starten.
6. Version prüfen.
7. Serverkonsole auf Fehler prüfen.
8. Server neu starten.
9. Verbindung erneut testen.

Ändere nicht mehrere Einstellungen gleichzeitig. Sonst ist später schwer nachvollziehbar, welche Änderung geholfen oder ein neues Problem verursacht hat.


# Hytale Server konfigurieren

In diesem Artikel erklären wir dir, wie du die wichtigsten Einstellungen deines Hytale Servers anpasst.

Die Konfiguration eines Hytale Servers betrifft vor allem den Server selbst, die Welt, den Spielmodus, Spielerrechte und mögliche Inhalte wie Mods oder eigene Projekte. Da Hytale noch aktiv weiterentwickelt wird, können sich einzelne Menüs, Dateinamen oder Optionen mit Updates ändern.

### Voraussetzungen

Bevor du Einstellungen änderst, solltest du Folgendes prüfen:

* der Server ist im INSTANTPANEL sichtbar
* du hast Zugriff auf das INSTANTPANEL
* der Server ist vor der Änderung gestoppt
* du hast ein aktuelles Backup erstellt
* du weißt, welche Einstellung du ändern möchtest

**Wichtig:** Erstelle vor größeren Änderungen immer ein Backup. Besonders bei Welt-, Mod- oder Konfigurationsänderungen kann ein Backup viel Arbeit sparen.

### Server vor Änderungen stoppen

Viele Einstellungen werden erst nach einem Neustart übernommen.

Bei grundlegenden Änderungen solltest du den Server vorher stoppen.

Empfohlener Ablauf:

1. Öffne deinen Hytale Server im INSTANTPANEL.
2. Stoppe den Server.
3. Warte, bis der Status vollständig auf offline steht.
4. Ändere die gewünschte Einstellung.
5. Speichere die Änderung.
6. Starte den Server wieder.

Wenn du Dateien bearbeitest, während der Server läuft, kann es passieren, dass Änderungen nicht gespeichert oder beim nächsten Start überschrieben werden.

### Konfigurationsbereiche verstehen

Ein Hytale Server kann verschiedene Arten von Einstellungen haben.

Typische Bereiche sind:

| Bereich             | Bedeutung                                                                     |
| ------------------- | ----------------------------------------------------------------------------- |
| Servereinstellungen | Allgemeine Einstellungen wie Name, Beschreibung, Spielerlimit oder Verbindung |
| Welteinstellungen   | Einstellungen für einzelne Welten oder Spielstände                            |
| Rechte              | Adminrechte, Rollen oder Berechtigungen                                       |
| Inhalte             | Mods, eigene Inhalte, Assets oder Projekte                                    |
| Performance         | Einstellungen, die Leistung und Stabilität beeinflussen                       |
| Zugriff             | Sichtbarkeit, private Server, Whitelist oder Einladungen                      |

### Servername ändern

Der Servername ist der Name, der Spielern angezeigt wird.

Ein klarer Servername hilft Spielern, den richtigen Server zu erkennen.

Beispiele:

* `Mein Hytale Server`
* `Community Survival`
* `Creative Build Server`
* `Private Freunde-Welt`

Vermeide zu lange Namen oder Sonderzeichen, wenn diese nicht sauber angezeigt werden.

### Serverbeschreibung ändern

Die Serverbeschreibung erklärt kurz, worum es auf deinem Server geht.

Eine gute Beschreibung enthält zum Beispiel:

* Spielmodus
* Ziel des Servers
* Sprache
* besondere Regeln
* Community-Hinweise

Beispiel:

`Privater Hytale Survival Server für Freunde. Bitte keine fremden Spieler einladen.`

### Spielerlimit festlegen

Das Spielerlimit bestimmt, wie viele Spieler gleichzeitig auf dem Server sein können.

Setze das Limit realistisch.

Mehr Slots bedeuten nicht automatisch, dass der Server stabil mit so vielen Spielern läuft. Die tatsächliche Leistung hängt unter anderem ab von:

* Serverleistung
* Weltgröße
* aktiven Spielern
* Mods
* eigenen Inhalten
* aktiven Bereichen der Welt
* Spielmodus
* laufenden Prozessen

Für kleine private Server ist ein niedrigeres Limit meistens sinnvoller als ein zu hoch eingestelltes Spielerlimit.

### Sichtbarkeit einstellen

Je nach Serverart kannst du festlegen, ob dein Server öffentlich oder privat genutzt werden soll.

Typische Varianten:

| Einstellung    | Bedeutung                                                                                       |
| -------------- | ----------------------------------------------------------------------------------------------- |
| Öffentlich     | Andere Spieler können den Server finden oder beitreten, sofern erlaubt                          |
| Privat         | Nur eingeladene oder berechtigte Spieler können beitreten                                       |
| Nicht gelistet | Der Server ist nicht öffentlich sichtbar, kann aber über Adresse oder Einladung erreichbar sein |

Für private Server mit Freunden solltest du keine öffentliche Sichtbarkeit verwenden, wenn keine fremden Spieler beitreten sollen.

### Serveradresse und Port

Die Serveradresse besteht meistens aus einer IP-Adresse oder Domain und einem Port.

Beispiel: `123.123.123.123:5520`

Der Port ist die technische Verbindungsnummer des Servers. Hytale Dedicated Server nutzen standardmäßig UDP-Netzwerkverbindungen; einige öffentliche Anleitungen nennen dafür den Port `5520`, je nach Hosting-Setup kann der tatsächliche Port im Panel abweichen.

Verwende deshalb immer die Adresse und den Port, die im INSTANTPANEL angezeigt werden.

### Spielmodus einstellen

Hytale unterstützt verschiedene Spielweisen. Im Early Access wurden unter anderem Exploration Mode, Creative Mode, Modding Support und Multiplayer Support angekündigt.

Welche Spielmodi im Panel auswählbar sind, hängt von der aktuellen Hytale-Version und der Serverbereitstellung ab.

Typische Spielmodi können sein:

| Modus           | Bedeutung                                            |
| --------------- | ---------------------------------------------------- |
| Exploration     | Erkunden, Abenteuer, Überleben und Weltfortschritt   |
| Creative        | Bauen, Gestalten und Testen mit kreativen Werkzeugen |
| Custom / Modded | Angepasste Inhalte, eigene Projekte oder Mods        |

Wenn du den Spielmodus änderst, prüfe vorher, ob deine bestehende Welt mit dem neuen Modus kompatibel ist.

### Welt auswählen oder ändern

Ein Server kann je nach Version und Setup eine oder mehrere Welten verwenden.

Eine Welt enthält zum Beispiel:

* Terrain
* Bauwerke
* Fortschritt
* Spielerpositionen
* Weltregeln
* gespeicherte Objekte
* projektspezifische Inhalte

Wenn du eine Welt änderst oder ersetzt, kann vorhandener Fortschritt verloren gehen.

Vor solchen Änderungen solltest du immer ein Backup erstellen.

### Neue Welt erstellen

Eine neue Welt ist sinnvoll, wenn du:

* komplett neu starten möchtest
* einen anderen Spielmodus testen willst
* eine beschädigte Welt ersetzen möchtest
* ein neues Projekt beginnen möchtest
* eine andere Weltgeneration verwenden möchtest

Beachte, dass Spielerfortschritt und bestehende Bauwerke dabei je nach Vorgehen nicht übernommen werden.

### Welt zurücksetzen

Ein Welt-Reset entfernt oder ersetzt die aktuelle Welt.

Das ist sinnvoll, wenn:

* du einen frischen Start möchtest
* die Welt beschädigt ist
* ein Mod oder Update die Welt unbrauchbar gemacht hat
* du mit anderen Einstellungen neu beginnen möchtest

**Wichtig:** Ein Welt-Reset kann vorhandene Daten unwiderruflich entfernen. Erstelle vorher ein Backup.

### Welteinstellungen bearbeiten

Einige Einstellungen können pro Welt unterschiedlich sein.

Dazu können je nach Version gehören:

* PvP
* Fallschaden
* Zeitverlauf
* NPC-Spawns
* Weltregeln
* Spielmodus
* Schwierigkeit
* Projektoptionen

Wenn dein Panel keine direkte Option dafür anbietet, können solche Werte je nach Serverversion in Konfigurationsdateien liegen.

### Konfigurationsdateien bearbeiten

Manche Einstellungen werden direkt in Dateien gespeichert.

Je nach Hytale-Version können allgemeine Servereinstellungen und weltbezogene Einstellungen getrennt sein. Öffentliche Hosting-Anleitungen beschreiben beispielsweise allgemeine Einstellungen über eine `config.json` und weltbezogene Einstellungen über Dateien innerhalb eines Weltordners.

Bearbeite Konfigurationsdateien nur, wenn du weißt, was du ändern möchtest.

Achte besonders auf:

* korrekte Schreibweise
* keine fehlenden Kommas
* keine zusätzlichen Sonderzeichen
* richtige Groß- und Kleinschreibung
* gültige Werte
* Datei nach Änderung speichern
* Server danach neu starten

### Beispiel für typische Konfigurationswerte

Je nach Version können Konfigurationswerte anders heißen. Typische Einstellungen können aber in diese Richtung gehen:

| Einstellung  | Bedeutung                                       |
| ------------ | ----------------------------------------------- |
| Servername   | Name des Servers                                |
| Max Players  | Maximale Spielerzahl                            |
| PvP          | Spieler können sich gegenseitig Schaden zufügen |
| Fall Damage  | Fallschaden ist aktiv oder deaktiviert          |
| NPC Spawning | NPCs oder Kreaturen können erscheinen           |
| Game Time    | Zeitverlauf in der Welt                         |
| Visibility   | Sichtbarkeit des Servers                        |
| Port         | Verbindungsport des Servers                     |

Wenn du dir bei einer Einstellung unsicher bist, ändere sie nicht blind. Prüfe zuerst, was sie bewirkt.

### Mods und eigene Inhalte

Hytale ist stark auf eigene Inhalte und Modding ausgelegt. Laut offizieller Modding-Strategie ist Hytale serverseitig ausgerichtet: Spieler sollen modifizierten Servern beitreten können, ohne externe Modpacks manuell verwalten zu müssen.

Für deinen Server bedeutet das:

* Mods oder Inhalte können das Spielverhalten verändern
* Spieler benötigen unter Umständen passende Daten beim Verbinden
* fehlerhafte Inhalte können Startprobleme verursachen
* Versionen müssen zusammenpassen
* Backups sind vor Änderungen besonders wichtig

Installiere nur Inhalte aus vertrauenswürdigen Quellen.

### Mod oder Inhalt aktivieren

Der genaue Ablauf hängt davon ab, wie Hytale Mods und Inhalte in der aktuellen Version verwaltet.

Allgemeiner Ablauf:

1. Server stoppen.
2. Backup erstellen.
3. Mod oder Inhalt hochladen.
4. Abhängigkeiten prüfen.
5. Konfiguration prüfen.
6. Server starten.
7. Konsole und Logs kontrollieren.
8. Verbindung testen.

Wenn der Server nach der Änderung nicht startet, entferne die zuletzt hinzugefügte Mod oder stelle ein Backup wieder her.

### Adminrechte und Berechtigungen

Adminrechte geben Spielern erweiterte Kontrolle über den Server.

Damit können je nach System zum Beispiel Einstellungen geändert, Spieler verwaltet oder administrative Befehle genutzt werden.

Vergib Adminrechte nur an Personen, denen du vertraust.

Ein Admin kann je nach Berechtigung:

* Spieler verwalten
* Einstellungen ändern
* Inhalte testen
* Spielbereiche beeinflussen
* Serverfunktionen bedienen

### Private Server absichern

Wenn dein Server nur für Freunde gedacht ist, solltest du ihn absichern.

Mögliche Maßnahmen:

* Server nicht öffentlich listen
* nur bekannte Spieler einladen
* Adminrechte sparsam vergeben
* regelmäßige Backups erstellen
* keine fremden Inhalte ungeprüft installieren
* Zugriffsdaten nicht öffentlich teilen

### Performance-Einstellungen

Einige Einstellungen können die Leistung beeinflussen.

Dazu gehören typischerweise:

* Spielerlimit
* Weltgröße
* aktive Inhalte
* Mods
* NPCs
* Sichtweite oder aktive Bereiche
* komplexe Projekte
* viele gleichzeitige Spieler

Wenn der Server laggt, solltest du nicht direkt beliebig viele Einstellungen ändern. Gehe Schritt für Schritt vor.

Empfohlener Ablauf:

1. Logs prüfen.
2. Spielerzahl beobachten.
3. Mods oder Inhalte prüfen.
4. Letzte Änderungen rückgängig machen.
5. Welt oder Projekt testen.
6. Server neu starten.
7. Bei Bedarf Support kontaktieren.

### Änderungen speichern

Nach jeder Änderung musst du speichern.

Wenn du eine Datei bearbeitest, achte darauf, dass die Änderung wirklich übernommen wurde.

Danach sollte der Server neu gestartet werden.

Wenn eine Änderung nicht sichtbar ist:

* wurde die Datei gespeichert?
* wurde der Server neu gestartet?
* wurde die richtige Datei bearbeitet?
* überschreibt das Panel die Datei beim Start?
* ist der Wert gültig?
* zeigt die Konsole Fehler?

### Häufige Probleme

#### Änderung wird nicht übernommen

Mögliche Ursachen:

* Server wurde nicht neu gestartet
* falsche Datei bearbeitet
* Änderung wurde nicht gespeichert
* Wert ist ungültig
* Panel überschreibt die Einstellung
* Syntaxfehler in der Konfiguration

Prüfe die Konsole und die Logs nach dem Start.

#### Server startet nach Änderung nicht mehr

Das passiert häufig nach fehlerhaften Konfigurationsänderungen.

Gehe so vor:

1. Letzte Änderung rückgängig machen.
2. Datei auf Tippfehler prüfen.
3. Fehlermeldung in der Konsole lesen.
4. Server erneut starten.
5. Wenn nötig Backup wiederherstellen.

#### Spieler können nach Änderung nicht mehr beitreten

Mögliche Ursachen:

* falscher Port
* Server ist privat
* Spieler ist nicht berechtigt
* Version passt nicht
* Mod oder Inhalt fehlt
* Server startet nicht vollständig
* Verbindung wird blockiert

Prüfe zuerst, ob der Server im INSTANTPANEL wirklich online ist.

#### Welt lädt nicht

Mögliche Ursachen:

* Welt beschädigt
* falsche Welt ausgewählt
* Mod oder Inhalt fehlt
* Update hat Weltstruktur verändert
* Konfigurationsfehler
* unvollständiger Upload

Stelle bei Bedarf ein Backup wieder her.

#### Mod verursacht Fehler

Wenn nach einer Mod-Installation Fehler auftreten:

1. Server stoppen.
2. Zuletzt installierte Mod entfernen.
3. Abhängigkeiten prüfen.
4. Version prüfen.
5. Server erneut starten.
6. Logs kontrollieren.

Installiere Mods nicht mehrere auf einmal, sondern teste Änderungen schrittweise.

### Empfohlener Ablauf bei jeder größeren Änderung

Nutze diesen Ablauf, wenn du wichtige Einstellungen änderst:

1. Server stoppen.
2. Backup erstellen.
3. Änderung durchführen.
4. Änderung speichern.
5. Server starten.
6. Konsole prüfen.
7. Mit dem Server verbinden.
8. Funktion testen.
9. Erst danach weitere Änderungen vornehmen.

So findest du Fehler schneller und kannst bei Problemen einfacher zurückgehen.


# Allgemein


# Was ist ein KVM-Server?

Ein KVM-Server ist ein virtueller Server, auf dem du ein eigenes Betriebssystem betreiben und selbst verwalten kannst.

Bei INSTANTROOT erhältst du mit einem KVM-Server Zugriff auf ein eigenes Serversystem. Du kannst darauf zum Beispiel Linux oder Windows installieren, eigene Anwendungen betreiben, Webseiten hosten, Datenbanken einrichten, Dienste starten oder Server-Software installieren.

KVM-Server eignen sich für Nutzer, die mehr Kontrolle benötigen als bei Webspace oder einem fertigen Gameserver.

### Was bedeutet KVM?

KVM steht für **Kernel-based Virtual Machine**.

Dabei handelt es sich um eine Virtualisierungstechnik. Virtualisierung bedeutet, dass auf einem physischen Server mehrere voneinander getrennte virtuelle Server betrieben werden können.

Jeder virtuelle Server erhält eigene Ressourcen und ein eigenes Betriebssystem.

Für dich fühlt sich ein KVM-Server daher ähnlich an wie ein eigener Server. Du kannst ihn verwalten, neu installieren, Dienste einrichten und eigene Software betreiben.

### Was ist Virtualisierung?

Virtualisierung bedeutet, dass ein großer physischer Server in mehrere kleinere virtuelle Server aufgeteilt wird.

Ein physischer Server ist die echte Hardware im Rechenzentrum. Darauf laufen Prozessoren, Arbeitsspeicher, SSDs oder NVMe-Speicher und Netzwerkanschlüsse.

Ein virtueller Server nutzt einen Teil dieser Hardware. Er hat eigene Ressourcen, zum Beispiel:

* CPU-Kerne
* Arbeitsspeicher
* Speicherplatz
* IP-Adressen
* Netzwerkzugang

Diese Ressourcen werden deinem KVM-Server zugewiesen.

### Wofür kann ich einen KVM-Server nutzen?

Ein KVM-Server ist flexibel einsetzbar.

Typische Einsatzzwecke sind:

* Webseiten und Webanwendungen
* Datenbanken
* eigene APIs
* Bots
* Gameserver
* Voice-Server
* Entwicklungsumgebungen
* Monitoring-Systeme
* Docker-Anwendungen
* Mailserver
* VPN-Dienste
* private Cloud-Dienste
* eigene Softwareprojekte

Du entscheidest selbst, welche Software du installierst und wie du den Server nutzt.

### Unterschied zwischen KVM-Server und Webspace

Webspace ist für Webseiten gedacht und bereits weitgehend vorkonfiguriert.

Du bekommst dort meist eine einfache Verwaltungsoberfläche, FTP-Zugang, Datenbanken und E-Mail-Funktionen. Viele technische Aufgaben werden vom Anbieter übernommen.

Ein KVM-Server ist deutlich freier, aber auch technischer.

| Webspace                       | KVM-Server                          |
| ------------------------------ | ----------------------------------- |
| einfache Verwaltung            | volle Systemverwaltung              |
| für Webseiten gedacht          | für viele Einsatzzwecke geeignet    |
| wenig Administrationsaufwand   | mehr Eigenverantwortung             |
| Betriebssystem wird verwaltet  | Betriebssystem verwaltest du selbst |
| eingeschränkte Softwareauswahl | eigene Software installierbar       |

Wenn du nur eine Webseite betreiben möchtest, ist Webspace oft einfacher.

Wenn du eigene Dienste, spezielle Software oder mehr Kontrolle brauchst, ist ein KVM-Server besser geeignet.

### Unterschied zwischen KVM-Server und Gameserver

Ein Gameserver ist bereits für ein bestimmtes Spiel vorbereitet.

Du verwaltest ihn über das INSTANTPANEL und musst dich nicht um das Betriebssystem kümmern.

Ein KVM-Server ist dagegen ein eigenes Serversystem. Du kannst darauf zwar auch Gameserver installieren, musst diese aber selbst einrichten und verwalten.

| Gameserver                        | KVM-Server                                     |
| --------------------------------- | ---------------------------------------------- |
| direkt für ein Spiel eingerichtet | eigenes Betriebssystem                         |
| Verwaltung über INSTANTPANEL      | Verwaltung über Serverpanel und Betriebssystem |
| einfacher Einstieg                | technischer Einstieg                           |
| wenig Systemadministration nötig  | Administration liegt bei dir                   |
| ideal für einzelne Spiele         | flexibel für viele Dienste                     |

Wenn du einfach nur Minecraft, FiveM oder ein anderes Spiel hosten möchtest, ist ein fertiger Gameserver meistens einfacher.

Wenn du mehrere eigene Dienste betreiben möchtest oder volle Kontrolle brauchst, ist ein KVM-Server sinnvoll.

### Unterschied zwischen KVM-Server und Rootserver

Der Begriff Rootserver wird oft allgemein für Server mit administrativem Zugriff verwendet.

Ein KVM-Server ist ein virtueller Server mit eigenem Betriebssystem und Root- beziehungsweise Administrator-Zugriff.

Bei Linux spricht man meist von **Root-Zugriff**.\
Bei Windows spricht man meist von **Administrator-Zugriff**.

Mit diesem Zugriff kannst du das System vollständig verwalten.

### Was bedeutet Root-Zugriff?

Root ist der höchste Benutzer auf einem Linux-System.

Mit Root-Rechten kannst du:

* Software installieren
* Systemdateien ändern
* Dienste starten und stoppen
* Benutzer anlegen
* Firewall-Regeln setzen
* Updates installieren
* das System neu konfigurieren

Root-Zugriff gibt dir viel Kontrolle, bedeutet aber auch Verantwortung.

Ein falscher Befehl kann Dienste beschädigen, Dateien löschen oder den Server unerreichbar machen.

### Was bedeutet Administrator-Zugriff?

Administrator-Zugriff ist das Windows-Gegenstück zu Root-Zugriff.

Mit einem Administrator-Konto kannst du auf einem Windows Server:

* Programme installieren
* Windows Updates ausführen
* Benutzer verwalten
* Firewall-Regeln ändern
* Remote Desktop konfigurieren
* Dienste verwalten
* Systemeinstellungen ändern

Auch hier gilt: Änderungen wirken sich direkt auf den Server aus.

### Wie verwalte ich einen KVM-Server?

Ein KVM-Server wird in zwei Bereichen verwaltet.

#### Serverpanel

Im Serverpanel verwaltest du den Server von außen.

Dort findest du je nach Produkt zum Beispiel:

* Serverstatus
* Starten
* Stoppen
* Neustarten
* Neuinstallation
* VNC-Konsole
* IP-Adresse
* Zugangsdaten
* technische Informationen

Das Serverpanel erreichst du unter:

`https://server.instantroot.de/`

#### Betriebssystem

Im Betriebssystem verwaltest du den Server von innen.

Bei Linux nutzt du meistens SSH.

Beispiel: `ssh root@SERVER-IP`

Bei Windows nutzt du meistens Remote Desktop.

Dafür benötigst du die IP-Adresse, den Benutzernamen und das Passwort deines Servers.

### Erste Anmeldung im Serverpanel

Wenn du Neukunde bist und noch keinen Rootserver oder KVM-Server bei INSTANTROOT hattest, musst du im Serverpanel möglicherweise zuerst dein Passwort setzen.

Deine E-Mail-Adresse wird bei der Bestellung als Benutzername übermittelt. Dein Passwort aus dem Kundenportal wird aus Datenschutzgründen nicht automatisch in das Serverpanel übertragen.

Gehe dazu so vor:

1. Öffne `https://server.instantroot.de/`.
2. Klicke auf **Passwort vergessen?**.
3. Gib die E-Mail-Adresse ein, mit der du bestellt hast.
4. Öffne die E-Mail zum Zurücksetzen des Passworts.
5. Lege ein neues Passwort fest.
6. Melde dich danach im Serverpanel an.

### Welche Betriebssysteme kann ich nutzen?

Je nach Angebot und Verfügbarkeit kannst du verschiedene Betriebssysteme installieren.

Typische Systeme sind:

* Debian
* Ubuntu
* AlmaLinux
* Rocky Linux
* Windows Server

Linux eignet sich besonders für Webserver, Datenbanken, Docker, APIs, Bots und viele Serverdienste.

Windows Server eignet sich für Anwendungen, die eine Windows-Umgebung oder Remote Desktop benötigen.

### Was ist eine Neuinstallation?

Bei einer Neuinstallation wird das Betriebssystem des Servers neu aufgesetzt.

Dabei werden vorhandene Daten in der Regel gelöscht.

Eine Neuinstallation ist sinnvoll, wenn:

* du ein anderes Betriebssystem verwenden möchtest
* dein System beschädigt ist
* du sauber neu anfangen möchtest
* du eine falsche Konfiguration rückgängig machen willst
* du den Server vollständig zurücksetzen möchtest

Erstelle vor einer Neuinstallation ein Backup, wenn du noch Daten benötigst.

### Was ist die VNC-Konsole?

Die VNC-Konsole ist ein direkter Zugriff auf den Serverbildschirm über das Serverpanel.

Sie ist hilfreich, wenn du den Server nicht mehr per SSH oder Remote Desktop erreichst.

Typische Anwendungsfälle:

* Server startet nicht richtig
* Netzwerk ist falsch konfiguriert
* Firewall blockiert SSH oder RDP
* Betriebssystem zeigt Fehler beim Booten
* Passwort oder Dienst ist fehlerhaft konfiguriert

Die VNC-Konsole ersetzt nicht die normale Verwaltung per SSH oder RDP, hilft aber bei Problemen.

### Verantwortung bei einem KVM-Server

Ein KVM-Server bietet viel Freiheit. Gleichzeitig bist du für viele Dinge selbst verantwortlich.

Dazu gehören:

* Betriebssystem aktuell halten
* Sicherheitsupdates installieren
* Firewall richtig konfigurieren
* sichere Passwörter verwenden
* unnötige Dienste deaktivieren
* Backups erstellen
* Logs prüfen
* Software korrekt einrichten
* Missbrauch verhindern

Wenn dein Server falsch konfiguriert ist, kann er unsicher werden oder nicht mehr erreichbar sein.

### Für wen ist ein KVM-Server geeignet?

Ein KVM-Server ist geeignet, wenn du:

* eigene Software installieren möchtest
* volle Kontrolle über das Betriebssystem brauchst
* mehrere Dienste auf einem Server betreiben willst
* dich mit Linux oder Windows Server beschäftigen möchtest
* spezielle Anforderungen hast
* mehr Freiheiten brauchst als bei Webspace oder Gameservern

Ein KVM-Server ist weniger geeignet, wenn du eine komplett fertige Lösung ohne technische Einrichtung suchst.

Für einfache Webseiten ist Webspace oft einfacher.\
Für einzelne Spiele ist ein fertiger Gameserver oft bequemer.

### Wichtige Begriffe

| Begriff           | Bedeutung                                           |
| ----------------- | --------------------------------------------------- |
| KVM               | Virtualisierungstechnik für virtuelle Server        |
| Virtueller Server | Eigenständiger Server auf geteilter Hardware        |
| Root              | Höchster Benutzer auf Linux-Systemen                |
| Administrator     | Höchster Benutzer auf Windows-Systemen              |
| SSH               | Verbindung zu einem Linux-Server                    |
| RDP               | Remote Desktop Verbindung zu einem Windows-Server   |
| VNC-Konsole       | Direkter Konsolenzugriff über das Serverpanel       |
| IP-Adresse        | Technische Adresse deines Servers im Internet       |
| Port              | Nummer für einen bestimmten Dienst                  |
| Firewall          | Schutzsystem zur Steuerung von Netzwerkverbindungen |
| Backup            | Sicherung deiner Daten                              |
| Neuinstallation   | vollständiges neues Aufsetzen des Betriebssystems   |


# Betriebssystem neu installieren

In diesem Artikel erklären wir dir, wie du das Betriebssystem deines KVM-Servers neu installierst und worauf du dabei achten solltest.

Eine Neuinstallation setzt deinen Server auf ein frisches Betriebssystem zurück. Das ist hilfreich, wenn du ein anderes System verwenden möchtest, dein Server falsch konfiguriert wurde oder du komplett neu anfangen willst.

### Was bedeutet Neuinstallation?

Bei einer Neuinstallation wird das aktuelle Betriebssystem durch ein neues Betriebssystem ersetzt.

Dabei wird der Server neu aufgesetzt. Je nach Installationsart werden vorhandene Daten gelöscht oder überschrieben.

Das betrifft zum Beispiel:

* Webseiten
* Datenbanken
* Programme
* Konfigurationsdateien
* Benutzerkonten
* gespeicherte Dateien
* laufende Dienste

**Wichtig:** Erstelle vor einer Neuinstallation ein Backup, wenn du noch Daten vom Server benötigst.

### Wann ist eine Neuinstallation sinnvoll?

Eine Neuinstallation kann sinnvoll sein, wenn:

* du von Linux auf Windows wechseln möchtest
* du von Windows auf Linux wechseln möchtest
* du eine andere Linux-Distribution verwenden möchtest
* der Server stark falsch konfiguriert wurde
* wichtige Systemdateien beschädigt sind
* du den Server vollständig zurücksetzen möchtest
* du eine saubere Ausgangsbasis brauchst
* der Server nicht mehr zuverlässig funktioniert

Eine Neuinstallation sollte nicht die erste Lösung bei kleinen Problemen sein. Häufig lassen sich Fehler auch durch Logs, Konsole, SSH, RDP oder die VNC-Konsole prüfen.

### Vor der Neuinstallation prüfen

Bevor du dein Betriebssystem neu installierst, prüfe folgende Punkte:

* Wurden wichtige Daten gesichert?
* Sind Datenbanken exportiert?
* Wurden Webseiten-Dateien gesichert?
* Sind Zugangsdaten gespeichert?
* Wurden Konfigurationsdateien gesichert?
* Ist klar, welches Betriebssystem installiert werden soll?
* Ist bekannt, ob nach der Installation SSH oder RDP genutzt wird?
* Wurde geprüft, ob die Neuinstallation wirklich notwendig ist?

### Backup erstellen

Vor einer Neuinstallation solltest du alle wichtigen Daten sichern.

Dazu gehören je nach Nutzung:

| Nutzung            | Wichtige Daten                                |
| ------------------ | --------------------------------------------- |
| Webseite           | Webdateien, Datenbanken, SSL-Konfigurationen  |
| Gameserver         | Serverdateien, Welten, Configs, Plugins, Mods |
| Datenbankserver    | Datenbank-Dumps, Zugangsdaten, Configs        |
| Docker             | Compose-Dateien, Volumes, .env-Dateien        |
| Mailserver         | Maildaten, Postfächer, DNS-Konfigurationen    |
| Bot oder Anwendung | Projektdateien, Tokens, Configs, Datenbanken  |

**Wichtig:** Eine Sicherung sollte nicht nur auf dem Server selbst liegen. Wenn der Server neu installiert wird, können lokale Dateien verloren gehen.

### Geeignetes Betriebssystem auswählen

Wähle das Betriebssystem passend zu deinem Einsatzzweck.

Typische Auswahl:

| Betriebssystem | Geeignet für                                              |
| -------------- | --------------------------------------------------------- |
| Debian         | stabile Serverdienste, Webserver, Datenbanken             |
| Ubuntu         | Einsteiger, Webserver, Docker, viele Anleitungen          |
| AlmaLinux      | Enterprise-nahe Linux-Umgebungen                          |
| Rocky Linux    | Enterprise-nahe Linux-Umgebungen                          |
| Windows Server | Remote Desktop, Windows-Anwendungen, grafische Verwaltung |

Wenn du unsicher bist, ist Ubuntu oder Debian für viele Linux-Anwendungen ein guter Einstieg.

### Linux oder Windows?

Linux und Windows werden unterschiedlich verwaltet.

Bei Linux verbindest du dich meistens per SSH.

Beispiel: `ssh root@SERVER-IP`

Bei Windows verbindest du dich meistens per Remote Desktop.

Dafür nutzt du die Remotedesktopverbindung mit IP-Adresse, Benutzername und Passwort.

**Hinweis:** Das Passwort für das Serverpanel ist nicht automatisch das Root- oder Administrator-Passwort des installierten Betriebssystems.

### Neuinstallation im Serverpanel starten

Die genaue Oberfläche kann je nach Serverpanel leicht abweichen. Der Ablauf ist grundsätzlich ähnlich.

1. Öffne `https://server.instantroot.de/`.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Öffne den Bereich für Betriebssystem, Installation oder Neuinstallation.
5. Wähle das gewünschte Betriebssystem aus.
6. Prüfe die angezeigten Hinweise.
7. Bestätige die Neuinstallation.
8. Warte, bis die Installation abgeschlossen ist.

Während der Neuinstallation kann der Server mehrfach neu starten.

### Dauer der Neuinstallation

Die Dauer hängt vom Betriebssystem und der aktuellen Auslastung ab.

Linux-Installationen sind oft schneller abgeschlossen als Windows-Installationen.

Während der Installation solltest du den Vorgang nicht unnötig unterbrechen. Starte den Server nicht mehrfach manuell neu, solange die Installation läuft.

### Nach der Installation

Nach erfolgreicher Installation solltest du prüfen:

* Wird der Server im Serverpanel als online angezeigt?
* Wurde eine neue IP-Adresse oder dieselbe IP-Adresse angezeigt?
* Sind neue Zugangsdaten vorhanden?
* Ist SSH oder RDP erreichbar?
* Funktioniert die Anmeldung?
* Sind Updates verfügbar?
* Muss die Firewall angepasst werden?

### Verbindung nach Linux-Installation

Wenn du Linux installiert hast, verbindest du dich normalerweise per SSH.

Du brauchst:

* IP-Adresse des Servers
* Benutzername, meistens `root`
* Root-Passwort oder SSH-Key
* SSH-Client

Unter Windows kannst du Windows Terminal oder PuTTY verwenden. Unter macOS und Linux nutzt du das Terminal.

Beispiel: `ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines Servers.

### Verbindung nach Windows-Installation

Wenn du Windows Server installiert hast, verbindest du dich normalerweise per Remote Desktop.

Du brauchst:

* IP-Adresse des Servers
* Benutzername, meistens `Administrator`
* Administrator-Passwort
* Remote Desktop Client

Unter Windows kannst du die Remotedesktopverbindung verwenden. Unter macOS gibt es Microsoft Remote Desktop.

### Erste Schritte nach Linux-Installation

Nach einer Linux-Neuinstallation solltest du zuerst das System aktualisieren.

Bei Debian oder Ubuntu:

`apt update && apt upgrade -y`

Danach solltest du prüfen:

* Root-Passwort ändern
* neuen Benutzer anlegen
* SSH absichern
* Firewall einrichten
* Zeitzone setzen
* benötigte Software installieren
* automatische Sicherheitsupdates prüfen
* Backup-Konzept einrichten

### Erste Schritte nach Windows-Installation

Nach einer Windows-Neuinstallation solltest du zuerst:

* Administrator-Passwort ändern
* Windows Updates installieren
* Zeitzone prüfen
* Windows Defender Firewall prüfen
* Remote Desktop Einstellungen prüfen
* benötigte Software installieren
* unnötige Dienste deaktivieren
* Backup-Konzept einrichten

### VNC-Konsole bei Problemen nutzen

Wenn du dich nach der Neuinstallation nicht per SSH oder RDP verbinden kannst, nutze die VNC-Konsole im Serverpanel.

Die VNC-Konsole zeigt dir direkt den Bildschirm des Servers.

Sie hilft besonders bei Problemen wie:

* Server hängt beim Booten
* Netzwerk wurde nicht korrekt gestartet
* SSH ist nicht aktiv
* RDP ist nicht aktiv
* Firewall blockiert die Verbindung
* Login ist nicht möglich
* Betriebssystem wartet auf Eingabe

### Häufige Probleme

#### Server ist nach der Neuinstallation nicht erreichbar

Prüfe zuerst:

* Ist die Installation abgeschlossen?
* Wird der Server im Serverpanel als online angezeigt?
* Nutzt du die richtige IP-Adresse?
* Wartest du lange genug nach dem ersten Start?
* Ist das richtige Betriebssystem installiert?
* Ist SSH oder RDP für dieses System vorgesehen?

Bei neuen Installationen kann der erste Start einige Minuten dauern.

#### SSH funktioniert nach Linux-Installation nicht

Mögliche Ursachen:

* Server ist noch nicht vollständig gestartet
* falsche IP-Adresse
* falscher Benutzername
* falsches Passwort
* SSH-Dienst läuft nicht
* Firewall blockiert Port `22`
* Root-Login ist deaktiviert
* Betriebssysteminstallation ist fehlgeschlagen

Prüfe den Server über die VNC-Konsole, wenn SSH nicht erreichbar ist.

#### RDP funktioniert nach Windows-Installation nicht

Mögliche Ursachen:

* Windows ist noch nicht vollständig eingerichtet
* Remote Desktop ist nicht aktiv
* falsche Zugangsdaten
* Windows Firewall blockiert RDP
* Server startet noch
* Netzwerk ist noch nicht bereit
* Installation ist nicht vollständig abgeschlossen

Prüfe den Server über die VNC-Konsole, wenn RDP nicht erreichbar ist.

#### Passwort funktioniert nicht

Achte darauf, welches Passwort du verwendest.

Es gibt unterschiedliche Passwörter:

| Passwort               | Zweck                               |
| ---------------------- | ----------------------------------- |
| Serverpanel-Passwort   | Login unter `server.instantroot.de` |
| Root-Passwort          | Login in Linux per SSH              |
| Administrator-Passwort | Login in Windows per RDP            |

Das Serverpanel-Passwort ist nicht automatisch das Passwort deines Betriebssystems.

#### Alte Daten fehlen

Nach einer Neuinstallation sind alte Daten in der Regel nicht mehr vorhanden.

Wenn kein Backup erstellt wurde, können gelöschte Daten möglicherweise nicht wiederhergestellt werden.

#### Installation hängt

Wenn die Installation ungewöhnlich lange dauert, prüfe zuerst die VNC-Konsole.

Mögliche Ursachen:

* Betriebssystem wartet auf Eingabe
* Installationsprozess ist fehlgeschlagen
* Server hängt beim Booten
* ISO wurde nicht korrekt entfernt
* Dateisystemprüfung läuft

### Sicherheit nach der Neuinstallation

Ein frisch installierter Server sollte direkt abgesichert werden.

Empfohlen sind:

* starkes Root- oder Administrator-Passwort setzen
* Systemupdates installieren
* Firewall aktivieren
* nur benötigte Ports öffnen
* SSH-Key verwenden
* unnötige Dienste deaktivieren
* regelmäßige Backups einrichten
* Logs kontrollieren

### Support kontaktieren

Wenn die Neuinstallation nicht funktioniert oder der Server danach nicht erreichbar ist, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* betroffener KVM-Server
* gewähltes Betriebssystem
* Zeitpunkt der Neuinstallation
* Status im Serverpanel
* ob SSH oder RDP betroffen ist
* genaue Fehlermeldung
* was in der VNC-Konsole angezeigt wird
* was du bereits versucht hast

Sende niemals Passwörter, private Schlüssel oder vertrauliche Zugangsdaten an den Support.


# Ports verstehen

Ein Port ist eine Nummer, über die ein bestimmter Dienst auf deinem Server erreichbar ist.

Wenn dein KVM-Server mit dem Internet verbunden ist, läuft die Kommunikation nicht nur über die IP-Adresse. Zusätzlich wird ein Port verwendet. Der Port sagt dem Server, an welchen Dienst die Anfrage weitergeleitet werden soll.

Beispiel:

* Die IP-Adresse sagt: **Welcher Server?**
* Der Port sagt: **Welcher Dienst auf diesem Server?**

### Einfaches Beispiel

Dein Server hat die IP-Adresse `123.123.123.123`.

Auf diesem Server können mehrere Dienste gleichzeitig laufen:

| Dienst          | Typischer Port |
| --------------- | -------------: |
| SSH             |           `22` |
| HTTP            |           `80` |
| HTTPS           |          `443` |
| Minecraft Java  |        `25565` |
| MySQL / MariaDB |         `3306` |
| Remote Desktop  |         `3389` |

Wenn du dich per SSH verbindest, nutzt du meistens Port `22`.

Beispiel: `ssh root@123.123.123.123`

Wenn du eine Webseite aufrufst, nutzt dein Browser meistens Port `80` oder `443`.

Beispiel: `https://deinedomain.de`

### Warum gibt es Ports?

Ein Server kann mehrere Aufgaben gleichzeitig übernehmen.

Zum Beispiel kann derselbe KVM-Server gleichzeitig:

* eine Webseite ausliefern
* SSH-Zugriff erlauben
* eine Datenbank betreiben
* einen Gameserver hosten
* einen Maildienst ausführen

Ohne Ports könnte der Server nicht eindeutig erkennen, welcher Dienst gemeint ist.

Ports helfen also dabei, Anfragen richtig zuzuordnen.

### Port und IP-Adresse zusammen

Eine vollständige technische Verbindung besteht oft aus IP-Adresse und Port.

Beispiel: `123.123.123.123:25565`

Dabei ist:

| Bestandteil       | Bedeutung              |
| ----------------- | ---------------------- |
| `123.123.123.123` | IP-Adresse des Servers |
| `25565`           | Port des Dienstes      |

Der Doppelpunkt trennt IP-Adresse und Port.

### Häufige Standardports

Viele Dienste verwenden feste Standardports.

|    Port | Dienst          | Erklärung                        |
| ------: | --------------- | -------------------------------- |
|    `21` | FTP             | Dateiübertragung                 |
|    `22` | SSH             | Verbindung zu Linux-Servern      |
|    `25` | SMTP            | Mailversand zwischen Mailservern |
|    `53` | DNS             | Namensauflösung                  |
|    `80` | HTTP            | unverschlüsselte Webseiten       |
|   `110` | POP3            | E-Mail-Abruf                     |
|   `143` | IMAP            | E-Mail-Abruf                     |
|   `443` | HTTPS           | verschlüsselte Webseiten         |
|   `465` | SMTPS           | verschlüsselter Mailversand      |
|   `587` | SMTP Submission | Mailversand für Benutzer         |
|   `993` | IMAPS           | verschlüsselter IMAP-Abruf       |
|   `995` | POP3S           | verschlüsselter POP3-Abruf       |
|  `3306` | MySQL / MariaDB | Datenbank                        |
|  `3389` | RDP             | Remote Desktop für Windows       |
|  `5432` | PostgreSQL      | Datenbank                        |
| `25565` | Minecraft Java  | Minecraft Java Server            |

Nicht jeder dieser Ports muss auf deinem Server geöffnet sein. Öffne nur Ports, die du wirklich benötigst.

### Offene und geschlossene Ports

Ein Port kann offen oder geschlossen sein.

#### Offener Port

Ein offener Port bedeutet, dass ein Dienst auf diesem Port erreichbar ist.

Beispiel:

Ein Webserver läuft auf Port `443`. Dann kann deine Webseite über HTTPS aufgerufen werden.

#### Geschlossener Port

Ein geschlossener Port bedeutet, dass dort kein Dienst erreichbar ist oder eine Firewall die Verbindung blockiert.

Beispiel:

Wenn auf Port `25565` kein Minecraft Server läuft, kann sich kein Spieler über diesen Port verbinden.

### Dienst und Firewall unterscheiden

Wenn ein Port nicht erreichbar ist, gibt es meistens zwei mögliche Ursachen:

1. Auf dem Port läuft kein Dienst.
2. Eine Firewall blockiert den Port.

Beides muss stimmen, damit ein Port erreichbar ist.

Der Dienst muss laufen und die Firewall muss Verbindungen erlauben.

Beispiel:

Du installierst einen Webserver. Der Webserver läuft auf Port `80`, aber die Firewall blockiert Port `80`. Dann ist die Webseite trotzdem nicht erreichbar.

### Ports unter Linux prüfen

Unter Linux kannst du prüfen, welche Ports verwendet werden.

Beispiel mit `ss`: `ss -tulpen`

Dieser Befehl zeigt dir aktive Netzwerkdienste und die Ports, auf denen sie lauschen.

Häufig verwendete Optionen:

| Option | Bedeutung                               |
| ------ | --------------------------------------- |
| `-t`   | TCP-Verbindungen anzeigen               |
| `-u`   | UDP-Verbindungen anzeigen               |
| `-l`   | nur lauschende Dienste anzeigen         |
| `-p`   | Prozess anzeigen                        |
| `-n`   | numerische Ausgabe ohne Namensauflösung |

Wenn du nur prüfen möchtest, ob ein bestimmter Port genutzt wird, kannst du filtern.

Beispiel für Port `80`: `ss -tulpen | grep :80`

### Ports unter Windows prüfen

Unter Windows kannst du offene Ports mit der Eingabeaufforderung oder PowerShell prüfen.

Beispiel: `netstat -ano`

Damit siehst du aktive Verbindungen und lauschende Ports.

Wenn du nach einem bestimmten Port suchen möchtest:

Beispiel für Port `3389`: `netstat -ano | findstr :3389`

Port `3389` wird für Remote Desktop verwendet.

### TCP und UDP

Ports können über unterschiedliche Protokolle verwendet werden. Die wichtigsten sind TCP und UDP.

#### TCP

TCP wird verwendet, wenn eine zuverlässige Verbindung wichtig ist.

Beispiele:

* Webseiten
* SSH
* RDP
* Datenbanken
* viele APIs

TCP prüft, ob Daten vollständig und in der richtigen Reihenfolge ankommen.

#### UDP

UDP wird verwendet, wenn Geschwindigkeit wichtiger ist als eine vollständige Prüfung jedes einzelnen Pakets.

Beispiele:

* viele Gameserver
* DNS
* Voice-Dienste
* Streaming
* einige VPN-Dienste

Bei Gameservern ist UDP häufig wichtig, weil Echtzeitkommunikation schnell sein muss.

### Muss ich TCP oder UDP öffnen?

Das hängt vom Dienst ab.

Einige Dienste brauchen TCP, andere UDP, manche beides.

Beispiele:

| Dienst                 | Typisch                 |
| ---------------------- | ----------------------- |
| SSH                    | TCP                     |
| HTTP / HTTPS           | TCP                     |
| RDP                    | TCP, teilweise auch UDP |
| DNS                    | UDP und TCP             |
| Minecraft Java         | TCP                     |
| Viele Steam-Gameserver | UDP                     |
| WireGuard VPN          | UDP                     |

Prüfe immer die Anleitung der Software, die du installieren möchtest.

### Ports öffnen

Einen Port zu öffnen bedeutet, dass eingehende Verbindungen zu diesem Port erlaubt werden.

Das kann an mehreren Stellen nötig sein:

* in der Firewall des Betriebssystems
* in einer zusätzlichen Server-Firewall
* in der Anwendung selbst
* bei manchen Setups auch im Panel oder in Netzwerkeinstellungen

Auf einem KVM-Server ist meistens die Firewall im Betriebssystem entscheidend.

### Ports unter Linux öffnen

Viele Linux-Systeme verwenden `ufw` oder direkte Firewall-Regeln.

Beispiel für SSH: `ufw allow 22/tcp`

Beispiel für HTTP: `ufw allow 80/tcp`

Beispiel für HTTPS: `ufw allow 443/tcp`

Beispiel für Minecraft Java: `ufw allow 25565/tcp`

Nach Änderungen solltest du den Status prüfen.

Beispiel: `ufw status`

### Ports unter Windows öffnen

Unter Windows werden Ports über die Windows Defender Firewall freigegeben.

Grundsätzlich gehst du so vor:

1. Öffne die Windows Defender Firewall mit erweiterter Sicherheit.
2. Erstelle eine neue eingehende Regel.
3. Wähle **Port** aus.
4. Wähle TCP oder UDP.
5. Trage den Port ein.
6. Erlaube die Verbindung.
7. Wähle die passenden Profile.
8. Vergib einen eindeutigen Namen.

Beispielname: `Minecraft Java 25565 TCP`

### Ports schließen

Nicht benötigte Ports sollten geschlossen bleiben.

Ein offener Port ist nicht automatisch gefährlich. Er kann aber ein Risiko sein, wenn der dahinterliegende Dienst unsicher, veraltet oder falsch konfiguriert ist.

Schließe Ports, wenn:

* der Dienst nicht mehr genutzt wird
* du die Software entfernt hast
* der Port versehentlich geöffnet wurde
* ein Dienst nicht öffentlich erreichbar sein soll

### Sicherheitsgrundsatz

Öffne nur Ports, die du wirklich brauchst.

Je weniger Dienste öffentlich erreichbar sind, desto kleiner ist die Angriffsfläche deines Servers.

Besonders vorsichtig solltest du sein bei:

* SSH
* RDP
* Datenbanken
* Admin-Panels
* Mailservern
* ungeschützten Webinterfaces

Datenbanken wie MySQL oder PostgreSQL sollten in vielen Fällen nicht öffentlich erreichbar sein, sondern nur lokal oder über gesicherte Verbindungen.

### Häufige Probleme

#### Port ist trotz Freigabe nicht erreichbar

Prüfe:

* läuft der Dienst wirklich?
* lauscht der Dienst auf dem richtigen Port?
* wurde TCP oder UDP korrekt gewählt?
* blockiert die Firewall im Betriebssystem?
* wurde der Dienst nach der Änderung neu gestartet?
* ist die IP-Adresse korrekt?
* nutzt die Anwendung vielleicht einen anderen Port?

#### Dienst läuft nur lokal

Manche Dienste lauschen nur auf `127.0.0.1`.

Das bedeutet, dass sie nur vom Server selbst erreichbar sind, aber nicht von außen.

Wenn ein Dienst öffentlich erreichbar sein soll, muss er auf der öffentlichen IP-Adresse oder auf `0.0.0.0` lauschen.

#### Falsches Protokoll geöffnet

Wenn ein Dienst UDP benötigt, aber nur TCP geöffnet wurde, funktioniert die Verbindung nicht.

Das passiert häufig bei Gameservern und Voice-Diensten.

#### Port wird bereits verwendet

Ein Port kann nicht gleichzeitig von mehreren Diensten auf derselben IP-Adresse genutzt werden.

Wenn ein Port bereits belegt ist, musst du entweder den bestehenden Dienst stoppen oder in der neuen Anwendung einen anderen Port einstellen.

#### Firewall blockiert nach Änderung SSH

Sei vorsichtig, wenn du Firewall-Regeln auf einem entfernten Server änderst.

Wenn du Port `22` blockierst und SSH nutzt, kannst du dich möglicherweise nicht mehr verbinden.

Prüfe Firewall-Regeln immer sorgfältig, bevor du sie aktivierst.

### Support kontaktieren

Wenn ein Port nicht erreichbar ist und du den Fehler nicht findest, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* IP-Adresse des Servers
* betroffener Port
* TCP oder UDP
* verwendetes Betriebssystem
* welche Software den Port nutzt
* ob der Dienst gestartet ist
* welche Firewall du verwendest
* welche Fehlermeldung angezeigt wird
* was du bereits geprüft hast

Sende niemals Passwörter, private Schlüssel oder Zugangsdaten an den Support.


# Firewall-Grundlagen

Eine Firewall kontrolliert, welche Netzwerkverbindungen zu deinem KVM-Server erlaubt oder blockiert werden.

Sie ist ein wichtiger Bestandteil der Server-Sicherheit. Mit einer Firewall kannst du festlegen, welche Dienste von außen erreichbar sein dürfen und welche nicht.

### Was ist eine Firewall?

Eine Firewall ist ein Schutzsystem für Netzwerkverbindungen.

Sie prüft eingehende und ausgehende Verbindungen anhand von Regeln. Diese Regeln bestimmen, ob eine Verbindung erlaubt oder blockiert wird.

Bei einem KVM-Server geht es meistens um eingehende Verbindungen.

Beispiele:

* SSH-Zugriff auf Linux
* RDP-Zugriff auf Windows
* Webseite über HTTP oder HTTPS
* Datenbankzugriff
* Gameserver-Port
* Mailserver-Port

Ohne Firewall können Dienste erreichbar sein, die eigentlich nicht öffentlich zugänglich sein sollten.

### Warum ist eine Firewall wichtig?

Ein Server ist dauerhaft über das Internet erreichbar. Dadurch wird er regelmäßig von automatisierten Systemen gescannt.

Diese Scans suchen nach offenen Ports, unsicheren Diensten oder falsch konfigurierten Anwendungen.

Eine Firewall hilft dabei, die Angriffsfläche zu reduzieren.

Das bedeutet: Je weniger Dienste öffentlich erreichbar sind, desto weniger Möglichkeiten gibt es für Angriffe.

### Was ist ein Port?

Ein Port ist eine Nummer, über die ein bestimmter Dienst erreichbar ist.

Die IP-Adresse zeigt auf deinen Server. Der Port zeigt auf einen bestimmten Dienst auf diesem Server.

Beispiel:

| Dienst          | Standardport |
| --------------- | -----------: |
| SSH             |         `22` |
| HTTP            |         `80` |
| HTTPS           |        `443` |
| RDP             |       `3389` |
| Minecraft Java  |      `25565` |
| MySQL / MariaDB |       `3306` |
| PostgreSQL      |       `5432` |

Wenn ein Port offen ist, kann ein Dienst darüber erreichbar sein.

Wenn ein Port blockiert ist, können Verbindungen zu diesem Port nicht aufgebaut werden.

### Eingehende und ausgehende Verbindungen

Bei Firewall-Regeln unterscheidet man zwischen eingehenden und ausgehenden Verbindungen.

### Eingehende Verbindungen

Eingehende Verbindungen kommen von außen zu deinem Server.

Beispiele:

* du verbindest dich per SSH mit deinem Linux-Server
* ein Besucher ruft deine Webseite auf
* ein Spieler verbindet sich mit deinem Gameserver
* du verbindest dich per Remote Desktop mit einem Windows Server

Diese Verbindungen solltest du bewusst erlauben.

### Ausgehende Verbindungen

Ausgehende Verbindungen gehen von deinem Server ins Internet.

Beispiele:

* dein Server lädt Updates herunter
* eine Anwendung ruft eine externe API auf
* ein Mailserver versendet E-Mails
* ein Paketmanager verbindet sich mit einem Repository

Ausgehende Verbindungen werden bei vielen Standardkonfigurationen erlaubt. Trotzdem kann es sinnvoll sein, sie bei besonderen Sicherheitsanforderungen einzuschränken.

### Grundregel für Firewalls

Erlaube nur die Ports, die du wirklich brauchst.

Alles andere sollte geschlossen bleiben.

Beispiele:

* Wenn du nur eine Webseite betreibst, brauchst du meistens `80` und `443`.
* Wenn du Linux verwaltest, brauchst du SSH, meistens Port `22`.
* Wenn du Windows verwaltest, brauchst du RDP, meistens Port `3389`.
* Wenn du einen Minecraft Server betreibst, brauchst du den Minecraft-Port, meistens `25565`.

### Typische Ports

| Zweck             |    Port | Hinweis                                                |
| ----------------- | ------: | ------------------------------------------------------ |
| SSH               |    `22` | Linux-Verwaltung                                       |
| HTTP              |    `80` | unverschlüsselte Webseite                              |
| HTTPS             |   `443` | verschlüsselte Webseite                                |
| RDP               |  `3389` | Windows Remote Desktop                                 |
| Minecraft Java    | `25565` | Standardport für Minecraft Java                        |
| Minecraft Bedrock | `19132` | Standardport für Minecraft Bedrock                     |
| FTP               |    `21` | klassisches FTP, nicht empfohlen wenn SFTP möglich ist |
| SFTP              |    `22` | Dateiübertragung über SSH                              |
| MySQL / MariaDB   |  `3306` | sollte meistens nicht öffentlich offen sein            |
| PostgreSQL        |  `5432` | sollte meistens nicht öffentlich offen sein            |
| SMTP              |    `25` | Mailversand                                            |
| IMAP              |   `143` | E-Mail-Abruf unverschlüsselt                           |
| IMAPS             |   `993` | E-Mail-Abruf verschlüsselt                             |
| SMTPS             |   `465` | Mailversand verschlüsselt                              |
| Submission        |   `587` | Mailversand für Clients                                |

### Welche Ports sollte ich öffnen?

Das hängt davon ab, was auf deinem Server laufen soll.

### Linux-Server ohne Webseite

Wenn du deinen Linux-Server nur verwalten möchtest, reicht meistens:

| Zweck | Port |
| ----- | ---: |
| SSH   | `22` |

### Webseite auf Linux

Für eine normale Webseite brauchst du meistens:

| Zweck |  Port |
| ----- | ----: |
| SSH   |  `22` |
| HTTP  |  `80` |
| HTTPS | `443` |

### Windows Server

Für einen Windows Server brauchst du meistens:

| Zweck |   Port |
| ----- | -----: |
| RDP   | `3389` |

Wenn du zusätzlich eine Webseite oder Anwendung betreibst, kommen weitere Ports dazu.

### Minecraft Server

Für Minecraft Java brauchst du meistens:

| Zweck          |    Port |
| -------------- | ------: |
| Minecraft Java | `25565` |

Für Minecraft Bedrock brauchst du meistens:

| Zweck             |    Port |
| ----------------- | ------: |
| Minecraft Bedrock | `19132` |

Wenn du einen anderen Port konfiguriert hast, musst du genau diesen Port freigeben.

### Datenbankserver

Datenbankports sollten in den meisten Fällen nicht öffentlich erreichbar sein.

Dazu gehören zum Beispiel:

* MySQL / MariaDB: `3306`
* PostgreSQL: `5432`
* Redis: `6379`
* MongoDB: `27017`

Wenn eine Datenbank nur von einer Webseite auf demselben Server genutzt wird, muss der Port nicht öffentlich geöffnet werden.

### Firewall unter Linux

Unter Linux wird häufig `ufw` verwendet. UFW steht für „Uncomplicated Firewall“ und ist eine einfache Oberfläche für Firewall-Regeln.

### UFW installieren

Auf Debian oder Ubuntu kannst du UFW so installieren:

`apt update && apt install ufw -y`

### SSH erlauben

Bevor du die Firewall aktivierst, solltest du SSH erlauben. Sonst kannst du dich möglicherweise selbst aussperren.

`ufw allow 22/tcp`

Oder kürzer:

`ufw allow ssh`

### HTTP und HTTPS erlauben

Für Webseiten:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

### Minecraft Java erlauben

Für Minecraft Java mit Standardport:

`ufw allow 25565/tcp`

### Minecraft Bedrock erlauben

Für Minecraft Bedrock mit Standardport:

`ufw allow 19132/udp`

Wichtig: Minecraft Bedrock nutzt in der Regel UDP.

### Firewall aktivieren

Wenn die benötigten Ports erlaubt sind, kannst du UFW aktivieren:

`ufw enable`

### Status prüfen

Mit folgendem Befehl prüfst du die aktiven Regeln:

`ufw status`

Ausführlicher:

`ufw status verbose`

### Regel entfernen

Eine Regel kannst du zum Beispiel so entfernen:

`ufw delete allow 25565/tcp`

### Wichtig bei SSH

Aktiviere die Firewall niemals, bevor SSH erlaubt ist.

Wenn du SSH blockierst, kannst du dich möglicherweise nicht mehr mit deinem Server verbinden.

In diesem Fall brauchst du die VNC-Konsole im Serverpanel, um die Firewall-Regeln zu korrigieren.

### Firewall unter Windows Server

Unter Windows Server wird die Windows Defender Firewall verwendet.

Dort kannst du festlegen, welche Programme oder Ports erreichbar sein dürfen.

### Port in Windows freigeben

1. Öffne die Windows-Suche.
2. Suche nach **Windows Defender Firewall mit erweiterter Sicherheit**.
3. Öffne den Bereich **Eingehende Regeln**.
4. Klicke auf **Neue Regel**.
5. Wähle **Port**.
6. Wähle **TCP** oder **UDP**.
7. Trage den gewünschten Port ein.
8. Wähle **Verbindung zulassen**.
9. Wähle die passenden Profile aus.
10. Vergib einen Namen für die Regel.
11. Speichere die Regel.

### TCP oder UDP?

Nicht jeder Dienst nutzt dasselbe Protokoll.

| Protokoll | Verwendung                                                                                               |
| --------- | -------------------------------------------------------------------------------------------------------- |
| TCP       | zuverlässige Verbindung, zum Beispiel SSH, HTTP, HTTPS, RDP, Minecraft Java                              |
| UDP       | schnelle Verbindung ohne feste Sitzung, zum Beispiel Minecraft Bedrock, einige Gameserver, Voice-Dienste |

Wenn du den falschen Protokolltyp freigibst, funktioniert der Dienst möglicherweise trotzdem nicht.

Beispiel:

* Minecraft Java: meistens TCP
* Minecraft Bedrock: meistens UDP

### Unterschied zwischen Dienst läuft und Port ist offen

Ein offener Port reicht nicht aus.

Damit ein Dienst erreichbar ist, müssen mehrere Dinge stimmen:

1. Der Dienst muss installiert sein.
2. Der Dienst muss gestartet sein.
3. Der Dienst muss auf dem richtigen Port lauschen.
4. Die Firewall muss den Port erlauben.
5. Die Anwendung muss korrekt konfiguriert sein.
6. Die Verbindung darf nicht durch eine weitere Firewall blockiert werden.

Wenn ein Webserver nicht läuft, hilft es nicht, Port `80` zu öffnen.

Wenn Minecraft auf Port `25570` läuft, hilft es nicht, nur Port `25565` zu öffnen.

### Port prüfen unter Linux

Du kannst prüfen, ob ein Dienst auf einem Port lauscht.

Beispiel:

`ss -tulpn`

Für einen bestimmten Port:

`ss -tulpn | grep 25565`

Wenn dort kein Dienst angezeigt wird, läuft auf diesem Port wahrscheinlich nichts.

### Firewall blockiert mich selbst

Wenn du dich nach einer Firewall-Änderung nicht mehr verbinden kannst, hast du vermutlich den Verwaltungsport blockiert.

Bei Linux betrifft das meistens SSH.

Bei Windows betrifft das meistens RDP.

Lösung:

1. Öffne das Serverpanel.
2. Starte die VNC-Konsole.
3. Melde dich direkt am Server an.
4. Prüfe die Firewall-Regeln.
5. Erlaube SSH oder RDP wieder.
6. Teste die Verbindung erneut.

### Sicherheitsregeln

Öffne Ports nur, wenn du sie wirklich brauchst.

Besonders vorsichtig solltest du bei folgenden Ports sein:

| Port    | Warum vorsichtig?                                           |
| ------- | ----------------------------------------------------------- |
| `22`    | SSH wird häufig automatisch angegriffen                     |
| `3389`  | RDP ist ein häufiges Angriffsziel                           |
| `3306`  | Datenbanken sollten selten öffentlich erreichbar sein       |
| `5432`  | PostgreSQL sollte selten öffentlich erreichbar sein         |
| `6379`  | Redis sollte nicht öffentlich erreichbar sein               |
| `27017` | MongoDB sollte nicht ungeschützt öffentlich erreichbar sein |

### Empfehlungen

* Öffne nur benötigte Ports.
* Verwende sichere Passwörter.
* Nutze SSH-Keys, wenn möglich.
* Halte dein System aktuell.
* Prüfe regelmäßig offene Ports.
* Deaktiviere Dienste, die du nicht brauchst.
* Erstelle vor größeren Änderungen ein Backup.
* Teste Firewall-Änderungen direkt nach dem Speichern.

### Häufige Probleme

#### SSH funktioniert nach Aktivierung der Firewall nicht mehr

Wahrscheinlich wurde Port `22` nicht erlaubt oder SSH läuft auf einem anderen Port.

Prüfe über die VNC-Konsole die Firewall-Regeln und erlaube den richtigen SSH-Port.

#### RDP funktioniert nicht mehr

Wahrscheinlich wurde Port `3389` blockiert oder Remote Desktop ist nicht aktiv.

Prüfe die Windows Defender Firewall über die VNC-Konsole.

#### Webseite ist nicht erreichbar

Prüfe:

* läuft der Webserver?
* sind Port `80` und `443` geöffnet?
* zeigt die Domain auf die richtige IP-Adresse?
* ist SSL korrekt eingerichtet?
* blockiert eine Firewall die Verbindung?

#### Minecraft Server ist nicht erreichbar

Prüfe:

* läuft der Minecraft Server?
* ist der richtige Port in der Minecraft-Konfiguration gesetzt?
* ist der Port in der Firewall geöffnet?
* nutzt du TCP oder UDP korrekt?
* verwendest du die richtige Serveradresse?

#### Datenbank ist nicht erreichbar

Prüfe zuerst, ob die Datenbank überhaupt öffentlich erreichbar sein soll.

In vielen Fällen sollte eine Datenbank nur lokal auf `127.0.0.1` erreichbar sein.

### Support kontaktieren

Wenn du ein Firewall-Problem nicht lösen kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Betriebssystem
* betroffener Dienst
* betroffener Port
* verwendetes Protokoll: TCP oder UDP
* genaue Fehlermeldung
* ob der Dienst lokal läuft
* welche Firewall-Regeln gesetzt wurden
* was du bereits versucht hast

Sende niemals Passwörter, private Schlüssel oder vertrauliche Zugangsdaten an den Support.


# Domain mit KVM-Server verbinden

In diesem Artikel erklären wir dir, wie du eine Domain mit deinem KVM-Server verbindest.

Damit eine Domain auf deinen Server zeigt, müssen die DNS-Einträge der Domain korrekt gesetzt werden. Danach kann dein Server über die Domain statt nur über die IP-Adresse erreicht werden.

### Voraussetzungen

Du benötigst:

* eine aktive Domain
* Zugriff auf die DNS-Verwaltung der Domain
* die IP-Adresse deines KVM-Servers
* einen laufenden Dienst auf dem Server, zum Beispiel einen Webserver
* grundlegenden Zugriff auf deinen Server per SSH oder RDP

Wenn du eine Webseite über die Domain aufrufen möchtest, muss auf deinem KVM-Server ein Webserver eingerichtet sein. Nur ein DNS-Eintrag reicht dafür nicht aus.

### Was bedeutet DNS?

DNS steht für **Domain Name System**.

DNS sorgt dafür, dass eine Domain auf die richtige IP-Adresse zeigt.

Beispiel:

Du gibst im Browser `deinedomain.de` ein. DNS sagt deinem Gerät, welche IP-Adresse zu dieser Domain gehört. Danach verbindet sich dein Gerät mit dem passenden Server.

Ohne DNS müsstest du Webseiten über IP-Adressen aufrufen.

### IP-Adresse des KVM-Servers finden

Die IP-Adresse deines KVM-Servers findest du im Serverpanel.

1. Öffne das Serverpanel.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Suche nach der öffentlichen IP-Adresse.

Eine IPv4-Adresse sieht zum Beispiel so aus: `123.123.123.123`

Eine IPv6-Adresse sieht zum Beispiel so aus: `2a01:4f8:1234:abcd::1`

Für die meisten einfachen Setups wird zuerst die IPv4-Adresse verwendet.

### Domain auf IPv4 zeigen lassen

Wenn deine Domain auf die IPv4-Adresse deines KVM-Servers zeigen soll, brauchst du einen A-Record.

Ein A-Record verbindet eine Domain oder Subdomain mit einer IPv4-Adresse.

Beispiel:

| Typ | Name  | Ziel              |
| --- | ----- | ----------------- |
| A   | `@`   | `123.123.123.123` |
| A   | `www` | `123.123.123.123` |

`@` steht für die Hauptdomain, zum Beispiel `deinedomain.de`.

`www` steht für die Subdomain `www.deinedomain.de`.

Wenn beide Einträge gesetzt sind, erreichst du deinen Server über:

* `deinedomain.de`
* `www.deinedomain.de`

### Domain auf IPv6 zeigen lassen

Wenn du IPv6 nutzen möchtest, brauchst du einen AAAA-Record.

Ein AAAA-Record verbindet eine Domain oder Subdomain mit einer IPv6-Adresse.

Beispiel:

| Typ  | Name  | Ziel                    |
| ---- | ----- | ----------------------- |
| AAAA | `@`   | `2a01:4f8:1234:abcd::1` |
| AAAA | `www` | `2a01:4f8:1234:abcd::1` |

Nutze IPv6 nur, wenn dein Server korrekt über IPv6 erreichbar ist und dein Dienst auch auf IPv6 lauscht.

### Subdomain mit KVM-Server verbinden

Du kannst auch nur eine Subdomain auf deinen KVM-Server zeigen lassen.

Beispiele:

| Typ | Name     | Ziel              |
| --- | -------- | ----------------- |
| A   | `server` | `123.123.123.123` |
| A   | `panel`  | `123.123.123.123` |
| A   | `app`    | `123.123.123.123` |
| A   | `cloud`  | `123.123.123.123` |

Dadurch entstehen Adressen wie:

* `server.deinedomain.de`
* `panel.deinedomain.de`
* `app.deinedomain.de`
* `cloud.deinedomain.de`

Das ist sinnvoll, wenn auf deinem KVM-Server mehrere Dienste laufen.

### www-Weiterleitung verstehen

`deinedomain.de` und `www.deinedomain.de` sind technisch unterschiedliche Namen.

Wenn beide funktionieren sollen, musst du beide Namen im DNS einrichten.

Häufig wird zusätzlich im Webserver eine Weiterleitung eingerichtet.

Beispiel:

* `www.deinedomain.de` leitet auf `deinedomain.de` weiter
* oder `deinedomain.de` leitet auf `www.deinedomain.de` weiter

DNS allein erstellt keine automatische Weiterleitung. DNS zeigt nur auf eine IP-Adresse. Die Weiterleitung wird im Webserver oder in der Anwendung eingerichtet.

### DNS-Einträge setzen

Öffne die DNS-Verwaltung deiner Domain und lege die passenden Einträge an.

Für eine einfache Webseite mit IPv4 reichen meistens diese Einträge:

| Typ | Name  | Ziel                          |
| --- | ----- | ----------------------------- |
| A   | `@`   | IP-Adresse deines KVM-Servers |
| A   | `www` | IP-Adresse deines KVM-Servers |

Speichere die Änderung anschließend.

### Alte DNS-Einträge prüfen

Prüfe vor dem Speichern, ob es bereits Einträge für dieselbe Domain oder Subdomain gibt.

Ein häufiger Fehler ist, dass mehrere widersprüchliche Einträge vorhanden sind.

Beispiel:

| Typ | Name | Ziel         |
| --- | ---- | ------------ |
| A   | `@`  | alter Server |
| A   | `@`  | neuer Server |

Wenn mehrere A-Records für denselben Namen existieren, kann die Domain abwechselnd auf verschiedene Server zeigen.

Entferne alte oder falsche Einträge, wenn sie nicht mehr benötigt werden.

### CNAME nicht mit A-Record verwechseln

Ein CNAME-Record verweist nicht direkt auf eine IP-Adresse, sondern auf einen anderen Namen.

Beispiel:

| Typ   | Name  | Ziel             |
| ----- | ----- | ---------------- |
| CNAME | `www` | `deinedomain.de` |

Das bedeutet: `www.deinedomain.de` zeigt auf dasselbe Ziel wie `deinedomain.de`.

Für die Hauptdomain wird meistens ein A-Record verwendet. Für Subdomains kann ein CNAME sinnvoll sein.

Wichtig: Ein CNAME darf nicht immer zusammen mit anderen Einträgen für denselben Namen existieren. Wenn du unsicher bist, nutze für einfache Setups lieber A-Records.

### DNS-Änderungen brauchen Zeit

DNS-Änderungen sind nicht immer sofort aktiv.

Es kann einige Minuten bis mehrere Stunden dauern, bis die Änderung überall übernommen wurde. Diese Wartezeit nennt man DNS-Propagation.

Wie lange es dauert, hängt unter anderem ab von:

* TTL des DNS-Eintrags
* deinem Internetanbieter
* zwischengespeicherten DNS-Daten
* verwendeten Nameservern
* vorherigen DNS-Einstellungen

Wenn du die Domain gerade geändert hast und sie noch auf den alten Server zeigt, warte etwas und prüfe später erneut.

### Prüfen, ob die Domain richtig zeigt

Du kannst testen, ob deine Domain auf die richtige IP-Adresse zeigt.

Unter Windows kannst du in der Eingabeaufforderung verwenden:

`nslookup deinedomain.de`

Unter macOS und Linux kannst du im Terminal verwenden:

`dig deinedomain.de`

oder:

`nslookup deinedomain.de`

Das Ergebnis sollte die IP-Adresse deines KVM-Servers anzeigen.

### Webserver muss eingerichtet sein

Wenn du eine Webseite über deine Domain öffnen möchtest, muss auf deinem KVM-Server ein Webserver laufen.

Typische Webserver sind:

* Nginx
* Apache
* Caddy
* OpenLiteSpeed

Wenn kein Webserver läuft, kann die Domain zwar korrekt auf deinen Server zeigen, aber im Browser erscheint trotzdem ein Fehler.

Typische Fehlermeldungen sind:

* `Diese Website ist nicht erreichbar`
* `Connection refused`
* `Zeitüberschreitung`
* `403 Forbidden`
* `404 Not Found`
* `502 Bad Gateway`

DNS verbindet nur die Domain mit dem Server. Der Server selbst muss den Dienst bereitstellen.

### Ports für Webseiten

Für Webseiten werden meistens diese Ports verwendet:

| Port  | Zweck |
| ----- | ----- |
| `80`  | HTTP  |
| `443` | HTTPS |

Damit eine Webseite erreichbar ist, muss der Webserver auf diesen Ports laufen und die Firewall darf die Verbindung nicht blockieren.

### Firewall prüfen

Wenn die Domain richtig auf deinen Server zeigt, die Webseite aber nicht erreichbar ist, prüfe die Firewall.

Bei Linux mit UFW kannst du zum Beispiel prüfen:

`ufw status`

Für Webseiten müssen normalerweise HTTP und HTTPS erlaubt sein.

Beispiel:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

Bei Windows Server musst du die Ports in der Windows Defender Firewall freigeben.

### Domain im Webserver einrichten

Viele Webserver müssen wissen, für welche Domain sie Inhalte ausliefern sollen.

Bei Nginx heißt das meist Server Block.

Bei Apache heißt das meist Virtual Host.

Beispiel:

* Domain zeigt per DNS auf den Server
* Webserver empfängt die Anfrage
* Webserver prüft den Domainnamen
* Webserver liefert die passende Webseite aus

Wenn der Webserver nicht für deine Domain konfiguriert ist, kann es sein, dass eine Standardseite oder ein Fehler angezeigt wird.

### SSL-Zertifikat einrichten

Wenn deine Webseite über HTTPS erreichbar sein soll, brauchst du ein SSL-Zertifikat.

Für viele Setups wird Let's Encrypt verwendet.

Ein SSL-Zertifikat sorgt dafür, dass deine Webseite verschlüsselt über `https://` erreichbar ist.

Ohne SSL kann der Browser eine Warnung anzeigen oder die Seite nur über `http://` öffnen.

Typische Schritte:

1. Domain per DNS auf den KVM-Server zeigen lassen.
2. Webserver für die Domain einrichten.
3. Port `80` und `443` freigeben.
4. SSL-Zertifikat erstellen.
5. HTTPS im Webserver aktivieren.

### Reverse DNS

Reverse DNS ist die umgekehrte Richtung von normalem DNS.

Normales DNS:

`deinedomain.de` zeigt auf `123.123.123.123`

Reverse DNS:

`123.123.123.123` zeigt auf einen Namen wie `server.deinedomain.de`

Reverse DNS ist besonders wichtig für Mailserver. Für normale Webseiten ist Reverse DNS meistens nicht entscheidend.

Wenn du einen Mailserver betreiben möchtest, solltest du Reverse DNS korrekt setzen und zusätzlich SPF, DKIM und DMARC einrichten.

### Häufige Probleme

#### Domain zeigt noch auf den alten Server

Mögliche Ursachen:

* DNS-Änderung ist noch nicht überall aktiv
* alter A-Record ist noch vorhanden
* falscher Nameserver wird verwendet
* Browser oder DNS-Cache nutzt alte Daten
* TTL ist noch nicht abgelaufen

Warte einige Zeit und prüfe die DNS-Einträge erneut.

#### Domain zeigt auf die richtige IP, Webseite lädt aber nicht

Dann funktioniert DNS wahrscheinlich, aber der Dienst auf dem Server nicht.

Prüfe:

* läuft ein Webserver?
* ist Port `80` geöffnet?
* ist Port `443` geöffnet?
* blockiert eine Firewall?
* ist der Webserver für die Domain konfiguriert?
* zeigt die Webseite in den Logs einen Fehler?

#### www funktioniert, Hauptdomain aber nicht

Dann fehlt vermutlich ein DNS-Eintrag für `@`.

Setze zusätzlich einen A-Record für die Hauptdomain.

#### Hauptdomain funktioniert, www aber nicht

Dann fehlt vermutlich ein DNS-Eintrag für `www`.

Setze zusätzlich einen A-Record oder CNAME für `www`.

#### HTTPS funktioniert nicht

Mögliche Ursachen:

* SSL-Zertifikat fehlt
* SSL-Zertifikat ist abgelaufen
* Webserver ist nicht für HTTPS eingerichtet
* Port `443` ist blockiert
* Domain zeigt noch nicht korrekt auf den Server

Prüfe zuerst, ob die Domain korrekt auf den KVM-Server zeigt. Danach richte SSL ein.

#### DNS-Eintrag ist gesetzt, aber Test zeigt falsche IP

Mögliche Ursachen:

* falsche DNS-Zone bearbeitet
* Domain verwendet andere Nameserver
* Änderung wurde noch nicht übernommen
* alter Eintrag existiert weiterhin
* DNS-Cache zeigt noch alte Daten

Prüfe, welche Nameserver deine Domain verwendet, und bearbeite die DNS-Zone dort.

#### Verbindung wird abgelehnt

Wenn im Browser eine Verbindung abgelehnt wird, ist der Server zwar erreichbar, aber der gewünschte Dienst nimmt keine Verbindung an.

Prüfe:

* Webserver gestartet?
* richtiger Port?
* Firewall offen?
* Dienst an die richtige IP gebunden?
* Server neu gestartet nach Konfigurationsänderung?

### Support kontaktieren

Wenn du nicht weiterkommst, kontaktiere den Support.

Gib bitte folgende Informationen an:

* Domainname
* IP-Adresse deines KVM-Servers
* gesetzte DNS-Einträge
* verwendeter Webserver, falls bekannt
* Betriebssystem des Servers
* genaue Fehlermeldung im Browser
* ob HTTP oder HTTPS betroffen ist
* was du bereits geprüft hast

Sende keine Passwörter, privaten SSH-Keys oder Zugangsdaten an den Support.


# Reverse DNS setzen

Reverse DNS ordnet eine IP-Adresse einem Hostnamen zu.

Normalerweise zeigt DNS von einem Namen auf eine IP-Adresse. Reverse DNS funktioniert in die andere Richtung: Eine IP-Adresse wird auf einen Namen zurückgeführt.

Das ist besonders wichtig, wenn du auf deinem KVM-Server Dienste betreibst, bei denen andere Systeme die Herkunft deines Servers prüfen.

### Was ist Reverse DNS?

Bei normalem DNS wird ein Domainname in eine IP-Adresse aufgelöst.

Beispiel:

| Richtung    | Beispiel                                            |
| ----------- | --------------------------------------------------- |
| DNS         | `server.deinedomain.de` zeigt auf `123.123.123.123` |
| Reverse DNS | `123.123.123.123` zeigt auf `server.deinedomain.de` |

Reverse DNS wird auch **rDNS** oder **PTR-Record** genannt.

Der technische DNS-Eintrag dahinter heißt **PTR-Record**.

### Wofür wird Reverse DNS benötigt?

Reverse DNS wird häufig zur Prüfung von Servern verwendet.

Typische Einsatzzwecke sind:

* Mailserver
* Monitoring-Systeme
* Serveridentifikation
* Logauswertung
* Anti-Spam-Prüfungen
* technische Vertrauensprüfung

Besonders bei Mailservern ist Reverse DNS sehr wichtig. Viele Mailanbieter prüfen, ob die IP-Adresse eines sendenden Servers einen passenden PTR-Record besitzt.

Fehlt ein sinnvoller Reverse-DNS-Eintrag, können E-Mails häufiger im Spam landen oder abgelehnt werden.

### Beispiel

Du betreibst einen Mailserver auf deinem KVM-Server.

Dein Server hat die IP-Adresse `123.123.123.123`.

Dein gewünschter Hostname lautet `mail.deinedomain.de`.

Dann sollte Folgendes zusammenpassen:

| Eintrag           | Wert                                              |
| ----------------- | ------------------------------------------------- |
| A-Record          | `mail.deinedomain.de` zeigt auf `123.123.123.123` |
| Reverse DNS / PTR | `123.123.123.123` zeigt auf `mail.deinedomain.de` |

Beide Richtungen sollten zueinander passen.

### Voraussetzungen

Bevor du Reverse DNS setzt, solltest du prüfen:

* du hast Zugriff auf den KVM-Server
* du kennst die IP-Adresse des Servers
* du besitzt oder verwaltest die Domain
* der gewünschte Hostname existiert als DNS-Eintrag
* der Hostname zeigt auf die IP-Adresse deines Servers

Der Hostname sollte vollständig sein.

Richtig: `server.deinedomain.de`\
Richtig: `mail.deinedomain.de`\
Falsch: `server`\
Falsch: `deinedomain.de`, wenn die Hauptdomain nicht direkt als Servername genutzt werden soll

### Hostname vorbereiten

Bevor du Reverse DNS setzt, lege zuerst einen passenden DNS-Eintrag für deinen Hostnamen an.

Beispiel für IPv4:

| Typ | Name     | Ziel              |
| --- | -------- | ----------------- |
| A   | `server` | `123.123.123.123` |

Das ergibt den Hostnamen:

`server.deinedomain.de`

Beispiel für IPv6:

| Typ  | Name     | Ziel             |
| ---- | -------- | ---------------- |
| AAAA | `server` | `2001:db8::1234` |

Wenn du einen Mailserver betreibst, wird häufig ein Hostname wie `mail.deinedomain.de` verwendet.

### Reverse DNS im Serverpanel setzen

Reverse DNS wird nicht im normalen DNS-Bereich deiner Domain gesetzt, sondern beim Anbieter der IP-Adresse.

Bei deinem KVM-Server setzt du den Reverse-DNS-Eintrag daher im Serverpanel, sofern die Funktion für deinen Dienst verfügbar ist.

1. Öffne das Serverpanel.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Öffne den Bereich für Netzwerk, IP-Adressen oder Reverse DNS.
5. Wähle die gewünschte IP-Adresse aus.
6. Trage den vollständigen Hostnamen ein.
7. Speichere die Änderung.

Beispielwert:

`server.deinedomain.de`

### Wichtig bei Neukunden

Wenn du dich zum ersten Mal im Serverpanel anmeldest, kann es sein, dass dein Passwort aus dem Kundenportal dort nicht funktioniert.

Deine E-Mail-Adresse wird als Benutzername übermittelt. Dein Passwort wird aus Datenschutzgründen nicht automatisch in das Serverpanel übertragen.

Nutze in diesem Fall im Serverpanel die Funktion **Passwort vergessen?** und setze einmalig ein Passwort.

### Reverse DNS prüfen

Nach dem Speichern kann es einige Zeit dauern, bis der Eintrag überall sichtbar ist.

Du kannst Reverse DNS mit verschiedenen Tools prüfen.

Unter Linux oder macOS:

`dig -x 123.123.123.123`

oder:

`host 123.123.123.123`

Unter Windows kannst du zum Beispiel verwenden:

`nslookup 123.123.123.123`

Wenn alles korrekt eingerichtet ist, sollte als Ergebnis dein gesetzter Hostname angezeigt werden.

### Forward-confirmed Reverse DNS

Bei vielen Diensten ist es wichtig, dass DNS und Reverse DNS zusammenpassen.

Das bedeutet:

1. Die IP-Adresse zeigt per Reverse DNS auf einen Hostnamen.
2. Dieser Hostname zeigt per DNS wieder zurück auf dieselbe IP-Adresse.

Beispiel:

| Prüfung     | Ergebnis                                          |
| ----------- | ------------------------------------------------- |
| Reverse DNS | `123.123.123.123` zeigt auf `mail.deinedomain.de` |
| DNS         | `mail.deinedomain.de` zeigt auf `123.123.123.123` |

Das nennt man häufig **Forward-confirmed Reverse DNS**.

Gerade bei Mailservern ist das wichtig.

### Reverse DNS für Mailserver

Wenn du einen Mailserver betreiben möchtest, sollte dein Reverse-DNS-Eintrag sauber gesetzt sein.

Empfohlen ist ein eindeutiger Hostname wie:

`mail.deinedomain.de`

Zusätzlich solltest du für Mailserver auch weitere DNS-Einträge korrekt einrichten:

* A-Record oder AAAA-Record
* MX-Record
* SPF
* DKIM
* DMARC
* PTR / Reverse DNS

Reverse DNS allein reicht nicht aus, damit E-Mails zuverlässig zugestellt werden. Es ist aber ein wichtiger Teil der Mailserver-Konfiguration.

### Häufige Fehler

#### Reverse DNS zeigt noch den alten Wert

DNS-Änderungen brauchen Zeit.

Warte einige Minuten und prüfe später erneut.

#### Der Hostname wird nicht akzeptiert

Prüfe:

* Ist der Hostname vollständig?
* Gibt es Tippfehler?
* Enthält der Hostname ungültige Zeichen?
* Zeigt der Hostname bereits auf die IP-Adresse?
* Nutzt du eine Domain, die du kontrollierst?

Ein gültiger Hostname sieht zum Beispiel so aus:

`server.deinedomain.de`

#### Reverse DNS funktioniert nicht für meine Domain

Reverse DNS wird nicht beim normalen Domain-DNS gesetzt.

Der PTR-Record wird beim Anbieter der IP-Adresse verwaltet. Deshalb musst du Reverse DNS im Serverpanel oder über den Support setzen, nicht nur in deiner DNS-Zone.

#### E-Mails landen trotzdem im Spam

Reverse DNS ist nur ein Teil der Mailzustellung.

Prüfe zusätzlich:

* SPF-Eintrag
* DKIM-Signatur
* DMARC-Eintrag
* MX-Record
* Mailserver-Hostname
* Blacklist-Einträge
* korrekte HELO/EHLO-Konfiguration
* Inhalt und Reputation der versendeten E-Mails

#### Reverse DNS ist gesetzt, aber Prüfung schlägt fehl

Prüfe, ob der Hostname auch wieder auf die IP-Adresse zeigt.

Beispiel:

`mail.deinedomain.de` muss per A-Record oder AAAA-Record auf die Server-IP zeigen.

### Support kontaktieren

Wenn du Reverse DNS nicht setzen kannst oder der Eintrag nicht übernommen wird, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* betroffener KVM-Server
* IP-Adresse
* gewünschter Reverse-DNS-Hostname
* Domain, die verwendet werden soll
* ob der passende A- oder AAAA-Record bereits gesetzt wurde
* Fehlermeldung, falls vorhanden

Sende keine Passwörter oder privaten Zugangsdaten.


# KVM-Server absichern

Ein KVM-Server bietet dir viel Freiheit, aber auch viel Verantwortung. Du verwaltest das Betriebssystem selbst und bist dafür zuständig, den Server sicher zu betreiben.

In diesem Artikel zeigen wir dir grundlegende Maßnahmen, mit denen du deinen KVM-Server besser absichern kannst.

### Warum Sicherheit wichtig ist

Ein öffentlich erreichbarer Server ist dauerhaft mit dem Internet verbunden. Dadurch können auch fremde Personen versuchen, sich mit deinem Server zu verbinden oder bekannte Schwachstellen auszunutzen.

Typische Risiken sind:

* schwache Passwörter
* veraltete Software
* offene Ports
* falsch konfigurierte Dienste
* unsichere SSH- oder RDP-Zugänge
* fehlende Firewall
* keine Backups
* kompromittierte Anwendungen

Ein sicher konfigurierter Server reduziert diese Risiken deutlich.

### Verantwortung bei KVM-Servern

Bei einem KVM-Server hast du Root- oder Administrator-Zugriff. Das bedeutet, dass du viele Einstellungen selbst ändern kannst.

Gleichzeitig bist du auch selbst für dein System verantwortlich.

Dazu gehören unter anderem:

* Betriebssystem aktuell halten
* sichere Passwörter verwenden
* Benutzerrechte sauber verwalten
* Firewall einrichten
* Dienste absichern
* Backups erstellen
* Logs prüfen
* verdächtige Aktivitäten erkennen

Der Support kann dir bei Problemen helfen. Die Administration deines Betriebssystems und deiner installierten Software liegt jedoch grundsätzlich bei dir.

### Betriebssystem aktuell halten

Sicherheitsupdates sind eine der wichtigsten Maßnahmen.

Veraltete Pakete oder Dienste können bekannte Sicherheitslücken enthalten. Diese werden häufig automatisch von Bots gesucht und ausgenutzt.

#### Debian und Ubuntu aktualisieren

Melde dich per SSH auf deinem Server an und führe die Updates aus.

Befehl: `apt update`

Danach installierst du verfügbare Updates.

Befehl: `apt upgrade`

Wenn Kernel-Updates oder wichtige Systemupdates installiert wurden, kann ein Neustart erforderlich sein.

Befehl: `reboot`

#### AlmaLinux und Rocky Linux aktualisieren

Bei AlmaLinux oder Rocky Linux nutzt du folgenden Befehl:

`dnf update`

Danach kannst du den Server bei Bedarf neu starten.

Befehl: `reboot`

#### Windows Server aktualisieren

Bei Windows Server solltest du regelmäßig Windows Update ausführen.

1. Öffne die Windows-Einstellungen.
2. Gehe zu **Windows Update**.
3. Suche nach Updates.
4. Installiere verfügbare Updates.
5. Starte den Server neu, falls erforderlich.

### Sichere Passwörter verwenden

Schwache Passwörter sind eine häufige Ursache für kompromittierte Server.

Verwende für deinen Server ein eigenes, langes und zufälliges Passwort.

Ein sicheres Passwort sollte:

* nicht bei anderen Diensten verwendet werden
* mindestens 12 bis 16 Zeichen lang sein
* Groß- und Kleinbuchstaben enthalten
* Zahlen enthalten
* Sonderzeichen enthalten
* nicht aus Namen, Domains oder einfachen Wörtern bestehen

Beispiele für schlechte Passwörter:

* `password`
* `admin123`
* `minecraft`
* `root`
* `server123`
* `deinedomain2024`

Nutze am besten einen Passwortmanager. Damit kannst du für jeden Dienst ein eigenes Passwort speichern.

### Standardzugänge prüfen

Viele Angriffe richten sich gegen bekannte Standardzugänge.

Typische Ziele sind:

* SSH auf Port `22`
* RDP auf Port `3389`
* Datenbanken wie MySQL oder PostgreSQL
* Weboberflächen von Adminpanels
* FTP-Server
* alte Testinstallationen

Prüfe regelmäßig, welche Dienste auf deinem Server laufen und welche Ports geöffnet sind.

Unter Linux kannst du offene Ports zum Beispiel so prüfen:

`ss -tulpen`

Wenn ein Dienst nicht benötigt wird, solltest du ihn deaktivieren oder deinstallieren.

### Firewall einrichten

Eine Firewall steuert, welche Verbindungen zu deinem Server erlaubt sind.

Grundregel: Öffne nur Ports, die du wirklich brauchst.

Typische Ports sind:

| Port    | Dienst            |
| ------- | ----------------- |
| `22`    | SSH               |
| `80`    | HTTP              |
| `443`   | HTTPS             |
| `3389`  | Remote Desktop    |
| `25565` | Minecraft Java    |
| `19132` | Minecraft Bedrock |

Wenn du einen Dienst nicht nutzt, sollte der entsprechende Port nicht erreichbar sein.

### Firewall unter Linux mit UFW

UFW ist eine einfache Firewall für viele Linux-Systeme.

UFW installieren:

`apt install ufw`

SSH erlauben:

`ufw allow 22/tcp`

HTTP und HTTPS erlauben:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

Firewall aktivieren:

`ufw enable`

Status prüfen:

`ufw status`

**Wichtig:** Erlaube SSH, bevor du die Firewall aktivierst. Wenn du SSH blockierst, kannst du dich möglicherweise nicht mehr normal mit deinem Server verbinden.

### Firewall unter Windows Server

Bei Windows Server nutzt du die Windows Defender Firewall.

1. Öffne die Windows Defender Firewall.
2. Öffne **Erweiterte Einstellungen**.
3. Wähle **Eingehende Regeln**.
4. Erstelle eine neue Regel.
5. Wähle den benötigten Port.
6. Erlaube die Verbindung.
7. Wähle das passende Profil.
8. Vergib einen eindeutigen Namen.

Öffne nur Ports, die du wirklich benötigst.

### SSH absichern

SSH ist der Standardzugang für Linux-Server.

Wenn SSH unsicher konfiguriert ist, kann dein Server leichter angegriffen werden.

### SSH-Key statt Passwort verwenden

Ein SSH-Key ist sicherer als ein Passwort, wenn er korrekt verwendet wird.

Dabei meldest du dich nicht mit einem Passwort an, sondern mit einem privaten Schlüssel auf deinem Gerät.

Vorteile:

* schwerer zu erraten als ein Passwort
* besser gegen Brute-Force-Angriffe
* kann zusätzlich mit einer Passphrase geschützt werden

### SSH-Key erstellen

Auf Windows, macOS oder Linux kannst du im Terminal einen SSH-Key erstellen.

Befehl:

`ssh-keygen -t ed25519`

Danach wird ein privater und ein öffentlicher Schlüssel erzeugt.

Der öffentliche Schlüssel wird auf dem Server hinterlegt. Der private Schlüssel bleibt auf deinem Gerät.

**Wichtig:** Gib deinen privaten SSH-Key niemals weiter. Wer Zugriff auf deinen privaten Schlüssel hat, kann sich möglicherweise auf deinem Server anmelden.

### SSH-Key auf dem Server hinterlegen

Der öffentliche Schlüssel wird auf dem Server in folgender Datei gespeichert:

`~/.ssh/authorized_keys`

Achte auf korrekte Rechte:

`chmod 700 ~/.ssh`

`chmod 600 ~/.ssh/authorized_keys`

### Passwort-Login für SSH deaktivieren

Wenn dein SSH-Key funktioniert, kannst du den Passwort-Login deaktivieren.

Öffne die SSH-Konfiguration:

`nano /etc/ssh/sshd_config`

Setze oder ändere folgenden Wert:

`PasswordAuthentication no`

Optional kannst du zusätzlich den direkten Root-Login deaktivieren:

`PermitRootLogin no`

Danach SSH neu starten:

`systemctl restart ssh`

**Wichtig:** Teste deinen SSH-Key in einem zweiten Terminalfenster, bevor du den Passwort-Login deaktivierst. Wenn die Key-Anmeldung nicht funktioniert, kannst du dich sonst aussperren.

### Root-Login deaktivieren

Der direkte Login als `root` ist bequem, aber nicht immer empfehlenswert.

Besser ist:

1. normalen Benutzer anlegen
2. diesem Benutzer sudo-Rechte geben
3. direkten Root-Login deaktivieren

Benutzer anlegen:

`adduser benutzername`

Benutzer zur sudo-Gruppe hinzufügen:

`usermod -aG sudo benutzername`

Danach kannst du dich mit dem neuen Benutzer anmelden und administrative Befehle mit `sudo` ausführen.

### SSH-Port ändern

Du kannst den SSH-Port ändern, um einfache automatische Angriffe auf Port `22` zu reduzieren.

Öffne die SSH-Konfiguration:

`nano /etc/ssh/sshd_config`

Ändere zum Beispiel:

`Port 2222`

Erlaube den neuen Port in der Firewall:

`ufw allow 2222/tcp`

Starte SSH neu:

`systemctl restart ssh`

Danach verbindest du dich so:

`ssh benutzername@SERVER-IP -p 2222`

**Hinweis:** Ein geänderter SSH-Port ersetzt keine echte Sicherheitskonfiguration. Verwende trotzdem sichere Passwörter, SSH-Keys und eine Firewall.

### Fail2Ban installieren

Fail2Ban schützt Dienste wie SSH vor vielen fehlgeschlagenen Loginversuchen.

Installation unter Debian oder Ubuntu:

`apt install fail2ban`

Dienst aktivieren:

`systemctl enable fail2ban`

Dienst starten:

`systemctl start fail2ban`

Status prüfen:

`systemctl status fail2ban`

Fail2Ban erkennt wiederholte fehlgeschlagene Loginversuche und sperrt die betroffene IP-Adresse zeitweise.

### RDP absichern

Bei Windows Server ist Remote Desktop häufig das wichtigste Angriffsziel.

Wenn du RDP verwendest, solltest du besonders auf Sicherheit achten.

Empfehlungen:

* starkes Administrator-Passwort verwenden
* unnötige Benutzer entfernen
* Windows Updates installieren
* Firewall-Regeln begrenzen
* RDP nur für benötigte IP-Adressen erlauben, wenn möglich
* Standardadministrator umbenennen
* Ereignisanzeige regelmäßig prüfen

### RDP-Port ändern

Der Standardport für RDP ist `3389`.

Ein geänderter Port kann automatische Angriffe reduzieren, ersetzt aber keine echte Absicherung.

Wenn du den RDP-Port änderst, musst du auch die Firewall-Regeln anpassen.

**Wichtig:** Ändere den RDP-Port nur, wenn du weißt, was du tust. Eine falsche Einstellung kann dazu führen, dass du dich nicht mehr per Remote Desktop verbinden kannst.

### Nur benötigte Dienste installieren

Installiere nur Software, die du wirklich brauchst.

Jede zusätzliche Software kann neue Sicherheitsrisiken schaffen.

Vermeide:

* ungenutzte Webpanels
* alte Testinstallationen
* öffentlich erreichbare Datenbanken
* nicht gepflegte Skripte
* unbekannte Installationsscripts
* unnötige FTP-Dienste

Wenn du Software nicht mehr nutzt, deinstalliere sie.

### Datenbanken absichern

Datenbanken sollten in den meisten Fällen nicht öffentlich erreichbar sein.

MySQL, MariaDB oder PostgreSQL sollten nur dann über das Internet erreichbar sein, wenn es wirklich notwendig ist und sicher konfiguriert wurde.

Empfehlungen:

* Datenbank nur lokal erreichbar machen
* starke Datenbankpasswörter verwenden
* eigene Benutzer pro Anwendung erstellen
* keine Root-Datenbankzugänge für Anwendungen verwenden
* regelmäßige Datenbank-Backups erstellen

### Webserver absichern

Wenn du Webseiten auf deinem KVM-Server betreibst, solltest du auch den Webserver absichern.

Wichtige Punkte:

* HTTPS verwenden
* Software aktuell halten
* nicht benötigte Testdateien entfernen
* Dateirechte prüfen
* Adminbereiche schützen
* CMS wie WordPress regelmäßig aktualisieren
* Plugins und Themes aktuell halten
* alte Backups nicht öffentlich im Webverzeichnis speichern

### SSL-Zertifikat verwenden

Für Webseiten solltest du HTTPS aktivieren.

Ein SSL-Zertifikat sorgt dafür, dass die Verbindung zwischen Besucher und Webseite verschlüsselt wird.

Für viele Webserver kann Let's Encrypt verwendet werden.

Certbot installieren:

`apt install certbot`

Für Nginx:

`apt install python3-certbot-nginx`

Für Apache:

`apt install python3-certbot-apache`

### Backups erstellen

Sicherheit bedeutet nicht nur Schutz vor Angriffen. Auch Datenverlust gehört dazu.

Erstelle regelmäßig Backups.

Backups helfen bei:

* versehentlichem Löschen
* fehlerhaften Updates
* defekter Konfiguration
* kompromittierten Servern
* beschädigten Datenbanken
* fehlgeschlagenen Installationen

### Was sollte gesichert werden?

Sichere je nach Nutzung:

* Webseiten-Dateien
* Datenbanken
* Konfigurationsdateien
* Anwendungsdaten
* Docker-Volumes
* Maildaten
* wichtige Skripte
* SSL-Zertifikate
* eigene Projekte

Speichere Backups nicht nur auf demselben Server. Wenn der Server beschädigt oder kompromittiert wird, können lokale Backups ebenfalls betroffen sein.

### Logs prüfen

Logs helfen dir, Probleme und Angriffe zu erkennen.

Wichtige Linux-Logs:

| Datei oder Befehl   | Zweck                      |
| ------------------- | -------------------------- |
| `/var/log/auth.log` | SSH- und Loginversuche     |
| `/var/log/syslog`   | allgemeine Systemmeldungen |
| `journalctl`        | Systemdienste und Fehler   |
| `/var/log/nginx/`   | Nginx-Logs                 |
| `/var/log/apache2/` | Apache-Logs                |

Beispiele:

`journalctl -xe`

`journalctl -u ssh`

`tail -f /var/log/auth.log`

Bei Windows findest du wichtige Ereignisse in der Ereignisanzeige.

### Offene Ports prüfen

Prüfe regelmäßig, welche Ports erreichbar sind.

Unter Linux:

`ss -tulpen`

Achte darauf, dass nur notwendige Dienste erreichbar sind.

Typische unnötige Risiken sind:

* Datenbankport öffentlich offen
* Adminpanel ohne Schutz erreichbar
* Testserver öffentlich erreichbar
* alte Dienste laufen weiter
* FTP statt SFTP verwendet

### Verdächtige Aktivitäten erkennen

Anzeichen für einen kompromittierten Server können sein:

* ungewöhnlich hohe CPU-Auslastung
* unbekannte Prozesse
* viele fehlgeschlagene Logins
* unbekannte Benutzerkonten
* geänderte Systemdateien
* ausgehender Spam
* Beschwerden über Missbrauch
* Server wird plötzlich langsam
* unbekannte Dienste laufen
* Firewall-Regeln wurden verändert

Wenn du solche Anzeichen bemerkst, solltest du schnell reagieren.

### Was tun bei Verdacht auf Kompromittierung?

Wenn du glaubst, dass dein Server kompromittiert wurde:

1. Trenne unnötige Dienste vom Internet.
2. Sichere wichtige Logs.
3. Ändere Passwörter nicht nur auf dem Server, sondern auch bei betroffenen Diensten.
4. Prüfe Benutzerkonten und SSH-Keys.
5. Prüfe laufende Prozesse.
6. Prüfe Cronjobs und Systemdienste.
7. Sichere wichtige Daten.
8. Setze den Server im Zweifel sauber neu auf.
9. Spiele nur saubere Backups wieder ein.

**Wichtig:** Wenn ein Server kompromittiert wurde, reicht es oft nicht, nur einzelne Dateien zu löschen. Ein vollständiges Neuaufsetzen ist häufig die sicherste Lösung.

### Sicherheitscheckliste

Prüfe nach der Einrichtung deines KVM-Servers mindestens folgende Punkte:

* Betriebssystem ist aktuell
* sichere Passwörter gesetzt
* SSH-Key eingerichtet
* unnötige Dienste deaktiviert
* Firewall aktiviert
* nur benötigte Ports geöffnet
* Root-Login geprüft
* Fail2Ban installiert
* Backups eingerichtet
* wichtige Logs bekannt
* Webanwendungen aktuell
* Datenbanken nicht unnötig öffentlich erreichbar
* RDP oder SSH abgesichert
* Zugangsdaten sicher gespeichert

### Support kontaktieren

Wenn du Hilfe bei einem Sicherheitsproblem benötigst, kontaktiere den Support.

Gib dabei möglichst genau an:

* Betriebssystem
* betroffene IP-Adresse
* betroffener Dienst
* genaue Fehlermeldung
* Zeitpunkt des Problems
* welche Änderungen zuletzt vorgenommen wurden
* ob du noch Zugriff per SSH, RDP oder VNC hast
* welche Maßnahmen du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private SSH-Keys, API-Tokens oder andere geheime Zugangsdaten an den Support.


# Server ist nicht erreichbar

Wenn dein KVM-Server nicht erreichbar ist, kann das verschiedene Ursachen haben. Häufig liegt es an einem ausgeschalteten Server, einer fehlerhaften Netzwerkkonfiguration, einer blockierenden Firewall, einem falschen Port oder einem Problem im Betriebssystem.

In diesem Artikel zeigen wir dir, wie du Schritt für Schritt prüfst, warum dein Server nicht erreichbar ist.

### Was bedeutet „nicht erreichbar“?

„Nicht erreichbar“ kann unterschiedliche Dinge bedeuten.

Zum Beispiel:

* du kannst dich nicht per SSH verbinden
* du kannst dich nicht per Remote Desktop verbinden
* deine Webseite lädt nicht
* dein Gameserver ist offline
* deine Domain zeigt nicht auf den Server
* der Server antwortet nicht auf Ping
* ein bestimmter Port ist nicht erreichbar

Wichtig ist deshalb zuerst herauszufinden, ob der ganze Server nicht erreichbar ist oder nur ein einzelner Dienst.

### Serverstatus im Serverpanel prüfen

Prüfe zuerst, ob der Server im Serverpanel eingeschaltet ist.

1. Öffne das Serverpanel.
2. Melde dich mit deiner E-Mail-Adresse an.
3. Wähle deinen KVM-Server aus.
4. Prüfe den aktuellen Status.
5. Starte den Server, falls er ausgeschaltet ist.

Wenn der Server bereits läuft, kannst du ihn über das Serverpanel neu starten.

**Hinweis:** Ein Neustart kann einige Minuten dauern. Warte nach einem Neustart kurz ab, bevor du erneut versuchst, dich zu verbinden.

### Richtige IP-Adresse verwenden

Prüfe, ob du die richtige IP-Adresse nutzt.

Die IP-Adresse findest du im Serverpanel in den Serverdetails.

Achte besonders auf:

* keine Tippfehler
* keine zusätzlichen Leerzeichen
* richtige IPv4- oder IPv6-Adresse
* keine alte IP-Adresse aus einer früheren Installation
* keine Domain, die noch falsch aufgelöst wird

Wenn du eine Domain verwendest, teste zusätzlich direkt die IP-Adresse.

Beispiel für SSH:

`ssh root@123.123.123.123`

Beispiel für Remote Desktop:

`123.123.123.123`

Wenn die Verbindung über die IP-Adresse funktioniert, aber über die Domain nicht, liegt das Problem wahrscheinlich bei DNS.

### Prüfen, ob der Server auf Ping antwortet

Mit einem Ping kannst du prüfen, ob der Server grundsätzlich im Netzwerk antwortet.

Unter Windows öffnest du die Eingabeaufforderung oder PowerShell.

Befehl:

`ping 123.123.123.123`

Unter macOS oder Linux öffnest du das Terminal.

Befehl:

`ping 123.123.123.123`

Wenn Antworten zurückkommen, ist der Server grundsätzlich erreichbar.

Wenn keine Antworten zurückkommen, bedeutet das nicht automatisch, dass der Server offline ist. Manche Firewalls blockieren Ping.

### Dienst oder ganzer Server?

Wenn dein Server nicht erreichbar wirkt, prüfe, ob wirklich der gesamte Server betroffen ist.

Beispiele:

| Problem                   | Mögliche Ursache                                           |
| ------------------------- | ---------------------------------------------------------- |
| SSH funktioniert nicht    | SSH-Dienst gestoppt, Port falsch, Firewall blockiert       |
| RDP funktioniert nicht    | RDP deaktiviert, Windows-Firewall blockiert, falscher Port |
| Webseite lädt nicht       | Webserver gestoppt, Port 80 oder 443 geschlossen           |
| Domain funktioniert nicht | DNS falsch oder noch nicht aktualisiert                    |
| Gameserver offline        | Gameserver-Dienst gestoppt oder Port nicht offen           |
| Ping geht nicht           | Server offline oder ICMP blockiert                         |

Wenn nur ein einzelner Dienst nicht funktioniert, ist der Server selbst möglicherweise online.

### Verbindung per VNC-Konsole prüfen

Wenn du dich nicht per SSH oder Remote Desktop verbinden kannst, nutze die VNC-Konsole im Serverpanel.

Die VNC-Konsole zeigt dir den direkten Bildschirm deines Servers. Damit kannst du prüfen, ob das Betriebssystem gestartet ist.

Nutze die VNC-Konsole besonders dann, wenn:

* SSH nicht funktioniert
* RDP nicht funktioniert
* der Server beim Booten hängen bleibt
* die Firewall dich ausgesperrt hat
* die Netzwerkkonfiguration fehlerhaft ist
* du Fehlermeldungen beim Start sehen möchtest

Wenn du in der VNC-Konsole einen Login-Bildschirm oder eine Shell siehst, läuft der Server grundsätzlich.

### Server neu starten

Ein Neustart kann helfen, wenn der Server hängt oder einzelne Dienste nicht mehr reagieren.

Gehe so vor:

1. Öffne das Serverpanel.
2. Wähle deinen KVM-Server aus.
3. Klicke auf **Neustarten**.
4. Warte einige Minuten.
5. Teste die Verbindung erneut.

Wenn ein normaler Neustart nicht funktioniert, kann im Serverpanel je nach Funktion ein harter Neustart möglich sein.

**Wichtig:** Ein harter Neustart kann laufende Prozesse unterbrechen. Nutze ihn nur, wenn der Server nicht mehr sauber reagiert.

### SSH funktioniert nicht

Wenn du einen Linux-Server verwendest und SSH nicht funktioniert, prüfe folgende Punkte:

* ist der Server eingeschaltet?
* verwendest du die richtige IP-Adresse?
* verwendest du den richtigen Benutzer?
* verwendest du den richtigen Port?
* läuft der SSH-Dienst?
* blockiert die Firewall den SSH-Port?
* wurde der SSH-Port geändert?

Standardmäßig verwendet SSH den Port `22`.

Beispiel:

`ssh root@123.123.123.123`

Wenn du einen anderen SSH-Port nutzt, musst du ihn angeben.

Beispiel:

`ssh root@123.123.123.123 -p 2222`

### SSH-Dienst prüfen

Wenn du über die VNC-Konsole Zugriff hast, kannst du prüfen, ob SSH läuft.

Bei Debian oder Ubuntu:

`systemctl status ssh`

SSH starten:

`systemctl start ssh`

SSH beim Systemstart aktivieren:

`systemctl enable ssh`

Bei manchen Distributionen heißt der Dienst `sshd`.

Befehl:

`systemctl status sshd`

### RDP funktioniert nicht

Wenn du einen Windows Server verwendest und Remote Desktop nicht funktioniert, prüfe folgende Punkte:

* ist der Server eingeschaltet?
* ist Windows vollständig gestartet?
* verwendest du die richtige IP-Adresse?
* ist Remote Desktop aktiviert?
* blockiert die Windows-Firewall den Zugriff?
* ist der RDP-Port geändert worden?
* verwendest du den richtigen Benutzer?
* ist das Passwort korrekt?

Der Standardport für RDP ist `3389`.

Wenn RDP nicht funktioniert, öffne die VNC-Konsole und prüfe direkt im Windows Server, ob Remote Desktop aktiviert ist.

### Webserver ist nicht erreichbar

Wenn deine Webseite nicht lädt, bedeutet das nicht automatisch, dass dein KVM-Server offline ist.

Prüfe zuerst, ob SSH oder RDP funktioniert.

Wenn du dich auf den Server verbinden kannst, liegt das Problem wahrscheinlich am Webserver, an der Firewall oder an DNS.

Typische Ursachen:

* Apache oder Nginx läuft nicht
* Port `80` ist geschlossen
* Port `443` ist geschlossen
* SSL-Zertifikat ist fehlerhaft
* Domain zeigt auf falsche IP-Adresse
* Webserver-Konfiguration ist fehlerhaft

Unter Linux kannst du den Status prüfen.

Für Nginx:

`systemctl status nginx`

Für Apache:

`systemctl status apache2`

Ports prüfen:

`ss -tulpen`

### Firewall prüfen

Eine falsch konfigurierte Firewall ist eine häufige Ursache für nicht erreichbare Server.

Prüfe, ob die benötigten Ports geöffnet sind.

Typische Ports:

| Port    | Dienst            |
| ------- | ----------------- |
| `22`    | SSH               |
| `80`    | HTTP              |
| `443`   | HTTPS             |
| `3389`  | Remote Desktop    |
| `25565` | Minecraft Java    |
| `19132` | Minecraft Bedrock |

### UFW unter Linux prüfen

Wenn du UFW verwendest, prüfe den Status:

`ufw status`

SSH erlauben:

`ufw allow 22/tcp`

HTTP erlauben:

`ufw allow 80/tcp`

HTTPS erlauben:

`ufw allow 443/tcp`

RDP erlauben, falls benötigt:

`ufw allow 3389/tcp`

**Wichtig:** Öffne nur Ports, die du wirklich brauchst.

### Windows-Firewall prüfen

Bei Windows Server prüfst du die Windows Defender Firewall.

1. Öffne die Windows Defender Firewall.
2. Öffne **Erweiterte Einstellungen**.
3. Prüfe die **Eingehenden Regeln**.
4. Suche nach Regeln für Remote Desktop oder deinen Dienst.
5. Aktiviere oder erstelle die benötigte Regel.

Wenn RDP erreichbar sein soll, muss der RDP-Port erlaubt sein.

### DNS prüfen

Wenn dein Server über die IP-Adresse erreichbar ist, aber nicht über eine Domain, liegt das Problem wahrscheinlich an DNS.

Prüfe:

* zeigt die Domain auf die richtige IP-Adresse?
* wurde ein A-Record gesetzt?
* wurde bei IPv6 ein AAAA-Record gesetzt?
* wurde die DNS-Änderung bereits übernommen?
* verwendest du vielleicht noch eine alte IP-Adresse?
* ist ein Proxy oder externer DNS-Dienst aktiv?

Beispiel:

| DNS-Typ | Zweck                                |
| ------- | ------------------------------------ |
| A       | Domain zeigt auf IPv4-Adresse        |
| AAAA    | Domain zeigt auf IPv6-Adresse        |
| CNAME   | Domain zeigt auf einen anderen Namen |

DNS-Änderungen können einige Minuten bis mehrere Stunden dauern.

### Server hängt beim Booten

Wenn der Server nicht vollständig startet, siehst du das meistens in der VNC-Konsole.

Mögliche Ursachen:

* fehlerhafte Systemupdates
* beschädigtes Dateisystem
* falsche Netzwerkkonfiguration
* fehlerhafte Bootloader-Konfiguration
* volle Festplatte
* defekte oder falsche Dienste
* fehlgeschlagene Installation

Wenn der Server beim Booten hängen bleibt, notiere die angezeigte Fehlermeldung.

### Festplatte voll

Eine volle Festplatte kann dazu führen, dass Dienste nicht mehr starten oder der Server nicht richtig funktioniert.

Unter Linux kannst du den Speicherplatz prüfen:

`df -h`

Große Ordner finden:

`du -sh /*`

Logs können ebenfalls viel Speicherplatz belegen.

Loggröße prüfen:

`du -sh /var/log`

Wenn die Festplatte voll ist, lösche nicht wahllos Dateien. Entferne nur Daten, deren Zweck du kennst.

### Hohe Auslastung prüfen

Ein Server kann unerreichbar wirken, wenn CPU, RAM oder Festplatte stark ausgelastet sind.

Unter Linux kannst du die Auslastung prüfen:

`top`

oder:

`htop`

Falls `htop` nicht installiert ist:

`apt install htop`

Prüfe besonders:

* CPU-Auslastung
* RAM-Nutzung
* Swap-Nutzung
* Prozesse mit hoher Last
* ungewöhnliche Prozesse

### Netzwerk-Konfiguration prüfen

Wenn du Änderungen an der Netzwerkkonfiguration vorgenommen hast, können falsche Einstellungen den Server unerreichbar machen.

Typische Fehler:

* falsche IP-Adresse eingetragen
* falsches Gateway
* falsche Netzmaske
* falsche DNS-Server
* Netzwerkdienst deaktiviert
* IPv6 falsch konfiguriert

Nutze die VNC-Konsole, wenn du dich wegen einer falschen Netzwerkkonfiguration nicht mehr per SSH oder RDP verbinden kannst.

### Nach Änderungen nicht mehr erreichbar

Wenn der Server nach einer Änderung nicht mehr erreichbar ist, überlege, was zuletzt geändert wurde.

Typische Änderungen:

* Firewall aktiviert
* SSH-Port geändert
* RDP-Port geändert
* Netzwerkdateien bearbeitet
* Updates installiert
* Webserver-Konfiguration geändert
* neue Software installiert
* Dienst deaktiviert
* Reboot nach Update durchgeführt

Mache die Änderung über die VNC-Konsole rückgängig, wenn möglich.

### Wann eine Neuinstallation sinnvoll ist

Eine Neuinstallation kann sinnvoll sein, wenn:

* das System stark beschädigt ist
* du keinen Zugriff mehr wiederherstellen kannst
* der Server kompromittiert wurde
* wichtige Systemdateien fehlen
* die Konfiguration nicht mehr nachvollziehbar ist
* du sauber neu starten möchtest

**Wichtig:** Bei einer Neuinstallation werden vorhandene Daten in der Regel gelöscht. Erstelle vorher ein Backup, wenn du die Daten noch benötigst.

### Support kontaktieren

Wenn du den Server nicht wieder erreichbar bekommst, kontaktiere den Support.

Gib möglichst genaue Informationen an:

* Server-ID oder betroffener Dienst
* IP-Adresse
* Betriebssystem
* seit wann das Problem besteht
* ob SSH oder RDP betroffen ist
* ob die VNC-Konsole funktioniert
* letzte Änderungen am Server
* genaue Fehlermeldung
* welche Schritte du bereits versucht hast

**Sicherheit:** Sende keine Passwörter, SSH-Keys oder privaten Zugangsdaten an den Support.


# Linux


# Erste Verbindung per SSH

SSH ist die Standardmethode, um dich mit einem Linux KVM-Server zu verbinden.

Über SSH arbeitest du direkt auf deinem Server. Du kannst Befehle ausführen, Software installieren, Dateien bearbeiten, Dienste starten oder Logs prüfen.

### Voraussetzungen

Damit du dich per SSH verbinden kannst, benötigst du:

* einen gestarteten KVM-Server
* ein installiertes Linux-Betriebssystem
* die IP-Adresse deines Servers
* den Benutzernamen
* das Passwort oder einen SSH-Key
* ein SSH-Programm auf deinem Gerät

Bei Linux-Servern ist der Benutzername nach einer Neuinstallation häufig `root`.

### Zugangsdaten im Serverpanel finden

Die benötigten Informationen findest du im Serverpanel.

1. Öffne `https://server.instantroot.de/`.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Öffne die Serverdetails.
5. Suche nach IP-Adresse, Benutzername und Zugangsdaten.

Wenn du Neukunde bist und dich noch nie im Serverpanel angemeldet hast, musst du dort möglicherweise zuerst dein Passwort zurücksetzen.

Deine E-Mail-Adresse ist der Benutzername im Serverpanel. Das Passwort aus dem Kundenportal wird aus Datenschutzgründen nicht automatisch in das Serverpanel übertragen.

### SSH unter Windows verwenden

Unter aktuellen Windows-Versionen kannst du SSH direkt über das Terminal verwenden.

1. Öffne das Startmenü.
2. Suche nach **Terminal**, **Windows Terminal** oder **PowerShell**.
3. Öffne das Programm.
4. Gib den SSH-Befehl ein.

Beispiel: `ssh root@123.123.123.123`

Ersetze `123.123.123.123` durch die IP-Adresse deines Servers.

Wenn dein Server einen anderen SSH-Port nutzt, gib den Port zusätzlich an.

Beispiel: `ssh root@123.123.123.123 -p 2222`

### SSH unter macOS verwenden

Unter macOS ist SSH bereits im Terminal verfügbar.

1. Öffne **Terminal**.
2. Gib den SSH-Befehl ein.
3. Bestätige die Verbindung.
4. Gib dein Passwort ein.

Beispiel: `ssh root@123.123.123.123`

### SSH unter Linux verwenden

Unter den meisten Linux-Distributionen ist SSH bereits installiert.

Öffne ein Terminal und verbinde dich mit deinem Server.

Beispiel: `ssh root@123.123.123.123`

Falls SSH auf deinem lokalen System nicht installiert ist, kannst du den OpenSSH-Client nachinstallieren.

Bei Debian oder Ubuntu: `sudo apt install openssh-client`

### Erste Verbindung bestätigen

Beim ersten Verbindungsaufbau erscheint eine Sicherheitsabfrage.

Dort wird angezeigt, dass dein Gerät den Server noch nicht kennt.

Die Meldung sieht ungefähr so aus:

`The authenticity of host '123.123.123.123' can't be established.`

Wenn du sicher bist, dass du dich mit der richtigen IP-Adresse verbindest, bestätige mit:

`yes`

Danach wird der Server in der lokalen Liste bekannter Hosts gespeichert.

### Passwort eingeben

Nach der Bestätigung wirst du nach dem Passwort gefragt.

Gib das Root-Passwort oder das Passwort des angegebenen Benutzers ein.

Während der Eingabe werden keine Zeichen angezeigt. Das ist normal. Auch keine Sterne oder Punkte werden dargestellt.

Drücke nach der Eingabe **Enter**.

### Erfolgreiche Verbindung erkennen

Wenn die Verbindung erfolgreich war, befindest du dich in der Kommandozeile deines Servers.

Du siehst dann meistens eine Eingabezeile mit dem Servernamen oder Benutzernamen.

Beispiel: `root@server:~#`

Ab diesem Moment führst du Befehle direkt auf deinem Server aus.

### Erste Befehle nach dem Login

Nach der ersten Verbindung solltest du prüfen, ob das System erreichbar und aktuell ist.

Für Debian oder Ubuntu kannst du folgende Befehle verwenden:

`apt update`

Danach:

`apt upgrade`

Bei manchen Systemen wird zusätzlich `sudo` benötigt. Wenn du als `root` angemeldet bist, brauchst du `sudo` meistens nicht.

### SSH-Port

Der Standardport für SSH ist `22`.

Wenn der SSH-Dienst auf Port `22` läuft, reicht dieser Befehl:

`ssh root@123.123.123.123`

Wenn ein anderer Port verwendet wird, musst du ihn angeben.

Beispiel:

`ssh root@123.123.123.123 -p 2222`

Der Parameter `-p` steht für Port.

### Verbindung mit SSH-Key

Neben dem Passwort-Login kannst du dich auch mit einem SSH-Key verbinden.

Ein SSH-Key besteht aus zwei Teilen:

| Teil                   | Bedeutung                      |
| ---------------------- | ------------------------------ |
| Privater Schlüssel     | bleibt nur auf deinem Gerät    |
| Öffentlicher Schlüssel | wird auf dem Server hinterlegt |

Der private Schlüssel darf niemals weitergegeben werden.

SSH-Keys sind sicherer als einfache Passwörter, wenn sie richtig verwendet werden.

### Unterschied zwischen Serverpanel-Passwort und Root-Passwort

Das Serverpanel-Passwort ist für den Login unter `https://server.instantroot.de/`.

Das Root-Passwort ist für den Login in dein Linux-Betriebssystem per SSH.

Diese Passwörter können unterschiedlich sein.

| Passwort             | Zweck                                  |
| -------------------- | -------------------------------------- |
| Serverpanel-Passwort | Anmeldung im Serverpanel               |
| Root-Passwort        | Anmeldung auf dem Linux-Server per SSH |

Wenn dein Serverpanel-Passwort funktioniert, heißt das nicht automatisch, dass es auch per SSH funktioniert.

### Häufige Probleme

#### Permission denied

Die Meldung `Permission denied` bedeutet, dass Benutzername, Passwort oder SSH-Key nicht akzeptiert wurden.

Prüfe:

* verwendest du den richtigen Benutzernamen?
* verwendest du das richtige Root-Passwort?
* ist das Passwort korrekt kopiert?
* enthält das Passwort versehentlich Leerzeichen?
* nutzt du den richtigen SSH-Key?
* ist Root-Login auf dem Server erlaubt?

#### Connection timed out

Die Meldung `Connection timed out` bedeutet, dass keine Verbindung zum SSH-Dienst hergestellt werden konnte.

Mögliche Ursachen:

* Server ist ausgeschaltet
* Server startet gerade
* falsche IP-Adresse
* falscher Port
* Firewall blockiert SSH
* SSH-Dienst läuft nicht
* Netzwerkproblem

Prüfe im Serverpanel, ob dein Server gestartet ist. Wenn du keinen Zugriff per SSH bekommst, verwende die VNC-Konsole.

#### Connection refused

Die Meldung `Connection refused` bedeutet, dass der Server erreichbar ist, aber auf dem angegebenen Port kein SSH-Dienst antwortet.

Mögliche Ursachen:

* SSH-Dienst ist gestoppt
* falscher Port
* SSH wurde falsch konfiguriert
* Betriebssystem ist nicht vollständig gestartet

Prüfe über die VNC-Konsole, ob der SSH-Dienst läuft.

Bei Debian oder Ubuntu kannst du den Dienst prüfen mit:

`systemctl status ssh`

Falls der Dienst gestoppt ist:

`systemctl start ssh`

#### Host key verification failed

Diese Meldung erscheint, wenn sich der gespeicherte SSH-Schlüssel des Servers geändert hat.

Das kann passieren nach:

* einer Neuinstallation
* einem Wechsel des Betriebssystems
* einer Änderung an der Serveridentität

Prüfe zuerst, ob du dich wirklich mit deinem eigenen Server verbindest.

Wenn der Fehler nach einer Neuinstallation auftritt, kannst du den alten Eintrag aus der Datei `known_hosts` entfernen.

Unter Windows, macOS und Linux funktioniert häufig:

`ssh-keygen -R 123.123.123.123`

Ersetze die IP-Adresse durch die IP deines Servers.

#### Passwort wird beim Eingeben nicht angezeigt

Das ist normal.

Bei SSH werden während der Passworteingabe keine Zeichen angezeigt. Gib das Passwort vollständig ein und drücke **Enter**.

#### Login als root funktioniert nicht

Mögliche Ursachen:

* falsches Passwort
* Root-Login wurde deaktiviert
* Betriebssystem nutzt einen anderen Standardbenutzer
* SSH-Konfiguration wurde geändert

Bei manchen Images wird statt `root` ein anderer Benutzer verwendet, zum Beispiel `debian`, `ubuntu` oder `admin`.

Prüfe die Zugangsdaten im Serverpanel.

### Sicherheit nach der ersten Anmeldung

Nach der ersten Anmeldung solltest du deinen Server absichern.

Empfohlen wird:

* System aktualisieren
* sicheres Root-Passwort setzen
* neuen Benutzer mit sudo-Rechten anlegen
* SSH-Key einrichten
* Passwort-Login später deaktivieren
* Firewall konfigurieren
* nur benötigte Ports öffnen
* regelmäßige Backups erstellen

Ändere sicherheitsrelevante Einstellungen nur, wenn du weißt, wie du dich danach weiterhin verbinden kannst.

### Support kontaktieren

Wenn du dich nicht per SSH verbinden kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* IP-Adresse des Servers
* verwendetes Betriebssystem
* verwendeter Benutzername
* verwendeter SSH-Port
* genaue Fehlermeldung
* ob der Server im Serverpanel als online angezeigt wird
* ob die VNC-Konsole funktioniert
* was du bereits versucht hast

Sende niemals Passwörter, private SSH-Keys oder andere vertrauliche Zugangsdaten an den Support.


# Ports unter Linux öffnen

In diesem Artikel erklären wir dir, wie du Ports auf deinem Linux KVM-Server öffnest und warum Ports für die Erreichbarkeit deiner Dienste wichtig sind.

Wenn ein Dienst von außen erreichbar sein soll, muss der passende Port freigegeben sein. Das betrifft zum Beispiel Webserver, Gameserver, Datenbanken, APIs oder eigene Anwendungen.

### Was ist ein Port?

Ein Port ist eine Nummer, über die ein bestimmter Dienst auf deinem Server erreichbar ist.

Die IP-Adresse zeigt auf den Server.\
Der Port zeigt auf den Dienst auf diesem Server.

Beispiel:

| Dienst          | Typischer Port |
| --------------- | -------------- |
| SSH             | `22`           |
| HTTP            | `80`           |
| HTTPS           | `443`          |
| Minecraft Java  | `25565`        |
| Teamspeak       | `9987`         |
| MySQL / MariaDB | `3306`         |
| PostgreSQL      | `5432`         |

Wenn du zum Beispiel eine Webseite betreibst, muss der Server über Port `80` und `443` erreichbar sein.

Wenn du einen Minecraft Server betreibst, muss normalerweise Port `25565` erreichbar sein.

### Wann muss ich einen Port öffnen?

Du musst einen Port öffnen, wenn ein Dienst von außen erreichbar sein soll.

Typische Beispiele:

* Webseite über Browser erreichbar machen
* Minecraft Server erreichbar machen
* API öffentlich bereitstellen
* Teamspeak Server betreiben
* eigene Anwendung auf einem bestimmten Port starten
* Remote-Verbindung zu einem Dienst erlauben

Nicht jeder Dienst sollte öffentlich erreichbar sein. Öffne nur Ports, die du wirklich brauchst.

### Wichtiger Unterschied: Dienst und Firewall

Ein offener Port allein reicht nicht aus.

Damit ein Port erreichbar ist, müssen zwei Dinge stimmen:

1. Der Dienst muss auf dem Port laufen.
2. Die Firewall muss Verbindungen auf diesen Port erlauben.

Beispiel:

Du öffnest Port `25565` in der Firewall, aber dein Minecraft Server läuft nicht. Dann ist der Port trotzdem nicht erreichbar.

Oder umgekehrt:

Dein Minecraft Server läuft auf Port `25565`, aber die Firewall blockiert den Port. Dann können Spieler ebenfalls nicht verbinden.

### Aktive Dienste und Ports anzeigen

Du kannst prüfen, welche Dienste aktuell auf deinem Server lauschen.

Nutze dafür:

`ss -tulpen`

Die Ausgabe zeigt aktive Ports und Prozesse.

Wichtige Spalten sind:

| Spalte             | Bedeutung                                       |
| ------------------ | ----------------------------------------------- |
| Local Address:Port | IP-Adresse und Port, auf dem der Dienst lauscht |
| Process            | Prozess oder Dienst, der den Port verwendet     |
| tcp                | TCP-Verbindung                                  |
| udp                | UDP-Verbindung                                  |

Wenn du nur bestimmte Ports prüfen möchtest, kannst du zum Beispiel verwenden:

`ss -tulpen | grep 25565`

### Firewall unter Linux

Viele Linux-Server verwenden eine Firewall, um Netzwerkzugriffe zu steuern.

Häufig genutzt werden:

* UFW
* firewalld
* iptables
* nftables

Auf vielen Einsteiger-Systemen ist UFW am einfachsten zu bedienen.

### UFW installieren

Falls UFW noch nicht installiert ist, kannst du es installieren.

Bei Debian oder Ubuntu:

`apt update`

`apt install ufw -y`

Bei AlmaLinux oder Rocky Linux wird häufig firewalld verwendet. UFW kann dort ebenfalls installiert werden, ist aber nicht immer standardmäßig eingerichtet.

### UFW Status prüfen

Prüfe zuerst, ob UFW aktiv ist:

`ufw status`

Mögliche Ausgaben:

| Ausgabe                     | Bedeutung                               |
| --------------------------- | --------------------------------------- |
| `Status: inactive`          | UFW ist deaktiviert                     |
| `Status: active`            | UFW ist aktiv                           |
| `Status: active` mit Regeln | UFW ist aktiv und hat bereits Freigaben |

### Sehr wichtig vor dem Aktivieren von UFW

Bevor du UFW aktivierst, musst du SSH erlauben.

Wenn du SSH nicht freigibst, kannst du dich unter Umständen selbst vom Server aussperren.

SSH nutzt standardmäßig Port `22`.

Erlaube SSH mit:

`ufw allow 22/tcp`

Oder kurz:

`ufw allow ssh`

Wenn du einen eigenen SSH-Port verwendest, musst du diesen Port freigeben.

Beispiel für SSH auf Port `2222`:

`ufw allow 2222/tcp`

### UFW aktivieren

Wenn SSH freigegeben ist, kannst du UFW aktivieren:

`ufw enable`

Danach den Status prüfen:

`ufw status`

### Einzelnen TCP-Port öffnen

Viele Dienste nutzen TCP.

Beispiel: Port `80` für HTTP öffnen:

`ufw allow 80/tcp`

Beispiel: Port `443` für HTTPS öffnen:

`ufw allow 443/tcp`

Beispiel: Minecraft Java Port öffnen:

`ufw allow 25565/tcp`

### Einzelnen UDP-Port öffnen

Manche Dienste nutzen UDP.

Beispiel: Teamspeak Voice Port öffnen:

`ufw allow 9987/udp`

Wenn ein Dienst UDP verwendet, reicht eine TCP-Regel nicht aus.

### TCP und UDP gleichzeitig öffnen

Wenn du nicht sicher bist, ob dein Dienst TCP oder UDP verwendet, prüfe die Dokumentation des Dienstes.

Du kannst TCP und UDP auch getrennt freigeben.

Beispiel:

`ufw allow 25565/tcp`

`ufw allow 25565/udp`

### Portbereich öffnen

Manche Anwendungen verwenden mehrere Ports oder einen ganzen Portbereich.

Beispiel TCP-Portbereich:

`ufw allow 3000:3010/tcp`

Beispiel UDP-Portbereich:

`ufw allow 3000:3010/udp`

Öffne Portbereiche nur, wenn du sie wirklich brauchst.

### Regel wieder entfernen

Wenn du einen Port nicht mehr benötigst, solltest du die Regel entfernen.

Beispiel:

`ufw delete allow 25565/tcp`

Danach prüfen:

`ufw status`

### Regeln nummeriert anzeigen

Wenn du mehrere Regeln hast, kannst du sie nummeriert anzeigen:

`ufw status numbered`

Dann kannst du eine Regel über ihre Nummer löschen.

Beispiel:

`ufw delete 3`

Prüfe danach erneut den Status.

### Häufige Ports

| Dienst                 |           Port | Protokoll |
| ---------------------- | -------------: | --------- |
| SSH                    |           `22` | TCP       |
| HTTP                   |           `80` | TCP       |
| HTTPS                  |          `443` | TCP       |
| Minecraft Java         |        `25565` | TCP       |
| Minecraft Bedrock      |        `19132` | UDP       |
| Teamspeak Voice        |         `9987` | UDP       |
| Teamspeak Query        |        `10011` | TCP       |
| Teamspeak Filetransfer |        `30033` | TCP       |
| MySQL / MariaDB        |         `3306` | TCP       |
| PostgreSQL             |         `5432` | TCP       |
| Redis                  |         `6379` | TCP       |
| Docker App Beispiel    |         `3000` | TCP       |
| Pterodactyl Wings      | `8080`, `2022` | TCP       |

### Ports für Webserver öffnen

Wenn du eine Webseite über deinen KVM-Server betreiben möchtest, brauchst du normalerweise:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

Port `80` wird für unverschlüsseltes HTTP verwendet.\
Port `443` wird für HTTPS verwendet.

### Ports für Minecraft öffnen

Für Minecraft Java ist normalerweise Port `25565/tcp` nötig.

`ufw allow 25565/tcp`

Für Minecraft Bedrock ist normalerweise Port `19132/udp` nötig.

`ufw allow 19132/udp`

Wenn du einen anderen Port in der Serverkonfiguration verwendest, musst du diesen Port öffnen.

### Ports für Datenbanken

Datenbankports sollten normalerweise nicht öffentlich geöffnet werden.

Beispiele:

* MySQL / MariaDB: `3306`
* PostgreSQL: `5432`
* Redis: `6379`

Öffne Datenbankports nur, wenn du genau weißt, warum du das brauchst.

Besser ist oft:

* Datenbank nur lokal erreichbar machen
* Zugriff über VPN
* Zugriff auf bestimmte IP-Adressen beschränken
* starke Passwörter verwenden
* Benutzerrechte begrenzen

### Zugriff nur für eine bestimmte IP erlauben

Du kannst einen Port nur für eine bestimmte IP-Adresse freigeben.

Beispiel: SSH nur für eine bestimmte IP erlauben:

`ufw allow from 203.0.113.50 to any port 22 proto tcp`

Das ist sicherer als den Port für das gesamte Internet zu öffnen.

### Port blockieren

Du kannst einen Port auch gezielt blockieren.

Beispiel:

`ufw deny 3306/tcp`

Damit werden eingehende Verbindungen auf Port `3306` blockiert.

### Firewall neu laden

Nach Änderungen kannst du UFW neu laden:

`ufw reload`

Normalerweise werden UFW-Regeln direkt übernommen. Ein Reload schadet aber nicht, wenn du sicherstellen möchtest, dass alle Regeln aktiv sind.

### Prüfen, ob ein Port erreichbar ist

Du kannst von außen prüfen, ob ein Port erreichbar ist.

Unter Linux oder macOS kannst du zum Beispiel verwenden:

`nc -vz SERVER-IP 25565`

Für UDP ist eine Prüfung schwieriger, weil UDP verbindungslos arbeitet.

Du kannst außerdem externe Portscanner verwenden. Achte aber darauf, nur eigene Server zu prüfen.

### Wenn der Port trotz Freigabe nicht erreichbar ist

Wenn du den Port geöffnet hast, aber der Dienst nicht erreichbar ist, prüfe diese Punkte:

* läuft der Dienst wirklich?
* lauscht der Dienst auf dem richtigen Port?
* nutzt der Dienst TCP oder UDP?
* ist die Firewall-Regel korrekt?
* läuft zusätzlich eine Firewall im Dienst selbst?
* lauscht der Dienst nur auf `127.0.0.1`?
* wurde der falsche Port geöffnet?
* wurde der Server nach einer Konfigurationsänderung neu gestartet?

### Dienst lauscht nur auf localhost

Manche Anwendungen lauschen nur auf `127.0.0.1`.

Das bedeutet, dass der Dienst nur lokal auf dem Server erreichbar ist, aber nicht von außen.

Beispiel:

`127.0.0.1:3000`

Wenn ein Dienst öffentlich erreichbar sein soll, muss er meistens auf `0.0.0.0` oder auf der öffentlichen Server-IP lauschen.

Prüfe dazu die Konfiguration deiner Anwendung.

### Unterschied zwischen 0.0.0.0 und 127.0.0.1

| Adresse        | Bedeutung                                   |
| -------------- | ------------------------------------------- |
| `127.0.0.1`    | nur lokal auf dem Server erreichbar         |
| `0.0.0.0`      | auf allen Netzwerkschnittstellen erreichbar |
| öffentliche IP | über diese konkrete IP erreichbar           |

Wenn ein Webserver oder eine App nur auf `127.0.0.1` läuft, kann die Firewall korrekt sein und der Dienst trotzdem nicht von außen erreichbar sein.

### Typische Fehler

#### SSH wurde nicht freigegeben

Wenn du UFW aktivierst, ohne SSH vorher zu erlauben, kannst du dich aussperren.

Erlaube deshalb immer zuerst SSH:

`ufw allow 22/tcp`

Danach erst:

`ufw enable`

#### Falsches Protokoll geöffnet

Minecraft Bedrock nutzt UDP.\
Minecraft Java nutzt TCP.

Wenn du für Bedrock nur TCP öffnest, funktioniert die Verbindung nicht.

#### Dienst läuft nicht

Ein Port ist nur erreichbar, wenn auch ein Dienst darauf läuft.

Prüfe mit:

`ss -tulpen`

#### Falscher Port in der Anwendung

Wenn deine Anwendung auf Port `3001` läuft, du aber Port `3000` geöffnet hast, bleibt der Dienst unerreichbar.

#### Firewall im Programm selbst

Manche Programme haben eigene Zugriffsbeschränkungen.

Prüfe zusätzlich die Konfiguration der Anwendung.

### Sicherheit

Öffne nur Ports, die du wirklich benötigst.

Besonders vorsichtig solltest du sein bei:

* Datenbanken
* Admin-Oberflächen
* internen APIs
* Redis
* Elasticsearch
* Docker-Diensten
* Panels
* Entwicklungsservern

Ein öffentlich erreichbarer Dienst kann angegriffen werden, wenn er schlecht abgesichert ist.

### Empfehlung

Für die meisten Linux-Server ist ein einfacher Start:

1. SSH erlauben.
2. Firewall aktivieren.
3. Nur benötigte Ports öffnen.
4. Nicht benötigte Dienste schließen.
5. Regelmäßig prüfen, welche Ports offen sind.

Beispiel für einen Webserver:

`ufw allow 22/tcp`

`ufw allow 80/tcp`

`ufw allow 443/tcp`

`ufw enable`

### Support kontaktieren

Wenn ein Port trotz korrekter Freigabe nicht erreichbar ist, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Server-IP
* Betriebssystem
* betroffener Port
* verwendetes Protokoll: TCP oder UDP
* Dienst oder Anwendung, die den Port nutzt
* Ausgabe von `ufw status`
* Ausgabe von `ss -tulpen`
* genaue Fehlermeldung
* was du bereits versucht hast

Sende keine Passwörter, privaten Schlüssel oder vertraulichen Zugangsdaten.


# Erste Verbindung per SSH

SSH ist die Standardmethode, um sich mit einem Linux KVM-Server zu verbinden.

Über SSH kannst du deinen Server direkt über die Kommandozeile verwalten. Du kannst Befehle ausführen, Software installieren, Dienste starten, Dateien bearbeiten und dein System administrieren.

### Voraussetzungen

Damit du dich per SSH verbinden kannst, benötigst du:

* einen gestarteten KVM-Server
* ein installiertes Linux-Betriebssystem
* die IP-Adresse deines Servers
* den Benutzernamen
* das Passwort oder einen SSH-Key
* ein SSH-Programm auf deinem Gerät

Der Standardbenutzer ist bei vielen Linux-Systemen `root`.

### Zugangsdaten finden

Die Zugangsdaten findest du im Serverpanel.

Öffne dazu:

`https://server.instantroot.de/`

Melde dich mit deiner E-Mail-Adresse und deinem Passwort an und wähle deinen KVM-Server aus.

Dort findest du je nach System:

* IP-Adresse
* Benutzername
* Passwort
* Serverstatus
* Betriebssystem
* weitere technische Informationen

**Hinweis:** Wenn du Neukunde bist und dich noch nie im Serverpanel angemeldet hast, musst du dort möglicherweise zuerst dein Passwort zurücksetzen. Deine E-Mail-Adresse ist dein Benutzername. Das Passwort aus dem Kundenportal wird aus Datenschutzgründen nicht automatisch in das Serverpanel übertragen.

### Was ist SSH?

SSH steht für Secure Shell.

Damit wird eine verschlüsselte Verbindung zwischen deinem Gerät und deinem Server aufgebaut. Über diese Verbindung kannst du Befehle auf dem Server ausführen.

SSH wird vor allem für Linux-Server verwendet.

Typische Aufgaben per SSH sind:

* System aktualisieren
* Software installieren
* Dienste starten oder stoppen
* Dateien bearbeiten
* Logs prüfen
* Benutzer verwalten
* Firewall konfigurieren
* Server neustarten

### SSH unter Windows verwenden

Unter aktuellen Windows-Versionen ist SSH meistens bereits im Windows Terminal verfügbar.

1. Öffne das Startmenü.
2. Suche nach **Windows Terminal** oder **PowerShell**.
3. Öffne das Programm.
4. Gib den SSH-Befehl ein.

Beispiel:

`ssh root@123.123.123.123`

Ersetze `123.123.123.123` durch die IP-Adresse deines Servers.

Wenn du einen anderen Benutzer verwendest, ersetze `root` durch deinen Benutzernamen.

Beispiel:

`ssh benutzername@123.123.123.123`

### SSH unter macOS verwenden

Unter macOS ist SSH bereits im Terminal enthalten.

1. Öffne **Terminal**.
2. Gib den SSH-Befehl ein.
3. Bestätige die Verbindung.
4. Gib dein Passwort ein.

Beispiel:

`ssh root@123.123.123.123`

### SSH unter Linux verwenden

Unter den meisten Linux-Distributionen ist SSH bereits installiert.

Öffne ein Terminal und verbinde dich mit:

`ssh root@123.123.123.123`

Falls SSH auf deinem lokalen Gerät nicht installiert ist, kannst du den OpenSSH-Client nachinstallieren.

Debian oder Ubuntu:

`sudo apt install openssh-client`

AlmaLinux oder Rocky Linux:

`sudo dnf install openssh-clients`

### Erste Verbindung herstellen

Öffne ein Terminal auf deinem Gerät und gib folgenden Befehl ein:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines Servers.

Beispiel:

`ssh root@123.123.123.123`

Beim ersten Verbindungsaufbau erscheint meist eine Sicherheitsabfrage.

Beispielmeldung:

`Are you sure you want to continue connecting?`

Bestätige diese Abfrage mit:

`yes`

Danach wirst du nach dem Passwort gefragt.

### Passwort eingeben

Gib das Passwort deines Servers ein und bestätige mit Enter.

Während der Eingabe werden keine Zeichen angezeigt. Das ist normal.

Du siehst also keine Sterne und keine Punkte. Das Passwort wird trotzdem eingegeben.

Wenn das Passwort korrekt ist, bist du anschließend auf deinem Server angemeldet.

### Woran erkenne ich, dass ich verbunden bin?

Nach erfolgreichem Login siehst du meistens eine Eingabezeile des Servers.

Beispiele:

`root@server:~#`

oder:

`benutzername@hostname:~$`

Das bedeutet, dass du dich jetzt auf dem Server befindest und Befehle ausführen kannst.

### Erste sinnvolle Befehle

Nach dem ersten Login kannst du prüfen, ob dein System erreichbar ist und korrekt reagiert.

Systeminformationen anzeigen:

`uname -a`

Aktuellen Benutzer anzeigen:

`whoami`

Speicherplatz prüfen:

`df -h`

Arbeitsspeicher prüfen:

`free -h`

Systemlaufzeit anzeigen:

`uptime`

IP-Adressen anzeigen:

`ip a`

### System aktualisieren

Nach der ersten Anmeldung solltest du dein System aktualisieren.

#### Debian und Ubuntu

Paketlisten aktualisieren:

`apt update`

Updates installieren:

`apt upgrade`

#### AlmaLinux und Rocky Linux

Updates installieren:

`dnf update`

Wenn wichtige System- oder Kernelupdates installiert wurden, kann ein Neustart sinnvoll sein.

Server neu starten:

`reboot`

### Verbindung beenden

Du kannst die SSH-Verbindung jederzeit sauber beenden.

Befehl:

`exit`

Alternativ kannst du die Tastenkombination `Strg + D` verwenden.

### Verbindung mit anderem Port

Standardmäßig verwendet SSH den Port `22`.

Wenn der SSH-Port geändert wurde, musst du den Port beim Verbinden angeben.

Beispiel:

`ssh root@123.123.123.123 -p 2222`

Der Parameter `-p` gibt den Port an.

### Verbindung mit SSH-Key

Wenn du einen SSH-Key verwendest, kannst du dich ohne Passwort oder mit einer Key-Passphrase anmelden.

Beispiel:

`ssh -i ~/.ssh/id_ed25519 root@123.123.123.123`

Dabei ist `~/.ssh/id_ed25519` der Pfad zu deinem privaten SSH-Key.

**Wichtig:** Gib deinen privaten SSH-Key niemals weiter. Wer Zugriff auf deinen privaten Schlüssel hat, kann sich möglicherweise auf deinem Server anmelden.

### Häufige Probleme

#### Permission denied

Die Meldung `Permission denied` bedeutet, dass die Anmeldung abgelehnt wurde.

Mögliche Ursachen:

* falsches Passwort
* falscher Benutzername
* SSH-Key passt nicht
* Root-Login ist deaktiviert
* Passwort-Login ist deaktiviert
* Benutzer hat keine Login-Berechtigung

Prüfe zuerst Benutzername, Passwort und IP-Adresse.

#### Connection refused

Die Meldung `Connection refused` bedeutet, dass der Server unter dem angegebenen Port keine SSH-Verbindung annimmt.

Mögliche Ursachen:

* SSH-Dienst läuft nicht
* falscher Port
* Firewall blockiert den Port
* SSH wurde falsch konfiguriert
* Server ist noch nicht vollständig gestartet

Prüfe im Serverpanel, ob der Server online ist. Wenn du dich nicht mehr per SSH verbinden kannst, nutze die VNC-Konsole im Serverpanel.

#### Connection timed out

Die Meldung `Connection timed out` bedeutet, dass keine Antwort vom Server kommt.

Mögliche Ursachen:

* Server ist ausgeschaltet
* falsche IP-Adresse
* Firewall blockiert Verbindung
* Netzwerkproblem
* SSH-Port ist nicht erreichbar
* Server hängt beim Booten

Prüfe die IP-Adresse und den Serverstatus im Serverpanel.

#### Host key verification failed

Diese Meldung erscheint, wenn sich der gespeicherte SSH-Schlüssel des Servers geändert hat.

Das kann nach einer Neuinstallation passieren.

Unter Windows, macOS oder Linux kannst du den alten Eintrag aus der Datei `known_hosts` entfernen.

Befehl:

`ssh-keygen -R 123.123.123.123`

Ersetze die IP-Adresse durch die IP deines Servers.

Verbinde dich danach erneut.

#### Passwort wird nicht angezeigt

Das ist normal.

Bei der Passworteingabe in SSH werden keine Zeichen angezeigt. Tippe dein Passwort vollständig ein und drücke Enter.

#### Login als root funktioniert nicht

Mögliche Ursachen:

* Root-Login ist deaktiviert
* falsches Root-Passwort
* Distribution nutzt einen anderen Standardbenutzer
* SSH-Konfiguration blockiert Root-Login

Bei manchen Images wird statt `root` ein anderer Benutzer verwendet, zum Beispiel `debian`, `ubuntu` oder `admin`.

### VNC-Konsole verwenden, wenn SSH nicht funktioniert

Wenn du dich nicht per SSH verbinden kannst, kannst du die VNC-Konsole im Serverpanel verwenden.

Die VNC-Konsole zeigt dir den direkten Bildschirm deines Servers. Damit kannst du prüfen, ob der Server korrekt startet oder ob Netzwerk, Firewall oder SSH fehlerhaft konfiguriert sind.

Die VNC-Konsole ist besonders hilfreich, wenn:

* SSH durch eine Firewall blockiert wurde
* der SSH-Dienst nicht startet
* das Netzwerk falsch konfiguriert wurde
* der Server beim Booten hängen bleibt
* du dich durch eine falsche SSH-Konfiguration ausgesperrt hast

### Sicherheit nach dem ersten Login

Nach der ersten erfolgreichen Verbindung solltest du grundlegende Sicherheitsmaßnahmen umsetzen.

Empfohlen wird:

* System aktualisieren
* sicheres Passwort setzen
* eigenen Benutzer anlegen
* SSH-Key einrichten
* Firewall aktivieren
* nur benötigte Ports öffnen
* Fail2Ban installieren
* regelmäßige Backups einrichten

### Support kontaktieren

Wenn du dich nicht per SSH verbinden kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* IP-Adresse des Servers
* verwendeter Benutzername
* verwendeter SSH-Port
* Betriebssystem
* genaue Fehlermeldung
* ob der Server im Serverpanel online ist
* ob die VNC-Konsole erreichbar ist
* was du bereits versucht hast

**Sicherheit:** Sende niemals Passwörter, private SSH-Keys oder andere geheime Zugangsdaten an den Support.


# Pakete installieren

Pakete sind installierbare Softwarebestandteile deines Betriebssystems. Über Pakete installierst du zum Beispiel Webserver, Datenbanken, Programmiersprachen, Tools oder Systemdienste.

Auf Linux-Servern werden Pakete meistens über einen Paketmanager installiert. Der Paketmanager lädt Software aus offiziellen Paketquellen herunter, installiert sie und verwaltet Updates.

### Was ist ein Paketmanager?

Ein Paketmanager ist ein Werkzeug zur Verwaltung von Software auf deinem Server.

Damit kannst du:

* Software installieren
* Software entfernen
* Updates installieren
* Paketquellen verwalten
* Abhängigkeiten automatisch installieren
* installierte Pakete anzeigen

Abhängigkeiten sind zusätzliche Programme oder Bibliotheken, die eine Software benötigt, um zu funktionieren.

Beispiel:

Wenn du einen Webserver installierst, kann das System automatisch weitere benötigte Bestandteile mitinstallieren.

### Welchen Paketmanager nutzt mein System?

Der Paketmanager hängt von deinem Betriebssystem ab.

| Betriebssystem | Paketmanager | Beispiel            |
| -------------- | ------------ | ------------------- |
| Debian         | `apt`        | `apt install nginx` |
| Ubuntu         | `apt`        | `apt install nginx` |
| AlmaLinux      | `dnf`        | `dnf install nginx` |
| Rocky Linux    | `dnf`        | `dnf install nginx` |
| CentOS Stream  | `dnf`        | `dnf install nginx` |

Wenn du nicht sicher bist, welches Betriebssystem auf deinem KVM-Server läuft, kannst du es mit folgendem Befehl prüfen:

`cat /etc/os-release`

### Vorbereitung

Bevor du Pakete installierst, solltest du dich per SSH mit deinem Server verbinden.

Beispiel:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines Servers.

Für viele Befehle benötigst du Root-Rechte. Wenn du nicht als `root` angemeldet bist, setze `sudo` vor den Befehl.

Beispiel:

`sudo apt install nginx`

### Paketlisten aktualisieren

Vor einer Installation solltest du die Paketlisten aktualisieren. Dadurch weiß dein Server, welche Paketversionen aktuell verfügbar sind.

#### Debian und Ubuntu

`apt update`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf check-update`

Bei `dnf check-update` kann ein Rückgabewert angezeigt werden, auch wenn Updates gefunden wurden. Das ist nicht automatisch ein Fehler.

### Pakete installieren

#### Debian und Ubuntu

Ein Paket installierst du mit:

`apt install paketname`

Beispiel für Nginx:

`apt install nginx`

Wenn du nicht als Root angemeldet bist:

`sudo apt install nginx`

#### AlmaLinux, Rocky Linux und CentOS Stream

Ein Paket installierst du mit:

`dnf install paketname`

Beispiel für Nginx:

`dnf install nginx`

Wenn du nicht als Root angemeldet bist:

`sudo dnf install nginx`

### Installation bestätigen

Bei vielen Installationen fragt das System nach einer Bestätigung.

Typische Meldung:

`Do you want to continue? [Y/n]`

Bestätige mit `Y` und drücke Enter.

Bei deutschen Systemen kann die Abfrage auch anders aussehen.

### Mehrere Pakete gleichzeitig installieren

Du kannst mehrere Pakete in einem Befehl installieren.

#### Debian und Ubuntu

`apt install nginx mariadb-server php`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf install nginx mariadb-server php`

Das ist praktisch, wenn mehrere Programme zusammen benötigt werden.

### Häufig genutzte Pakete

| Paket            | Zweck                                       |
| ---------------- | ------------------------------------------- |
| `nginx`          | Webserver                                   |
| `apache2`        | Webserver unter Debian/Ubuntu               |
| `httpd`          | Webserver unter AlmaLinux/Rocky Linux       |
| `mariadb-server` | Datenbankserver                             |
| `postgresql`     | Datenbankserver                             |
| `php`            | Programmiersprache für viele Webanwendungen |
| `nodejs`         | JavaScript-Laufzeitumgebung                 |
| `python3`        | Python 3                                    |
| `git`            | Versionsverwaltung                          |
| `curl`           | HTTP- und API-Abfragen                      |
| `wget`           | Dateien herunterladen                       |
| `unzip`          | ZIP-Dateien entpacken                       |
| `nano`           | einfacher Texteditor                        |
| `ufw`            | einfache Firewall unter Debian/Ubuntu       |
| `fail2ban`       | Schutz vor wiederholten Loginversuchen      |
| `screen`         | Terminal-Sitzungen im Hintergrund           |
| `tmux`           | Terminal-Sitzungen im Hintergrund           |

### Paket suchen

Wenn du den genauen Paketnamen nicht kennst, kannst du danach suchen.

#### Debian und Ubuntu

`apt search suchbegriff`

Beispiel:

`apt search nginx`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf search suchbegriff`

Beispiel:

`dnf search nginx`

### Informationen zu einem Paket anzeigen

Vor der Installation kannst du dir Informationen zu einem Paket anzeigen lassen.

#### Debian und Ubuntu

`apt show paketname`

Beispiel:

`apt show nginx`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf info paketname`

Beispiel:

`dnf info nginx`

### Installierte Pakete anzeigen

#### Debian und Ubuntu

`apt list --installed`

Ein bestimmtes Paket prüfen:

`apt list --installed | grep nginx`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf list installed`

Ein bestimmtes Paket prüfen:

`dnf list installed | grep nginx`

### Paket entfernen

Wenn du ein Paket nicht mehr brauchst, kannst du es entfernen.

#### Debian und Ubuntu

`apt remove paketname`

Beispiel:

`apt remove nginx`

Konfigurationsdateien bleiben dabei häufig erhalten.

Wenn du auch Konfigurationsdateien entfernen möchtest:

`apt purge paketname`

Nicht mehr benötigte Abhängigkeiten entfernen:

`apt autoremove`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf remove paketname`

Beispiel:

`dnf remove nginx`

### System aktualisieren

Neben einzelnen Paketen solltest du regelmäßig das gesamte System aktualisieren.

#### Debian und Ubuntu

Paketlisten aktualisieren:

`apt update`

Updates installieren:

`apt upgrade`

Optional vollständige Aktualisierung:

`apt full-upgrade`

#### AlmaLinux, Rocky Linux und CentOS Stream

`dnf update`

Nach wichtigen System- oder Kernel-Updates kann ein Neustart erforderlich sein.

Neustart:

`reboot`

### Dienst nach Installation prüfen

Viele Pakete installieren einen Dienst. Ein Dienst ist ein Programm, das dauerhaft im Hintergrund läuft.

Beispiele:

* Webserver
* Datenbankserver
* SSH-Dienst
* Mailserver
* Gameserver-Dienst

Dienste werden unter Linux häufig mit `systemctl` verwaltet.

Status prüfen:

`systemctl status dienstname`

Beispiel für Nginx:

`systemctl status nginx`

Dienst starten:

`systemctl start nginx`

Dienst stoppen:

`systemctl stop nginx`

Dienst neu starten:

`systemctl restart nginx`

Dienst beim Serverstart automatisch starten:

`systemctl enable nginx`

Autostart deaktivieren:

`systemctl disable nginx`

### Paket wurde installiert, aber funktioniert nicht

Wenn ein installiertes Paket nicht funktioniert, prüfe zuerst den Dienststatus.

Beispiel:

`systemctl status nginx`

Wenn der Dienst nicht startet, helfen oft die Logs.

Allgemeine Logs anzeigen:

`journalctl -xe`

Logs eines bestimmten Dienstes anzeigen:

`journalctl -u nginx`

Bei vielen Problemen steht dort die genaue Ursache.

### Paket nicht gefunden

Wenn ein Paket nicht gefunden wird, kann das mehrere Gründe haben.

Mögliche Ursachen:

* Paketname ist falsch geschrieben
* Paketlisten wurden nicht aktualisiert
* Paket ist in den aktivierten Paketquellen nicht enthalten
* benötigtes Repository ist nicht aktiviert
* Betriebssystemversion wird nicht unterstützt

Prüfe zuerst:

`apt update`

oder:

`dnf check-update`

Suche danach nach dem Paketnamen:

`apt search paketname`

oder:

`dnf search paketname`

### Repository aktivieren

Ein Repository ist eine Paketquelle. Daraus lädt dein Server Softwarepakete herunter.

Manche Pakete sind nicht in den Standardquellen enthalten. Dann muss ein zusätzliches Repository aktiviert werden.

#### Debian und Ubuntu

Viele zusätzliche Pakete befinden sich im Universe-Repository.

Bei Ubuntu kannst du es aktivieren mit:

`add-apt-repository universe`

Danach:

`apt update`

#### AlmaLinux und Rocky Linux

Viele zusätzliche Pakete befinden sich im EPEL-Repository.

EPEL installieren:

`dnf install epel-release`

Danach:

`dnf update`

**Wichtig:** Aktiviere nur Paketquellen, denen du vertraust. Unbekannte oder veraltete Repositories können Sicherheitsrisiken verursachen.

### Software aus fremden Quellen

Nicht jede Software sollte direkt aus dem Internet installiert werden.

Sei vorsichtig bei Befehlen wie:

`curl irgendeine-url | bash`

oder:

`wget irgendeine-url -O - | sh`

Solche Befehle laden ein Skript aus dem Internet und führen es direkt aus. Das kann gefährlich sein, wenn du die Quelle nicht genau kennst.

Prüfe vor der Installation:

* stammt die Anleitung vom offiziellen Anbieter?
* ist die URL korrekt?
* ist das Projekt vertrauenswürdig?
* wird die Software noch gepflegt?
* gibt es eine sichere Installationsmethode über den Paketmanager?

### Paketverwaltung ist gesperrt

Manchmal erscheint eine Meldung, dass die Paketverwaltung gesperrt ist.

Typische Meldungen:

* `Could not get lock`
* `Unable to acquire the dpkg frontend lock`
* `Waiting for cache lock`
* `Another app is currently holding the yum lock`

Das bedeutet, dass gerade ein anderer Paketprozess läuft.

Mögliche Ursachen:

* automatische Updates laufen
* ein anderer Installationsbefehl ist noch aktiv
* eine vorherige Installation wurde nicht sauber beendet

Warte zuerst einige Minuten.

Prüfe laufende Prozesse:

`ps aux | grep apt`

oder:

`ps aux | grep dnf`

Beende Paketprozesse nicht vorschnell. Eine unterbrochene Paketinstallation kann das System beschädigen.

### Defekte Paketinstallation reparieren

Wenn eine Installation abgebrochen wurde, kann die Paketverwaltung beschädigt sein.

#### Debian und Ubuntu

Versuche zuerst:

`dpkg --configure -a`

Danach:

`apt install -f`

Anschließend:

`apt update`

#### AlmaLinux, Rocky Linux und CentOS Stream

Cache bereinigen:

`dnf clean all`

Danach:

`dnf makecache`

Anschließend erneut installieren oder aktualisieren.

### Speicherplatz prüfen

Wenn Pakete nicht installiert werden können, kann auch fehlender Speicherplatz die Ursache sein.

Speicherplatz prüfen:

`df -h`

Wenn die Festplatte voll ist, können Updates und Installationen fehlschlagen.

Prüfe außerdem große Verzeichnisse:

`du -sh /*`

**Wichtig:** Lösche keine Systemdateien, wenn du nicht genau weißt, wofür sie benötigt werden.

### Nach der Installation aufräumen

Nicht mehr benötigte Pakete und zwischengespeicherte Dateien können Speicherplatz belegen.

#### Debian und Ubuntu

Nicht mehr benötigte Pakete entfernen:

`apt autoremove`

Paketcache bereinigen:

`apt clean`

#### AlmaLinux, Rocky Linux und CentOS Stream

Nicht mehr benötigte Pakete entfernen:

`dnf autoremove`

Cache bereinigen:

`dnf clean all`

### Sicherheit bei Paketinstallationen

Installiere nur Software, die du wirklich benötigst.

Jedes zusätzliche Paket kann neue Dienste, offene Ports oder Sicherheitsrisiken mitbringen.

Achte besonders auf:

* Webpanels
* Datenbankserver
* Mailserver
* FTP-Server
* alte PHP-Versionen
* unbekannte Installationsskripte
* nicht gepflegte Software

Nach der Installation solltest du prüfen, ob neue Ports geöffnet wurden.

Offene Ports anzeigen:

`ss -tulpen`

### Support kontaktieren

Wenn du ein Paket nicht installieren kannst, kontaktiere den Support mit möglichst genauen Angaben.

Hilfreich sind:

* Betriebssystem
* Paketname
* verwendeter Befehl
* genaue Fehlermeldung
* ob du als Root oder mit sudo arbeitest
* ob genug Speicherplatz vorhanden ist
* ob kurz vorher Updates oder Änderungen durchgeführt wurden

**Sicherheit:** Sende niemals Passwörter, private SSH-Keys oder andere geheime Zugangsdaten an den Support.


# Webserver installieren

Mit einem Webserver kannst du Webseiten, Webanwendungen oder APIs auf deinem KVM-Server bereitstellen.

In diesem Artikel erklären wir dir, wie du unter Linux einen einfachen Webserver installierst, welche Unterschiede es zwischen Apache und Nginx gibt und welche Schritte nach der Installation wichtig sind.

### Voraussetzungen

Du benötigst:

* einen KVM-Server mit Linux
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine aktive SSH-Verbindung
* Grundkenntnisse im Umgang mit der Konsole
* optional eine Domain, die auf deinen Server zeigt

Für die Beispiele verwenden wir Debian oder Ubuntu. Viele Schritte funktionieren ähnlich auch auf anderen Linux-Distributionen, die Befehle können dort aber abweichen.

### Was ist ein Webserver?

Ein Webserver ist ein Dienst, der Webseiten und Webinhalte ausliefert.

Wenn ein Besucher deine Domain im Browser öffnet, fragt der Browser deinen Server nach der Webseite. Der Webserver nimmt diese Anfrage an und liefert die passenden Dateien zurück.

Typische Webserver sind:

* Apache
* Nginx

Beide können Webseiten ausliefern. Welcher Webserver besser passt, hängt vom Einsatzzweck und deinen Anforderungen ab.

### Apache oder Nginx?

Apache und Nginx sind die bekanntesten Webserver unter Linux.

| Webserver | Beschreibung                                                                             |
| --------- | ---------------------------------------------------------------------------------------- |
| Apache    | Sehr verbreitet, flexibel, viele Anleitungen, gute Unterstützung für `.htaccess`         |
| Nginx     | Schnell, ressourcenschonend, häufig für moderne Webanwendungen und Reverse Proxy genutzt |

Wenn du eine klassische Webseite oder WordPress betreiben möchtest, ist Apache oft ein einfacher Einstieg.

Wenn du eine performante Webseite, eine API oder einen Reverse Proxy betreiben möchtest, ist Nginx häufig eine gute Wahl.

### System aktualisieren

Bevor du einen Webserver installierst, solltest du dein System aktualisieren.

Melde dich per SSH auf deinem Server an und führe aus:

`apt update`

Danach installierst du verfügbare Updates:

`apt upgrade`

Wenn wichtige Systemupdates installiert wurden, kann ein Neustart sinnvoll sein:

`reboot`

### Apache installieren

Apache installierst du unter Debian oder Ubuntu mit folgendem Befehl:

`apt install apache2`

Nach der Installation wird Apache normalerweise automatisch gestartet.

Prüfe den Status:

`systemctl status apache2`

Wenn Apache läuft, kannst du die IP-Adresse deines Servers im Browser öffnen.

Beispiel:

`http://123.123.123.123`

Wenn alles funktioniert, erscheint die Standardseite von Apache.

### Apache starten, stoppen und neustarten

Apache starten:

`systemctl start apache2`

Apache stoppen:

`systemctl stop apache2`

Apache neustarten:

`systemctl restart apache2`

Apache neu laden, ohne aktive Verbindungen hart zu beenden:

`systemctl reload apache2`

Apache beim Systemstart automatisch starten:

`systemctl enable apache2`

### Nginx installieren

Nginx installierst du unter Debian oder Ubuntu mit folgendem Befehl:

`apt install nginx`

Nach der Installation wird Nginx normalerweise automatisch gestartet.

Prüfe den Status:

`systemctl status nginx`

Wenn Nginx läuft, kannst du die IP-Adresse deines Servers im Browser öffnen.

Beispiel:

`http://123.123.123.123`

Wenn alles funktioniert, erscheint die Standardseite von Nginx.

### Nginx starten, stoppen und neustarten

Nginx starten:

`systemctl start nginx`

Nginx stoppen:

`systemctl stop nginx`

Nginx neustarten:

`systemctl restart nginx`

Nginx neu laden, ohne aktive Verbindungen hart zu beenden:

`systemctl reload nginx`

Nginx beim Systemstart automatisch starten:

`systemctl enable nginx`

### Nicht Apache und Nginx gleichzeitig auf Port 80 betreiben

Apache und Nginx nutzen standardmäßig beide Port `80` für HTTP und Port `443` für HTTPS.

Wenn beide Webserver gleichzeitig auf denselben Ports laufen, kann einer der Dienste nicht starten.

Typische Fehlermeldung:

`Address already in use`

Entscheide dich deshalb am Anfang für einen Webserver.

Wenn du von Apache zu Nginx wechseln möchtest, stoppe Apache zuerst:

`systemctl stop apache2`

Optional Apache deaktivieren:

`systemctl disable apache2`

Wenn du von Nginx zu Apache wechseln möchtest, stoppe Nginx zuerst:

`systemctl stop nginx`

Optional Nginx deaktivieren:

`systemctl disable nginx`

### Firewall öffnen

Damit deine Webseite von außen erreichbar ist, müssen die passenden Ports freigegeben sein.

Für Webseiten brauchst du meistens:

| Port  | Zweck |
| ----- | ----- |
| `80`  | HTTP  |
| `443` | HTTPS |

Wenn du UFW verwendest, kannst du HTTP und HTTPS freigeben.

HTTP freigeben:

`ufw allow 80/tcp`

HTTPS freigeben:

`ufw allow 443/tcp`

Status prüfen:

`ufw status`

Wenn UFW noch nicht aktiviert ist, kannst du sie aktivieren:

`ufw enable`

**Wichtig:** Stelle sicher, dass SSH erlaubt ist, bevor du die Firewall aktivierst. Sonst kannst du dich möglicherweise nicht mehr per SSH verbinden.

SSH erlauben:

`ufw allow 22/tcp`

### Webverzeichnis verstehen

Webseiten-Dateien liegen häufig unter:

`/var/www/`

Bei Apache ist das Standardverzeichnis oft:

`/var/www/html`

Bei Nginx ebenfalls häufig:

`/var/www/html`

Wenn du eine eigene Webseite betreiben möchtest, kannst du für jede Domain ein eigenes Verzeichnis anlegen.

Beispiel:

`/var/www/deinedomain.de`

Verzeichnis erstellen:

`mkdir -p /var/www/deinedomain.de`

Eine einfache Testdatei erstellen:

`nano /var/www/deinedomain.de/index.html`

Beispielinhalt:

`Meine Webseite funktioniert.`

### Rechte für Webdateien setzen

Die Dateien sollten vom Webserver gelesen werden können.

Für einfache Webseiten kannst du häufig folgende Rechte verwenden:

`chown -R www-data:www-data /var/www/deinedomain.de`

`find /var/www/deinedomain.de -type d -exec chmod 755 {} \;`

`find /var/www/deinedomain.de -type f -exec chmod 644 {} \;`

`www-data` ist auf Debian und Ubuntu der typische Benutzer, unter dem Apache oder Nginx laufen.

### Domain auf den Server zeigen lassen

Damit deine Webseite über eine Domain erreichbar ist, muss die Domain auf die IP-Adresse deines KVM-Servers zeigen.

Dafür wird im DNS ein A-Record gesetzt.

Beispiel:

| Typ | Name  | Ziel              |
| --- | ----- | ----------------- |
| A   | `@`   | `123.123.123.123` |
| A   | `www` | `123.123.123.123` |

Wenn du IPv6 nutzt, kannst du zusätzlich einen AAAA-Record setzen.

| Typ  | Name  | Ziel                        |
| ---- | ----- | --------------------------- |
| AAAA | `@`   | IPv6-Adresse deines Servers |
| AAAA | `www` | IPv6-Adresse deines Servers |

DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis die Änderung überall übernommen wurde.

### Apache Virtual Host einrichten

Ein Virtual Host legt fest, welche Webseite für welche Domain ausgeliefert wird.

Erstelle eine neue Konfigurationsdatei:

`nano /etc/apache2/sites-available/deinedomain.de.conf`

Beispielkonfiguration:

`<VirtualHost *:80> ServerName deinedomain.de ServerAlias www.deinedomain.de DocumentRoot /var/www/deinedomain.de ErrorLog ${APACHE_LOG_DIR}/deinedomain_error.log CustomLog ${APACHE_LOG_DIR}/deinedomain_access.log combined </VirtualHost>`

Aktiviere die Webseite:

`a2ensite deinedomain.de.conf`

Deaktiviere optional die Standardseite:

`a2dissite 000-default.conf`

Konfiguration prüfen:

`apache2ctl configtest`

Apache neu laden:

`systemctl reload apache2`

### Nginx Server Block einrichten

Bei Nginx heißt die Domain-Konfiguration meist Server Block.

Erstelle eine neue Konfigurationsdatei:

`nano /etc/nginx/sites-available/deinedomain.de`

Beispielkonfiguration:

`server { listen 80; server_name deinedomain.de www.deinedomain.de; root /var/www/deinedomain.de; index index.html index.htm; location / { try_files $uri $uri/ =404; } }`

Aktiviere die Webseite:

`ln -s /etc/nginx/sites-available/deinedomain.de /etc/nginx/sites-enabled/`

Konfiguration prüfen:

`nginx -t`

Nginx neu laden:

`systemctl reload nginx`

### PHP installieren

Viele Webseiten und Anwendungen benötigen PHP. Das gilt zum Beispiel für WordPress, viele CMS-Systeme und ältere Webanwendungen.

PHP für Apache installieren:

`apt install php libapache2-mod-php`

Apache neu starten:

`systemctl restart apache2`

PHP für Nginx installieren:

`apt install php-fpm`

Nginx muss danach so konfiguriert werden, dass PHP-Anfragen an PHP-FPM weitergegeben werden.

### Datenbank installieren

Viele Webanwendungen benötigen eine Datenbank.

Häufig wird MariaDB verwendet.

MariaDB installieren:

`apt install mariadb-server`

Dienst starten:

`systemctl start mariadb`

Dienst beim Systemstart aktivieren:

`systemctl enable mariadb`

Sicherheitsassistent starten:

`mysql_secure_installation`

Mit MariaDB verbinden:

`mysql`

### SSL-Zertifikat mit Let's Encrypt einrichten

Für Webseiten solltest du HTTPS verwenden.

HTTPS schützt die Verbindung zwischen Besucher und Webseite.

Für kostenlose SSL-Zertifikate kannst du Let's Encrypt mit Certbot verwenden.

Certbot installieren:

`apt install certbot`

Für Apache:

`apt install python3-certbot-apache`

Zertifikat für Apache einrichten:

`certbot --apache`

Für Nginx:

`apt install python3-certbot-nginx`

Zertifikat für Nginx einrichten:

`certbot --nginx`

Folge danach den Anweisungen im Terminal.

### Automatische Zertifikatserneuerung prüfen

Let's Encrypt Zertifikate laufen regelmäßig ab und müssen erneuert werden.

Certbot richtet normalerweise eine automatische Erneuerung ein.

Du kannst die Erneuerung testen:

`certbot renew --dry-run`

Wenn dieser Test erfolgreich ist, sollte die automatische Erneuerung funktionieren.

### Logs prüfen

Wenn deine Webseite nicht funktioniert, sind Logs sehr wichtig.

Apache Logs:

`/var/log/apache2/access.log`

`/var/log/apache2/error.log`

Nginx Logs:

`/var/log/nginx/access.log`

`/var/log/nginx/error.log`

Logs live anzeigen:

`tail -f /var/log/apache2/error.log`

oder:

`tail -f /var/log/nginx/error.log`

### Häufige Probleme

#### Webseite ist nicht erreichbar

Prüfe:

* läuft Apache oder Nginx?
* zeigt die Domain auf die richtige IP-Adresse?
* sind Port `80` und `443` geöffnet?
* blockiert die Firewall?
* ist die Webserver-Konfiguration korrekt?
* ist der Server grundsätzlich erreichbar?

Status prüfen:

`systemctl status apache2`

oder:

`systemctl status nginx`

#### Port 80 ist bereits belegt

Wenn Apache oder Nginx nicht startet, kann Port `80` bereits von einem anderen Dienst genutzt werden.

Prüfen:

`ss -tulpen`

Typische Ursache:

* Apache läuft bereits
* Nginx läuft bereits
* ein anderes Panel nutzt Port `80`
* ein Docker-Container nutzt Port `80`

#### 403 Forbidden

Die Meldung `403 Forbidden` bedeutet, dass der Webserver die Anfrage verstanden hat, aber keinen Zugriff auf die Dateien erlaubt.

Mögliche Ursachen:

* falsche Dateirechte
* falscher Besitzer
* fehlende Index-Datei
* falsches Webverzeichnis
* Zugriff durch Konfiguration blockiert

Prüfe, ob eine Datei wie `index.html` oder `index.php` im Webverzeichnis liegt.

#### 404 Not Found

Die Meldung `404 Not Found` bedeutet, dass die angeforderte Seite nicht gefunden wurde.

Mögliche Ursachen:

* Datei existiert nicht
* falscher DocumentRoot
* falscher Pfad
* Rewrite-Regeln fehlen
* Domain zeigt auf falsche Webseite

#### 502 Bad Gateway

Die Meldung `502 Bad Gateway` tritt häufig bei Nginx in Verbindung mit PHP-FPM oder Reverse Proxy auf.

Mögliche Ursachen:

* PHP-FPM läuft nicht
* falscher Socket oder Port
* Anwendung ist abgestürzt
* Backend-Dienst ist nicht erreichbar

PHP-FPM Status prüfen:

`systemctl status php*-fpm`

#### SSL funktioniert nicht

Prüfe:

* zeigt die Domain bereits auf den Server?
* sind Port `80` und `443` geöffnet?
* ist Certbot erfolgreich durchgelaufen?
* ist die Webserver-Konfiguration gültig?
* wurde der Webserver neu geladen?

Apache prüfen:

`apache2ctl configtest`

Nginx prüfen:

`nginx -t`

### Sicherheit nach der Installation

Nach der Installation solltest du einige grundlegende Sicherheitsmaßnahmen umsetzen:

* System regelmäßig aktualisieren
* nur benötigte Ports öffnen
* HTTPS aktivieren
* sichere Passwörter verwenden
* Dateirechte prüfen
* nicht benötigte Standardseiten entfernen
* Webanwendungen aktuell halten
* Backups erstellen
* Logs regelmäßig prüfen

Wenn du WordPress oder ein anderes CMS nutzt, halte auch Plugins, Themes und Erweiterungen aktuell.

### Support kontaktieren

Wenn dein Webserver nicht funktioniert, kontaktiere den Support mit möglichst genauen Angaben.

Hilfreich sind:

* Betriebssystem
* verwendeter Webserver: Apache oder Nginx
* Domain
* Server-IP
* genaue Fehlermeldung
* Auszug aus den Logs
* welche Schritte du bereits durchgeführt hast
* ob die Webseite über IP-Adresse erreichbar ist
* ob die Domain bereits auf den Server zeigt

Sende niemals Passwörter, private SSH-Keys oder andere geheime Zugangsdaten an den Support.


# phpMyAdmin installieren

phpMyAdmin ist eine webbasierte Verwaltungsoberfläche für MySQL- und MariaDB-Datenbanken.

Mit phpMyAdmin kannst du Datenbanken, Tabellen, Benutzer und Inhalte direkt im Browser verwalten. Das ist besonders praktisch, wenn du keine Datenbankbefehle über die Konsole ausführen möchtest.

### Voraussetzungen

Für phpMyAdmin benötigst du einen Server mit:

* Linux
* Webserver, zum Beispiel Apache oder Nginx
* PHP
* MySQL oder MariaDB
* SSH-Zugriff
* Root- oder sudo-Rechten

In dieser Anleitung verwenden wir Debian oder Ubuntu als Grundlage.

### Vor der Installation

Aktualisiere zuerst dein System.

Befehl:

`apt update`

Danach installierst du verfügbare Updates.

Befehl:

`apt upgrade`

Wenn wichtige Systemupdates installiert wurden, kann ein Neustart sinnvoll sein.

Befehl:

`reboot`

### MariaDB installieren

Falls noch keine Datenbank installiert ist, kannst du MariaDB installieren.

Befehl:

`apt install mariadb-server mariadb-client`

Starte MariaDB und aktiviere den automatischen Start beim Booten.

Befehl:

`systemctl enable mariadb`

Befehl:

`systemctl start mariadb`

Prüfe den Status.

Befehl:

`systemctl status mariadb`

### MariaDB absichern

Nach der Installation solltest du MariaDB absichern.

Befehl:

`mysql_secure_installation`

Folge den Fragen im Terminal.

Empfehlungen:

| Frage                                 | Empfehlung                   |
| ------------------------------------- | ---------------------------- |
| Root-Passwort ändern                  | Ja, falls noch nicht gesetzt |
| Anonyme Benutzer entfernen            | Ja                           |
| Root-Login aus der Ferne deaktivieren | Ja                           |
| Testdatenbank entfernen               | Ja                           |
| Rechte neu laden                      | Ja                           |

### Datenbankbenutzer erstellen

Für phpMyAdmin und deine Anwendungen solltest du nicht dauerhaft mit dem MariaDB-Root-Benutzer arbeiten.

Melde dich bei MariaDB an.

Befehl:

`mysql`

Erstelle eine Datenbank.

Befehl:

`CREATE DATABASE webseite;`

Erstelle einen Benutzer.

Befehl:

`CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'SICHERES_PASSWORT';`

Gib dem Benutzer Rechte auf die Datenbank.

Befehl:

`GRANT ALL PRIVILEGES ON webseite.* TO 'webuser'@'localhost';`

Lade die Rechte neu.

Befehl:

`FLUSH PRIVILEGES;`

Verlasse MariaDB.

Befehl:

`EXIT;`

Ersetze `SICHERES_PASSWORT` durch ein eigenes, starkes Passwort.

### phpMyAdmin installieren

Installiere phpMyAdmin über die Paketverwaltung.

Befehl:

`apt install phpmyadmin`

Während der Installation kann eine Abfrage erscheinen.

Bei Apache kannst du Apache auswählen, damit phpMyAdmin automatisch eingebunden wird.

Bei Nginx wird phpMyAdmin normalerweise nicht automatisch eingebunden. In diesem Fall musst du die Konfiguration manuell vornehmen.

### Installation mit Apache

Wenn du Apache verwendest, wähle während der Installation **apache2** aus.

Falls die Auswahl nicht erscheint oder nicht korrekt gesetzt wurde, kannst du phpMyAdmin manuell aktivieren.

Befehl:

`ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf`

Danach aktivierst du die Konfiguration.

Befehl:

`a2enconf phpmyadmin`

Apache neu laden:

`systemctl reload apache2`

phpMyAdmin ist danach normalerweise erreichbar unter:

`http://SERVER-IP/phpmyadmin`

Wenn du bereits eine Domain mit SSL verwendest, nutze besser:

`https://deinedomain.de/phpmyadmin`

### Installation mit Nginx

Bei Nginx muss phpMyAdmin meistens manuell eingebunden werden.

Ein einfacher Weg ist ein symbolischer Link in dein Webverzeichnis.

Beispiel für `/var/www/html`:

`ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin`

Danach ist phpMyAdmin erreichbar unter:

`http://SERVER-IP/phpmyadmin`

Wenn du eine eigene Domain verwendest, kann die Adresse so aussehen:

`https://deinedomain.de/phpmyadmin`

Achte darauf, dass PHP-FPM für deine Nginx-Webseite korrekt eingerichtet ist. Ohne funktionierende PHP-Verarbeitung zeigt Nginx PHP-Dateien nicht korrekt an.

### Benötigte PHP-Erweiterungen prüfen

phpMyAdmin benötigt verschiedene PHP-Erweiterungen.

Installiere häufig benötigte Erweiterungen:

`apt install php-mbstring php-zip php-gd php-json php-curl php-mysql`

Danach Apache oder PHP-FPM neu starten.

Bei Apache:

`systemctl restart apache2`

Bei Nginx mit PHP-FPM:

`systemctl restart php8.2-fpm`

Die PHP-Version kann abweichen. Prüfe deine installierte Version bei Bedarf mit:

`php -v`

### Login in phpMyAdmin

Öffne phpMyAdmin im Browser.

Beispiel:

`https://deinedomain.de/phpmyadmin`

Melde dich mit einem MariaDB- oder MySQL-Benutzer an.

Beispiel:

| Feld         | Wert                            |
| ------------ | ------------------------------- |
| Benutzername | `webuser`                       |
| Passwort     | Passwort des Datenbankbenutzers |

### Root-Login in phpMyAdmin

Auf vielen Systemen kann sich der MariaDB-Root-Benutzer nicht direkt in phpMyAdmin anmelden.

Das liegt häufig daran, dass der Root-Benutzer über Unix-Socket-Authentifizierung arbeitet.

Das ist normal.

Nutze für phpMyAdmin besser einen eigenen Datenbankbenutzer.

Wenn du einen administrativen Datenbankbenutzer erstellen möchtest, kannst du das in MariaDB tun.

Befehl:

`CREATE USER 'adminuser'@'localhost' IDENTIFIED BY 'SICHERES_PASSWORT';`

Befehl:

`GRANT ALL PRIVILEGES ON *.* TO 'adminuser'@'localhost' WITH GRANT OPTION;`

Befehl:

`FLUSH PRIVILEGES;`

Nutze solche administrativen Benutzer nur, wenn du sie wirklich brauchst.

### phpMyAdmin absichern

phpMyAdmin ist ein häufiges Ziel automatischer Angriffe. Deshalb solltest du die Installation absichern.

### Zugriffspfad ändern

Der Standardpfad `/phpmyadmin` ist bekannt und wird häufig automatisch gescannt.

Du kannst den Pfad ändern, indem du den Link anders benennst.

Beispiel:

`mv /var/www/html/phpmyadmin /var/www/html/dbverwaltung`

Danach erreichst du phpMyAdmin unter:

`https://deinedomain.de/dbverwaltung`

Bei Apache musst du dafür die Konfiguration anpassen, wenn phpMyAdmin über `/etc/phpmyadmin/apache.conf` eingebunden wird.

### Zusätzlichen Passwortschutz verwenden

Du kannst phpMyAdmin zusätzlich mit einem HTTP-Passwortschutz absichern.

Das ist sinnvoll, weil Angreifer dann nicht direkt zur phpMyAdmin-Anmeldemaske gelangen.

Bei Apache kannst du dafür `.htaccess` und `.htpasswd` verwenden.

Installiere das benötigte Paket:

`apt install apache2-utils`

Erstelle eine Passwortdatei:

`htpasswd -c /etc/phpmyadmin/.htpasswd admin`

Danach musst du den Passwortschutz in der Apache-Konfiguration für phpMyAdmin einbinden.

### Zugriff per IP begrenzen

Wenn du phpMyAdmin nur von einer bestimmten IP-Adresse aus verwendest, kannst du den Zugriff zusätzlich einschränken.

Das ist besonders sicher, wenn du eine feste IP-Adresse hast.

Beispiel für Apache-Konfiguration:

`Require ip DEINE-IP-ADRESSE`

Ersetze `DEINE-IP-ADRESSE` durch deine eigene IP-Adresse.

### HTTPS verwenden

phpMyAdmin sollte nicht unverschlüsselt über HTTP genutzt werden.

Aktiviere HTTPS mit einem SSL-Zertifikat, zum Beispiel über Let's Encrypt.

Wenn du phpMyAdmin über HTTP verwendest, können Anmeldedaten im Netzwerk leichter abgefangen werden.

### Datenbankbenutzer begrenzen

Verwende für Webseiten und Anwendungen eigene Datenbankbenutzer.

Gib einem Benutzer nur die Rechte, die er wirklich benötigt.

Beispiel:

Eine WordPress-Webseite benötigt normalerweise nur Rechte auf ihre eigene Datenbank, nicht auf alle Datenbanken des Servers.

### Häufige Probleme

#### phpMyAdmin ist nicht erreichbar

Prüfe:

* läuft der Webserver?
* ist phpMyAdmin installiert?
* stimmt der Pfad?
* ist PHP korrekt eingerichtet?
* blockiert die Firewall Port `80` oder `443`?
* zeigt die Domain auf den richtigen Server?

Status von Apache prüfen:

`systemctl status apache2`

Status von Nginx prüfen:

`systemctl status nginx`

#### PHP-Datei wird heruntergeladen

Wenn der Browser eine PHP-Datei herunterlädt, verarbeitet dein Webserver PHP nicht korrekt.

Bei Apache prüfe, ob PHP installiert und aktiviert ist.

Bei Nginx prüfe, ob PHP-FPM korrekt eingebunden ist.

#### Login schlägt fehl

Prüfe:

* Benutzername korrekt?
* Passwort korrekt?
* Datenbankbenutzer existiert?
* Benutzer darf sich von `localhost` anmelden?
* MariaDB oder MySQL läuft?

Bei MariaDB kannst du Benutzer so anzeigen:

`SELECT User, Host FROM mysql.user;`

#### Root-Login funktioniert nicht

Das ist bei MariaDB auf Debian oder Ubuntu häufig normal.

Nutze einen eigenen Datenbankbenutzer statt Root.

#### Fehlende PHP-Erweiterung

Wenn phpMyAdmin eine fehlende PHP-Erweiterung meldet, installiere die passende Erweiterung.

Beispiel:

`apt install php-mbstring`

Danach den Webserver oder PHP-FPM neu starten.

#### 403 Forbidden

Ein 403-Fehler bedeutet, dass der Zugriff verweigert wird.

Mögliche Ursachen:

* falsche Rechte
* falsche Webserver-Konfiguration
* IP-Beschränkung
* fehlende Index-Datei
* Zugriffspfad nicht erlaubt

#### 404 Not Found

Ein 404-Fehler bedeutet, dass der Pfad nicht gefunden wurde.

Mögliche Ursachen:

* phpMyAdmin ist nicht installiert
* symbolischer Link fehlt
* falscher Pfad
* Apache-Konfiguration nicht aktiviert
* Webserver wurde nicht neu geladen

### Wartung

Halte phpMyAdmin regelmäßig aktuell.

Aktualisierung unter Debian oder Ubuntu:

`apt update`

`apt upgrade`

Wenn du phpMyAdmin manuell installiert hast, musst du Updates selbst einspielen.

### Alternative zu phpMyAdmin

phpMyAdmin ist praktisch, aber nicht immer notwendig.

Alternativen sind:

* Adminer
* MySQL Workbench
* DBeaver
* direkte Verwaltung über die MySQL-Konsole

Für öffentlich erreichbare Server ist eine schlanke Lösung wie Adminer oft einfacher, sollte aber ebenfalls gut abgesichert werden.

### Support kontaktieren

Wenn du phpMyAdmin nicht einrichten kannst, kontaktiere den Support.

Gib dabei bitte an:

* Betriebssystem
* verwendeter Webserver: Apache oder Nginx
* verwendete PHP-Version
* verwendete Datenbank: MySQL oder MariaDB
* genaue Fehlermeldung
* URL oder Pfad, unter dem phpMyAdmin erreichbar sein soll
* was du bereits versucht hast

Sende niemals Datenbankpasswörter, Root-Passwörter oder private Zugangsdaten an den Support.


# PHP installieren

PHP wird häufig für Webseiten, Webanwendungen und Content-Management-Systeme wie WordPress, Joomla oder Laravel verwendet.

In diesem Artikel erklären wir dir, wie du PHP auf einem KVM-Server installierst und prüfst, ob PHP korrekt funktioniert.

### Voraussetzungen

Du benötigst:

* einen KVM-Server mit Linux
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine bestehende SSH-Verbindung
* ein installiertes Betriebssystem wie Debian, Ubuntu, AlmaLinux oder Rocky Linux

Für klassische Webseiten wird zusätzlich ein Webserver benötigt, zum Beispiel Apache oder Nginx.

### Was ist PHP?

PHP ist eine serverseitige Programmiersprache.

Das bedeutet: PHP-Code wird auf dem Server ausgeführt. Der Besucher deiner Webseite sieht nicht den PHP-Code, sondern das Ergebnis, das der Server ausgibt.

PHP wird häufig genutzt für:

* WordPress
* Joomla
* Drupal
* Laravel
* Shop-Systeme
* Foren
* eigene Webanwendungen
* Adminoberflächen
* APIs

### Vor der Installation

Aktualisiere zuerst dein System.

#### Debian und Ubuntu

Paketlisten aktualisieren:

`apt update`

Installierte Pakete aktualisieren:

`apt upgrade`

#### AlmaLinux und Rocky Linux

System aktualisieren:

`dnf update`

### PHP unter Debian oder Ubuntu installieren

Auf Debian und Ubuntu installierst du PHP über den Paketmanager `apt`.

Grundinstallation:

`apt install php`

Damit wird PHP installiert. Für viele Webseiten reicht das allein jedoch nicht aus, weil häufig zusätzliche PHP-Erweiterungen benötigt werden.

### PHP-Version prüfen

Nach der Installation kannst du prüfen, ob PHP funktioniert.

Befehl:

`php -v`

Wenn PHP korrekt installiert ist, wird dir eine Ausgabe mit der installierten PHP-Version angezeigt.

Beispiel:

`PHP 8.2.7 (cli)`

Die genaue Version kann je nach Betriebssystem und Paketquelle abweichen.

### Wichtige PHP-Erweiterungen installieren

Viele Anwendungen benötigen zusätzliche PHP-Erweiterungen.

Für typische Webanwendungen kannst du unter Debian oder Ubuntu folgende Pakete installieren:

`apt install php-cli php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-bcmath`

Diese Erweiterungen werden häufig benötigt.

| Paket          | Zweck                                      |
| -------------- | ------------------------------------------ |
| `php-cli`      | PHP über die Kommandozeile ausführen       |
| `php-common`   | gemeinsame PHP-Grundfunktionen             |
| `php-curl`     | HTTP-Anfragen aus PHP heraus               |
| `php-gd`       | Bildverarbeitung                           |
| `php-mbstring` | Verarbeitung von Sonderzeichen und UTF-8   |
| `php-mysql`    | Verbindung zu MySQL oder MariaDB           |
| `php-xml`      | Verarbeitung von XML-Dateien               |
| `php-zip`      | ZIP-Dateien erstellen und entpacken        |
| `php-intl`     | Internationalisierung und Sprachfunktionen |
| `php-bcmath`   | Berechnungen mit großen Zahlen             |

### PHP unter AlmaLinux oder Rocky Linux installieren

Auf AlmaLinux und Rocky Linux installierst du PHP über `dnf`.

Grundinstallation:

`dnf install php`

PHP-Version prüfen:

`php -v`

Häufig benötigte Erweiterungen installieren:

`dnf install php-cli php-common php-curl php-gd php-mbstring php-mysqlnd php-xml php-zip php-intl php-bcmath`

### PHP mit Apache verwenden

Wenn du Apache als Webserver nutzt, installierst du zusätzlich das passende Apache-Modul oder PHP-FPM.

Auf Debian oder Ubuntu:

`apt install apache2 php libapache2-mod-php`

Danach Apache neu starten:

`systemctl restart apache2`

Auf AlmaLinux oder Rocky Linux:

`dnf install httpd php`

Danach Apache starten und aktivieren:

`systemctl enable httpd`

`systemctl start httpd`

Wenn Apache bereits läuft, starte ihn neu:

`systemctl restart httpd`

### PHP mit Nginx verwenden

Nginx führt PHP nicht direkt aus. Dafür wird PHP-FPM verwendet.

PHP-FPM ist ein Dienst, der PHP-Anfragen verarbeitet und an Nginx zurückgibt.

#### Debian und Ubuntu

PHP-FPM installieren:

`apt install php-fpm`

Status prüfen:

`systemctl status php*-fpm`

#### AlmaLinux und Rocky Linux

PHP-FPM installieren:

`dnf install php-fpm`

PHP-FPM starten und aktivieren:

`systemctl enable php-fpm`

`systemctl start php-fpm`

### PHP-Testdatei erstellen

Um zu prüfen, ob PHP über den Webserver funktioniert, kannst du eine Testdatei erstellen.

Bei Apache liegt das Webverzeichnis häufig hier:

`/var/www/html`

Erstelle eine Datei:

`nano /var/www/html/info.php`

Füge folgenden Inhalt ein:

`<?php phpinfo(); ?>`

Speichere die Datei und öffne sie im Browser.

Beispiel:

`http://SERVER-IP/info.php`

Wenn PHP korrekt funktioniert, siehst du eine PHP-Informationsseite.

### Testdatei wieder löschen

Die Datei `info.php` zeigt viele Informationen über dein System an.

Lösche sie nach dem Test wieder.

Befehl:

`rm /var/www/html/info.php`

**Wichtig:** Lasse `phpinfo()` nicht dauerhaft öffentlich erreichbar. Die Seite kann technische Informationen anzeigen, die für Angreifer nützlich sein können.

### PHP-Konfiguration finden

Die PHP-Konfigurationsdatei heißt meistens `php.ini`.

Je nach System und PHP-Modus liegt sie an unterschiedlichen Orten.

Typische Pfade sind:

| Pfad                         | Verwendung                         |
| ---------------------------- | ---------------------------------- |
| `/etc/php/*/apache2/php.ini` | PHP mit Apache unter Debian/Ubuntu |
| `/etc/php/*/fpm/php.ini`     | PHP-FPM unter Debian/Ubuntu        |
| `/etc/php.ini`               | häufig bei AlmaLinux/Rocky Linux   |
| `/etc/php.d/`                | zusätzliche PHP-Konfigurationen    |

Du kannst den Pfad auch über PHP prüfen:

`php --ini`

### Häufige PHP-Einstellungen

In der `php.ini` kannst du wichtige Werte anpassen.

Typische Einstellungen sind:

| Einstellung           | Bedeutung                                 |
| --------------------- | ----------------------------------------- |
| `memory_limit`        | maximaler Arbeitsspeicher pro PHP-Prozess |
| `upload_max_filesize` | maximale Größe einzelner Uploads          |
| `post_max_size`       | maximale Größe von POST-Daten             |
| `max_execution_time`  | maximale Laufzeit eines PHP-Skripts       |
| `date.timezone`       | Zeitzone für PHP                          |

Beispielwerte:

`memory_limit = 256M`

`upload_max_filesize = 64M`

`post_max_size = 64M`

`max_execution_time = 120`

`date.timezone = Europe/Berlin`

Nach Änderungen an der PHP-Konfiguration musst du den Webserver oder PHP-FPM neu starten.

### Dienste nach Änderungen neu starten

Bei Apache unter Debian oder Ubuntu:

`systemctl restart apache2`

Bei Apache unter AlmaLinux oder Rocky Linux:

`systemctl restart httpd`

Bei PHP-FPM:

`systemctl restart php*-fpm`

Falls der Platzhalter nicht funktioniert, prüfe den genauen Dienstnamen:

`systemctl list-units | grep php`

### PHP für WordPress

WordPress benötigt PHP und mehrere Erweiterungen.

Für Debian oder Ubuntu kannst du häufig diese Pakete installieren:

`apt install php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl`

Für AlmaLinux oder Rocky Linux:

`dnf install php php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip php-intl`

Zusätzlich benötigst du eine Datenbank, zum Beispiel MariaDB oder MySQL.

### PHP für Laravel

Laravel benötigt in der Regel PHP, Composer und mehrere PHP-Erweiterungen.

Typische Pakete unter Debian oder Ubuntu:

`apt install php-cli php-mbstring php-xml php-curl php-zip php-bcmath php-mysql unzip`

Composer wird für die Installation von Laravel-Abhängigkeiten benötigt.

### Mehrere PHP-Versionen

Manche Anwendungen benötigen eine bestimmte PHP-Version.

Die verfügbare PHP-Version hängt von deinem Betriebssystem und den eingebundenen Paketquellen ab.

Wenn du eine andere PHP-Version benötigst, solltest du vorher prüfen:

* welche PHP-Version deine Anwendung benötigt
* welche PHP-Version dein Betriebssystem bereitstellt
* ob externe Paketquellen notwendig sind
* ob mehrere Webseiten unterschiedliche PHP-Versionen brauchen

**Wichtig:** Externe Paketquellen können zusätzliche Risiken verursachen. Nutze sie nur, wenn du weißt, was du tust und die Quelle vertrauenswürdig ist.

### PHP aktualisieren

PHP wird normalerweise über den Paketmanager deines Systems aktualisiert.

Debian und Ubuntu:

`apt update`

`apt upgrade`

AlmaLinux und Rocky Linux:

`dnf update`

Halte PHP regelmäßig aktuell, da Sicherheitslücken in PHP oder Erweiterungen häufig ausgenutzt werden.

### Häufige Probleme

#### PHP-Code wird im Browser angezeigt

Wenn der PHP-Code im Browser sichtbar ist, wird PHP nicht vom Webserver verarbeitet.

Mögliche Ursachen:

* PHP ist nicht installiert
* PHP-Modul für Apache fehlt
* PHP-FPM ist nicht eingerichtet
* Nginx ist nicht für PHP konfiguriert
* Webserver wurde nach der Installation nicht neu gestartet

#### Browser lädt die PHP-Datei herunter

Wenn der Browser die Datei herunterlädt, ist der Webserver falsch konfiguriert.

Prüfe:

* PHP-FPM läuft
* Nginx leitet PHP-Dateien korrekt an PHP-FPM weiter
* Apache hat PHP-Unterstützung aktiviert
* Webserver wurde neu gestartet

#### Fehler 500 nach PHP-Installation

Ein Fehler 500 bedeutet, dass der Server die Anfrage nicht korrekt verarbeiten konnte.

Prüfe die Logs:

Apache unter Debian/Ubuntu:

`/var/log/apache2/error.log`

Apache unter AlmaLinux/Rocky Linux:

`/var/log/httpd/error_log`

Nginx:

`/var/log/nginx/error.log`

PHP-FPM Logs findest du je nach System unter:

`/var/log/php*-fpm.log`

oder im Systemjournal:

`journalctl -u php*-fpm`

#### Erweiterung fehlt

Wenn eine Anwendung eine fehlende PHP-Erweiterung meldet, installiere das passende Paket.

Beispiel:

Fehlermeldung: `Missing PHP extension: curl`

Lösung unter Debian/Ubuntu:

`apt install php-curl`

Danach Webserver oder PHP-FPM neu starten.

#### Upload ist zu klein

Wenn Uploads abbrechen oder große Dateien nicht hochgeladen werden können, prüfe diese Werte in der `php.ini`:

`upload_max_filesize`

`post_max_size`

Passe beide Werte passend an und starte danach den Webserver oder PHP-FPM neu.

#### Änderungen an php.ini werden nicht übernommen

Mögliche Ursachen:

* falsche `php.ini` bearbeitet
* Webserver nicht neu gestartet
* PHP-FPM nicht neu gestartet
* mehrere PHP-Versionen installiert

Prüfe mit:

`php --ini`

Bei Webservern kann die verwendete PHP-Konfiguration zusätzlich über eine `phpinfo()`-Datei geprüft werden.

### Sicherheit

Beachte folgende Punkte:

* PHP regelmäßig aktualisieren
* ungenutzte Erweiterungen entfernen
* `phpinfo()` nach Tests löschen
* Dateirechte korrekt setzen
* Webanwendungen aktuell halten
* Plugins und Themes regelmäßig aktualisieren
* keine unbekannten PHP-Skripte ausführen
* Upload-Verzeichnisse absichern
* Backups erstellen

### Support kontaktieren

Wenn PHP nicht korrekt funktioniert, kontaktiere den Support mit möglichst genauen Angaben.

Hilfreich sind:

* Betriebssystem
* verwendeter Webserver: Apache oder Nginx
* PHP-Version
* genaue Fehlermeldung
* betroffene Domain oder IP-Adresse
* relevante Logauszüge
* welche Befehle du bereits ausgeführt hast

**Sicherheit:** Sende niemals Passwörter, private Schlüssel oder Zugangsdaten an den Support.


# MariaDB installieren

MariaDB ist ein Datenbankserver und wird häufig für Webseiten, Anwendungen, Webpanels, Shopsysteme, Foren, Bots und eigene Projekte verwendet.

In diesem Artikel erklären wir dir, wie du MariaDB auf einem Linux KVM-Server installierst, absicherst und eine erste Datenbank mit Benutzer anlegst.

### Was ist MariaDB?

MariaDB ist ein relationaler Datenbankserver.

Eine Datenbank speichert strukturierte Daten. Anwendungen nutzen Datenbanken zum Beispiel für:

* Benutzerkonten
* Einstellungen
* Beiträge
* Produkte
* Bestellungen
* Logdaten
* Spielerdaten
* Sitzungen
* Konfigurationen

MariaDB ist mit vielen Anwendungen kompatibel, die auch MySQL unterstützen.

### Voraussetzungen

Du benötigst:

* einen KVM-Server mit Linux
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine SSH-Verbindung zum Server
* grundlegende Kenntnisse im Umgang mit der Konsole

Diese Anleitung eignet sich besonders für:

* Debian
* Ubuntu

Bei AlmaLinux oder Rocky Linux sind einzelne Befehle anders.

### Mit dem Server verbinden

Verbinde dich zuerst per SSH mit deinem Server.

Beispiel:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines KVM-Servers.

Wenn du einen eigenen SSH-Port verwendest, gib den Port zusätzlich an.

Beispiel:

`ssh root@SERVER-IP -p 2222`

### Paketlisten aktualisieren

Aktualisiere zuerst die Paketlisten.

Befehl:

`apt update`

Danach solltest du vorhandene Updates installieren.

Befehl:

`apt upgrade`

Wenn wichtige Systemupdates installiert wurden, kann ein Neustart sinnvoll sein.

Befehl:

`reboot`

### MariaDB installieren

Installiere MariaDB mit folgendem Befehl:

`apt install mariadb-server mariadb-client`

Während der Installation werden der MariaDB-Server und das passende Client-Programm installiert.

Der Serverdienst wird danach meistens automatisch gestartet.

### MariaDB-Dienst prüfen

Prüfe nach der Installation, ob MariaDB läuft.

Befehl:

`systemctl status mariadb`

Wenn der Dienst aktiv ist, wird der Status als `active` oder `running` angezeigt.

Falls MariaDB nicht läuft, kannst du den Dienst starten.

Befehl:

`systemctl start mariadb`

Damit MariaDB nach einem Neustart automatisch startet, aktiviere den Dienst.

Befehl:

`systemctl enable mariadb`

### MariaDB absichern

Nach der Installation solltest du MariaDB absichern.

Dafür gibt es ein eigenes Sicherheitsprogramm.

Befehl:

`mysql_secure_installation`

Das Programm stellt mehrere Fragen.

Typische Empfehlungen:

| Frage                              | Empfehlung                      |
| ---------------------------------- | ------------------------------- |
| Root-Passwort setzen oder ändern   | Ja, wenn noch keins gesetzt ist |
| Anonyme Benutzer entfernen         | Ja                              |
| Root-Login aus der Ferne verbieten | Ja                              |
| Testdatenbank entfernen            | Ja                              |
| Rechte-Tabellen neu laden          | Ja                              |

Je nach MariaDB-Version können die Fragen etwas anders formuliert sein.

### Bei MariaDB anmelden

Nach der Installation kannst du dich lokal am Datenbankserver anmelden.

Befehl:

`mariadb`

oder:

`mysql`

Auf vielen Debian- und Ubuntu-Systemen funktioniert die Anmeldung als Root-Benutzer über das lokale Systemkonto.

Wenn ein Passwort benötigt wird, nutze:

`mariadb -u root -p`

Danach wirst du nach dem MariaDB-Root-Passwort gefragt.

### Datenbank erstellen

Erstelle eine neue Datenbank.

Beispiel:

`CREATE DATABASE webseite;`

Der Name `webseite` ist nur ein Beispiel. Du kannst einen eigenen Namen verwenden.

Empfehlung:

* nur Kleinbuchstaben verwenden
* keine Leerzeichen verwenden
* eindeutigen Namen nutzen

Beispiel:

`CREATE DATABASE minecraft_stats;`

### Datenbankbenutzer erstellen

Erstelle einen eigenen Benutzer für deine Anwendung.

Beispiel:

`CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'sicheres_passwort';`

Ersetze:

* `webuser` durch den gewünschten Benutzernamen
* `sicheres_passwort` durch ein starkes Passwort

Verwende nicht denselben Benutzer für alle Anwendungen.

### Rechte vergeben

Damit der Benutzer auf die Datenbank zugreifen kann, musst du Rechte vergeben.

Beispiel:

`GRANT ALL PRIVILEGES ON webseite.* TO 'webuser'@'localhost';`

Damit darf der Benutzer `webuser` auf alle Tabellen der Datenbank `webseite` zugreifen.

Danach Rechte neu laden:

`FLUSH PRIVILEGES;`

MariaDB verlassen:

`EXIT;`

### Verbindung testen

Teste, ob der neue Benutzer funktioniert.

Befehl:

`mariadb -u webuser -p webseite`

Gib danach das Passwort des Benutzers ein.

Wenn die Anmeldung funktioniert, ist der Benutzer korrekt eingerichtet.

MariaDB wieder verlassen:

`EXIT;`

### Datenbank für eine Webseite verwenden

Viele Webseiten oder Anwendungen fragen bei der Installation nach Datenbankdaten.

Typische Angaben sind:

| Feld           | Wert                            |
| -------------- | ------------------------------- |
| Datenbank-Host | `localhost`                     |
| Datenbank-Port | `3306`                          |
| Datenbankname  | Name deiner Datenbank           |
| Benutzername   | Name deines Datenbankbenutzers  |
| Passwort       | Passwort des Datenbankbenutzers |

Wenn die Anwendung auf demselben Server läuft wie MariaDB, ist der Host meistens `localhost`.

### MariaDB von außen erreichbar machen

Standardmäßig sollte MariaDB nicht öffentlich aus dem Internet erreichbar sein.

Das ist aus Sicherheitsgründen sinnvoll.

Wenn eine Anwendung auf demselben Server läuft, brauchst du keinen externen Zugriff.

Wenn du MariaDB trotzdem von einem anderen Server aus erreichen möchtest, musst du die Konfiguration ändern und die Firewall anpassen.

**Wichtig:** Öffne MariaDB nicht öffentlich für das gesamte Internet, wenn es nicht notwendig ist.

### Bind-Adresse prüfen

Die MariaDB-Konfiguration befindet sich je nach System an unterschiedlichen Stellen.

Häufige Datei:

`/etc/mysql/mariadb.conf.d/50-server.cnf`

Öffne die Datei:

`nano /etc/mysql/mariadb.conf.d/50-server.cnf`

Suche nach:

`bind-address`

Wenn MariaDB nur lokal erreichbar sein soll, sollte dort stehen:

`bind-address = 127.0.0.1`

Wenn MariaDB von außen erreichbar sein soll, kann die Adresse angepasst werden.

Beispiel:

`bind-address = 0.0.0.0`

Danach MariaDB neu starten:

`systemctl restart mariadb`

**Wichtig:** `0.0.0.0` bedeutet, dass MariaDB auf allen Netzwerkadressen lauscht. Nutze das nur, wenn du genau weißt, was du tust.

### Firewall für MariaDB

Der Standardport von MariaDB ist `3306`.

Wenn MariaDB nur lokal genutzt wird, muss dieser Port nicht in der Firewall geöffnet werden.

Wenn externer Zugriff nötig ist, solltest du den Zugriff nur für bestimmte IP-Adressen erlauben.

Beispiel mit UFW:

`ufw allow from 123.123.123.123 to any port 3306 proto tcp`

Ersetze `123.123.123.123` durch die IP-Adresse des Servers oder Systems, das auf MariaDB zugreifen darf.

Nicht empfohlen:

`ufw allow 3306/tcp`

Dieser Befehl öffnet MariaDB für alle erreichbaren Quellen.

### Benutzer für externen Zugriff erstellen

Wenn ein Benutzer von einem anderen Server zugreifen soll, reicht `'localhost'` nicht aus.

Beispiel für Zugriff von einer bestimmten IP-Adresse:

`CREATE USER 'remoteuser'@'123.123.123.123' IDENTIFIED BY 'sicheres_passwort';`

Rechte vergeben:

`GRANT ALL PRIVILEGES ON webseite.* TO 'remoteuser'@'123.123.123.123';`

Rechte neu laden:

`FLUSH PRIVILEGES;`

Für öffentliche Zugriffe mit `%` solltest du sehr vorsichtig sein.

Beispiel:

`'remoteuser'@'%'`

Das bedeutet, dass sich der Benutzer grundsätzlich von überall verbinden darf, sofern Firewall und MariaDB-Konfiguration es erlauben.

### MariaDB neu starten

Nach Konfigurationsänderungen musst du MariaDB neu starten.

Befehl:

`systemctl restart mariadb`

Status prüfen:

`systemctl status mariadb`

### MariaDB-Logs prüfen

Wenn MariaDB nicht startet oder eine Verbindung fehlschlägt, helfen die Logs.

Befehl:

`journalctl -u mariadb`

Für aktuelle Meldungen:

`journalctl -u mariadb -f`

Je nach System können zusätzliche Logs in folgenden Verzeichnissen liegen:

* `/var/log/mysql/`
* `/var/log/mariadb/`

### Datenbank sichern

Erstelle regelmäßig Backups deiner Datenbanken.

Eine einzelne Datenbank sicherst du mit:

`mysqldump -u root -p webseite > webseite.sql`

Alle Datenbanken sicherst du mit:

`mysqldump -u root -p --all-databases > alle-datenbanken.sql`

Die erzeugte `.sql`-Datei solltest du sicher speichern und nicht öffentlich erreichbar ablegen.

### Datenbank wiederherstellen

Eine Datenbank kannst du aus einer SQL-Datei wiederherstellen.

Beispiel:

`mariadb -u root -p webseite < webseite.sql`

Achte darauf, dass die Datenbank vorher existiert.

Falls nicht, erstelle sie vorher:

`CREATE DATABASE webseite;`

### MariaDB deinstallieren

Wenn du MariaDB nicht mehr benötigst, kannst du es entfernen.

Befehl:

`apt remove mariadb-server mariadb-client`

Konfigurationsdateien und Datenbanken können dabei weiterhin vorhanden bleiben.

Wenn du MariaDB vollständig entfernen möchtest, nutze:

`apt purge mariadb-server mariadb-client`

**Wichtig:** Dabei können Konfigurationen entfernt werden. Sichere vorher wichtige Datenbanken.

### Häufige Probleme

#### Anmeldung als root funktioniert nicht

Auf vielen Debian- und Ubuntu-Systemen nutzt MariaDB für den lokalen Root-Zugriff ein Socket-Login.

Versuche:

`sudo mariadb`

oder melde dich direkt als Root-Benutzer am Server an und starte:

`mariadb`

Wenn du ein Passwort setzen möchtest, kannst du einen eigenen Datenbankbenutzer mit Administratorrechten erstellen.

#### Access denied for user

Diese Meldung bedeutet, dass Benutzername, Passwort, Host oder Rechte nicht passen.

Prüfe:

* richtiger Benutzername
* richtiges Passwort
* richtiger Host, zum Beispiel `localhost`
* Benutzer wurde für den richtigen Host erstellt
* Rechte wurden vergeben
* `FLUSH PRIVILEGES` wurde ausgeführt

#### Unknown database

Die angegebene Datenbank existiert nicht oder der Name wurde falsch geschrieben.

Prüfe vorhandene Datenbanken mit:

`SHOW DATABASES;`

#### Can't connect to local server

MariaDB läuft möglicherweise nicht.

Prüfe den Dienst:

`systemctl status mariadb`

Starte MariaDB bei Bedarf:

`systemctl start mariadb`

#### Verbindung von außen funktioniert nicht

Prüfe:

* lauscht MariaDB auf der richtigen Adresse?
* ist `bind-address` korrekt gesetzt?
* ist Port `3306` in der Firewall erlaubt?
* wurde der Benutzer für die richtige Quell-IP erstellt?
* blockiert eine externe Firewall die Verbindung?
* läuft MariaDB überhaupt?

#### Port 3306 ist öffentlich offen

Wenn MariaDB nicht öffentlich erreichbar sein muss, schließe den Port.

Bei UFW:

`ufw deny 3306/tcp`

Prüfe danach:

`ufw status`

### Sicherheitshinweise

MariaDB sollte nur so offen erreichbar sein wie nötig.

Empfehlungen:

* keine schwachen Datenbankpasswörter verwenden
* keine öffentlichen Root-Zugänge erlauben
* Datenbankport nicht unnötig öffnen
* eigene Benutzer pro Anwendung erstellen
* Rechte nur für benötigte Datenbanken vergeben
* regelmäßige Backups erstellen
* MariaDB und das Betriebssystem aktuell halten
* Backups nicht im öffentlichen Webverzeichnis speichern

### Support kontaktieren

Wenn MariaDB nicht funktioniert und du Hilfe benötigst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Betriebssystem
* MariaDB-Version, falls bekannt
* genaue Fehlermeldung
* betroffener Benutzer
* ob der Zugriff lokal oder extern erfolgen soll
* ob MariaDB gestartet ist
* was du bereits versucht hast

Sende keine Datenbankpasswörter oder private Zugangsdaten an den Support.


# Certbot und Let’s Encrypt installieren

Let’s Encrypt stellt kostenlose SSL-Zertifikate bereit. Mit Certbot kannst du diese Zertifikate auf deinem KVM-Server automatisch anfordern, einrichten und verlängern.

Ein SSL-Zertifikat wird benötigt, damit deine Webseite über HTTPS erreichbar ist. HTTPS verschlüsselt die Verbindung zwischen dem Besucher und deiner Webseite.

### Voraussetzungen

Bevor du Certbot installierst, sollten folgende Punkte erledigt sein:

* dein KVM-Server ist erreichbar
* du hast Root- oder sudo-Zugriff
* eine Domain zeigt auf die IP-Adresse deines Servers
* ein Webserver wie Nginx oder Apache ist installiert
* Port `80` und Port `443` sind in der Firewall geöffnet

Beispiel:

| Port  | Zweck                                                   |
| ----- | ------------------------------------------------------- |
| `80`  | HTTP, wird für die Prüfung durch Let’s Encrypt benötigt |
| `443` | HTTPS, wird für die verschlüsselte Webseite benötigt    |

**Wichtig:** Let’s Encrypt kann ein Zertifikat nur ausstellen, wenn die Domain korrekt auf deinen Server zeigt und von außen erreichbar ist.

### Domain prüfen

Bevor du ein Zertifikat anforderst, prüfe, ob deine Domain auf deinen Server zeigt.

Wenn deine Server-IP zum Beispiel `123.123.123.123` ist, sollte deine Domain per A-Record auf diese IP-Adresse zeigen.

Beispiel:

| Typ | Name  | Ziel              |
| --- | ----- | ----------------- |
| A   | `@`   | `123.123.123.123` |
| A   | `www` | `123.123.123.123` |

Wenn du IPv6 verwendest, kann zusätzlich ein AAAA-Record gesetzt werden.

DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis die Änderung überall übernommen wurde.

### Webserver prüfen

Certbot arbeitet meistens mit einem vorhandenen Webserver zusammen.

Häufig verwendet werden:

* Nginx
* Apache

Prüfe zuerst, welchen Webserver du verwendest.

Nginx prüfen:

`systemctl status nginx`

Apache prüfen:

`systemctl status apache2`

Wenn der Dienst läuft, sollte der Status als aktiv angezeigt werden.

### Firewall prüfen

Damit Let’s Encrypt deine Domain prüfen kann, muss Port `80` erreichbar sein.

Für die spätere HTTPS-Verbindung muss Port `443` erreichbar sein.

Wenn du UFW nutzt, kannst du die Ports so freigeben:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

Status prüfen:

`ufw status`

### Certbot unter Debian oder Ubuntu installieren

Aktualisiere zuerst die Paketlisten:

`apt update`

Installiere danach Certbot.

Grundpaket:

`apt install certbot`

Je nach Webserver installierst du zusätzlich das passende Plugin.

Für Nginx:

`apt install python3-certbot-nginx`

Für Apache:

`apt install python3-certbot-apache`

### Zertifikat für Nginx erstellen

Wenn du Nginx verwendest, kannst du Certbot direkt mit dem Nginx-Plugin ausführen.

Befehl:

`certbot --nginx`

Certbot sucht vorhandene Nginx-Konfigurationen und fragt dich, für welche Domain ein Zertifikat erstellt werden soll.

Wenn du eine bestimmte Domain angeben möchtest:

`certbot --nginx -d deinedomain.de -d www.deinedomain.de`

Danach fragt Certbot normalerweise nach:

* E-Mail-Adresse
* Zustimmung zu den Nutzungsbedingungen
* optionaler Weiterleitung von HTTP auf HTTPS

Wähle die HTTPS-Weiterleitung, wenn deine Webseite dauerhaft verschlüsselt erreichbar sein soll.

### Zertifikat für Apache erstellen

Wenn du Apache verwendest, nutzt du das Apache-Plugin.

Befehl:

`certbot --apache`

Für eine bestimmte Domain:

`certbot --apache -d deinedomain.de -d www.deinedomain.de`

Certbot passt die Apache-Konfiguration automatisch an, wenn eine passende VirtualHost-Konfiguration gefunden wird.

### Nur Zertifikat erstellen ohne automatische Webserver-Anpassung

Wenn Certbot deinen Webserver nicht automatisch ändern soll, kannst du nur ein Zertifikat erstellen.

Dafür wird häufig der Webroot-Modus verwendet.

Beispiel:

`certbot certonly --webroot -w /var/www/html -d deinedomain.de -d www.deinedomain.de`

Dabei ist `/var/www/html` das Webverzeichnis deiner Webseite.

Diese Variante ist sinnvoll, wenn du deine Webserver-Konfiguration selbst verwalten möchtest.

### Zertifikat testen

Nach erfolgreicher Einrichtung sollte deine Webseite über HTTPS erreichbar sein.

Öffne im Browser:

`https://deinedomain.de`

Prüfe außerdem:

* wird ein Schloss-Symbol angezeigt?
* wird die richtige Domain angezeigt?
* wird keine Zertifikatswarnung angezeigt?
* funktioniert auch `https://www.deinedomain.de`, falls eingerichtet?

### Automatische Verlängerung

Let’s Encrypt Zertifikate sind zeitlich begrenzt und müssen regelmäßig verlängert werden.

Certbot richtet auf modernen Systemen meistens automatisch eine Verlängerung per Timer oder Cronjob ein.

Du kannst die automatische Verlängerung testen:

`certbot renew --dry-run`

Wenn dieser Test erfolgreich ist, sollte die automatische Verlängerung funktionieren.

### Zertifikate anzeigen

Alle von Certbot verwalteten Zertifikate kannst du so anzeigen:

`certbot certificates`

Dort siehst du unter anderem:

* Domainnamen
* Ablaufdatum
* Speicherort des Zertifikats
* verwendete Zertifikatsdateien

### Zertifikat manuell verlängern

Normalerweise ist keine manuelle Verlängerung nötig.

Falls du sie trotzdem ausführen möchtest:

`certbot renew`

Wenn ein Zertifikat noch nicht erneuert werden muss, überspringt Certbot es automatisch.

### HTTPS erzwingen

Wenn deine Webseite immer über HTTPS erreichbar sein soll, solltest du HTTP auf HTTPS weiterleiten.

Bei Certbot mit Nginx oder Apache kannst du diese Weiterleitung oft direkt während der Einrichtung auswählen.

Wenn du sie manuell einrichtest, achte darauf, dass:

* Port `80` weiterhin erreichbar bleibt
* HTTP-Anfragen korrekt auf HTTPS weiterleiten
* keine Weiterleitungsschleife entsteht
* alle Domains im Zertifikat enthalten sind

### Häufige Probleme

#### Domain zeigt nicht auf den Server

Wenn die Domain nicht auf die richtige IP-Adresse zeigt, kann Let’s Encrypt kein Zertifikat ausstellen.

Prüfe:

* A-Record für IPv4
* AAAA-Record für IPv6, falls genutzt
* richtige IP-Adresse
* DNS-Änderung bereits aktiv
* Domain ohne Tippfehler

#### Port 80 ist blockiert

Let’s Encrypt muss deine Domain über HTTP prüfen können.

Wenn Port `80` blockiert ist, schlägt die Prüfung fehl.

Prüfe:

* Firewall auf dem Server
* Firewall-Regeln im Betriebssystem
* Webserver läuft
* Port `80` ist geöffnet
* Domain zeigt auf den richtigen Server

#### Webserver läuft nicht

Wenn Nginx oder Apache nicht gestartet ist, kann Certbot die Prüfung nicht abschließen.

Nginx starten:

`systemctl start nginx`

Apache starten:

`systemctl start apache2`

Status prüfen:

`systemctl status nginx`

oder:

`systemctl status apache2`

#### Falsche Webserver-Konfiguration

Wenn Certbot keine passende Domain in deiner Webserver-Konfiguration findet, kann die automatische Einrichtung fehlschlagen.

Prüfe bei Nginx:

* existiert ein Serverblock für die Domain?
* steht die Domain bei `server_name`?
* zeigt der Serverblock auf das richtige Webverzeichnis?

Prüfe bei Apache:

* existiert ein VirtualHost für die Domain?
* ist `ServerName` korrekt gesetzt?
* ist `ServerAlias` für `www` gesetzt, falls benötigt?
* zeigt `DocumentRoot` auf das richtige Verzeichnis?

#### Too many certificates

Let’s Encrypt hat Limits für Zertifikatsausstellungen.

Wenn du sehr oft Zertifikate für dieselbe Domain anforderst, kann ein Rate Limit erreicht werden.

Vermeide deshalb unnötige Wiederholungen.

Teste Änderungen zuerst mit:

`certbot renew --dry-run`

#### Zertifikat ist abgelaufen

Wenn ein Zertifikat abgelaufen ist, hat die automatische Verlängerung möglicherweise nicht funktioniert.

Prüfe:

`certbot certificates`

Teste die Verlängerung:

`certbot renew --dry-run`

Prüfe außerdem:

* läuft der Webserver?
* ist Port `80` erreichbar?
* wurde die Domain geändert?
* wurde die Webserver-Konfiguration verändert?
* blockiert eine Firewall die Prüfung?

#### HTTPS funktioniert, aber Webseite lädt falsch

Wenn deine Webseite über HTTPS erreichbar ist, aber Inhalte fehlen oder Warnungen erscheinen, kann Mixed Content die Ursache sein.

Mixed Content bedeutet, dass deine HTTPS-Webseite noch Inhalte über HTTP lädt.

Beispiele:

* Bilder über `http://`
* CSS-Dateien über `http://`
* JavaScript-Dateien über `http://`

Passe diese URLs in deiner Anwendung oder deinem CMS auf HTTPS an.

### Speicherorte der Zertifikate

Certbot speichert Zertifikate normalerweise unter:

`/etc/letsencrypt/live/deinedomain.de/`

Dort findest du unter anderem:

| Datei           | Bedeutung                  |
| --------------- | -------------------------- |
| `cert.pem`      | Zertifikat                 |
| `chain.pem`     | Zertifikatskette           |
| `fullchain.pem` | Zertifikat inklusive Kette |
| `privkey.pem`   | privater Schlüssel         |

**Wichtig:** Gib `privkey.pem` niemals weiter. Diese Datei ist der private Schlüssel deines Zertifikats.

### Zertifikat löschen

Wenn du ein Zertifikat nicht mehr benötigst, kannst du es löschen.

Zuerst Zertifikate anzeigen:

`certbot certificates`

Dann Zertifikat löschen:

`certbot delete --cert-name deinedomain.de`

Lösche ein Zertifikat nur, wenn du sicher bist, dass es nicht mehr verwendet wird.

### Support kontaktieren

Wenn die Einrichtung nicht funktioniert, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Domain
* Server-IP
* Betriebssystem
* verwendeter Webserver: Nginx oder Apache
* verwendeter Certbot-Befehl
* genaue Fehlermeldung
* ob Port `80` und `443` geöffnet sind
* ob die Domain bereits auf den Server zeigt

**Sicherheit:** Sende niemals private Schlüssel, Passwörter oder vollständige Zugangsdaten an den Support.


# SSL-Zertifikat einrichten

Ein SSL-Zertifikat sorgt dafür, dass eine Webseite verschlüsselt über HTTPS erreichbar ist.

Ohne SSL-Zertifikat wird eine Webseite nur über HTTP ausgeliefert. Moderne Browser markieren solche Webseiten häufig als „Nicht sicher“. Mit HTTPS werden Daten zwischen Besucher und Server verschlüsselt übertragen.

In diesem Artikel erklären wir dir, wie du ein SSL-Zertifikat auf einem KVM-Server einrichtest.

### Voraussetzungen

Du benötigst:

* einen KVM-Server mit Linux
* eine Domain oder Subdomain
* Zugriff per SSH
* einen installierten Webserver, zum Beispiel Apache oder Nginx
* korrekt gesetzte DNS-Einträge
* geöffnete Ports `80` und `443`

Beispiele für Domains:

* `deinedomain.de`
* `www.deinedomain.de`
* `panel.deinedomain.de`
* `api.deinedomain.de`

### Was ist SSL?

SSL wird häufig als allgemeiner Begriff für verschlüsselte Webseiten verwendet.

Technisch wird heute meist TLS verwendet. Im Alltag spricht man aber weiterhin oft von SSL-Zertifikaten.

Ein SSL-Zertifikat bestätigt, dass eine Domain zu einem bestimmten Server gehört und ermöglicht eine verschlüsselte Verbindung.

### Was ist HTTPS?

HTTPS ist die verschlüsselte Variante von HTTP.

| Protokoll | Bedeutung                 |
| --------- | ------------------------- |
| HTTP      | unverschlüsselte Webseite |
| HTTPS     | verschlüsselte Webseite   |

Beispiel ohne SSL:

`http://deinedomain.de`

Beispiel mit SSL:

`https://deinedomain.de`

### DNS prüfen

Bevor du ein SSL-Zertifikat einrichtest, muss deine Domain auf deinen KVM-Server zeigen.

Dafür wird meistens ein A-Record verwendet.

Beispiel:

| Typ | Name  | Ziel                        |
| --- | ----- | --------------------------- |
| A   | `@`   | IPv4-Adresse deines Servers |
| A   | `www` | IPv4-Adresse deines Servers |

Wenn du IPv6 verwendest, kann zusätzlich ein AAAA-Record gesetzt werden.

| Typ  | Name  | Ziel                        |
| ---- | ----- | --------------------------- |
| AAAA | `@`   | IPv6-Adresse deines Servers |
| AAAA | `www` | IPv6-Adresse deines Servers |

DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis eine Änderung überall übernommen wurde.

### Ports prüfen

Für die Einrichtung und Nutzung von HTTPS müssen die richtigen Ports erreichbar sein.

| Port  | Zweck |
| ----- | ----- |
| `80`  | HTTP  |
| `443` | HTTPS |

Port `80` wird häufig für die Zertifikatsprüfung benötigt. Port `443` wird für die verschlüsselte Webseite verwendet.

Wenn du eine Firewall nutzt, müssen beide Ports erlaubt sein.

Bei UFW unter Linux:

`ufw allow 80/tcp`

`ufw allow 443/tcp`

Status prüfen:

`ufw status`

### Webserver installieren

Für eine Webseite brauchst du einen Webserver.

Häufig verwendet werden:

* Apache
* Nginx

Du solltest nur einen Webserver für dieselbe Webseite verwenden. Wenn Apache und Nginx gleichzeitig denselben Port nutzen möchten, kann es zu Konflikten kommen.

### Apache installieren

Auf Debian oder Ubuntu kannst du Apache so installieren:

`apt update`

`apt install apache2`

Status prüfen:

`systemctl status apache2`

Apache starten:

`systemctl start apache2`

Apache beim Systemstart aktivieren:

`systemctl enable apache2`

### Nginx installieren

Auf Debian oder Ubuntu kannst du Nginx so installieren:

`apt update`

`apt install nginx`

Status prüfen:

`systemctl status nginx`

Nginx starten:

`systemctl start nginx`

Nginx beim Systemstart aktivieren:

`systemctl enable nginx`

### Certbot installieren

Für kostenlose SSL-Zertifikate wird häufig Let's Encrypt verwendet.

Certbot ist ein Tool, mit dem du Let's-Encrypt-Zertifikate automatisch erstellen und verlängern kannst.

Certbot installieren:

`apt update`

`apt install certbot`

Für Apache zusätzlich:

`apt install python3-certbot-apache`

Für Nginx zusätzlich:

`apt install python3-certbot-nginx`

### SSL-Zertifikat für Apache einrichten

Wenn du Apache verwendest, kannst du Certbot direkt mit dem Apache-Plugin ausführen.

Beispiel für eine Domain:

`certbot --apache -d deinedomain.de`

Beispiel für Domain und www-Subdomain:

`certbot --apache -d deinedomain.de -d www.deinedomain.de`

Während der Einrichtung fragt Certbot einige Angaben ab. Dazu gehören meistens:

* E-Mail-Adresse
* Zustimmung zu den Nutzungsbedingungen
* Auswahl der Weiterleitung von HTTP auf HTTPS

Wenn du gefragt wirst, ob HTTP automatisch auf HTTPS weitergeleitet werden soll, ist die Weiterleitung in den meisten Fällen sinnvoll.

### SSL-Zertifikat für Nginx einrichten

Wenn du Nginx verwendest, kannst du Certbot direkt mit dem Nginx-Plugin ausführen.

Beispiel für eine Domain:

`certbot --nginx -d deinedomain.de`

Beispiel für Domain und www-Subdomain:

`certbot --nginx -d deinedomain.de -d www.deinedomain.de`

Auch hier fragt Certbot nach einigen Angaben und kann die Nginx-Konfiguration automatisch anpassen.

### Zertifikat ohne Webserver-Plugin erstellen

Wenn du kein Apache- oder Nginx-Plugin nutzen möchtest, kannst du ein Zertifikat auch über den Webroot-Modus erstellen.

Beispiel:

`certbot certonly --webroot -w /var/www/html -d deinedomain.de`

Dabei muss der angegebene Webroot zur Domain passen.

Der Webroot ist das Verzeichnis, aus dem dein Webserver die Webseite ausliefert.

Typische Webroots sind:

| Webserver            | Häufiger Webroot                        |
| -------------------- | --------------------------------------- |
| Apache               | `/var/www/html`                         |
| Nginx                | `/var/www/html`                         |
| eigene Konfiguration | abhängig von deiner Serverkonfiguration |

### HTTPS testen

Nach der Einrichtung solltest du deine Webseite im Browser öffnen.

Beispiel:

`https://deinedomain.de`

Prüfe:

* wird die Webseite über HTTPS geladen?
* zeigt der Browser ein Schloss-Symbol?
* gibt es eine Sicherheitswarnung?
* funktioniert auch `https://www.deinedomain.de`, falls eingerichtet?
* leitet HTTP korrekt auf HTTPS weiter?

### HTTP auf HTTPS weiterleiten

Eine Weiterleitung sorgt dafür, dass Besucher automatisch die verschlüsselte Version deiner Webseite verwenden.

Beispiel:

Ein Besucher öffnet:

`http://deinedomain.de`

Der Server leitet weiter auf:

`https://deinedomain.de`

Wenn du Certbot mit Apache oder Nginx verwendest, kann Certbot diese Weiterleitung häufig automatisch einrichten.

### Zertifikat automatisch verlängern

Let's-Encrypt-Zertifikate sind nur für eine begrenzte Zeit gültig.

Certbot richtet normalerweise automatisch eine Verlängerung ein.

Du kannst die automatische Verlängerung testen:

`certbot renew --dry-run`

Wenn dieser Test erfolgreich ist, sollte die automatische Verlängerung funktionieren.

Status der Timer prüfen:

`systemctl list-timers | grep certbot`

Je nach System kann die Verlängerung über systemd oder cron ausgeführt werden.

### Zertifikate anzeigen

Vorhandene Zertifikate kannst du so anzeigen:

`certbot certificates`

Dort siehst du unter anderem:

* Domainnamen
* Ablaufdatum
* Speicherort des Zertifikats
* Speicherort des privaten Schlüssels

### Zertifikat erweitern

Wenn du später eine weitere Domain oder Subdomain hinzufügen möchtest, kannst du das Zertifikat erweitern.

Beispiel:

`certbot --nginx -d deinedomain.de -d www.deinedomain.de -d panel.deinedomain.de`

Bei Apache entsprechend:

`certbot --apache -d deinedomain.de -d www.deinedomain.de -d panel.deinedomain.de`

Achte darauf, dass alle Domains vorher per DNS auf deinen Server zeigen.

### Zertifikat löschen

Wenn ein Zertifikat nicht mehr benötigt wird, kannst du es entfernen.

Zertifikate anzeigen:

`certbot certificates`

Zertifikat löschen:

`certbot delete`

Certbot fragt danach, welches Zertifikat gelöscht werden soll.

Lösche Zertifikate nur, wenn du sicher bist, dass sie nicht mehr verwendet werden.

### Häufige Probleme

#### Domain zeigt nicht auf den Server

Wenn die Domain nicht auf deinen KVM-Server zeigt, kann Let's Encrypt die Domain nicht prüfen.

Prüfe:

* A-Record korrekt gesetzt?
* AAAA-Record korrekt gesetzt, falls IPv6 verwendet wird?
* richtige IP-Adresse eingetragen?
* DNS-Änderung bereits aktiv?
* Domain richtig geschrieben?

#### Port 80 ist nicht erreichbar

Let's Encrypt muss deine Domain häufig über Port `80` prüfen.

Prüfe:

* läuft der Webserver?
* ist Port `80` in der Firewall geöffnet?
* blockiert eine externe Firewall den Zugriff?
* nutzt ein anderer Dienst Port `80`?
* ist die Domain von außen erreichbar?

#### Port 443 ist nicht erreichbar

Wenn Port `443` blockiert ist, funktioniert HTTPS nicht.

Prüfe:

* ist Port `443` in der Firewall geöffnet?
* wurde die Webserver-Konfiguration für HTTPS erstellt?
* läuft Apache oder Nginx?
* wurde der Webserver nach Änderungen neu geladen?

Apache neu laden:

`systemctl reload apache2`

Nginx neu laden:

`systemctl reload nginx`

#### Certbot meldet „unauthorized“

Diese Meldung bedeutet meistens, dass Let's Encrypt deine Domain nicht prüfen konnte.

Mögliche Ursachen:

* Domain zeigt auf falsche IP-Adresse
* Webserver liefert die Prüfdatei nicht aus
* falscher Webroot angegeben
* Port `80` blockiert
* Weiterleitung falsch konfiguriert

#### Certbot meldet „connection refused“

Diese Meldung bedeutet meistens, dass der Server auf Port `80` oder `443` nicht erreichbar ist.

Prüfe Webserver, Firewall und DNS.

#### Certbot meldet „too many certificates“

Let's Encrypt hat Limits für die Ausstellung von Zertifikaten.

Diese Meldung kann auftreten, wenn zu oft Zertifikate für dieselbe Domain beantragt wurden.

Warte in diesem Fall ab und vermeide wiederholte Testversuche mit echten Zertifikaten.

Nutze für Tests nach Möglichkeit:

`certbot renew --dry-run`

#### Browser zeigt „Nicht sicher“

Wenn der Browser weiterhin „Nicht sicher“ anzeigt, kann das mehrere Gründe haben.

Prüfe:

* wird wirklich `https://` verwendet?
* ist das Zertifikat gültig?
* passt das Zertifikat zur Domain?
* ist das Zertifikat abgelaufen?
* werden unsichere Inhalte über HTTP geladen?
* wurde der Webserver neu geladen?

#### Mixed Content

Mixed Content bedeutet, dass eine HTTPS-Seite noch Inhalte über HTTP lädt.

Beispiele:

* Bilder über `http://`
* Skripte über `http://`
* CSS-Dateien über `http://`

Dadurch kann der Browser weiterhin eine Warnung anzeigen.

Lösung:

* interne Links auf `https://` ändern
* CMS-Einstellungen prüfen
* Webseiten-URL auf HTTPS umstellen
* Cache leeren
* externe Ressourcen prüfen

### Unterschied zwischen Domain-Zertifikat und Wildcard-Zertifikat

Ein normales Zertifikat gilt für bestimmte Domains.

Beispiel:

`deinedomain.de`

oder:

`www.deinedomain.de`

Ein Wildcard-Zertifikat gilt für beliebige Subdomains einer Domain.

Beispiel:

`*.deinedomain.de`

Damit wären zum Beispiel abgedeckt:

* `panel.deinedomain.de`
* `api.deinedomain.de`
* `cloud.deinedomain.de`

Wildcard-Zertifikate benötigen meistens eine DNS-Prüfung. Diese ist etwas aufwendiger als die normale HTTP-Prüfung.

### Sicherheit des privaten Schlüssels

Zu jedem Zertifikat gehört ein privater Schlüssel.

Dieser private Schlüssel muss geheim bleiben.

Wenn jemand Zugriff auf den privaten Schlüssel hat, kann die Sicherheit deiner HTTPS-Verbindung gefährdet sein.

Achte deshalb darauf:

* private Schlüssel nicht weitergeben
* keine Zertifikatsdateien öffentlich speichern
* keine Backups im Webverzeichnis ablegen
* Dateirechte prüfen
* Serverzugänge absichern

### Support kontaktieren

Wenn die Einrichtung nicht funktioniert, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* betroffene Domain
* verwendeter Webserver: Apache oder Nginx
* Betriebssystem
* genaue Fehlermeldung von Certbot
* ob Port `80` und `443` geöffnet sind
* ob die Domain bereits auf den Server zeigt
* welche Befehle du bereits ausgeführt hast

Sende niemals private Schlüssel, Passwörter oder Zugangsdaten an den Support.


# TeamSpeak Server installieren

In diesem Artikel erklären wir dir, wie du einen TeamSpeak Server auf deinem KVM-Server installierst und grundlegend einrichtest.

TeamSpeak ist ein Voice-Server, über den sich Nutzer in Sprachkanälen verbinden können. Die Installation erfolgt direkt auf deinem Server. Du benötigst dafür Zugriff per SSH und ein Linux-Betriebssystem.

### Voraussetzungen

Für diese Anleitung benötigst du:

* einen KVM-Server mit Linux
* SSH-Zugriff auf den Server
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine öffentliche IPv4-Adresse
* grundlegende Kenntnisse im Umgang mit der Linux-Konsole

Diese Anleitung verwendet Debian oder Ubuntu als Beispiel.

### Verbindung per SSH herstellen

Verbinde dich zuerst per SSH mit deinem Server.

Beispiel:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines KVM-Servers.

Wenn du einen anderen SSH-Port verwendest, gib den Port zusätzlich an.

Beispiel:

`ssh root@SERVER-IP -p 2222`

### System aktualisieren

Bevor du TeamSpeak installierst, solltest du dein System aktualisieren.

Führe dazu aus:

`apt update`

Danach installierst du verfügbare Updates:

`apt upgrade`

Falls wichtige Systemupdates installiert wurden, kann ein Neustart sinnvoll sein.

Befehl:

`reboot`

Verbinde dich danach erneut per SSH.

### Benötigte Pakete installieren

Installiere einige grundlegende Pakete, die für Download, Entpacken und Verwaltung benötigt werden.

Befehl:

`apt install wget bzip2 tar`

### Eigenen Benutzer für TeamSpeak erstellen

TeamSpeak sollte nicht dauerhaft als Root-Benutzer laufen.

Erstelle deshalb einen eigenen Benutzer.

Befehl:

`adduser --disabled-login teamspeak`

Der Benutzer `teamspeak` wird ohne normalen Login erstellt. Das ist für einen Serverdienst sinnvoll.

Wechsle danach zu diesem Benutzer:

`su - teamspeak`

### TeamSpeak Server herunterladen

Öffne die offizielle TeamSpeak Downloadseite und kopiere den aktuellen Downloadlink für den Linux Server.

Die Downloadseite findest du unter:

`https://www.teamspeak.com/en/downloads/#server`

Lade anschließend die Serverdateien herunter.

Beispiel:

`wget https://files.teamspeak-services.com/releases/server/VERSION/teamspeak3-server_linux_amd64-VERSION.tar.bz2`

Ersetze `VERSION` durch die aktuelle TeamSpeak-Version.

Da sich die Versionen ändern können, solltest du den Link immer von der offiziellen TeamSpeak-Seite übernehmen.

### TeamSpeak Server entpacken

Entpacke das heruntergeladene Archiv.

Beispiel:

`tar xjf teamspeak3-server_linux_amd64-VERSION.tar.bz2`

Wechsle anschließend in den entpackten Ordner.

Beispiel:

`cd teamspeak3-server_linux_amd64`

### Lizenzbedingungen akzeptieren

TeamSpeak benötigt eine Bestätigung der Lizenzbedingungen.

Erstelle dafür die Datei `.ts3server_license_accepted`.

Befehl:

`touch .ts3server_license_accepted`

Ohne diese Datei startet der Server nicht.

### TeamSpeak Server einmal starten

Starte den TeamSpeak Server testweise.

Befehl:

`./ts3server_startscript.sh start`

Beim ersten Start werden wichtige Zugangsdaten ausgegeben.

Dazu gehören:

* Server Admin Token
* ServerQuery Admin Benutzername
* ServerQuery Admin Passwort

Diese Daten werden nur beim ersten Start angezeigt.

Notiere sie sofort und speichere sie sicher.

**Wichtig:** Ohne den Server Admin Token kannst du dich später nicht als Serveradministrator im TeamSpeak Client berechtigen.

### TeamSpeak Server stoppen

Stoppe den Server nach dem ersten Start wieder.

Befehl:

`./ts3server_startscript.sh stop`

Danach richtest du den Server als Systemdienst ein.

### Zurück zum Root-Benutzer wechseln

Verlasse den TeamSpeak-Benutzer.

Befehl:

`exit`

Du solltest nun wieder als Root oder als sudo-Benutzer angemeldet sein.

### TeamSpeak als systemd-Dienst einrichten

Damit TeamSpeak automatisch gestartet und sauber verwaltet werden kann, richtest du einen systemd-Dienst ein.

Erstelle eine neue Service-Datei:

`nano /etc/systemd/system/teamspeak.service`

Füge folgenden Inhalt ein:

`[Unit]` `Description=TeamSpeak 3 Server` `After=network.target`

`[Service]` `WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64` `User=teamspeak` `Group=teamspeak` `Type=forking` `ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start` `ExecStop=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop` `PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid` `Restart=always` `RestartSec=15`

`[Install]` `WantedBy=multi-user.target`

Speichere die Datei.

Bei `nano` geht das mit `STRG + O`, danach `Enter` und anschließend `STRG + X`.

### systemd neu laden

Lade systemd neu, damit der neue Dienst erkannt wird.

Befehl:

`systemctl daemon-reload`

Aktiviere TeamSpeak für den automatischen Start beim Booten.

Befehl:

`systemctl enable teamspeak`

Starte den Dienst.

Befehl:

`systemctl start teamspeak`

Prüfe den Status.

Befehl:

`systemctl status teamspeak`

Wenn dort `active (running)` angezeigt wird, läuft der TeamSpeak Server.

### Benötigte Ports öffnen

Damit sich Nutzer mit deinem TeamSpeak Server verbinden können, müssen die benötigten Ports erreichbar sein.

Standardports von TeamSpeak:

| Port    | Protokoll | Zweck            |
| ------- | --------- | ---------------- |
| `9987`  | UDP       | Sprachverbindung |
| `10011` | TCP       | ServerQuery      |
| `30033` | TCP       | Dateiübertragung |

Der wichtigste Port für normale Nutzer ist `9987/udp`.

### Ports mit UFW öffnen

Wenn du UFW nutzt, öffne die benötigten Ports.

Befehle:

`ufw allow 9987/udp`

`ufw allow 10011/tcp`

`ufw allow 30033/tcp`

Prüfe danach den Status:

`ufw status`

**Wichtig:** Öffne nur Ports, die du wirklich benötigst. Wenn du ServerQuery oder Dateiübertragung nicht verwendest, solltest du prüfen, ob diese Ports öffentlich erreichbar sein müssen.

### Mit TeamSpeak verbinden

Installiere den TeamSpeak Client auf deinem Computer.

Öffne den Client und verbinde dich mit der IP-Adresse deines Servers.

Beispiel:

`123.123.123.123`

Wenn dein TeamSpeak Server den Standardport `9987` nutzt, musst du den Port meistens nicht zusätzlich angeben.

Falls du einen anderen Port verwendest, gib ihn mit an.

Beispiel:

`123.123.123.123:9987`

### Server Admin Token verwenden

Beim ersten Start hat TeamSpeak einen Server Admin Token ausgegeben.

Diesen Token benötigst du, um dich im TeamSpeak Client als Administrator zu berechtigen.

Nach dem Verbinden erscheint häufig automatisch ein Fenster zur Eingabe des Tokens.

Falls nicht:

1. Öffne im TeamSpeak Client den Bereich **Rechte**.
2. Wähle **Berechtigungsschlüssel verwenden**.
3. Füge den Server Admin Token ein.
4. Bestätige die Eingabe.

Danach solltest du Serveradministrator-Rechte besitzen.

### TeamSpeak Dienst verwalten

Wenn TeamSpeak als systemd-Dienst eingerichtet wurde, kannst du ihn mit folgenden Befehlen verwalten.

Server starten:

`systemctl start teamspeak`

Server stoppen:

`systemctl stop teamspeak`

Server neustarten:

`systemctl restart teamspeak`

Status prüfen:

`systemctl status teamspeak`

Automatischen Start aktivieren:

`systemctl enable teamspeak`

Automatischen Start deaktivieren:

`systemctl disable teamspeak`

### Logs prüfen

Wenn der TeamSpeak Server nicht startet oder Verbindungsprobleme auftreten, solltest du die Logs prüfen.

systemd-Logs anzeigen:

`journalctl -u teamspeak`

Live-Logs anzeigen:

`journalctl -u teamspeak -f`

Zusätzlich legt TeamSpeak eigene Logdateien im Serververzeichnis ab.

Beispiel:

`/home/teamspeak/teamspeak3-server_linux_amd64/logs`

### TeamSpeak aktualisieren

TeamSpeak sollte regelmäßig aktualisiert werden.

Vor einem Update solltest du ein Backup erstellen.

Stoppe zuerst den Dienst:

`systemctl stop teamspeak`

Sichere anschließend das TeamSpeak-Verzeichnis.

Beispiel:

`cp -a /home/teamspeak/teamspeak3-server_linux_amd64 /home/teamspeak/teamspeak3-server_backup`

Lade danach die neue Version von der offiziellen TeamSpeak-Webseite herunter, entpacke sie und ersetze die Serverdateien vorsichtig.

Achte darauf, wichtige Dateien nicht zu löschen.

Besonders wichtig sind:

* Datenbankdateien
* Konfigurationsdateien
* Lizenzdateien
* Logdateien, falls benötigt

Starte den Dienst danach wieder:

`systemctl start teamspeak`

Prüfe anschließend den Status:

`systemctl status teamspeak`

### Backup erstellen

Ein Backup ist wichtig, bevor du Änderungen am TeamSpeak Server vornimmst.

Sichere mindestens:

* das TeamSpeak Serververzeichnis
* die Datenbankdatei
* Konfigurationsdateien
* Lizenzdateien

Ein einfaches Backup kannst du so erstellen:

`systemctl stop teamspeak`

`cp -a /home/teamspeak/teamspeak3-server_linux_amd64 /home/teamspeak/teamspeak3-server_backup`

`systemctl start teamspeak`

Für regelmäßige Backups solltest du die Sicherung auf einem externen Speicher ablegen. Ein Backup auf demselben Server schützt nicht vor Datenverlust, wenn der Server beschädigt oder kompromittiert wird.

### Häufige Probleme

#### TeamSpeak Server startet nicht

Prüfe zuerst den Dienststatus:

`systemctl status teamspeak`

Prüfe danach die Logs:

`journalctl -u teamspeak`

Häufige Ursachen:

* Lizenzbedingungen wurden nicht akzeptiert
* falscher Pfad in der systemd-Datei
* Dateien gehören dem falschen Benutzer
* benötigte Dateien fehlen
* Port ist bereits belegt
* Archiv wurde nicht korrekt entpackt

#### Lizenz wurde nicht akzeptiert

Wenn die Lizenz nicht akzeptiert wurde, startet TeamSpeak nicht.

Prüfe, ob im TeamSpeak-Verzeichnis folgende Datei vorhanden ist:

`.ts3server_license_accepted`

Falls nicht, wechsle in das TeamSpeak-Verzeichnis und erstelle sie:

`touch .ts3server_license_accepted`

Starte den Dienst danach neu:

`systemctl restart teamspeak`

#### Verbindung zum Server funktioniert nicht

Prüfe:

* läuft der TeamSpeak Dienst?
* ist Port `9987/udp` geöffnet?
* verwendest du die richtige IP-Adresse?
* blockiert eine Firewall die Verbindung?
* wurde TeamSpeak auf einem anderen Port gestartet?
* ist der Server über das Internet erreichbar?

Status prüfen:

`systemctl status teamspeak`

Firewall prüfen:

`ufw status`

#### Server Admin Token verloren

Der Server Admin Token wird beim ersten Start angezeigt.

Wenn du ihn nicht gespeichert hast, kannst du über ServerQuery oder die Datenbank einen neuen Token erstellen. Das ist technischer und hängt von deiner Installation ab.

Einfacher ist es, den Token direkt beim ersten Start sicher zu speichern.

#### ServerQuery funktioniert nicht

Prüfe:

* ist Port `10011/tcp` geöffnet?
* läuft der TeamSpeak Server?
* nutzt du die richtigen ServerQuery-Zugangsdaten?
* blockiert eine Firewall den Zugriff?
* wurde ServerQuery in der Konfiguration geändert?

#### Dateiübertragung funktioniert nicht

Für Dateiübertragungen wird standardmäßig Port `30033/tcp` verwendet.

Prüfe:

* ist Port `30033/tcp` geöffnet?
* blockiert eine Firewall die Verbindung?
* sind die Rechte im TeamSpeak Server korrekt gesetzt?
* ist genug Speicherplatz vorhanden?

#### Port ist bereits belegt

Wenn TeamSpeak nicht startet, weil ein Port bereits genutzt wird, prüfe offene Ports.

Befehl:

`ss -tulpen`

Beende den anderen Dienst oder ändere den TeamSpeak-Port.

### Sicherheit

Ein TeamSpeak Server sollte nicht ungeschützt betrieben werden.

Empfehlungen:

* starkes ServerQuery-Passwort verwenden
* Server Admin Token sicher speichern
* unnötige Ports nicht öffentlich öffnen
* TeamSpeak regelmäßig aktualisieren
* Backups erstellen
* Rechte im TeamSpeak Client sauber vergeben
* keine unbekannten Personen als Server Admin eintragen
* ServerQuery-Zugang nicht weitergeben

**Sicherheit:** Sende niemals ServerQuery-Passwörter, Admin Tokens oder private Zugangsdaten an andere Personen.

### Support kontaktieren

Wenn du TeamSpeak nicht starten oder erreichen kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Betriebssystem
* IP-Adresse des Servers
* verwendete TeamSpeak-Version
* genaue Fehlermeldung
* Ausgabe von `systemctl status teamspeak`
* ob Port `9987/udp` geöffnet ist
* was du bereits versucht hast

Sende keine Passwörter, Admin Tokens oder privaten Zugangsdaten.


# Minecraft Server installieren

In diesem Artikel erklären wir dir, wie du einen Minecraft Server auf einem KVM-Server installierst.

Diese Anleitung richtet sich an Nutzer, die Minecraft nicht über das INSTANTPANEL betreiben möchten, sondern den Server selbst auf einem eigenen Linux-Server einrichten.

### Voraussetzungen

Für die Installation benötigst du:

* einen KVM-Server mit Linux
* SSH-Zugriff auf den Server
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine Minecraft Java Edition Server-Datei
* installierte Java-Laufzeit
* einen geöffneten Minecraft-Port

In dieser Anleitung verwenden wir als Beispiel Debian oder Ubuntu.

### Wann ist ein eigener Minecraft Server auf KVM sinnvoll?

Ein eigener Minecraft Server auf einem KVM-Server ist sinnvoll, wenn du mehr Kontrolle über das System benötigst.

Das kann zum Beispiel der Fall sein, wenn du:

* mehrere Dienste auf einem Server betreiben möchtest
* eigene Startparameter verwenden willst
* spezielle Java-Versionen brauchst
* eigene Backups und Skripte nutzen möchtest
* mehrere Minecraft-Instanzen selbst verwalten willst
* eigene Firewall- oder Proxy-Regeln brauchst

Wenn du möglichst einfach einen Minecraft Server betreiben möchtest, ist ein fertiger Gameserver im INSTANTPANEL meistens bequemer.

### Unterschied zum INSTANTPANEL Gameserver

Ein Minecraft Server im INSTANTPANEL ist bereits vorbereitet. Du verwaltest ihn über eine grafische Oberfläche.

Ein Minecraft Server auf einem KVM-Server muss selbst installiert, gestartet, aktualisiert und abgesichert werden.

| INSTANTPANEL Gameserver           | Minecraft auf KVM-Server          |
| --------------------------------- | --------------------------------- |
| einfache Verwaltung               | manuelle Einrichtung              |
| Start und Neustart per Oberfläche | Start per Terminal oder systemd   |
| Dateien über Panel erreichbar     | Dateien per SSH/SFTP verwalten    |
| weniger Systemadministration      | mehr Eigenverantwortung           |
| ideal für Einsteiger              | ideal für fortgeschrittene Nutzer |

### Schritt 1: Per SSH verbinden

Verbinde dich zuerst per SSH mit deinem KVM-Server.

Beispiel:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines Servers.

Wenn du einen anderen SSH-Port verwendest, gib ihn mit an.

Beispiel:

`ssh root@SERVER-IP -p 2222`

### Schritt 2: System aktualisieren

Aktualisiere zuerst die Paketquellen und installiere verfügbare Updates.

Befehl:

`apt update && apt upgrade -y`

Ein aktuelles System ist wichtig, damit Sicherheitsupdates und aktuelle Paketversionen installiert sind.

### Schritt 3: Java installieren

Minecraft Java Server benötigen Java.

Welche Java-Version du brauchst, hängt von der Minecraft-Version ab.

| Minecraft-Version | Empfohlene Java-Version |
| ----------------- | ----------------------- |
| 1.20.5 und neuer  | Java 21                 |
| 1.18 bis 1.20.4   | Java 17                 |
| 1.17              | Java 16                 |
| 1.16.5 und älter  | Java 8                  |

Für aktuelle Minecraft-Versionen installierst du Java 21.

Befehl:

`apt install openjdk-21-jre-headless -y`

Wenn du Java 17 benötigst:

`apt install openjdk-17-jre-headless -y`

Prüfe danach die installierte Version.

Befehl:

`java -version`

### Schritt 4: Benutzer für Minecraft erstellen

Es ist empfehlenswert, Minecraft nicht dauerhaft als Root-Benutzer auszuführen.

Erstelle einen eigenen Benutzer.

Befehl:

`adduser minecraft`

Wechsle anschließend zu diesem Benutzer.

Befehl:

`su - minecraft`

### Schritt 5: Serverordner erstellen

Erstelle einen eigenen Ordner für deinen Minecraft Server.

Befehl:

`mkdir server`

Wechsle in den Ordner.

Befehl:

`cd server`

Der Serverordner enthält später alle wichtigen Dateien, zum Beispiel:

* Server-JAR
* Weltordner
* Einstellungen
* Logs
* Plugin- oder Mod-Dateien

### Schritt 6: Minecraft Server-Datei herunterladen

Lade nun die gewünschte Minecraft Server-Datei herunter.

Für Vanilla Minecraft findest du die Server-Datei auf der offiziellen Minecraft-Webseite.

Du kannst die Datei mit `wget` direkt auf den Server herunterladen.

Beispiel:

`wget -O server.jar "DOWNLOAD-LINK"`

Ersetze `DOWNLOAD-LINK` durch den direkten Download-Link der gewünschten Minecraft Server-Version.

Alternativ kannst du die Datei per SFTP in den Serverordner hochladen.

### Vanilla, Paper, Spigot, Forge oder Fabric?

Vor der Installation solltest du entscheiden, welche Server-Software du nutzen möchtest.

| Server-Software | Zweck                                              |
| --------------- | -------------------------------------------------- |
| Vanilla         | Originaler Minecraft Server ohne Plugins oder Mods |
| Paper           | Optimierter Server mit Plugin-Unterstützung        |
| Spigot          | Plugin-Server, häufig für ältere Setups            |
| Bukkit          | Grundlage vieler Plugin-Systeme                    |
| Forge           | Server für Forge-Mods                              |
| Fabric          | Server für Fabric-Mods                             |

Für die meisten Plugin-Server ist Paper empfehlenswert.

Für Mods brauchst du Forge oder Fabric, je nachdem, welche Mods du verwenden möchtest.

### Schritt 7: Server zum ersten Mal starten

Starte den Server einmalig, damit die ersten Dateien erstellt werden.

Befehl:

`java -Xms1G -Xmx2G -jar server.jar nogui`

Die Werte bedeuten:

| Parameter         | Bedeutung                         |
| ----------------- | --------------------------------- |
| `-Xms1G`          | Startet den Server mit 1 GB RAM   |
| `-Xmx2G`          | Erlaubt maximal 2 GB RAM          |
| `-jar server.jar` | Startet die Server-Datei          |
| `nogui`           | Startet ohne grafische Oberfläche |

Passe den RAM an dein gebuchtes Paket und deine Nutzung an.

Beispiel für maximal 4 GB RAM:

`java -Xms1G -Xmx4G -jar server.jar nogui`

### Schritt 8: EULA akzeptieren

Beim ersten Start stoppt der Server normalerweise wieder und erstellt die Datei `eula.txt`.

Öffne die Datei:

`nano eula.txt`

Ändere die Zeile:

`eula=false`

zu:

`eula=true`

Speichere die Datei und schließe den Editor.

Mit dieser Änderung bestätigst du die Minecraft EULA.

### Schritt 9: Server erneut starten

Starte den Server danach erneut.

Befehl:

`java -Xms1G -Xmx2G -jar server.jar nogui`

Wenn alles korrekt ist, startet der Server und erstellt weitere Dateien.

Dazu gehören unter anderem:

* `server.properties`
* `logs`
* `world`
* `banned-players.json`
* `ops.json`
* `whitelist.json`

### Schritt 10: Port in der Firewall öffnen

Der Standardport für Minecraft Java ist `25565`.

Wenn du UFW verwendest, öffnest du den Port so:

`ufw allow 25565/tcp`

Prüfe danach den Firewall-Status:

`ufw status`

Wenn du einen anderen Port in `server.properties` verwendest, musst du diesen Port öffnen.

Beispiel:

`ufw allow 25570/tcp`

### Schritt 11: Mit dem Server verbinden

Öffne Minecraft Java Edition und gehe auf **Mehrspieler**.

Füge deinen Server hinzu.

Serveradresse:

`SERVER-IP:25565`

Wenn du den Standardport `25565` nutzt, reicht oft auch nur die IP-Adresse.

Beispiel:

`123.123.123.123`

Wenn du einen anderen Port nutzt:

`123.123.123.123:25570`

### Server im Hintergrund laufen lassen

Wenn du den Server direkt im Terminal startest, stoppt er, sobald du die SSH-Verbindung beendest.

Deshalb solltest du den Server dauerhaft über `systemd`, `screen` oder `tmux` starten.

Für produktive Server ist `systemd` empfehlenswert.

### Minecraft mit systemd einrichten

Mit `systemd` wird dein Minecraft Server als Dienst eingerichtet. Dadurch kannst du ihn starten, stoppen, neustarten und automatisch beim Systemstart laden.

Wechsle zurück zum Root-Benutzer.

Befehl:

`exit`

Erstelle eine neue Service-Datei.

Befehl:

`nano /etc/systemd/system/minecraft.service`

Füge folgenden Inhalt ein:

`[Unit]`

`Description=Minecraft Server`

`After=network.target`

`[Service]`

`User=minecraft`

`WorkingDirectory=/home/minecraft/server`

`ExecStart=/usr/bin/java -Xms1G -Xmx2G -jar server.jar nogui`

`Restart=on-failure`

`[Install]`

`WantedBy=multi-user.target`

Speichere die Datei.

Lade systemd neu:

`systemctl daemon-reload`

Server starten:

`systemctl start minecraft`

Automatischen Start aktivieren:

`systemctl enable minecraft`

Status prüfen:

`systemctl status minecraft`

Server stoppen:

`systemctl stop minecraft`

Server neustarten:

`systemctl restart minecraft`

### RAM richtig einstellen

Beim Start legst du fest, wie viel Arbeitsspeicher Minecraft verwenden darf.

Beispiel:

`-Xms1G -Xmx4G`

Dabei bedeutet:

| Wert     | Bedeutung             |
| -------- | --------------------- |
| `-Xms1G` | Start-RAM             |
| `-Xmx4G` | maximal erlaubter RAM |

Setze `-Xmx` nicht höher als den tatsächlich verfügbaren Arbeitsspeicher deines Servers.

Der Server benötigt zusätzlich RAM für das Betriebssystem und andere Dienste.

### server.properties bearbeiten

Die wichtigsten Einstellungen findest du in der Datei `server.properties`.

Datei öffnen:

`nano /home/minecraft/server/server.properties`

Wichtige Einstellungen:

| Einstellung           | Bedeutung                             |
| --------------------- | ------------------------------------- |
| `server-port`         | Port des Minecraft Servers            |
| `max-players`         | maximale Spieleranzahl                |
| `motd`                | Serverbeschreibung in der Serverliste |
| `difficulty`          | Schwierigkeit                         |
| `gamemode`            | Spielmodus                            |
| `pvp`                 | PvP aktivieren oder deaktivieren      |
| `white-list`          | Whitelist aktivieren                  |
| `view-distance`       | Sichtweite                            |
| `simulation-distance` | Simulationsweite                      |
| `online-mode`         | Accountprüfung über Minecraft-Server  |

Nach Änderungen musst du den Minecraft Server neu starten.

Befehl:

`systemctl restart minecraft`

### OP-Rechte vergeben

OP-Rechte geben einem Spieler administrative Rechte auf dem Minecraft Server.

Wenn der Server läuft, kannst du in der Konsole folgenden Befehl ausführen:

`op Spielername`

Wenn du systemd verwendest, kannst du Befehle nicht direkt in derselben Konsole eingeben. In diesem Fall kannst du RCON einrichten oder den Server vorübergehend manuell starten.

Alternativ kannst du den Spieler in der Datei `ops.json` verwalten, wenn du weißt, was du tust.

### Whitelist aktivieren

Die Whitelist erlaubt nur eingetragenen Spielern den Zutritt.

In der Minecraft-Konsole:

`whitelist on`

Spieler hinzufügen:

`whitelist add Spielername`

Whitelist neu laden:

`whitelist reload`

Du kannst die Whitelist auch in `server.properties` aktivieren.

Eintrag:

`white-list=true`

Danach den Server neu starten.

### Backups erstellen

Erstelle regelmäßig Backups deiner Welt und Konfigurationsdateien.

Wichtige Dateien und Ordner:

* `world`
* `world_nether`
* `world_the_end`
* `server.properties`
* `ops.json`
* `whitelist.json`
* Plugin- oder Mod-Ordner
* Konfigurationsordner

Ein einfaches Backup kannst du als Archiv erstellen.

Beispiel:

`tar -czf minecraft-backup.tar.gz /home/minecraft/server`

Speichere Backups möglichst nicht nur auf demselben Server.

### Server aktualisieren

Für ein Update ersetzt du in der Regel die Server-JAR durch eine neuere Version.

Vorgehen:

1. Server stoppen.
2. Backup erstellen.
3. Neue Server-Datei herunterladen.
4. Alte `server.jar` ersetzen.
5. Server starten.
6. Logs prüfen.

Server stoppen:

`systemctl stop minecraft`

Server starten:

`systemctl start minecraft`

**Wichtig:** Aktualisiere nicht blind auf neue Versionen, wenn du Plugins, Mods oder Modpacks verwendest. Diese müssen zur neuen Version passen.

### Logs prüfen

Minecraft schreibt Logs in den Ordner `logs`.

Die aktuelle Logdatei ist meistens:

`logs/latest.log`

Du kannst die Datei so anzeigen:

`tail -f /home/minecraft/server/logs/latest.log`

Wenn der Server nicht startet, findest du dort oft die Ursache.

### Häufige Probleme

#### Server startet nicht

Prüfe:

* ist Java installiert?
* passt die Java-Version zur Minecraft-Version?
* heißt die Server-Datei wirklich `server.jar`?
* wurde die EULA akzeptiert?
* ist genug RAM verfügbar?
* enthält die Konsole eine Fehlermeldung?

Status prüfen:

`systemctl status minecraft`

Logs anzeigen:

`journalctl -u minecraft`

#### Unable to access jarfile

Diese Meldung bedeutet, dass die angegebene JAR-Datei nicht gefunden wurde.

Prüfe:

* liegt die Datei im richtigen Ordner?
* heißt die Datei `server.jar`?
* stimmt der Pfad in der systemd-Datei?
* hat der Benutzer Zugriff auf die Datei?

#### EULA wurde nicht akzeptiert

Wenn der Server wegen der EULA stoppt, prüfe die Datei `eula.txt`.

Der Eintrag muss so aussehen:

`eula=true`

Danach den Server neu starten.

#### Spieler können nicht verbinden

Prüfe:

* läuft der Server?
* ist Port `25565` geöffnet?
* nutzt du die richtige IP-Adresse?
* blockiert eine Firewall die Verbindung?
* steht in `server.properties` ein anderer Port?
* läuft der Server im Online-Modus?
* passt die Minecraft-Version?

#### Outdated server oder Outdated client

Diese Meldungen bedeuten, dass Minecraft Client und Server unterschiedliche Versionen verwenden.

Lösung:

* Client-Version anpassen
* Server-Version ändern
* bei Plugins oder Mods Kompatibilität prüfen

#### Server laggt

Mögliche Ursachen:

* zu wenig RAM
* zu hohe Sichtweite
* zu viele Entities
* zu viele Spieler
* zu viele Plugins oder Mods
* langsame Weltgenerierung
* zu viele Redstone-Schaltungen
* Server läuft zusätzlich mit anderen schweren Diensten

Prüfe zuerst die Auslastung des KVM-Servers.

Befehl:

`top`

oder:

`htop`

Falls `htop` nicht installiert ist:

`apt install htop`

### Sicherheit

Ein Minecraft Server ist öffentlich erreichbar, wenn du ihn für andere Spieler freigibst.

Achte deshalb auf folgende Punkte:

* Whitelist verwenden, wenn der Server privat ist
* OP-Rechte nur vertrauenswürdigen Spielern geben
* regelmäßig Backups erstellen
* System aktuell halten
* nur benötigte Ports öffnen
* keine unbekannten Plugins oder Mods installieren
* sichere Passwörter verwenden
* Server nicht dauerhaft als Root ausführen

### Support kontaktieren

Wenn du Hilfe benötigst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Betriebssystem
* Minecraft-Version
* verwendete Server-Software
* Java-Version
* genaue Fehlermeldung
* relevante Logs
* ob du Vanilla, Paper, Forge oder Fabric verwendest
* ob der Server über systemd, screen oder manuell gestartet wird
* welche Änderungen zuletzt vorgenommen wurden

Sende niemals Passwörter, private SSH-Keys oder andere geheime Zugangsdaten an den Support.


# 403 Forbidden beheben

Ein 403-Fehler bedeutet, dass der Webserver die Anfrage verstanden hat, den Zugriff aber nicht erlaubt.

Die Webseite oder Datei existiert also möglicherweise, darf aber nicht ausgeliefert werden. Das Problem liegt meistens an Dateirechten, fehlenden Index-Dateien, falscher Webserver-Konfiguration oder Zugriffsbeschränkungen.

### Was bedeutet 403 Forbidden?

Die Meldung `403 Forbidden` bedeutet übersetzt: Zugriff verboten.

Der Server ist erreichbar, verweigert aber den Zugriff auf die angeforderte Seite.

Typische Anzeigen im Browser sind:

* `403 Forbidden`
* `Forbidden`
* `You don't have permission to access this resource`
* `Access denied`
* `nginx 403 Forbidden`
* `Apache 403 Forbidden`

### Häufige Ursachen

Ein 403-Fehler entsteht häufig durch:

* falsche Datei- oder Ordnerrechte
* falschen Besitzer von Dateien
* fehlende Startdatei wie `index.html` oder `index.php`
* deaktiviertes Directory Listing
* falsches Webroot-Verzeichnis
* fehlerhafte `.htaccess`-Regeln
* Zugriffsbeschränkung durch Apache oder Nginx
* blockierende Firewall- oder Sicherheitsregel
* falsche Konfiguration nach einem Upload
* fehlende Berechtigungen nach einer Migration

### Erste Prüfung

Prüfe zuerst, ob die Webseite grundsätzlich erreichbar ist.

1. Öffne deine Domain im Browser.
2. Prüfe, ob der Fehler auf der gesamten Webseite oder nur auf einer bestimmten Unterseite erscheint.
3. Prüfe, ob der Webserver läuft.
4. Prüfe, ob die Dateien im richtigen Verzeichnis liegen.
5. Prüfe, ob eine Startdatei vorhanden ist.

Typische Startdateien sind:

* `index.html`
* `index.php`
* `index.htm`

Wenn keine Startdatei vorhanden ist und Directory Listing deaktiviert ist, zeigt der Server häufig einen 403-Fehler an.

### Webserver prüfen

Prüfe zuerst, ob dein Webserver läuft.

Bei Apache:

`systemctl status apache2`

Bei Nginx:

`systemctl status nginx`

Wenn der Dienst nicht läuft, starte ihn neu.

Apache starten:

`systemctl start apache2`

Nginx starten:

`systemctl start nginx`

Nach Änderungen an der Konfiguration solltest du den Webserver neu laden.

Apache neu laden:

`systemctl reload apache2`

Nginx neu laden:

`systemctl reload nginx`

### Webroot prüfen

Das Webroot ist der Ordner, aus dem dein Webserver die Webseite ausliefert.

Häufige Webroot-Verzeichnisse sind:

* `/var/www/html`
* `/var/www/deinedomain.de`
* `/home/benutzer/web`
* `/usr/share/nginx/html`

Wenn deine Dateien im falschen Ordner liegen, kann der Webserver sie nicht korrekt ausliefern.

Prüfe, welches Webroot in deiner Apache- oder Nginx-Konfiguration eingetragen ist.

### Startdatei prüfen

Ein häufiger Grund für `403 Forbidden` ist eine fehlende Startdatei.

Wenn du nur einen Ordner aufrufst, sucht der Webserver nach einer Startdatei.

Beispiel:

`https://deinedomain.de/`

Der Webserver sucht dann zum Beispiel nach:

* `index.html`
* `index.php`

Prüfe im Webroot, ob eine solche Datei vorhanden ist.

Beispiel:

`ls -la /var/www/html`

Wenn keine Startdatei vorhanden ist, lege eine an oder lade deine Webseite vollständig hoch.

Beispiel für eine einfache Testdatei:

`echo "Webseite funktioniert" > /var/www/html/index.html`

Danach rufst du deine Domain erneut im Browser auf.

### Dateirechte prüfen

Falsche Rechte sind eine der häufigsten Ursachen für 403-Fehler.

Der Webserver muss Dateien lesen und Ordner betreten können.

Unter Linux gelten meistens folgende Standardrechte:

| Typ     | Empfohlenes Recht |
| ------- | ----------------- |
| Ordner  | `755`             |
| Dateien | `644`             |

Ordnerrechte setzen:

`find /var/www/html -type d -exec chmod 755 {} \;`

Dateirechte setzen:

`find /var/www/html -type f -exec chmod 644 {} \;`

Passe `/var/www/html` an dein tatsächliches Webroot an.

### Besitzer prüfen

Neben den Dateirechten muss auch der Besitzer stimmen.

Bei Apache und Nginx läuft der Webserver oft unter dem Benutzer `www-data`.

Auf Debian und Ubuntu ist häufig dieser Besitzer sinnvoll:

`chown -R www-data:www-data /var/www/html`

Bei anderen Systemen oder Panels kann der Benutzer abweichen.

Häufige Webserver-Benutzer sind:

* `www-data`
* `apache`
* `nginx`
* ein eigener Benutzer des Webspaces oder Panels

Prüfe deshalb vorher, unter welchem Benutzer dein Webserver läuft.

Apache-Prozesse anzeigen:

`ps aux | grep apache`

Nginx-Prozesse anzeigen:

`ps aux | grep nginx`

### Apache-Konfiguration prüfen

Wenn du Apache verwendest, kann ein 403-Fehler durch eine falsche Directory-Konfiguration entstehen.

Prüfe deine VirtualHost-Konfiguration.

Typische Datei:

`/etc/apache2/sites-available/deinedomain.conf`

Ein einfacher Apache-VirtualHost kann so aussehen:

`<VirtualHost *:80>`

`ServerName deinedomain.de`

`DocumentRoot /var/www/html`

`<Directory /var/www/html>`

`AllowOverride All`

`Require all granted`

`</Directory>`

`</VirtualHost>`

Wichtig ist vor allem:

`Require all granted`

Wenn diese Zeile fehlt oder falsch gesetzt ist, kann Apache den Zugriff verweigern.

Nach Änderungen Apache-Konfiguration prüfen:

`apache2ctl configtest`

Apache neu laden:

`systemctl reload apache2`

### Nginx-Konfiguration prüfen

Wenn du Nginx verwendest, prüfe den eingetragenen `root`-Pfad.

Typische Datei:

`/etc/nginx/sites-available/deinedomain`

Ein einfacher Nginx-Serverblock kann so aussehen:

`server {`

`listen 80;`

`server_name deinedomain.de;`

`root /var/www/html;`

`index index.html index.php;`

`}`

Wichtig ist:

* `root` zeigt auf das richtige Webroot
* `index` enthält die richtige Startdatei
* Dateien im Webroot sind lesbar
* Ordner sind betretbar

Nach Änderungen Nginx-Konfiguration prüfen:

`nginx -t`

Nginx neu laden:

`systemctl reload nginx`

### .htaccess prüfen

Bei Apache kann eine `.htaccess`-Datei den Zugriff blockieren.

Prüfe im Webroot, ob eine `.htaccess` vorhanden ist.

Befehl:

`ls -la /var/www/html`

Typische problematische Regeln sind:

`Deny from all`

`Require all denied`

Oder Zugriffsbeschränkungen auf bestimmte IP-Adressen.

Zum Test kannst du die Datei kurz umbenennen:

`mv /var/www/html/.htaccess /var/www/html/.htaccess.bak`

Lade danach die Webseite neu.

Wenn der Fehler verschwindet, liegt das Problem an einer Regel in der `.htaccess`.

### Directory Listing

Wenn du einen Ordner ohne Startdatei aufrufst, kann der Webserver versuchen, den Inhalt des Ordners anzuzeigen.

Viele Server verbieten das aus Sicherheitsgründen. Dann erscheint ein 403-Fehler.

Das ist normal und oft sogar gewollt.

Lösung:

* Startdatei wie `index.html` oder `index.php` anlegen
* richtige Webseite hochladen
* Directory Listing bewusst aktivieren, falls wirklich benötigt

Directory Listing sollte nur aktiviert werden, wenn du genau weißt, warum du es brauchst.

### PHP-Dateien prüfen

Wenn deine Webseite PHP nutzt, muss PHP korrekt eingerichtet sein.

Bei Apache wird häufig `libapache2-mod-php` oder PHP-FPM verwendet.

Bei Nginx wird PHP fast immer über PHP-FPM eingebunden.

Wenn PHP falsch eingebunden ist, kann es je nach Konfiguration zu Fehlern kommen.

Prüfe bei PHP-Webseiten:

* ist PHP installiert?
* läuft PHP-FPM?
* stimmt der PHP-Socket?
* zeigt `index` auf `index.php`?
* sind PHP-Dateien lesbar?

PHP-FPM prüfen:

`systemctl status php*-fpm`

### Logs prüfen

Die Logs zeigen meistens genauer, warum der Zugriff verweigert wird.

#### Apache Logs

Typische Dateien:

* `/var/log/apache2/error.log`
* `/var/log/apache2/access.log`

Live mitlesen:

`tail -f /var/log/apache2/error.log`

#### Nginx Logs

Typische Dateien:

* `/var/log/nginx/error.log`
* `/var/log/nginx/access.log`

Live mitlesen:

`tail -f /var/log/nginx/error.log`

Achte in den Logs auf Meldungen wie:

* `permission denied`
* `directory index is forbidden`
* `client denied by server configuration`
* `access forbidden by rule`
* `open() failed`

Diese Meldungen zeigen meist direkt die Ursache.

### SELinux prüfen

Bei AlmaLinux, Rocky Linux oder anderen RHEL-basierten Systemen kann SELinux den Zugriff blockieren.

Prüfe den SELinux-Status:

`sestatus`

Wenn SELinux aktiv ist, können falsche Dateikontexte einen 403-Fehler verursachen.

Für Webdateien kann folgender Befehl helfen:

`restorecon -Rv /var/www/html`

Passe den Pfad an dein Webroot an.

SELinux sollte nicht einfach dauerhaft deaktiviert werden, ohne die Ursache zu verstehen.

### Zugriffsbeschränkungen prüfen

Manche Konfigurationen erlauben Zugriff nur für bestimmte IP-Adressen.

Prüfe deshalb:

* Apache-Directory-Regeln
* Nginx-Location-Regeln
* `.htaccess`
* Webpanel-Sicherheitsregeln
* Firewall-Regeln
* Sicherheitsplugins von CMS-Systemen

Wenn du dich aus einem anderen Netzwerk verbindest, kann sich auch deine öffentliche IP-Adresse geändert haben.

### CMS-Systeme prüfen

Bei WordPress, Joomla, Shopware oder anderen CMS-Systemen kann ein 403-Fehler auch durch Plugins, Themes oder Sicherheitsfunktionen entstehen.

Prüfe:

* Sicherheitsplugins
* Wartungsmodus
* fehlerhafte `.htaccess`
* Dateirechte nach Updates
* beschädigte Uploads
* blockierte Adminbereiche
* fehlende PHP-Berechtigungen

Bei WordPress kannst du zum Test Sicherheitsplugins vorübergehend deaktivieren, indem du den Plugin-Ordner umbenennst.

Beispiel:

`mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins_off`

Danach prüfst du, ob die Webseite wieder erreichbar ist.

### Nach Upload oder Migration

Nach einem Upload per SFTP, SCP oder Migration können Rechte und Besitzer falsch gesetzt sein.

Typische Probleme:

* Dateien gehören dem falschen Benutzer
* Ordner haben keine Ausführungsrechte
* `.htaccess` wurde nicht übertragen
* versteckte Dateien fehlen
* Webroot wurde falsch gewählt
* Startdatei liegt in einem Unterordner

Prüfe nach einer Migration besonders:

* Webroot
* Besitzer
* Dateirechte
* Startdatei
* `.htaccess`
* PHP-Version
* Datenbankverbindung

### Schnelle Prüfreihenfolge

Gehe bei einem 403-Fehler am besten so vor:

1. Prüfe, ob der Webserver läuft.
2. Prüfe, ob die Domain auf den richtigen Server zeigt.
3. Prüfe, ob die Dateien im richtigen Webroot liegen.
4. Prüfe, ob eine Startdatei vorhanden ist.
5. Prüfe Datei- und Ordnerrechte.
6. Prüfe den Besitzer der Dateien.
7. Prüfe Apache- oder Nginx-Konfiguration.
8. Prüfe `.htaccess`, falls Apache verwendet wird.
9. Prüfe die Webserver-Logs.
10. Prüfe Sicherheitsplugins oder Zugriffsbeschränkungen.

### Häufige Fehlermeldungen

| Fehlermeldung                           | Mögliche Ursache                                             |
| --------------------------------------- | ------------------------------------------------------------ |
| `directory index is forbidden`          | keine Startdatei vorhanden und Directory Listing deaktiviert |
| `permission denied`                     | Dateirechte oder Besitzer falsch                             |
| `client denied by server configuration` | Apache- oder Nginx-Regel blockiert Zugriff                   |
| `access forbidden by rule`              | Zugriff durch Regel oder Sicherheitsmodul blockiert          |
| `open() failed`                         | Datei kann nicht gelesen oder geöffnet werden                |

### Support kontaktieren

Wenn du den Fehler nicht selbst beheben kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* betroffene Domain
* verwendetes Betriebssystem
* verwendeter Webserver: Apache oder Nginx
* Pfad zum Webroot
* genaue Fehlermeldung im Browser
* relevante Logauszüge
* was du zuletzt geändert hast
* ob der Fehler die ganze Webseite oder nur einzelne Seiten betrifft

**Sicherheit:** Sende keine Passwörter, privaten SSH-Keys, Datenbankpasswörter oder API-Tokens an den Support.


# 404 Not Found beheben

Ein 404-Fehler bedeutet, dass der Webserver erreichbar ist, die angeforderte Seite oder Datei aber nicht gefunden wurde.

Der Server antwortet also grundsätzlich, kann den aufgerufenen Pfad jedoch nicht ausliefern.

Typische Meldungen sind:

* `404 Not Found`
* `Not Found`
* `The requested URL was not found on this server`
* `404 Seite nicht gefunden`
* `nginx 404 Not Found`
* `Apache 404 Not Found`

### Was bedeutet 404 Not Found?

Wenn du eine Webseite öffnest, fragt dein Browser eine bestimmte Adresse beim Server an.

Beispiel:

`https://deinedomain.de/kontakt`

Der Webserver sucht dann nach der passenden Datei, Route oder Anwendung für `/kontakt`.

Wenn der Webserver dort nichts findet, gibt er den Statuscode `404 Not Found` zurück.

Das bedeutet:

* die Domain zeigt grundsätzlich auf einen Server
* der Webserver antwortet
* die angeforderte Seite oder Datei wurde nicht gefunden

Ein 404-Fehler ist daher kein vollständiger Serverausfall.

### Häufige Ursachen

Ein 404-Fehler kann mehrere Ursachen haben:

* falsche URL
* Datei wurde gelöscht
* Datei liegt im falschen Ordner
* Domain zeigt auf den falschen Webroot
* falsche Virtual-Host-Konfiguration
* fehlende `index.html` oder `index.php`
* falsche Weiterleitung
* fehlerhafte `.htaccess`
* falsche Nginx-Konfiguration
* Anwendung hat keine passende Route
* WordPress-Permalinks sind fehlerhaft
* Cache zeigt eine alte Adresse
* Groß- und Kleinschreibung stimmt nicht

### Zuerst prüfen

Prüfe zuerst die einfache Ursache: die URL.

Achte besonders auf:

* Tippfehler
* falsche Domain
* falschen Unterordner
* fehlende Datei-Endung
* Groß- und Kleinschreibung
* unnötige Leerzeichen
* alte Links oder Bookmarks

Beispiel:

`/Kontakt` ist unter Linux nicht dasselbe wie `/kontakt`.

Linux-Dateisysteme unterscheiden Groß- und Kleinschreibung. Windows tut das oft nicht.

### Prüfen, ob der Webserver erreichbar ist

Wenn du eine 404-Meldung siehst, ist der Webserver grundsätzlich erreichbar.

Trotzdem solltest du prüfen, ob du wirklich den richtigen Server erreichst.

Öffne dazu testweise die Startseite deiner Domain:

`https://deinedomain.de`

Wenn die Startseite funktioniert, betrifft der Fehler wahrscheinlich nur eine bestimmte Unterseite.

Wenn auch die Startseite nicht funktioniert, liegt möglicherweise ein anderes Problem vor, zum Beispiel DNS, Webserver, SSL oder Firewall.

### Datei oder Ordner prüfen

Wenn du eine statische Datei aufrufen möchtest, muss sie im richtigen Ordner liegen.

Beispiel:

Du rufst auf:

`https://deinedomain.de/test.html`

Dann muss die Datei `test.html` im Webverzeichnis deiner Domain liegen.

Typische Webverzeichnisse sind zum Beispiel:

| Webserver            | Häufiges Webverzeichnis                |
| -------------------- | -------------------------------------- |
| Apache               | `/var/www/html`                        |
| Nginx                | `/var/www/html`                        |
| Plesk                | je nach Domain im Kundenverzeichnis    |
| aaPanel              | je nach Website-Pfad                   |
| eigene Konfiguration | abhängig von deiner Virtual-Host-Datei |

Prüfe per SSH, ob die Datei vorhanden ist.

Beispiel:

`ls -la /var/www/html`

Wenn die Datei fehlt, lade sie erneut hoch oder lege sie an.

### Startdatei prüfen

Wenn du nur die Domain aufrufst, sucht der Webserver nach einer Startdatei.

Beispiel:

`https://deinedomain.de`

Typische Startdateien sind:

* `index.html`
* `index.htm`
* `index.php`

Wenn keine Startdatei vorhanden ist, kann je nach Konfiguration ein 404-Fehler oder eine andere Meldung erscheinen.

Prüfe deshalb, ob eine Startdatei im Webverzeichnis liegt.

Beispiel:

`ls -la /var/www/html/index.*`

### Webroot prüfen

Der Webroot ist der Ordner, aus dem der Webserver die Webseite ausliefert.

Wenn deine Dateien im falschen Ordner liegen, findet der Webserver sie nicht.

Beispiel:

Deine Webseite liegt hier:

`/var/www/meine-webseite`

Der Webserver ist aber so eingestellt:

`/var/www/html`

Dann ruft der Webserver weiterhin `/var/www/html` auf und findet deine Dateien nicht.

Prüfe deshalb die Webserver-Konfiguration.

### Apache Virtual Host prüfen

Bei Apache wird der Webroot meistens in einer Virtual-Host-Datei festgelegt.

Typischer Pfad:

`/etc/apache2/sites-available/deinedomain.conf`

Suche dort nach:

`DocumentRoot`

Beispiel:

`DocumentRoot /var/www/html`

Der angegebene Pfad muss zu dem Ordner passen, in dem deine Webseite liegt.

Nach Änderungen an der Apache-Konfiguration solltest du die Konfiguration prüfen.

Befehl:

`apachectl configtest`

Wenn die Prüfung erfolgreich ist, Apache neu laden:

`systemctl reload apache2`

### Nginx Server Block prüfen

Bei Nginx wird der Webroot in einem Server Block festgelegt.

Typischer Pfad:

`/etc/nginx/sites-available/deinedomain`

Suche dort nach:

`root`

Beispiel:

`root /var/www/html;`

Der angegebene Pfad muss zu dem Ordner passen, in dem deine Webseite liegt.

Nach Änderungen an der Nginx-Konfiguration solltest du die Konfiguration prüfen.

Befehl:

`nginx -t`

Wenn die Prüfung erfolgreich ist, Nginx neu laden:

`systemctl reload nginx`

### Dateirechte prüfen

Wenn Dateien vorhanden sind, aber nicht gelesen werden können, kann es je nach Konfiguration ebenfalls zu Fehlern kommen.

Prüfe die Rechte deiner Dateien und Ordner.

Beispiel:

`ls -la /var/www/html`

Typische Rechte:

* Ordner: `755`
* Dateien: `644`

Beispielbefehle:

`find /var/www/html -type d -exec chmod 755 {} \;`

`find /var/www/html -type f -exec chmod 644 {} \;`

Der Webserver-Benutzer muss die Dateien lesen können.

Bei Debian und Ubuntu ist das häufig:

`www-data`

### .htaccess prüfen

Bei Apache kann eine fehlerhafte `.htaccess` dazu führen, dass Seiten nicht gefunden werden.

Das betrifft besonders:

* WordPress
* Laravel
* Symfony
* Weiterleitungen
* Rewrite-Regeln
* alte CMS-Systeme

Prüfe, ob im Webverzeichnis eine `.htaccess` vorhanden ist.

Beispiel:

`ls -la /var/www/html/.htaccess`

Zum Test kannst du die Datei kurz umbenennen:

`mv /var/www/html/.htaccess /var/www/html/.htaccess_backup`

Danach Webseite erneut aufrufen.

Wenn die Seite danach funktioniert, liegt das Problem wahrscheinlich an einer Rewrite-Regel.

**Wichtig:** Benenne die Datei nach dem Test wieder zurück oder erstelle eine korrekte neue `.htaccess`.

### Apache Rewrite-Modul prüfen

Viele Anwendungen benötigen das Apache-Modul `rewrite`.

Prüfe und aktiviere es bei Bedarf.

Befehl:

`a2enmod rewrite`

Danach Apache neu laden:

`systemctl reload apache2`

Außerdem muss im Apache Virtual Host häufig `AllowOverride All` erlaubt sein, damit `.htaccess`-Regeln greifen.

Beispiel:

`AllowOverride All`

Wenn `AllowOverride None` gesetzt ist, werden `.htaccess`-Regeln ignoriert.

### Nginx Rewrite-Regeln prüfen

Bei Nginx wird keine `.htaccess` verwendet.

Weiterleitungen und Routen müssen direkt in der Nginx-Konfiguration stehen.

Für viele PHP-Anwendungen wird eine Regel wie diese benötigt:

`try_files $uri $uri/ /index.php?$query_string;`

Wenn diese Regel fehlt, funktionieren Unterseiten oft nicht und zeigen 404.

Das betrifft zum Beispiel:

* Laravel
* Symfony
* viele PHP-Frameworks
* eigene Anwendungen mit Routing

Nach Änderungen Nginx prüfen und neu laden:

`nginx -t`

`systemctl reload nginx`

### WordPress 404 beheben

Bei WordPress entstehen 404-Fehler häufig durch fehlerhafte Permalinks.

Typische Anzeichen:

* Startseite funktioniert
* Unterseiten zeigen 404
* Beiträge zeigen 404
* Adminbereich funktioniert

Lösung:

1. Melde dich im WordPress-Adminbereich an.
2. Öffne **Einstellungen**.
3. Öffne **Permalinks**.
4. Klicke auf **Änderungen speichern**, ohne etwas zu ändern.

Dadurch werden die Rewrite-Regeln neu geschrieben.

Wenn das nicht hilft, prüfe die `.htaccess` und das Apache Rewrite-Modul.

### CMS oder Framework prüfen

Wenn du ein CMS oder Framework nutzt, kann ein 404 auch aus der Anwendung selbst kommen.

Beispiele:

* WordPress findet einen Beitrag nicht
* Laravel findet keine Route
* Symfony findet keinen Controller
* Node.js Anwendung kennt den Pfad nicht
* React/Vue Single Page App wird falsch ausgeliefert

Prüfe in diesem Fall:

* sind die Routen korrekt?
* wurde die Anwendung richtig gebaut?
* zeigt der Webserver auf den richtigen `public`-Ordner?
* sind Umleitungsregeln korrekt?
* läuft der Backend-Dienst?
* stimmen Umgebungsvariablen?

Bei Laravel muss der Webroot normalerweise auf den Ordner `public` zeigen, nicht auf das Hauptverzeichnis des Projekts.

### Single Page Apps prüfen

Bei React, Vue oder ähnlichen Single Page Apps tritt häufig ein 404 auf, wenn eine Unterseite direkt aufgerufen wird.

Beispiel:

`https://deinedomain.de/dashboard`

Die Anwendung erwartet, dass der Webserver immer die `index.html` ausliefert und das Routing im Browser übernimmt.

Bei Nginx wird dafür oft benötigt:

`try_files $uri /index.html;`

Bei Apache wird dafür eine passende Rewrite-Regel in der `.htaccess` benötigt.

### DNS prüfen

Ein 404 kann auch erscheinen, wenn deine Domain auf den falschen Server zeigt.

Das passiert zum Beispiel nach einem Serverwechsel oder einer neuen IP-Adresse.

Prüfe deshalb, ob die Domain auf die richtige IP-Adresse zeigt.

Beispiel:

`deinedomain.de` muss auf die IP-Adresse deines KVM-Servers zeigen.

Wenn die Domain noch auf einen alten Server zeigt, zeigt dieser möglicherweise eine fremde oder alte 404-Seite an.

DNS-Änderungen können einige Minuten bis mehrere Stunden dauern.

### Cache prüfen

Manchmal wird ein alter 404-Fehler zwischengespeichert.

Prüfe:

* Browsercache
* CDN-Cache
* WordPress-Cache
* Proxy-Cache
* Nginx-Cache
* Cloudflare-Cache, falls verwendet

Teste die Seite in einem privaten Browserfenster oder auf einem anderen Gerät.

### Logs prüfen

Logs zeigen oft genauer, warum eine Seite nicht gefunden wurde.

#### Apache Logs

Typische Pfade:

`/var/log/apache2/error.log`

`/var/log/apache2/access.log`

Live anzeigen:

`tail -f /var/log/apache2/error.log`

#### Nginx Logs

Typische Pfade:

`/var/log/nginx/error.log`

`/var/log/nginx/access.log`

Live anzeigen:

`tail -f /var/log/nginx/error.log`

Achte in den Logs auf den angefragten Pfad und den tatsächlichen Dateipfad.

### Unterschied zwischen 404 und anderen Fehlern

Ein 404 bedeutet, dass die Seite nicht gefunden wurde.

Andere Fehler bedeuten etwas anderes:

| Fehler                    | Bedeutung                                 |
| ------------------------- | ----------------------------------------- |
| 403 Forbidden             | Zugriff verboten                          |
| 404 Not Found             | Seite oder Datei nicht gefunden           |
| 500 Internal Server Error | interner Fehler in Anwendung oder Server  |
| 502 Bad Gateway           | Upstream-Dienst antwortet nicht korrekt   |
| 503 Service Unavailable   | Dienst nicht verfügbar                    |
| DNS-Fehler                | Domain zeigt nicht korrekt auf den Server |

Wenn du einen anderen Fehler siehst, solltest du den passenden Artikel zu diesem Fehler verwenden.

### Checkliste

Prüfe bei einem 404-Fehler der Reihe nach:

1. Ist die URL korrekt?
2. Gibt es Tippfehler?
3. Zeigt die Domain auf den richtigen Server?
4. Liegt die Datei im richtigen Webverzeichnis?
5. Gibt es eine `index.html` oder `index.php`?
6. Stimmt der Webroot in Apache oder Nginx?
7. Sind die Dateirechte korrekt?
8. Funktioniert die `.htaccess`?
9. Ist bei Apache `mod_rewrite` aktiv?
10. Sind bei Nginx die `try_files`-Regeln korrekt?
11. Sind WordPress-Permalinks neu gespeichert?
12. Zeigt die Anwendung auf die richtige Route?
13. Wurde ein Cache geleert?
14. Was steht in den Webserver-Logs?

### Support kontaktieren

Wenn du den 404-Fehler nicht selbst beheben kannst, kontaktiere den Support.

Gib bitte folgende Informationen an:

* betroffene Domain
* genaue URL, die den Fehler zeigt
* verwendeter Webserver: Apache oder Nginx
* verwendetes System: zum Beispiel WordPress, Laravel, React, eigenes Projekt
* ob die Startseite funktioniert
* ob nur Unterseiten betroffen sind
* wann der Fehler erstmals aufgetreten ist
* welche Änderungen zuletzt vorgenommen wurden
* relevante Logauszüge, falls vorhanden

**Sicherheit:** Sende niemals Passwörter, private SSH-Keys, API-Tokens oder Datenbankzugänge an den Support.


# 502 Bad Gateway beheben

Ein 502 Bad Gateway Fehler tritt meistens auf, wenn ein Webserver eine Anfrage nicht korrekt an den dahinterliegenden Dienst weiterleiten kann.

Der Fehler erscheint häufig bei Webseiten, die über Nginx, Apache, PHP-FPM, Node.js, Docker, Plesk, ein Webpanel oder eine eigene Anwendung betrieben werden.

### Was bedeutet 502 Bad Gateway?

Ein Webserver nimmt die Anfrage eines Besuchers entgegen und leitet sie an einen anderen Dienst weiter.

Beispiele:

* Nginx leitet an PHP-FPM weiter
* Nginx leitet an eine Node.js App weiter
* Apache leitet an PHP weiter
* ein Reverse Proxy leitet an Docker weiter
* ein Webpanel leitet an einen internen Dienst weiter

Wenn dieser dahinterliegende Dienst nicht antwortet, nicht läuft oder falsch erreichbar ist, zeigt der Webserver häufig den Fehler `502 Bad Gateway`.

### Typische Ursachen

Ein 502 Fehler kann mehrere Ursachen haben.

Häufige Gründe sind:

* Anwendung läuft nicht
* PHP-FPM läuft nicht
* Node.js Prozess ist abgestürzt
* falscher interner Port
* falscher Proxy-Pfad
* Docker Container ist gestoppt
* Webserver-Konfiguration ist fehlerhaft
* Dienst antwortet zu langsam
* Socket-Datei existiert nicht
* Firewall blockiert interne Verbindung
* Server ist überlastet
* Arbeitsspeicher ist voll

### Unterschied zwischen 502, 503 und 504

Diese Fehler sehen ähnlich aus, bedeuten aber nicht genau dasselbe.

| Fehler                    | Bedeutung                                                                   |
| ------------------------- | --------------------------------------------------------------------------- |
| `502 Bad Gateway`         | Der Webserver erhält eine ungültige oder keine passende Antwort vom Backend |
| `503 Service Unavailable` | Der Dienst ist nicht verfügbar oder absichtlich deaktiviert                 |
| `504 Gateway Timeout`     | Der Backend-Dienst antwortet nicht rechtzeitig                              |

Bei `502 Bad Gateway` solltest du zuerst prüfen, ob der dahinterliegende Dienst läuft und ob der Webserver ihn korrekt erreichen kann.

### Erste Prüfung

Prüfe zuerst, ob dein Server grundsätzlich erreichbar ist.

Öffne die Webseite im Browser und teste zusätzlich:

* funktioniert die Domain?
* zeigt die Domain auf die richtige IP-Adresse?
* tritt der Fehler bei allen Seiten auf?
* tritt der Fehler nur bei einer bestimmten Anwendung auf?
* wurde kurz vorher etwas geändert?
* wurde ein Update durchgeführt?
* wurde eine Konfiguration angepasst?

Wenn der Fehler direkt nach einer Änderung aufgetreten ist, liegt die Ursache häufig in dieser Änderung.

### Webserver-Status prüfen

Je nach System nutzt du Nginx oder Apache.

#### Nginx prüfen

Status prüfen:

`systemctl status nginx`

Konfiguration testen:

`nginx -t`

Nginx neu laden:

`systemctl reload nginx`

Nginx neu starten:

`systemctl restart nginx`

Wenn `nginx -t` einen Fehler ausgibt, muss zuerst die Konfiguration korrigiert werden.

#### Apache prüfen

Status prüfen:

`systemctl status apache2`

Konfiguration testen:

`apachectl configtest`

Apache neu laden:

`systemctl reload apache2`

Apache neu starten:

`systemctl restart apache2`

Bei AlmaLinux oder Rocky Linux kann der Apache-Dienst auch `httpd` heißen.

Status prüfen:

`systemctl status httpd`

Konfiguration testen:

`httpd -t`

### Logs prüfen

Logs sind bei einem 502 Fehler besonders wichtig.

Sie zeigen meistens, welcher Dienst nicht erreichbar ist oder welche Datei fehlt.

#### Nginx Logs

Fehlerlog prüfen:

`tail -n 100 /var/log/nginx/error.log`

Live mitlesen:

`tail -f /var/log/nginx/error.log`

#### Apache Logs

Fehlerlog prüfen:

`tail -n 100 /var/log/apache2/error.log`

Bei AlmaLinux oder Rocky Linux:

`tail -n 100 /var/log/httpd/error_log`

#### Systemlogs prüfen

Systemmeldungen anzeigen:

`journalctl -xe`

Logs eines bestimmten Dienstes anzeigen:

`journalctl -u nginx`

`journalctl -u apache2`

`journalctl -u php8.2-fpm`

Der Name des PHP-FPM-Dienstes kann je nach Version abweichen.

### PHP-FPM prüfen

Viele 502 Fehler entstehen, weil PHP-FPM nicht läuft oder falsch eingebunden ist.

PHP-FPM ist ein Dienst, der PHP-Dateien verarbeitet. Nginx leitet PHP-Anfragen häufig an PHP-FPM weiter.

Status prüfen:

`systemctl status php-fpm`

Je nach Distribution und PHP-Version kann der Dienst anders heißen.

Beispiele:

* `php-fpm`
* `php8.1-fpm`
* `php8.2-fpm`
* `php8.3-fpm`

Status prüfen:

`systemctl status php8.2-fpm`

PHP-FPM neu starten:

`systemctl restart php8.2-fpm`

Wenn du nicht weißt, wie der Dienst heißt, kannst du danach suchen:

`systemctl list-units --type=service | grep fpm`

### PHP-FPM Socket prüfen

Bei Nginx wird PHP-FPM oft über eine Socket-Datei verbunden.

Ein typischer Eintrag sieht so aus:

`fastcgi_pass unix:/run/php/php8.2-fpm.sock;`

Wenn diese Datei nicht existiert, kann Nginx PHP nicht erreichen und zeigt häufig `502 Bad Gateway`.

Socket-Dateien prüfen:

`ls -lah /run/php/`

Wenn deine Nginx-Konfiguration auf `php8.1-fpm.sock` zeigt, aber auf dem Server nur `php8.2-fpm.sock` existiert, muss die Konfiguration angepasst werden.

Danach Nginx testen und neu laden:

`nginx -t`

`systemctl reload nginx`

### Node.js Anwendung prüfen

Wenn deine Webseite über Node.js läuft, muss die Anwendung im Hintergrund aktiv sein.

Prüfe zuerst, ob der Prozess läuft.

Prozesse anzeigen:

`ps aux | grep node`

Wenn du PM2 verwendest:

`pm2 status`

Logs anzeigen:

`pm2 logs`

App neu starten:

`pm2 restart all`

Wenn deine App auf Port `3000` laufen soll, prüfe, ob dieser Port belegt ist:

`ss -tulpen | grep 3000`

Wenn kein Dienst auf dem erwarteten Port läuft, kann Nginx nicht an deine App weiterleiten.

### Reverse Proxy prüfen

Ein 502 Fehler tritt häufig bei Reverse-Proxy-Konfigurationen auf.

Beispiel für Nginx:

`proxy_pass http://127.0.0.1:3000;`

In diesem Fall muss deine Anwendung auf `127.0.0.1` und Port `3000` erreichbar sein.

Prüfen:

`curl http://127.0.0.1:3000`

Wenn dieser Befehl keine Antwort liefert, liegt das Problem nicht bei der Domain, sondern bei deiner Anwendung oder dem internen Dienst.

### Docker Container prüfen

Wenn deine Anwendung in Docker läuft, prüfe zuerst die Container.

Container anzeigen:

`docker ps`

Alle Container anzeigen:

`docker ps -a`

Logs anzeigen:

`docker logs CONTAINERNAME`

Container starten:

`docker start CONTAINERNAME`

Container neu starten:

`docker restart CONTAINERNAME`

Wenn du Docker Compose nutzt:

`docker compose ps`

`docker compose logs`

`docker compose restart`

Ein 502 Fehler entsteht häufig, wenn der Container gestoppt ist oder der Webserver auf einen falschen Container-Port zeigt.

### Port-Zuordnung bei Docker prüfen

Bei Docker muss die Port-Zuordnung stimmen.

Beispiel:

`127.0.0.1:3000 -> Container-Port 3000`

Wenn deine Anwendung im Container auf Port `8080` läuft, der Reverse Proxy aber auf Port `3000` zeigt, entsteht ein Fehler.

Prüfe deshalb:

* auf welchem Port läuft die Anwendung im Container?
* welcher Port ist nach außen gebunden?
* auf welchen Port zeigt Nginx oder Apache?
* wurde der Container neu erstellt und der Port geändert?

### Anwendung ist abgestürzt

Wenn der Webserver funktioniert, aber die Anwendung abgestürzt ist, erscheint ebenfalls oft `502 Bad Gateway`.

Typische Ursachen:

* fehlende Umgebungsvariablen
* falsche Datenbankdaten
* fehlende Dateien
* fehlerhafte Abhängigkeiten
* zu wenig Arbeitsspeicher
* Syntaxfehler nach Update
* falsche Node.js-, PHP- oder Python-Version

Prüfe die Logs der Anwendung.

Beispiele:

`pm2 logs`

`docker logs CONTAINERNAME`

`journalctl -u DIENSTNAME`

### Speicher und Auslastung prüfen

Wenn der Server überlastet ist, können Dienste abstürzen oder nicht mehr antworten.

CPU und RAM prüfen:

`top`

oder:

`htop`

Speicherplatz prüfen:

`df -h`

Arbeitsspeicher prüfen:

`free -h`

Wenn der Speicherplatz voll ist, können Dienste keine temporären Dateien oder Logs mehr schreiben. Das kann zu Fehlern führen.

### Rechte und Dateipfade prüfen

Bei Webanwendungen können falsche Rechte ebenfalls Probleme verursachen.

Prüfe:

* existiert der angegebene Pfad?
* darf der Webserver auf die Dateien zugreifen?
* gehören die Dateien dem richtigen Benutzer?
* sind Socket-Dateien erreichbar?
* wurde ein Ordner verschoben oder gelöscht?

Typische Webserver-Benutzer sind:

* `www-data`
* `nginx`
* `apache`

### Nach Updates prüfen

Ein 502 Fehler tritt oft nach Updates auf.

Mögliche Beispiele:

* PHP-Version wurde geändert
* PHP-FPM Socket hat sich geändert
* Node.js Version passt nicht mehr
* Composer-Abhängigkeiten fehlen
* npm-Abhängigkeiten fehlen
* Webserver-Konfiguration wurde überschrieben
* Docker Image wurde aktualisiert
* Datenbank ist nicht mehr erreichbar

Wenn der Fehler nach einem Update auftritt, prüfe zuerst die geänderten Dienste und Logs.

### Datenbankverbindung prüfen

Viele Anwendungen benötigen eine Datenbank.

Wenn die Datenbank nicht erreichbar ist, kann die Anwendung abstürzen und der Webserver zeigt einen 502 Fehler.

Datenbankstatus prüfen:

MariaDB oder MySQL:

`systemctl status mariadb`

oder:

`systemctl status mysql`

PostgreSQL:

`systemctl status postgresql`

Wenn die Datenbank nicht läuft, starte sie neu:

`systemctl restart mariadb`

`systemctl restart mysql`

`systemctl restart postgresql`

Prüfe danach die Logs der Anwendung.

### Firewall prüfen

Bei lokalen Verbindungen ist die Firewall meistens nicht das Problem. Wenn dein Backend aber auf einer anderen IP-Adresse oder einem anderen Server läuft, kann eine Firewall die Verbindung blockieren.

Prüfe:

* ist der Zielport geöffnet?
* ist die Ziel-IP erreichbar?
* erlaubt die Firewall die Verbindung?
* zeigt die Konfiguration auf die richtige IP-Adresse?

UFW Status prüfen:

`ufw status`

### Typische Fehlermeldungen in Nginx

Nginx zeigt in den Logs oft genaue Hinweise.

| Meldung                                      | Bedeutung                                     |
| -------------------------------------------- | --------------------------------------------- |
| `connect() failed (111: Connection refused)` | Backend-Dienst läuft nicht oder falscher Port |
| `upstream timed out`                         | Backend antwortet zu langsam                  |
| `no such file or directory`                  | Socket-Datei oder Pfad fehlt                  |
| `permission denied`                          | Rechteproblem                                 |
| `bad gateway`                                | Backend liefert keine passende Antwort        |

Wenn du eine dieser Meldungen findest, kannst du die Ursache meist direkt eingrenzen.

### Schritt-für-Schritt Fehlerbehebung

Gehe bei einem 502 Fehler am besten in dieser Reihenfolge vor:

1. Prüfe, ob der Fehler bei allen Seiten auftritt.
2. Prüfe den Webserver-Status.
3. Teste die Webserver-Konfiguration.
4. Prüfe die Error-Logs.
5. Prüfe den Backend-Dienst.
6. Prüfe PHP-FPM, Node.js, Docker oder die jeweilige Anwendung.
7. Prüfe interne Ports oder Socket-Dateien.
8. Prüfe Speicherplatz und Arbeitsspeicher.
9. Prüfe Änderungen oder Updates.
10. Starte betroffene Dienste neu.

### Dienste neu starten

Wenn du die Ursache eingegrenzt hast, kannst du die betroffenen Dienste neu starten.

Nginx:

`systemctl restart nginx`

Apache:

`systemctl restart apache2`

PHP-FPM:

`systemctl restart php8.2-fpm`

Node.js mit PM2:

`pm2 restart all`

Docker Compose:

`docker compose restart`

Starte nicht blind alle Dienste neu, ohne Logs zu prüfen. Sonst verschwinden wichtige Hinweise aus aktiven Prozessen.

### Wenn du Plesk oder ein Webpanel nutzt

Wenn du ein Webpanel wie Plesk, aaPanel oder ein anderes Verwaltungspanel nutzt, kann der 502 Fehler auch durch die Panel-Konfiguration entstehen.

Prüfe dort:

* Webserver-Einstellungen
* PHP-Version
* PHP-FPM Status
* Domain-Konfiguration
* SSL-Einstellungen
* Proxy-Einstellungen
* Logs der Domain

Ändere keine Einstellungen, wenn du nicht sicher bist, welche Funktion sie haben.

### Support kontaktieren

Wenn du den Fehler nicht selbst beheben kannst, kontaktiere den Support.

Gib dabei möglichst genau an:

* betroffene Domain
* Server-IP
* Betriebssystem
* verwendeter Webserver
* verwendete Anwendung
* seit wann der Fehler auftritt
* ob vorher Änderungen vorgenommen wurden
* relevante Fehlermeldungen aus den Logs
* ob du PHP-FPM, Node.js, Docker oder ein Webpanel nutzt

Sende keine Passwörter, privaten SSH-Keys, API-Tokens oder andere geheime Zugangsdaten an den Support.


# Windows


# Verbindung per Remote Desktop

In diesem Artikel erklären wir dir, wie du dich per Remote Desktop mit deinem Windows KVM-Server verbindest.

Remote Desktop wird häufig mit **RDP** abgekürzt. RDP steht für **Remote Desktop Protocol**. Damit kannst du deinen Windows Server über eine grafische Oberfläche bedienen, ähnlich wie einen normalen Windows-PC.

### Voraussetzungen

Für die Verbindung benötigst du:

* einen Windows KVM-Server
* die IP-Adresse deines Servers
* den Benutzernamen
* das Administrator-Passwort
* ein Remote-Desktop-Programm
* eine aktive Internetverbindung

Die benötigten Zugangsdaten findest du im Serverpanel oder in den Informationen zu deinem Dienst.

### Serverpanel und Windows-Zugang unterscheiden

Das Passwort für das Serverpanel ist nicht automatisch das Passwort für deinen Windows Server.

Es gibt zwei unterschiedliche Zugänge:

| Zugang                | Zweck                                      |
| --------------------- | ------------------------------------------ |
| Serverpanel           | Verwaltung des Servers von außen           |
| Windows Administrator | Anmeldung direkt am Windows Betriebssystem |

Wenn du dich im Serverpanel anmelden kannst, bedeutet das nicht automatisch, dass dieselben Zugangsdaten auch für Remote Desktop funktionieren.

### IP-Adresse finden

Die IP-Adresse deines Servers findest du im Serverpanel.

1. Öffne `https://server.instantroot.de/`.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Suche nach der IP-Adresse oder den Netzwerkinformationen.

Eine IP-Adresse sieht zum Beispiel so aus: `123.123.123.123`

### Benutzername für Windows Server

Bei Windows Server ist der Benutzername häufig:

`Administrator`

Je nach Installation oder Vorlage kann der Benutzername abweichen. Prüfe deshalb die Zugangsdaten im Serverpanel.

Achte bei der Eingabe auf die genaue Schreibweise.

### Mit Windows verbinden

Unter Windows ist das Remote-Desktop-Programm bereits enthalten.

1. Öffne das Startmenü.
2. Suche nach **Remotedesktopverbindung**.
3. Öffne die Anwendung.
4. Trage bei **Computer** die IP-Adresse deines Servers ein.
5. Klicke auf **Verbinden**.
6. Gib den Benutzernamen ein.
7. Gib das Passwort ein.
8. Bestätige die Verbindung.

Wenn eine Sicherheitswarnung zum Zertifikat erscheint, kannst du sie bestätigen, wenn du sicher bist, dass du dich mit deinem eigenen Server verbindest.

### Mit macOS verbinden

Unter macOS kannst du die App **Microsoft Remote Desktop** verwenden.

1. Öffne den App Store.
2. Installiere **Microsoft Remote Desktop**.
3. Öffne die App.
4. Füge eine neue PC-Verbindung hinzu.
5. Trage als PC-Namen die IP-Adresse deines Servers ein.
6. Gib bei Bedarf den Benutzernamen und das Passwort ein.
7. Speichere die Verbindung.
8. Starte die Verbindung.

Der Benutzername lautet häufig `Administrator`.

### Mit Linux verbinden

Unter Linux kannst du zum Beispiel Remmina verwenden.

1. Installiere Remmina über die Paketverwaltung deiner Distribution.
2. Öffne Remmina.
3. Wähle als Protokoll **RDP** aus.
4. Trage die IP-Adresse deines Servers ein.
5. Gib den Benutzernamen ein.
6. Gib das Passwort ein.
7. Starte die Verbindung.

Je nach Distribution kann auch ein anderes RDP-Programm verwendet werden.

### Mit Smartphone oder Tablet verbinden

Auch mit einem Smartphone oder Tablet kannst du dich per Remote Desktop verbinden.

Dafür kannst du die Microsoft Remote Desktop App verwenden.

1. Installiere die App auf deinem Gerät.
2. Füge eine neue Verbindung hinzu.
3. Trage die IP-Adresse deines Servers ein.
4. Gib Benutzername und Passwort ein.
5. Starte die Verbindung.

Für längere Arbeiten ist ein Computer mit Tastatur und Maus meistens angenehmer.

### Standardport für RDP

Remote Desktop verwendet normalerweise den Port `3389`.

In den meisten Fällen musst du den Port nicht extra angeben.

Wenn ein anderer Port verwendet wird, wird dieser hinter die IP-Adresse geschrieben.

Beispiel: `123.123.123.123:3389`

### Erste Anmeldung

Bei der ersten Anmeldung kann Windows einige Minuten benötigen, um das Benutzerprofil vorzubereiten.

Das ist normal.

Schließe die Verbindung währenddessen nicht sofort, sondern warte, bis der Desktop vollständig geladen ist.

### Passwort richtig eingeben

Achte bei der Passworteingabe auf:

* Groß- und Kleinschreibung
* Sonderzeichen
* Tastaturlayout
* keine Leerzeichen am Anfang oder Ende
* keine automatisch eingefügten Zeichen

Wenn dein Passwort Sonderzeichen enthält, kann ein falsches Tastaturlayout dazu führen, dass andere Zeichen eingegeben werden.

### Tastaturlayout beachten

Bei frischen Windows-Installationen kann das Tastaturlayout abweichen.

Wenn ein Passwort nicht funktioniert, obwohl es korrekt aussieht, prüfe besonders Sonderzeichen.

Beispiele:

| Zeichen       | Problem                                                    |
| ------------- | ---------------------------------------------------------- |
| `z` und `y`   | können bei deutschem und englischem Layout vertauscht sein |
| `@`           | liegt je nach Layout auf anderer Tastenkombination         |
| `\`           | kann je nach Layout anders eingegeben werden               |
| Sonderzeichen | können anders belegt sein                                  |

Wenn möglich, kopiere das Passwort direkt aus dem Serverpanel. Achte dabei darauf, keine Leerzeichen mitzukopieren.

### Häufige Probleme

#### Remote Desktop kann keine Verbindung herstellen

Prüfe zuerst:

* Ist der Server eingeschaltet?
* Ist Windows vollständig gestartet?
* Ist die IP-Adresse korrekt?
* Ist RDP auf dem Server aktiviert?
* Blockiert die Windows-Firewall die Verbindung?
* Verwendest du den richtigen Port?
* Gibt es eine aktive Internetverbindung?

Wenn der Server gerade neu installiert wurde, kann der erste Start einige Minuten dauern.

#### Benutzername oder Passwort falsch

Prüfe:

* verwendest du den richtigen Benutzernamen?
* lautet der Benutzername wirklich `Administrator`?
* verwendest du das Windows-Passwort und nicht das Serverpanel-Passwort?
* wurde das Passwort korrekt kopiert?
* gibt es Probleme mit dem Tastaturlayout?

Setze das Passwort im Serverpanel oder über die vorgesehenen Funktionen zurück, falls diese verfügbar sind.

#### Zertifikatswarnung erscheint

Beim Verbinden per Remote Desktop kann eine Zertifikatswarnung erscheinen.

Das bedeutet meistens, dass Windows ein selbstsigniertes Zertifikat für die RDP-Verbindung verwendet.

Wenn du sicher bist, dass du dich mit deinem eigenen Server verbindest, kannst du die Warnung bestätigen.

#### Verbindung bricht direkt wieder ab

Mögliche Ursachen:

* Windows ist noch nicht vollständig gestartet
* Server ist überlastet
* Updates werden installiert
* RDP-Dienst startet nicht korrekt
* Firewall-Regeln blockieren die Verbindung
* falsche Zugangsdaten wurden mehrfach verwendet

Warte einige Minuten und versuche es erneut.

#### Schwarzer Bildschirm nach dem Login

Ein schwarzer Bildschirm kann auftreten, wenn Windows noch lädt oder ein Prozess hängt.

Versuche:

* einige Minuten warten
* Verbindung trennen und erneut verbinden
* Server über das Serverpanel neu starten
* VNC-Konsole prüfen, falls verfügbar

#### RDP-Port ist nicht erreichbar

Wenn der Port `3389` nicht erreichbar ist, kann RDP nicht funktionieren.

Mögliche Ursachen:

* Windows-Firewall blockiert RDP
* RDP wurde deaktiviert
* Server ist nicht gestartet
* Netzwerk ist falsch konfiguriert
* ein anderer Port wird verwendet

Nutze in diesem Fall die VNC-Konsole im Serverpanel, um direkt auf den Server zuzugreifen und die Einstellungen zu prüfen.

### VNC-Konsole als Notzugang

Wenn Remote Desktop nicht funktioniert, kann die VNC-Konsole im Serverpanel helfen.

Die VNC-Konsole ist ein direkter Zugriff auf den Bildschirm deines Servers. Sie funktioniert unabhängig von RDP.

Sie ist besonders hilfreich, wenn:

* RDP deaktiviert wurde
* die Firewall falsch konfiguriert ist
* der Server beim Start hängen bleibt
* Windows eine Fehlermeldung anzeigt
* Netzwerkeinstellungen falsch gesetzt wurden

### Sicherheit bei Remote Desktop

Remote Desktop sollte sicher verwendet werden, da es direkten Zugriff auf deinen Server ermöglicht.

Empfehlungen:

* verwende ein starkes Administrator-Passwort
* ändere Standardpasswörter nach der ersten Anmeldung
* installiere regelmäßig Windows Updates
* öffne nur benötigte Ports
* beschränke RDP-Zugriff, wenn möglich
* erstelle regelmäßig Backups
* gib Zugangsdaten nicht an Dritte weiter

### Support kontaktieren

Wenn die Verbindung weiterhin nicht funktioniert, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* IP-Adresse des Servers
* verwendetes Betriebssystem
* verwendetes Gerät: Windows, macOS, Linux, Smartphone oder Tablet
* verwendetes Remote-Desktop-Programm
* genaue Fehlermeldung
* ob der Server im Serverpanel als online angezeigt wird
* ob die VNC-Konsole funktioniert
* was du bereits versucht hast

Sende niemals Passwörter oder private Zugangsdaten an den Support.


# RDP-Verbindung funktioniert nicht

Wenn du dich nicht per Remote Desktop mit deinem Windows KVM-Server verbinden kannst, kann das mehrere Ursachen haben. Häufig liegt es an falschen Zugangsdaten, einem nicht gestarteten Server, einer blockierenden Firewall, einem falschen Port oder daran, dass Windows noch nicht vollständig hochgefahren ist.

In diesem Artikel zeigen wir dir, wie du die häufigsten Ursachen Schritt für Schritt prüfst.

### Was ist RDP?

RDP steht für **Remote Desktop Protocol**.

Mit RDP kannst du dich auf einen Windows Server verbinden und ihn über eine grafische Oberfläche bedienen. Du siehst also den Desktop des Servers so, als würdest du direkt davor sitzen.

Für eine RDP-Verbindung brauchst du normalerweise:

* die IP-Adresse deines Servers
* den RDP-Port
* den Benutzernamen
* das Passwort
* einen Remote-Desktop-Client

Der Standardport für RDP ist `3389`.

### Voraussetzungen

Bevor du nach einem Fehler suchst, prüfe zuerst die Grundlagen:

* Der Server muss eingeschaltet sein.
* Windows muss vollständig gestartet sein.
* Die IP-Adresse muss korrekt sein.
* Der RDP-Port muss erreichbar sein.
* Der Benutzername muss korrekt sein.
* Das Passwort muss korrekt sein.
* Remote Desktop muss in Windows aktiviert sein.
* Die Windows Firewall darf die Verbindung nicht blockieren.

### Serverstatus im Serverpanel prüfen

Öffne zuerst das Serverpanel.

1. Melde dich im Serverpanel an.
2. Wähle deinen KVM-Server aus.
3. Prüfe den Status des Servers.
4. Starte den Server, falls er ausgeschaltet ist.
5. Warte einige Minuten, bis Windows vollständig gestartet ist.

Ein Windows Server kann nach einem Neustart etwas Zeit benötigen, bis RDP erreichbar ist. Direkt nach dem Start kann es deshalb vorkommen, dass die Verbindung noch fehlschlägt.

### IP-Adresse prüfen

Verwende die IP-Adresse, die im Serverpanel angezeigt wird.

Achte darauf, keine Leerzeichen oder falschen Zeichen zu kopieren.

Beispiel: `123.123.123.123`

Wenn du einen eigenen RDP-Port verwendest, gib die Adresse mit Port an.

Beispiel: `123.123.123.123:3389`

Wenn du den Standardport nicht geändert hast, reicht meistens die IP-Adresse ohne Port.

### Benutzername prüfen

Bei Windows Server ist der Benutzername häufig:

`Administrator`

Achte auf die genaue Schreibweise.

Wenn du einen eigenen Benutzer erstellt hast, musst du diesen Benutzernamen verwenden.

Bei manchen Remote-Desktop-Clients kann es nötig sein, den Benutzernamen mit einem führenden Punkt anzugeben.

Beispiel: `.\Administrator`

Das bedeutet, dass der lokale Administrator-Benutzer auf dem Server verwendet wird.

### Passwort prüfen

Prüfe, ob du das richtige Windows-Administrator-Passwort verwendest.

Wichtig: Das Passwort für Windows ist nicht automatisch dasselbe wie dein Passwort für das Kundenportal oder das Serverpanel.

| Zugang                | Zweck                                |
| --------------------- | ------------------------------------ |
| Kundenportal-Passwort | Login im Kundenportal                |
| Serverpanel-Passwort  | Login im Serverpanel                 |
| Windows-Passwort      | Login per RDP auf dem Windows Server |

Wenn du das Windows-Passwort geändert hast, musst du das neue Passwort verwenden.

### Remote-Desktop-Client verwenden

Unter Windows kannst du die App **Remotedesktopverbindung** verwenden.

1. Öffne das Startmenü.
2. Suche nach **Remotedesktopverbindung**.
3. Gib die IP-Adresse deines Servers ein.
4. Klicke auf **Verbinden**.
5. Gib Benutzername und Passwort ein.

Unter macOS kannst du die App **Microsoft Remote Desktop** aus dem App Store verwenden.

Unter Linux kannst du zum Beispiel Remmina verwenden.

### Häufige Fehlermeldungen

#### Remote Desktop can't connect to the remote computer

Diese Meldung bedeutet, dass der Remote-Desktop-Client keine Verbindung zum Server herstellen konnte.

Mögliche Ursachen:

* Server ist ausgeschaltet
* Windows ist noch nicht vollständig gestartet
* falsche IP-Adresse
* RDP ist deaktiviert
* RDP-Port ist blockiert
* Firewall blockiert die Verbindung
* Netzwerkproblem

Prüfe zuerst den Serverstatus im Serverpanel und warte nach einem Neustart einige Minuten.

#### The credentials did not work

Diese Meldung bedeutet, dass Benutzername oder Passwort nicht akzeptiert wurden.

Prüfe:

* ist der Benutzername korrekt?
* verwendest du `Administrator` oder deinen eigenen Benutzer?
* ist das Passwort korrekt?
* wurde das Passwort kürzlich geändert?
* ist die Tastaturbelegung korrekt?
* nutzt du versehentlich das Serverpanel-Passwort statt des Windows-Passworts?

Teste auch den Benutzernamen `.\Administrator`.

#### Your credentials did not work

Diese Meldung ist ähnlich wie `The credentials did not work`.

Häufig liegt es daran, dass Windows den Benutzer falsch interpretiert.

Versuche als Benutzername:

`Administrator`

oder:

`.\Administrator`

Wenn du eine Domain oder Arbeitsgruppe konfiguriert hast, kann auch ein anderer Benutzername erforderlich sein.

#### An authentication error has occurred

Diese Meldung kann durch Sicherheits- oder Verschlüsselungseinstellungen entstehen.

Mögliche Ursachen:

* veralteter RDP-Client
* Windows Updates fehlen
* Network Level Authentication ist aktiv
* falsche Sicherheitsrichtlinie
* beschädigte RDP-Konfiguration

Prüfe, ob dein Remote-Desktop-Client aktuell ist. Versuche außerdem die Verbindung von einem anderen Gerät.

#### CredSSP encryption oracle remediation

Diese Meldung tritt häufig auf, wenn Client und Server unterschiedliche Sicherheitsupdates oder RDP-Einstellungen verwenden.

Lösungen:

* Windows Updates auf Client und Server installieren
* anderen RDP-Client testen
* Verbindung über die VNC-Konsole prüfen
* RDP-Konfiguration auf dem Server kontrollieren

### RDP über die VNC-Konsole prüfen

Wenn RDP nicht funktioniert, kannst du dich über die VNC-Konsole im Serverpanel auf den Server schalten.

Die VNC-Konsole ist hilfreich, wenn du den Server nicht über das Netzwerk erreichst.

Dort kannst du prüfen:

* ist Windows vollständig gestartet?
* erscheint ein Loginbildschirm?
* ist Remote Desktop aktiviert?
* blockiert die Windows Firewall?
* ist die IP-Konfiguration korrekt?
* gibt es Fehlermeldungen?
* laufen Windows Updates?
* hängt der Server beim Booten?

### Remote Desktop in Windows aktivieren

Wenn du Zugriff über die VNC-Konsole hast, prüfe, ob Remote Desktop aktiviert ist.

1. Öffne die Windows-Einstellungen.
2. Gehe zu **System**.
3. Öffne **Remote Desktop**.
4. Aktiviere Remote Desktop.
5. Bestätige die Änderung.

Alternativ kannst du über die Systemsteuerung prüfen, ob Remoteverbindungen erlaubt sind.

### Windows Firewall prüfen

Die Windows Firewall kann RDP blockieren.

So prüfst du die Firewall:

1. Öffne die Windows Defender Firewall.
2. Öffne **Eine App oder ein Feature durch die Windows Defender Firewall zulassen**.
3. Suche nach **Remotedesktop**.
4. Prüfe, ob Remotedesktop erlaubt ist.
5. Speichere die Änderung.

Du kannst auch die erweiterten Firewall-Regeln prüfen:

1. Öffne **Windows Defender Firewall mit erweiterter Sicherheit**.
2. Öffne **Eingehende Regeln**.
3. Suche nach Regeln für **Remote Desktop**.
4. Aktiviere die passenden Regeln.

### RDP-Port prüfen

Der Standardport für RDP ist `3389`.

Wenn du den Port geändert hast, musst du beim Verbinden den neuen Port angeben.

Beispiel: `123.123.123.123:3390`

Prüfe auch, ob die Windows Firewall den neuen Port erlaubt.

Wenn der RDP-Port falsch eingetragen ist, schlägt die Verbindung fehl.

### RDP-Dienst prüfen

Der Remote-Desktop-Dienst muss auf dem Server laufen.

Über die VNC-Konsole kannst du prüfen, ob der Dienst aktiv ist.

1. Öffne **Dienste**.
2. Suche nach **Remote Desktop Services**.
3. Prüfe, ob der Dienst gestartet ist.
4. Starte den Dienst bei Bedarf neu.

Alternativ kannst du in PowerShell prüfen:

`Get-Service TermService`

Dienst starten:

`Start-Service TermService`

### Netzwerk prüfen

Wenn der Server läuft und RDP aktiviert ist, kann trotzdem ein Netzwerkproblem vorliegen.

Prüfe zuerst, ob der Server grundsätzlich erreichbar ist.

Unter Windows kannst du in der Eingabeaufforderung testen:

`ping SERVER-IP`

Beispiel: `ping 123.123.123.123`

Ein fehlender Ping bedeutet nicht immer, dass der Server offline ist. Ping kann durch Firewall-Regeln blockiert sein. Trotzdem hilft der Test bei der ersten Einschätzung.

### Port von außen testen

Du kannst prüfen, ob der RDP-Port von außen erreichbar ist.

Unter Windows PowerShell:

`Test-NetConnection SERVER-IP -Port 3389`

Beispiel: `Test-NetConnection 123.123.123.123 -Port 3389`

Wenn der Test fehlschlägt, ist der Port möglicherweise blockiert oder RDP läuft nicht.

### Nach Windows Updates warten

Nach Windows Updates kann der Server länger brauchen, bis RDP wieder erreichbar ist.

Typische Anzeichen:

* Verbindung schlägt direkt nach Neustart fehl
* Server ist im Serverpanel online
* VNC zeigt Update-Bildschirm
* Windows startet mehrfach neu

Warte in diesem Fall einige Minuten und prüfe den Status über die VNC-Konsole.

### Passwort mit falscher Tastaturbelegung

Manchmal wird ein Passwort falsch eingegeben, weil die Tastaturbelegung anders ist.

Das betrifft besonders Sonderzeichen wie:

* `z` und `y`
* `@`
* `!`
* `?`
* `#`
* `-`
* `_`

Wenn dein Passwort Sonderzeichen enthält und nicht funktioniert, prüfe die Tastaturbelegung oder ändere das Passwort über die VNC-Konsole.

### Zu viele fehlgeschlagene Loginversuche

Nach vielen falschen Loginversuchen kann ein Benutzerkonto vorübergehend gesperrt werden.

Warte einige Minuten oder prüfe den Benutzerstatus über die VNC-Konsole.

Wenn du Zugriff auf Windows hast, kannst du lokale Benutzer und Gruppen prüfen.

### RDP-Verbindung bricht direkt ab

Wenn die Verbindung kurz aufgebaut wird und danach sofort abbricht, können folgende Ursachen vorliegen:

* Benutzer hat keine Berechtigung für Remote Desktop
* RDP-Sitzung ist beschädigt
* Windows Updates laufen
* zu viele Sitzungen aktiv
* Server hat zu wenig RAM
* Dienst startet nicht korrekt
* Sicherheitsrichtlinie blockiert den Login

Starte den Server einmal neu und prüfe danach die Ereignisanzeige.

### Ereignisanzeige prüfen

Die Windows Ereignisanzeige kann Hinweise auf RDP-Probleme geben.

1. Öffne die Ereignisanzeige.
2. Prüfe **Windows-Protokolle**.
3. Prüfe besonders **System** und **Sicherheit**.
4. Suche nach Fehlern zum Zeitpunkt des Loginversuchs.

Hilfreiche Hinweise können sein:

* fehlgeschlagene Anmeldung
* Dienstfehler
* Netzwerkfehler
* Sicherheitsrichtlinien
* Benutzerrechte

### RDP-Benutzerrechte prüfen

Nicht jeder Benutzer darf sich automatisch per RDP anmelden.

Der Benutzer muss entweder Administrator sein oder Mitglied der Gruppe **Remotedesktopbenutzer**.

So prüfst du das:

1. Öffne **Computerverwaltung**.
2. Gehe zu **Lokale Benutzer und Gruppen**.
3. Öffne **Gruppen**.
4. Öffne **Remotedesktopbenutzer**.
5. Füge den gewünschten Benutzer hinzu.

Administratoren dürfen sich normalerweise per RDP anmelden.

### Wenn du dich ausgesperrt hast

Wenn du dich durch Firewall-Regeln, Portänderungen oder falsche RDP-Einstellungen ausgesperrt hast, nutze die VNC-Konsole im Serverpanel.

Über VNC kannst du:

* Firewall-Regeln korrigieren
* Remote Desktop wieder aktivieren
* RDP-Port zurücksetzen
* Benutzerrechte prüfen
* Server neu starten
* Updates abschließen

### Neuinstallation als letzte Möglichkeit

Wenn Windows beschädigt ist, RDP nicht mehr repariert werden kann oder du keinen Zugriff mehr bekommst, kann eine Neuinstallation helfen.

Wichtig: Bei einer Neuinstallation werden vorhandene Daten in der Regel gelöscht.

Erstelle vorher ein Backup, wenn du noch Daten benötigst.


# Ports unter Windows öffnen

Wenn ein Dienst auf deinem Windows Server von außen erreichbar sein soll, muss der passende Port in der Windows-Firewall freigegeben sein.

In diesem Artikel erklären wir dir, wie du einen Port unter Windows Server öffnest und worauf du dabei achten solltest.

### Was ist ein Port?

Ein Port ist eine Nummer, über die ein bestimmter Dienst auf deinem Server erreichbar ist.

Die IP-Adresse führt zum Server. Der Port führt zum passenden Dienst auf diesem Server.

Beispiel:

* Die IP-Adresse zeigt auf deinen Server.
* Der Port `3389` wird für Remote Desktop verwendet.
* Der Port `80` wird für HTTP-Webseiten verwendet.
* Der Port `443` wird für HTTPS-Webseiten verwendet.

Wenn ein Dienst läuft, der Port aber in der Firewall blockiert ist, kann der Dienst von außen nicht erreicht werden.

### Wann muss ich einen Port öffnen?

Du musst einen Port öffnen, wenn ein Programm oder Dienst Verbindungen von außen annehmen soll.

Typische Beispiele:

| Port    | Dienst             |
| ------- | ------------------ |
| `80`    | HTTP-Webserver     |
| `443`   | HTTPS-Webserver    |
| `3389`  | Remote Desktop     |
| `25565` | Minecraft Java     |
| `19132` | Minecraft Bedrock  |
| `30120` | FiveM              |
| `9987`  | TeamSpeak Voice    |
| `3306`  | MySQL oder MariaDB |
| `5432`  | PostgreSQL         |

Öffne nur Ports, die du wirklich brauchst.

### Wichtiger Hinweis zu Remote Desktop

Der Standardport für Remote Desktop ist `3389`.

Diesen Port solltest du nicht versehentlich blockieren, wenn du per RDP mit deinem Server verbunden bist.

**Wichtig:** Wenn du die Windows-Firewall falsch konfigurierst, kannst du dich möglicherweise nicht mehr per Remote Desktop verbinden. Nutze in diesem Fall die VNC-Konsole oder den Konsolenzugriff im Serverpanel, falls verfügbar.

### Prüfen, ob der Dienst läuft

Bevor du einen Port öffnest, solltest du prüfen, ob der zugehörige Dienst überhaupt läuft.

Ein geöffneter Port bringt nichts, wenn keine Anwendung auf diesem Port lauscht.

Beispiele:

* Ein Webserver muss laufen, damit Port `80` oder `443` erreichbar ist.
* Ein Minecraft Server muss laufen, damit Port `25565` erreichbar ist.
* Ein TeamSpeak Server muss laufen, damit Port `9987` erreichbar ist.

### Port über die Windows Defender Firewall öffnen

Die einfachste Methode ist die Windows Defender Firewall mit erweiterter Sicherheit.

### Windows Defender Firewall öffnen

1. Verbinde dich per Remote Desktop mit deinem Windows Server.
2. Öffne das Startmenü.
3. Suche nach **Windows Defender Firewall mit erweiterter Sicherheit**.
4. Öffne das Programm.

Alternativ kannst du das Fenster über **Ausführen** öffnen:

1. Drücke `Windows-Taste + R`.
2. Gib `wf.msc` ein.
3. Bestätige mit **Enter**.

### Eingehende Regel erstellen

Eine eingehende Regel erlaubt Verbindungen von außen zu deinem Server.

1. Klicke links auf **Eingehende Regeln**.
2. Klicke rechts auf **Neue Regel**.
3. Wähle **Port** aus.
4. Klicke auf **Weiter**.
5. Wähle **TCP** oder **UDP**.
6. Trage den gewünschten Port ein.
7. Klicke auf **Weiter**.
8. Wähle **Verbindung zulassen**.
9. Klicke auf **Weiter**.
10. Wähle die passenden Profile aus.
11. Klicke auf **Weiter**.
12. Vergib einen Namen für die Regel.
13. Klicke auf **Fertig stellen**.

### TCP oder UDP auswählen

Viele Programme verwenden entweder TCP, UDP oder beides.

| Protokoll   | Typische Verwendung                                      |
| ----------- | -------------------------------------------------------- |
| TCP         | Webseiten, Remote Desktop, Datenbanken, viele Webdienste |
| UDP         | Gameserver, Voice-Server, Echtzeitdienste                |
| TCP und UDP | manche Gameserver oder spezielle Anwendungen             |

Wenn du nicht weißt, welches Protokoll dein Dienst nutzt, prüfe die Dokumentation der Anwendung.

Beispiele:

| Dienst            | Port    | Protokoll   |
| ----------------- | ------- | ----------- |
| HTTP              | `80`    | TCP         |
| HTTPS             | `443`   | TCP         |
| Remote Desktop    | `3389`  | TCP         |
| Minecraft Java    | `25565` | TCP         |
| Minecraft Bedrock | `19132` | UDP         |
| FiveM             | `30120` | UDP und TCP |
| TeamSpeak Voice   | `9987`  | UDP         |
| MySQL             | `3306`  | TCP         |

### Einzelnen Port öffnen

Wenn du nur einen Port öffnen möchtest, trägst du im Feld **Bestimmte lokale Ports** nur diese Portnummer ein.

Beispiel:

`25565`

Das öffnet genau diesen Port.

### Mehrere Ports öffnen

Mehrere Ports kannst du mit Komma trennen.

Beispiel:

`80,443,25565`

Damit werden die Ports `80`, `443` und `25565` geöffnet.

### Portbereich öffnen

Einen Portbereich kannst du mit Bindestrich eintragen.

Beispiel:

`27015-27020`

Damit werden alle Ports von `27015` bis `27020` geöffnet.

Öffne keine großen Portbereiche, wenn du sie nicht wirklich brauchst.

### Profile auswählen

Beim Erstellen einer Firewall-Regel fragt Windows nach Profilen.

Es gibt meistens:

* Domäne
* Privat
* Öffentlich

Auf einem Server solltest du in der Regel das Profil auswählen, das für deine aktive Netzwerkverbindung verwendet wird. Häufig ist das **Öffentlich**.

Wenn du unsicher bist, kannst du zunächst alle Profile auswählen. Besser ist jedoch eine bewusst gesetzte Regel für das passende Profil.

### Regel benennen

Vergib einen klaren Namen für die Regel.

Gute Beispiele:

* `Minecraft Java 25565 TCP`
* `Webserver HTTP 80 TCP`
* `Webserver HTTPS 443 TCP`
* `FiveM 30120 TCP UDP`
* `TeamSpeak 9987 UDP`

Ein eindeutiger Name hilft dir später, die Regel wiederzufinden.

### UDP-Port öffnen

Wenn dein Dienst UDP benötigt, musst du beim Erstellen der Regel **UDP** auswählen.

Beispiel für Minecraft Bedrock:

* Protokoll: UDP
* Port: `19132`
* Aktion: Verbindung zulassen

Wenn ein Dienst TCP und UDP benötigt, erstelle am besten zwei getrennte Regeln:

* eine Regel für TCP
* eine Regel für UDP

### Port über PowerShell öffnen

Du kannst Ports auch über PowerShell freigeben.

Öffne PowerShell als Administrator.

Beispiel für TCP-Port `25565`:

`New-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow`

Beispiel für UDP-Port `19132`:

`New-NetFirewallRule -DisplayName "Minecraft Bedrock 19132 UDP" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow`

Beispiel für HTTP und HTTPS:

`New-NetFirewallRule -DisplayName "Webserver HTTP 80 TCP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow`

`New-NetFirewallRule -DisplayName "Webserver HTTPS 443 TCP" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow`

### Bestehende Regeln anzeigen

Mit PowerShell kannst du vorhandene Firewall-Regeln prüfen.

Beispiel:

`Get-NetFirewallRule`

Regeln nach Namen suchen:

`Get-NetFirewallRule -DisplayName "*Minecraft*"`

Details zu einer Regel anzeigen:

`Get-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP" | Get-NetFirewallPortFilter`

### Firewall-Regel deaktivieren

Wenn du eine Regel vorübergehend deaktivieren möchtest, kannst du sie in der Windows Firewall deaktivieren oder PowerShell verwenden.

Beispiel:

`Disable-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

### Firewall-Regel wieder aktivieren

Beispiel:

`Enable-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

### Firewall-Regel löschen

Wenn du eine Regel nicht mehr brauchst, kannst du sie löschen.

Beispiel:

`Remove-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

Lösche nur Regeln, bei denen du sicher bist, dass sie nicht mehr benötigt werden.

### Prüfen, ob ein Port lokal offen ist

Du kannst prüfen, ob eine Anwendung lokal auf einem Port lauscht.

Öffne PowerShell oder die Eingabeaufforderung und nutze:

`netstat -ano`

Wenn du nach einem bestimmten Port suchen möchtest:

`netstat -ano | findstr :25565`

Wenn der Dienst läuft, solltest du einen Eintrag mit `LISTENING` sehen.

### Prüfen, welcher Prozess den Port nutzt

In der Ausgabe von `netstat -ano` siehst du rechts eine Prozess-ID.

Mit dieser ID kannst du im Task-Manager oder per PowerShell prüfen, welches Programm den Port nutzt.

Beispiel:

`tasklist | findstr PROZESS-ID`

Ersetze `PROZESS-ID` durch die angezeigte Nummer.

### Port von außen testen

Ein lokal offener Port bedeutet nicht automatisch, dass er von außen erreichbar ist.

Damit ein Port von außen erreichbar ist, müssen mehrere Dinge stimmen:

* Dienst läuft auf dem Server
* Dienst lauscht auf der richtigen IP-Adresse
* Windows-Firewall erlaubt den Port
* Anwendung ist korrekt konfiguriert
* keine weitere Firewall blockiert die Verbindung
* der richtige TCP- oder UDP-Port wird getestet

Teste den Port nach Möglichkeit von einem anderen Netzwerk aus.

### Häufige Probleme

#### Port ist geöffnet, aber Dienst nicht erreichbar

Prüfe:

* Läuft der Dienst wirklich?
* Lauscht der Dienst auf dem richtigen Port?
* Nutzt der Dienst TCP oder UDP?
* Ist die Windows-Firewall-Regel aktiv?
* Wurde der richtige Port geöffnet?
* Gibt es eine zweite Firewall in der Anwendung?
* Ist die Anwendung korrekt gestartet?

#### Falsches Protokoll gewählt

Ein häufiger Fehler ist, TCP zu öffnen, obwohl der Dienst UDP nutzt.

Beispiel:

Minecraft Bedrock nutzt standardmäßig UDP auf Port `19132`.

Wenn du nur TCP `19132` öffnest, funktioniert die Verbindung nicht.

#### Regel für falsches Profil erstellt

Wenn die Firewall-Regel nur für ein nicht aktives Profil gilt, kann der Port weiterhin blockiert sein.

Prüfe deshalb, ob die Regel für das aktive Profil gilt.

#### Dienst lauscht nur lokal

Manche Anwendungen lauschen nur auf `127.0.0.1`.

Dann ist der Dienst nur lokal auf dem Server erreichbar, aber nicht von außen.

Prüfe die Konfiguration der Anwendung und stelle sicher, dass sie auf der externen IP-Adresse oder auf `0.0.0.0` lauscht.

#### Port wird bereits verwendet

Wenn ein anderer Dienst den Port bereits nutzt, kann deine Anwendung nicht starten oder ist nicht erreichbar.

Prüfe mit:

`netstat -ano | findstr :PORT`

Ersetze `PORT` durch die gewünschte Portnummer.

#### RDP funktioniert nach Firewall-Änderung nicht mehr

Wenn du dich nach einer Firewall-Änderung nicht mehr per Remote Desktop verbinden kannst, wurde möglicherweise Port `3389` blockiert oder die falsche Regel geändert.

Nutze in diesem Fall den Konsolenzugriff oder die VNC-Konsole im Serverpanel, falls verfügbar.

### Sicherheit

Öffne nur Ports, die du wirklich benötigst.

Jeder offene Port kann ein mögliches Angriffsziel sein, wenn der dahinterliegende Dienst unsicher oder veraltet ist.

Achte besonders auf:

* starke Passwörter
* aktuelle Software
* keine unnötigen Dienste
* keine öffentlich erreichbaren Datenbanken, wenn nicht nötig
* regelmäßige Updates
* saubere Firewall-Regeln

Datenbankports wie `3306` oder `5432` sollten nur öffentlich erreichbar sein, wenn du genau weißt, was du tust und zusätzliche Sicherheitsmaßnahmen eingerichtet hast.


# Windows Server einrichten

In diesem Artikel erklären wir dir, wie du deinen Windows Server auf einem KVM-Server einrichtest, dich per Remote Desktop verbindest und die wichtigsten Grundeinstellungen vornimmst.

Windows Server eignet sich besonders, wenn du eine grafische Oberfläche benötigst oder Software verwenden möchtest, die für Windows entwickelt wurde.

### Voraussetzungen

Bevor du beginnst, benötigst du:

* einen aktiven KVM-Server
* Zugriff auf das Serverpanel
* die IP-Adresse deines Servers
* das Administrator-Passwort
* einen Remote-Desktop-Client
* eine installierte Windows-Server-Version

Wenn Windows Server noch nicht installiert ist, musst du das Betriebssystem zuerst über das Serverpanel installieren.

### Windows Server im Serverpanel installieren

Die Installation erfolgt über das Serverpanel.

1. Öffne `https://server.instantroot.de/`.
2. Melde dich mit deiner E-Mail-Adresse und deinem Passwort an.
3. Wähle deinen KVM-Server aus.
4. Öffne den Bereich für Neuinstallation oder Betriebssystem.
5. Wähle eine verfügbare Windows-Server-Version aus.
6. Starte die Installation.
7. Warte, bis die Installation vollständig abgeschlossen ist.

Während der Installation ist der Server möglicherweise nicht erreichbar.

**Wichtig:** Bei einer Neuinstallation werden vorhandene Daten auf dem Server in der Regel gelöscht. Erstelle vorher ein Backup, wenn du noch Daten benötigst.

### Zugangsdaten finden

Nach der Installation findest du die Zugangsdaten im Serverpanel.

Typische Angaben sind:

| Angabe       | Bedeutung                          |
| ------------ | ---------------------------------- |
| IP-Adresse   | Adresse deines Servers im Internet |
| Benutzername | meistens `Administrator`           |
| Passwort     | Passwort für den Windows-Login     |
| RDP-Port     | meistens `3389`                    |

Der Benutzername für Windows Server ist in der Regel `Administrator`.

Das Windows-Administrator-Passwort ist nicht automatisch dasselbe wie dein Passwort im Kundenportal oder Serverpanel.

### Mit Windows Server per Remote Desktop verbinden

Windows Server wird meistens per Remote Desktop verwaltet.

Remote Desktop wird auch RDP genannt. RDP steht für Remote Desktop Protocol.

Damit kannst du die grafische Oberfläche deines Servers nutzen, als würdest du direkt davor sitzen.

### Verbindung unter Windows herstellen

Auf einem Windows-PC ist der Remote-Desktop-Client meistens bereits installiert.

1. Öffne das Startmenü.
2. Suche nach **Remotedesktopverbindung**.
3. Öffne die Anwendung.
4. Gib die IP-Adresse deines Servers ein.
5. Klicke auf **Verbinden**.
6. Gib den Benutzernamen `Administrator` ein.
7. Gib das Passwort aus dem Serverpanel ein.
8. Bestätige die Verbindung.

Wenn eine Zertifikatswarnung angezeigt wird, kannst du diese prüfen und bestätigen.

Eine solche Warnung ist bei neuen Servern üblich, da noch kein eigenes Zertifikat für RDP eingerichtet wurde.

### Verbindung unter macOS herstellen

Unter macOS kannst du die App **Microsoft Remote Desktop** verwenden.

1. Installiere **Microsoft Remote Desktop** aus dem App Store.
2. Öffne die App.
3. Erstelle eine neue PC-Verbindung.
4. Trage die IP-Adresse deines Servers ein.
5. Gib als Benutzer `Administrator` an.
6. Trage das Passwort ein.
7. Speichere die Verbindung.
8. Starte die Verbindung.

### Verbindung mit Smartphone oder Tablet

Auch mit Smartphone oder Tablet kannst du dich per RDP verbinden.

Dafür kannst du die App **Microsoft Remote Desktop** verwenden.

Du benötigst:

* IP-Adresse
* Benutzername
* Passwort
* stabile Internetverbindung

Für längere Arbeiten am Server ist ein PC oder Notebook aber deutlich besser geeignet.

### Erstes Login

Nach der ersten Anmeldung solltest du prüfen, ob Windows vollständig eingerichtet ist.

Prüfe besonders:

* funktioniert die Netzwerkverbindung?
* ist die Uhrzeit korrekt?
* sind Windows Updates verfügbar?
* ist der Servername passend?
* ist das Administrator-Passwort sicher?
* ist die Firewall aktiv?
* sind unnötige Dienste deaktiviert?

### Administrator-Passwort ändern

Ändere das Administrator-Passwort nach der ersten Anmeldung, wenn du ein eigenes Passwort verwenden möchtest.

1. Öffne das Startmenü.
2. Suche nach **Computerverwaltung**.
3. Öffne **Lokale Benutzer und Gruppen**.
4. Öffne **Benutzer**.
5. Rechtsklicke auf **Administrator**.
6. Wähle **Kennwort festlegen**.
7. Vergib ein neues sicheres Passwort.

Alternativ kannst du das Passwort über die Eingabeaufforderung ändern.

Befehl:

`net user Administrator NeuesSicheresPasswort`

Verwende ein langes und sicheres Passwort.

### Servername ändern

Der Servername hilft dir, den Server besser zu erkennen.

1. Öffne die Windows-Einstellungen.
2. Gehe zu **System**.
3. Öffne **Info**.
4. Klicke auf **Diesen PC umbenennen**.
5. Vergib einen neuen Namen.
6. Starte den Server neu.

Der Servername sollte eindeutig sein und keine Sonderzeichen enthalten.

Beispiel:

`win-server-01`

### Windows Updates installieren

Installiere nach der ersten Anmeldung alle verfügbaren Updates.

1. Öffne die Windows-Einstellungen.
2. Gehe zu **Windows Update**.
3. Suche nach Updates.
4. Installiere alle verfügbaren Updates.
5. Starte den Server neu, wenn Windows dazu auffordert.

Updates sind wichtig für Sicherheit, Stabilität und Kompatibilität.

### Zeitzone einstellen

Eine falsche Zeitzone kann zu Problemen mit Logs, geplanten Aufgaben oder Anwendungen führen.

1. Öffne die Windows-Einstellungen.
2. Gehe zu **Zeit und Sprache**.
3. Öffne **Datum und Uhrzeit**.
4. Stelle die passende Zeitzone ein.

Für Deutschland ist die Zeitzone meistens:

`UTC+01:00 Amsterdam, Berlin, Bern, Rom, Stockholm, Wien`

### Windows Defender Firewall prüfen

Die Windows Defender Firewall sollte aktiv bleiben.

Sie schützt den Server vor unerwünschten eingehenden Verbindungen.

Öffne die Firewall so:

1. Öffne das Startmenü.
2. Suche nach **Windows Defender Firewall**.
3. Öffne **Erweiterte Einstellungen**.
4. Prüfe die eingehenden und ausgehenden Regeln.

Öffne nur Ports, die du wirklich benötigst.

### Ports in Windows freigeben

Wenn eine Anwendung von außen erreichbar sein soll, muss der passende Port in der Firewall freigegeben werden.

Beispiele:

| Dienst         | Port    |
| -------------- | ------- |
| Remote Desktop | `3389`  |
| HTTP           | `80`    |
| HTTPS          | `443`   |
| Minecraft Java | `25565` |
| FiveM          | `30120` |
| Teamspeak      | `9987`  |

### Eingehende Portregel erstellen

1. Öffne **Windows Defender Firewall mit erweiterter Sicherheit**.
2. Klicke auf **Eingehende Regeln**.
3. Klicke auf **Neue Regel**.
4. Wähle **Port**.
5. Wähle **TCP** oder **UDP**.
6. Trage den gewünschten Port ein.
7. Wähle **Verbindung zulassen**.
8. Wähle die passenden Profile.
9. Vergib einen eindeutigen Namen.
10. Speichere die Regel.

Achte darauf, ob deine Anwendung TCP, UDP oder beides benötigt.

### Remote Desktop absichern

RDP ist ein häufiges Ziel für Angriffe. Deshalb solltest du Remote Desktop nicht unnötig offen und ungeschützt lassen.

Empfehlungen:

* sicheres Administrator-Passwort verwenden
* Windows Updates installieren
* nur benötigte Benutzer für RDP erlauben
* Firewall-Regeln begrenzen
* RDP-Port nicht unnötig veröffentlichen
* Ereignisanzeige regelmäßig prüfen
* unnötige Benutzerkonten entfernen

Wenn möglich, erlaube RDP nur für feste IP-Adressen.

### Neuen Benutzer anlegen

Es ist oft sinnvoll, nicht dauerhaft mit dem Standard-Administrator zu arbeiten.

1. Öffne **Computerverwaltung**.
2. Öffne **Lokale Benutzer und Gruppen**.
3. Öffne **Benutzer**.
4. Erstelle einen neuen Benutzer.
5. Vergib ein sicheres Passwort.
6. Füge den Benutzer bei Bedarf zur Gruppe **Administratoren** hinzu.

Vergebe Administratorrechte nur, wenn sie wirklich benötigt werden.

### Programme installieren

Du kannst Programme wie auf einem normalen Windows-System installieren.

Typische Anwendungen sind:

* Webserver
* Datenbankserver
* Gameserver-Software
* Remote-Tools
* Entwicklungsumgebungen
* Backup-Software
* Monitoring-Tools

Lade Software nur von offiziellen Quellen herunter.

Vermeide unbekannte Installer, gecrackte Software oder nicht vertrauenswürdige Skripte.

### Task-Manager verwenden

Der Task-Manager hilft dir, die Auslastung deines Servers zu prüfen.

Öffne ihn mit:

`Strg + Shift + Esc`

Dort findest du:

* CPU-Auslastung
* RAM-Auslastung
* Datenträgerauslastung
* Netzwerkaktivität
* laufende Prozesse
* Autostart-Programme

Wenn dein Server langsam ist, prüfe zuerst den Task-Manager.

### Dienste verwalten

Viele Programme laufen unter Windows als Dienst.

Dienste kannst du über die Dienstverwaltung prüfen.

1. Öffne das Startmenü.
2. Suche nach **Dienste**.
3. Öffne die Dienstverwaltung.
4. Suche den gewünschten Dienst.
5. Starte, stoppe oder starte den Dienst neu.

Beispiele für Dienste:

* Webserver
* Datenbanken
* Gameserver
* Update-Dienste
* Monitoring-Dienste

### Ereignisanzeige verwenden

Die Ereignisanzeige zeigt wichtige Systemmeldungen und Fehler.

1. Öffne das Startmenü.
2. Suche nach **Ereignisanzeige**.
3. Öffne **Windows-Protokolle**.
4. Prüfe besonders **Anwendung**, **Sicherheit** und **System**.

Die Ereignisanzeige ist hilfreich bei:

* fehlgeschlagenen Logins
* Dienstfehlern
* Systemabstürzen
* Updateproblemen
* RDP-Problemen

### Speicherplatz prüfen

Prüfe regelmäßig den verfügbaren Speicherplatz.

1. Öffne den Datei-Explorer.
2. Gehe zu **Dieser PC**.
3. Prüfe das Laufwerk `C:`.
4. Entferne nicht mehr benötigte Dateien.

Wenn das Systemlaufwerk voll ist, können Updates, Programme und Dienste fehlschlagen.

### Datenträgerbereinigung verwenden

Windows bietet eine Datenträgerbereinigung.

1. Öffne das Startmenü.
2. Suche nach **Datenträgerbereinigung**.
3. Wähle das Laufwerk `C:`.
4. Wähle nicht benötigte Dateien aus.
5. Starte die Bereinigung.

Prüfe sorgfältig, welche Dateien gelöscht werden.

### Server neu starten

Ein Neustart kann nach Updates oder Konfigurationsänderungen erforderlich sein.

Du kannst den Server über Windows neu starten oder über das Serverpanel.

Empfohlen ist ein normaler Neustart über Windows:

1. Öffne das Startmenü.
2. Klicke auf **Ein/Aus**.
3. Wähle **Neu starten**.

Ein Neustart über das Serverpanel sollte genutzt werden, wenn der Server nicht mehr richtig reagiert.

### Unterschied zwischen Windows-Neustart und Hard Reset

Ein normaler Windows-Neustart fährt das Betriebssystem sauber herunter und startet es neu.

Ein Hard Reset über das Serverpanel unterbricht den Server direkter.

| Neustartart      | Bedeutung                                 |
| ---------------- | ----------------------------------------- |
| Windows-Neustart | sauberer Neustart über das Betriebssystem |
| Hard Reset       | erzwungener Neustart über das Serverpanel |

Ein Hard Reset sollte nur verwendet werden, wenn der Server nicht mehr reagiert.

### VNC-Konsole verwenden

Wenn RDP nicht funktioniert, kannst du die VNC-Konsole im Serverpanel verwenden.

Die VNC-Konsole zeigt dir den direkten Bildschirm des Servers.

Sie ist hilfreich bei:

* RDP funktioniert nicht
* Windows startet nicht richtig
* Firewall blockiert RDP
* Netzwerk ist falsch konfiguriert
* Server hängt beim Start
* Passwortänderung oder Loginproblem

Die VNC-Konsole ersetzt nicht dauerhaft RDP, hilft aber bei Problemen.

### RDP funktioniert nicht

Wenn du dich nicht per Remote Desktop verbinden kannst, prüfe:

* ist der Server eingeschaltet?
* ist die IP-Adresse korrekt?
* ist der Port `3389` erreichbar?
* ist RDP in Windows aktiviert?
* blockiert die Windows Firewall die Verbindung?
* wurde der RDP-Port geändert?
* ist das Passwort korrekt?
* ist der Benutzer für RDP erlaubt?
* funktioniert der Zugriff über die VNC-Konsole?

### Passwort funktioniert nicht

Wenn das Administrator-Passwort nicht funktioniert, prüfe:

* wurde das Passwort korrekt kopiert?
* enthält es Sonderzeichen?
* ist die Tastaturbelegung korrekt?
* verwendest du den richtigen Benutzer?
* nutzt du wirklich das Windows-Passwort und nicht das Serverpanel-Passwort?

Das Serverpanel-Passwort ist nicht automatisch dasselbe wie das Windows-Administrator-Passwort.

### Tastaturbelegung beachten

Bei Passwörtern mit Sonderzeichen kann eine falsche Tastaturbelegung Probleme verursachen.

Beispiel:

* deutsche Tastatur: `z` und `y` wie gewohnt
* englische Tastatur: `z` und `y` vertauscht
* Sonderzeichen liegen teilweise auf anderen Tasten

Wenn dein Passwort nicht funktioniert, prüfe besonders Sonderzeichen.

### Windows aktivieren

Je nach Produkt und Lizenzmodell kann eine Windows-Aktivierung erforderlich sein.

Prüfe den Aktivierungsstatus so:

1. Öffne die Windows-Einstellungen.
2. Gehe zu **System**.
3. Öffne **Aktivierung**.

Wenn eine Aktivierung erforderlich ist, folge den angezeigten Schritten oder prüfe die Informationen deines gebuchten Produkts.

### Backups erstellen

Erstelle regelmäßig Backups, besonders bevor du größere Änderungen vornimmst.

Wichtige Daten sind zum Beispiel:

* Webseiten
* Datenbanken
* Gameserver-Dateien
* Konfigurationsdateien
* Projektdateien
* Benutzerdateien

Speichere Backups nicht nur auf demselben Server. Wenn der Server beschädigt oder kompromittiert wird, können lokale Backups ebenfalls verloren gehen.

### Erste Sicherheitscheckliste

Nach der Einrichtung solltest du mindestens folgende Punkte prüfen:

* Windows Updates installiert
* sicheres Administrator-Passwort gesetzt
* unnötige Benutzer entfernt
* Firewall aktiv
* nur benötigte Ports geöffnet
* RDP abgesichert
* Zeitzone korrekt
* Servername gesetzt
* Speicherplatz geprüft
* Backups geplant
* Ereignisanzeige bekannt
* unnötige Software entfernt

### Häufige Probleme

#### Server ist nach Installation nicht erreichbar

Mögliche Ursachen:

* Installation läuft noch
* Windows startet gerade
* Netzwerk ist noch nicht bereit
* RDP ist noch nicht aktiv
* Firewall blockiert Verbindung

Warte einige Minuten und prüfe den Server über die VNC-Konsole.

#### Verbindung wird abgelehnt

Mögliche Ursachen:

* falsche IP-Adresse
* falscher Port
* RDP deaktiviert
* Firewall blockiert RDP
* Windows ist nicht vollständig gestartet

#### Anmeldung schlägt fehl

Mögliche Ursachen:

* falsches Passwort
* falscher Benutzername
* Tastaturbelegung falsch
* Passwort wurde geändert
* Benutzer ist nicht für RDP erlaubt

#### Server ist langsam

Prüfe:

* CPU-Auslastung im Task-Manager
* RAM-Auslastung
* Datenträgerauslastung
* laufende Updates
* zu viele Autostart-Programme
* laufende Scans oder Installationen

#### Updates hängen

Windows Updates können längere Zeit dauern.

Wenn ein Update sehr lange hängt, prüfe die Ereignisanzeige und die Update-Einstellungen. Starte den Server nicht vorschnell hart neu, solange Windows sichtbar noch Updates verarbeitet.


# Webserver installieren unter Windows

In diesem Artikel erklären wir dir, wie du auf einem Windows KVM-Server einen einfachen Webserver einrichtest.

Ein Webserver stellt Webseiten über das Internet bereit. Unter Windows wird dafür häufig **IIS** verwendet. IIS steht für **Internet Information Services** und ist der Webserver von Microsoft.

### Voraussetzungen

Bevor du beginnst, benötigst du:

* einen Windows KVM-Server
* Zugriff per Remote Desktop
* Administratorrechte
* eine öffentliche IP-Adresse
* eine Domain, falls deine Webseite über einen Namen erreichbar sein soll

Für den Anfang reicht auch die IP-Adresse deines Servers.

### Was ist IIS?

IIS ist der Webserver von Windows Server.

Mit IIS kannst du Webseiten, Webanwendungen und statische Dateien bereitstellen.

Typische Inhalte sind:

* HTML-Dateien
* CSS-Dateien
* JavaScript-Dateien
* Bilder
* Downloads
* ASP.NET-Anwendungen
* PHP-Anwendungen mit zusätzlicher Einrichtung

Wenn du nur eine einfache Webseite bereitstellen möchtest, reicht IIS bereits aus.

### Verbindung zum Server herstellen

Verbinde dich zuerst per Remote Desktop mit deinem Windows Server.

1. Öffne auf deinem Computer die Remote-Desktop-Verbindung.
2. Gib die IP-Adresse deines Servers ein.
3. Melde dich mit dem Administrator-Benutzer an.
4. Warte, bis der Windows Desktop geladen ist.

### IIS über den Server-Manager installieren

IIS wird über den Server-Manager installiert.

1. Öffne den **Server-Manager**.
2. Klicke oben rechts auf **Verwalten**.
3. Wähle **Rollen und Features hinzufügen**.
4. Klicke im Assistenten auf **Weiter**.
5. Wähle **Rollenbasierte oder featurebasierte Installation**.
6. Wähle deinen Server aus.
7. Aktiviere die Rolle **Webserver (IIS)**.
8. Bestätige die zusätzlichen Features.
9. Klicke auf **Weiter**.
10. Übernimm die Standardauswahl.
11. Klicke auf **Installieren**.
12. Warte, bis die Installation abgeschlossen ist.

Nach der Installation ist IIS einsatzbereit.

### Installation prüfen

Öffne auf dem Server einen Browser und rufe folgende Adresse auf:

`http://localhost`

Wenn IIS korrekt installiert wurde, erscheint die Standardseite von IIS.

Du kannst die Seite auch von deinem eigenen Computer aus testen.

Rufe dazu im Browser die IP-Adresse deines Servers auf:

`http://SERVER-IP`

Beispiel:

`http://123.123.123.123`

Wenn die Standardseite angezeigt wird, ist der Webserver erreichbar.

### Port 80 in der Windows Firewall freigeben

Damit deine Webseite von außen erreichbar ist, muss der HTTP-Port geöffnet sein.

HTTP nutzt standardmäßig Port `80`.

1. Öffne die **Windows Defender Firewall mit erweiterter Sicherheit**.
2. Klicke links auf **Eingehende Regeln**.
3. Klicke rechts auf **Neue Regel**.
4. Wähle **Port**.
5. Wähle **TCP**.
6. Trage bei bestimmten lokalen Ports `80` ein.
7. Wähle **Verbindung zulassen**.
8. Wähle die passenden Profile aus.
9. Vergib einen Namen, zum Beispiel `HTTP Port 80`.
10. Speichere die Regel.

Danach sollte der Webserver von außen über HTTP erreichbar sein.

### HTTPS vorbereiten

Für verschlüsselte Webseiten wird HTTPS verwendet.

HTTPS nutzt standardmäßig Port `443`.

Wenn du später ein SSL-Zertifikat einrichten möchtest, solltest du auch Port `443` öffnen.

1. Öffne die **Windows Defender Firewall mit erweiterter Sicherheit**.
2. Erstelle eine neue eingehende Regel.
3. Wähle **Port**.
4. Wähle **TCP**.
5. Trage `443` ein.
6. Erlaube die Verbindung.
7. Vergib einen Namen, zum Beispiel `HTTPS Port 443`.

### Standard-Webverzeichnis

Die Standard-Webseite von IIS liegt normalerweise in folgendem Ordner:

`C:\inetpub\wwwroot`

Dateien, die du dort ablegst, können über den Webserver aufgerufen werden.

Beispiel:

Wenn du eine Datei namens `index.html` in diesen Ordner legst, wird sie beim Aufruf deiner Webseite angezeigt.

### Eigene Testseite erstellen

Erstelle eine einfache Datei zum Testen.

1. Öffne den Ordner `C:\inetpub\wwwroot`.
2. Lösche bei Bedarf die vorhandene Standarddatei.
3. Erstelle eine neue Datei mit dem Namen `index.html`.
4. Öffne die Datei mit einem Texteditor.
5. Füge folgenden Inhalt ein:

`<h1>Meine Webseite funktioniert</h1>`

6. Speichere die Datei.
7. Rufe deine Server-IP im Browser auf.

Beispiel:

`http://123.123.123.123`

Wenn der Text angezeigt wird, funktioniert deine Webseite.

### Eigene Webseite hochladen

Du kannst deine Webseite direkt in den Ordner `C:\inetpub\wwwroot` kopieren.

Typische Dateien sind:

* `index.html`
* `style.css`
* `script.js`
* Bilder
* Unterordner
* Downloads

Achte darauf, dass eine Startdatei vorhanden ist.

Häufige Startdateien sind:

* `index.html`
* `index.htm`
* `default.aspx`

Ohne Startdatei kann IIS möglicherweise keine Webseite anzeigen.

### Domain auf den Webserver zeigen lassen

Wenn deine Webseite nicht nur über die IP-Adresse erreichbar sein soll, kannst du eine Domain verwenden.

Dafür benötigst du einen DNS-Eintrag.

Für eine IPv4-Adresse nutzt du einen **A-Record**.

Beispiel:

| Typ | Name  | Ziel              |
| --- | ----- | ----------------- |
| A   | `@`   | `123.123.123.123` |
| A   | `www` | `123.123.123.123` |

`@` steht für die Hauptdomain.

Beispiel:

`deinedomain.de`

`www` steht für die Subdomain.

Beispiel:

`www.deinedomain.de`

DNS-Änderungen können einige Minuten bis mehrere Stunden dauern.

### Webseite mit Domain in IIS verbinden

Wenn du mehrere Webseiten oder Domains auf einem Server betreiben möchtest, solltest du in IIS eigene Websites anlegen.

1. Öffne den **Internetinformationsdienste-Manager**.
2. Öffne links deinen Server.
3. Klicke auf **Sites**.
4. Klicke rechts auf **Website hinzufügen**.
5. Gib einen Namen für die Website ein.
6. Wähle den physischen Pfad zu deiner Webseite.
7. Wähle als Typ `http`.
8. Trage bei Port `80` ein.
9. Trage bei Hostname deine Domain ein, zum Beispiel `deinedomain.de`.
10. Speichere die Website.

Wenn du auch `www.deinedomain.de` nutzen möchtest, kannst du eine weitere Bindung hinzufügen.

### Bindings verstehen

Bindings legen fest, unter welcher Adresse eine Website erreichbar ist.

Ein Binding besteht meistens aus:

* Protokoll
* IP-Adresse
* Port
* Hostname

Beispiel:

| Protokoll | Port  | Hostname             |
| --------- | ----- | -------------------- |
| HTTP      | `80`  | `deinedomain.de`     |
| HTTP      | `80`  | `www.deinedomain.de` |
| HTTPS     | `443` | `deinedomain.de`     |

Wenn mehrere Webseiten denselben Server nutzen, ist der Hostname besonders wichtig. IIS erkennt darüber, welche Webseite ausgeliefert werden soll.

### SSL-Zertifikat einrichten

Für HTTPS benötigst du ein SSL-Zertifikat.

Unter Windows und IIS kannst du dafür zum Beispiel ein Zertifikat einer Zertifizierungsstelle verwenden oder Let's Encrypt mit einem passenden Tool einrichten.

Eine häufig genutzte Lösung für Let's Encrypt unter Windows ist ein ACME-Client.

Nach der Ausstellung des Zertifikats muss dieses in IIS als HTTPS-Binding eingebunden werden.

### Warum HTTPS wichtig ist

HTTPS verschlüsselt die Verbindung zwischen Besucher und Webseite.

Das ist wichtig für:

* Loginbereiche
* Formulare
* Kundendaten
* Adminbereiche
* Suchmaschinenbewertung
* Vertrauen der Besucher

Moderne Browser markieren Webseiten ohne HTTPS teilweise als unsicher.

### PHP unter IIS verwenden

IIS kann statische Webseiten und ASP.NET-Anwendungen direkt bereitstellen.

Für PHP brauchst du zusätzliche Komponenten.

Grundsätzlich benötigst du:

* PHP für Windows
* FastCGI-Unterstützung in IIS
* Handler-Zuordnung für PHP-Dateien
* passende PHP-Konfiguration

Wenn du PHP-Anwendungen wie WordPress nutzen möchtest, brauchst du zusätzlich meistens eine Datenbank wie MySQL oder MariaDB.

### Datenbank für Webanwendungen

Viele Webanwendungen benötigen eine Datenbank.

Beispiele:

* WordPress
* Foren
* Shopsysteme
* CMS-Systeme
* eigene Anwendungen

Unter Windows kannst du zum Beispiel MySQL oder MariaDB installieren.

Achte darauf, die Datenbank nicht unnötig öffentlich erreichbar zu machen. In den meisten Fällen sollte die Datenbank nur lokal vom Server erreichbar sein.

### Rechte im Webverzeichnis

IIS benötigt Leserechte auf die Dateien deiner Webseite.

Wenn Dateien nicht angezeigt werden, kann es an fehlenden Berechtigungen liegen.

Prüfe die Rechte des Ordners, in dem deine Webseite liegt.

Der IIS-Benutzer oder Anwendungspool muss die benötigten Rechte haben.

Für einfache statische Webseiten reichen in der Regel Leserechte.

### Häufige Probleme

#### Webseite ist nicht erreichbar

Prüfe:

* Ist IIS installiert?
* Läuft die Website in IIS?
* Ist Port `80` in der Firewall geöffnet?
* Ist die IP-Adresse korrekt?
* Zeigt die Domain auf die richtige IP-Adresse?
* Ist der richtige Hostname im Binding eingetragen?

#### IIS-Standardseite wird angezeigt

Wenn die IIS-Standardseite angezeigt wird, funktioniert der Webserver grundsätzlich.

Mögliche Ursachen:

* deine Dateien liegen im falschen Ordner
* die falsche Website ist aktiv
* der Hostname zeigt auf die Standardseite
* es fehlt eine eigene `index.html`
* Bindings sind nicht korrekt eingerichtet

#### 403 Forbidden

Ein 403-Fehler bedeutet, dass der Zugriff verweigert wurde.

Mögliche Ursachen:

* keine Startdatei vorhanden
* Dateiberechtigungen fehlen
* Directory Browsing ist deaktiviert
* IIS darf auf den Ordner nicht zugreifen

Prüfe, ob eine Startdatei wie `index.html` vorhanden ist.

#### 404 Not Found

Ein 404-Fehler bedeutet, dass die angeforderte Datei nicht gefunden wurde.

Mögliche Ursachen:

* Datei existiert nicht
* falscher Pfad
* falscher Dateiname
* Tippfehler in der URL
* Website zeigt auf den falschen Ordner

#### Port 80 ist nicht erreichbar

Prüfe:

* Windows Firewall
* IIS läuft
* Website ist gestartet
* Port wird von einem anderen Dienst blockiert
* Server-IP ist korrekt
* DNS zeigt richtig auf den Server

#### Domain zeigt nicht auf den Server

Prüfe deine DNS-Einträge.

Für IPv4 brauchst du einen A-Record auf die IP-Adresse deines Servers.

Beispiel:

| Typ | Name  | Ziel              |
| --- | ----- | ----------------- |
| A   | `@`   | `123.123.123.123` |
| A   | `www` | `123.123.123.123` |

Warte nach DNS-Änderungen etwas ab. DNS-Änderungen sind nicht immer sofort aktiv.

#### HTTPS funktioniert nicht

Prüfe:

* Ist Port `443` geöffnet?
* Ist ein SSL-Zertifikat installiert?
* Gibt es ein HTTPS-Binding?
* Stimmt der Hostname?
* Ist das Zertifikat noch gültig?
* Passt das Zertifikat zur Domain?

### Sicherheit

Ein Webserver ist öffentlich erreichbar und sollte regelmäßig gepflegt werden.

Achte besonders auf:

* Windows Updates
* aktuelle Webanwendungen
* sichere Passwörter
* HTTPS
* korrekte Dateirechte
* regelmäßige Backups
* nicht öffentlich erreichbare Datenbanken
* entfernte Testdateien
* keine alten Installationsdateien im Webverzeichnis

Wenn du CMS-Systeme wie WordPress verwendest, halte auch Plugins und Themes aktuell.


# Apache unter Windows installieren

Apache ist ein Webserver. Mit Apache kannst du Webseiten oder Webanwendungen über deinen Windows Server erreichbar machen.

In diesem Artikel zeigen wir dir, wie du Apache unter Windows installierst, startest und prüfst, ob der Webserver erreichbar ist.

### Voraussetzungen

Du benötigst:

* einen Windows Server
* Zugriff per Remote Desktop
* Administratorrechte
* eine aktive Internetverbindung
* eine öffentliche IP-Adresse oder Domain, wenn die Webseite später von außen erreichbar sein soll

### Mit dem Windows Server verbinden

Verbinde dich zuerst per Remote Desktop mit deinem Windows Server.

1. Öffne auf deinem Computer die Remotedesktopverbindung.
2. Gib die IP-Adresse deines Servers ein.
3. Melde dich mit dem Administrator-Benutzer an.
4. Öffne den Desktop des Servers.

### Apache für Windows herunterladen

Apache wird unter Windows häufig über vorkompilierte Pakete installiert.

Eine bekannte Quelle für Apache-Builds unter Windows ist Apache Lounge.

Öffne im Browser deines Windows Servers:

`https://www.apachelounge.com/download/`

Lade dort die aktuelle Apache-Version für Windows herunter.

Achte darauf, die passende Version für dein System zu wählen. In den meisten Fällen benötigst du die 64-Bit-Version.

### Visual C++ Redistributable installieren

Apache für Windows benötigt häufig das Microsoft Visual C++ Redistributable.

Wenn Apache nicht startet oder eine DLL-Fehlermeldung erscheint, fehlt diese Komponente oft.

Lade das aktuelle Visual C++ Redistributable von Microsoft herunter und installiere es.

Für 64-Bit-Systeme benötigst du in der Regel die x64-Version.

### Apache entpacken

Nach dem Download erhältst du eine ZIP-Datei.

1. Öffne den Download-Ordner.
2. Entpacke die ZIP-Datei.
3. Verschiebe den Ordner `Apache24` nach `C:\`.

Der Apache-Pfad sollte danach so aussehen:

`C:\Apache24`

Dieser Pfad ist wichtig, weil viele Standardkonfigurationen davon ausgehen.

### Apache-Konfiguration prüfen

Öffne die Apache-Konfiguration.

Datei:

`C:\Apache24\conf\httpd.conf`

Du kannst die Datei mit dem Editor oder einem anderen Texteditor öffnen.

Prüfe folgende Zeile:

`Define SRVROOT "c:/Apache24"`

Wenn Apache unter `C:\Apache24` liegt, kann diese Einstellung so bleiben.

Prüfe außerdem, ob Apache auf Port `80` hört:

`Listen 80`

Port `80` ist der Standardport für HTTP.

### Apache testen

Öffne die Eingabeaufforderung als Administrator.

Wechsle in den Apache-Ordner:

`cd C:\Apache24\bin`

Teste die Konfiguration:

`httpd.exe -t`

Wenn alles korrekt ist, sollte folgende Meldung erscheinen:

`Syntax OK`

Wenn eine Fehlermeldung erscheint, prüfe den angegebenen Pfad oder die genannte Zeile in der Konfiguration.

### Apache manuell starten

Du kannst Apache testweise manuell starten.

Befehl:

`httpd.exe`

Wenn keine Fehlermeldung erscheint, läuft Apache im Vordergrund.

Öffne auf dem Server einen Browser und rufe auf:

`http://localhost`

Wenn Apache funktioniert, erscheint eine Testseite oder eine Meldung wie:

`It works!`

Zum Beenden kannst du das Fenster der Eingabeaufforderung schließen oder den Prozess abbrechen.

### Apache als Windows-Dienst installieren

Damit Apache automatisch mit Windows startet, solltest du ihn als Dienst installieren.

Öffne die Eingabeaufforderung als Administrator und wechsle in den Apache-Ordner:

`cd C:\Apache24\bin`

Installiere Apache als Dienst:

`httpd.exe -k install`

Danach kannst du Apache starten:

`httpd.exe -k start`

Apache kann anschließend über die Windows-Dienste verwaltet werden.

### Apache-Dienst verwalten

Du kannst Apache über die Eingabeaufforderung steuern.

Apache starten:

`httpd.exe -k start`

Apache stoppen:

`httpd.exe -k stop`

Apache neustarten:

`httpd.exe -k restart`

Apache-Dienst entfernen:

`httpd.exe -k uninstall`

Alternativ kannst du die Windows-Dienste öffnen:

1. Drücke `Windows-Taste + R`.
2. Gib `services.msc` ein.
3. Suche nach **Apache2.4**.
4. Starte, stoppe oder starte den Dienst neu.

### Windows Firewall freigeben

Damit Apache von außen erreichbar ist, muss Port `80` in der Windows Firewall erlaubt sein.

1. Öffne die Windows Defender Firewall.
2. Klicke auf **Erweiterte Einstellungen**.
3. Öffne **Eingehende Regeln**.
4. Klicke auf **Neue Regel**.
5. Wähle **Port**.
6. Wähle **TCP**.
7. Trage `80` ein.
8. Wähle **Verbindung zulassen**.
9. Wähle die passenden Profile.
10. Vergib einen Namen, zum Beispiel `Apache HTTP`.
11. Speichere die Regel.

Wenn du später HTTPS verwendest, musst du zusätzlich Port `443` freigeben.

### Erreichbarkeit prüfen

Rufe im Browser deines Servers auf:

`http://localhost`

Danach kannst du von deinem eigenen Computer die Server-IP aufrufen:

`http://SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines Servers.

Wenn Apache erreichbar ist, sollte die Apache-Testseite angezeigt werden.

### Webseiten-Dateien ablegen

Die Standard-Webseite liegt bei Apache unter Windows normalerweise in folgendem Ordner:

`C:\Apache24\htdocs`

Dort kannst du deine Webseite ablegen.

Beispiel:

`C:\Apache24\htdocs\index.html`

Wenn du diese Datei bearbeitest, ändert sich die Startseite, die unter `http://SERVER-IP` angezeigt wird.

### Eigene Startseite erstellen

Öffne den Ordner:

`C:\Apache24\htdocs`

Erstelle oder bearbeite die Datei:

`index.html`

Beispielinhalt:

`<h1>Meine Webseite funktioniert</h1>`

Rufe danach im Browser auf:

`http://localhost`

oder:

`http://SERVER-IP`

### Domain mit Apache verbinden

Wenn du eine Domain nutzen möchtest, muss die Domain per DNS auf die IP-Adresse deines Servers zeigen.

Dafür verwendest du in der Regel einen A-Record.

Beispiel:

| Typ | Name  | Ziel        |
| --- | ----- | ----------- |
| A   | `@`   | `SERVER-IP` |
| A   | `www` | `SERVER-IP` |

DNS-Änderungen können einige Minuten bis mehrere Stunden dauern.

### HTTPS einrichten

Für HTTPS benötigst du ein SSL-Zertifikat.

Unter Windows kann die Einrichtung je nach gewünschter Methode unterschiedlich sein. Häufig wird dafür ein ACME-Client wie win-acme verwendet.

HTTPS benötigt Port `443`.

Bevor du HTTPS einrichtest, sollte Apache über HTTP bereits korrekt erreichbar sein.

### Häufige Probleme

#### Apache startet nicht

Prüfe zuerst die Konfiguration.

Befehl:

`C:\Apache24\bin\httpd.exe -t`

Häufige Ursachen:

* falscher Apache-Pfad
* fehlendes Visual C++ Redistributable
* Port `80` ist bereits belegt
* Fehler in der Datei `httpd.conf`
* fehlende Administratorrechte

#### Port 80 ist bereits belegt

Wenn Apache nicht startet, weil Port `80` bereits verwendet wird, läuft wahrscheinlich ein anderer Webserver oder Dienst auf diesem Port.

Prüfe die Portbelegung in der Eingabeaufforderung:

`netstat -ano | findstr :80`

Danach kannst du im Task-Manager anhand der Prozess-ID prüfen, welcher Prozess den Port verwendet.

Typische Ursachen sind:

* IIS
* anderer Webserver
* lokale Entwicklungsumgebung
* bereits laufende Apache-Instanz

#### Webseite ist nur lokal erreichbar

Wenn `http://localhost` funktioniert, aber `http://SERVER-IP` nicht, liegt das Problem meistens an der Firewall oder Netzwerkfreigabe.

Prüfe:

* Windows Firewall erlaubt Port `80`
* Apache läuft
* Server-IP ist korrekt
* keine zusätzliche Firewall blockiert den Zugriff
* der Dienst hört auf der richtigen Adresse

#### Fehler 403 Forbidden

Ein 403-Fehler bedeutet, dass Apache den Zugriff verweigert.

Mögliche Ursachen:

* falsche Dateirechte
* fehlende `index.html`
* falsche Directory-Konfiguration
* Zugriff in Apache-Konfiguration blockiert

Prüfe die Apache-Konfiguration und den Inhalt des Ordners `htdocs`.

#### Fehler 404 Not Found

Ein 404-Fehler bedeutet, dass die angeforderte Datei nicht gefunden wurde.

Prüfe:

* liegt die Datei im richtigen Ordner?
* ist der Dateiname korrekt?
* wurde die richtige URL aufgerufen?
* gibt es eine `index.html` oder `index.php`?

#### Änderungen werden nicht angezeigt

Wenn Änderungen an der Webseite nicht sichtbar sind, prüfe:

* Browser-Cache
* richtige Datei bearbeitet
* Datei im richtigen Ordner gespeichert
* Apache bei Konfigurationsänderungen neu gestartet

Apache neu starten:

`C:\Apache24\bin\httpd.exe -k restart`

### Apache deinstallieren

Wenn du Apache entfernen möchtest, stoppe zuerst den Dienst.

Befehl:

`C:\Apache24\bin\httpd.exe -k stop`

Entferne danach den Dienst:

`C:\Apache24\bin\httpd.exe -k uninstall`

Anschließend kannst du den Ordner löschen:

`C:\Apache24`


# Nginx unter Windows installieren

Nginx ist ein Webserver und Reverse Proxy. Du kannst Nginx nutzen, um Webseiten auszuliefern, Anfragen an andere Anwendungen weiterzuleiten oder Dienste über HTTP und HTTPS erreichbar zu machen.

In diesem Artikel erklären wir dir, wie du Nginx auf einem Windows Server installierst und startest.

### Voraussetzungen

Du benötigst:

* einen Windows Server
* Administratorzugriff
* eine aktive Internetverbindung
* Zugriff per Remote Desktop
* optional eine Domain, wenn Nginx später öffentlich über eine Domain erreichbar sein soll

Für die Installation solltest du dich per Remote Desktop mit deinem Windows Server verbinden.

### Nginx für Windows herunterladen

Nginx stellt eine eigene Windows-Version bereit. Diese wird als ZIP-Datei heruntergeladen und anschließend entpackt.

1. Öffne auf deinem Windows Server einen Browser.
2. Öffne die offizielle Nginx-Webseite.
3. Lade die aktuelle stabile Windows-Version herunter.
4. Speichere die ZIP-Datei auf deinem Server.

Die offizielle Downloadseite findest du unter:

`https://nginx.org/en/download.html`

Nginx bietet in der Regel zwei Varianten an:

| Variante | Bedeutung                               |
| -------- | --------------------------------------- |
| Stable   | stabile Version für normale Nutzung     |
| Mainline | aktuelle Version mit neueren Änderungen |

Für die meisten Nutzer ist die **Stable-Version** empfehlenswert.

### Nginx entpacken

Nach dem Download musst du die ZIP-Datei entpacken.

1. Öffne den Ordner, in dem die ZIP-Datei gespeichert wurde.
2. Klicke mit der rechten Maustaste auf die Datei.
3. Wähle **Alle extrahieren**.
4. Entpacke den Ordner nach `C:\nginx`.

Am Ende sollte die Datei `nginx.exe` unter diesem Pfad liegen:

`C:\nginx\nginx.exe`

Wenn dein entpackter Ordner zum Beispiel `nginx-1.30.2` heißt, kannst du ihn entweder in `nginx` umbenennen oder den Pfad entsprechend anpassen.

### Nginx starten

Öffne die Eingabeaufforderung als Administrator.

1. Klicke auf das Windows-Startmenü.
2. Suche nach `cmd`.
3. Klicke mit der rechten Maustaste auf **Eingabeaufforderung**.
4. Wähle **Als Administrator ausführen**.

Wechsle anschließend in den Nginx-Ordner:

`cd C:\nginx`

Starte Nginx:

`start nginx`

Alternativ kannst du auch direkt aus dem Ordner starten:

`nginx.exe`

### Installation prüfen

Öffne auf dem Server einen Browser und rufe folgende Adresse auf:

`http://localhost`

Wenn Nginx korrekt gestartet wurde, erscheint die Nginx-Startseite.

Du kannst auch von deinem eigenen Computer aus testen, ob Nginx öffentlich erreichbar ist:

`http://SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines KVM-Servers.

### Port 80 in der Windows Firewall öffnen

Wenn Nginx lokal funktioniert, aber von außen nicht erreichbar ist, blockiert häufig die Windows Firewall den Zugriff.

Für normale Webseiten muss Port `80` geöffnet sein.

Für HTTPS muss später zusätzlich Port `443` geöffnet werden.

#### Port 80 öffnen

1. Öffne das Windows-Startmenü.
2. Suche nach **Windows Defender Firewall**.
3. Öffne **Erweiterte Einstellungen**.
4. Wähle links **Eingehende Regeln**.
5. Klicke rechts auf **Neue Regel**.
6. Wähle **Port**.
7. Wähle **TCP**.
8. Trage bei bestimmten lokalen Ports `80` ein.
9. Wähle **Verbindung zulassen**.
10. Wähle die passenden Profile aus.
11. Vergib einen Namen, zum Beispiel `Nginx HTTP`.
12. Speichere die Regel.

Danach sollte Nginx über `http://SERVER-IP` erreichbar sein.

### Port 443 für HTTPS öffnen

Wenn du später HTTPS verwenden möchtest, musst du zusätzlich Port `443` öffnen.

Erstelle dafür eine weitere eingehende Regel:

| Einstellung | Wert                |
| ----------- | ------------------- |
| Typ         | Port                |
| Protokoll   | TCP                 |
| Port        | `443`               |
| Aktion      | Verbindung zulassen |
| Name        | `Nginx HTTPS`       |

### Nginx beenden

Wenn du Nginx stoppen möchtest, öffne die Eingabeaufforderung als Administrator und wechsle in den Nginx-Ordner:

`cd C:\nginx`

Nginx stoppen:

`nginx -s stop`

### Nginx neu laden

Wenn du die Konfiguration geändert hast, musst du Nginx nicht immer komplett beenden. Du kannst die Konfiguration neu laden.

Befehl:

`nginx -s reload`

Das ist sinnvoll, wenn du zum Beispiel die Datei `nginx.conf` angepasst hast.

### Nginx-Konfiguration prüfen

Vor dem Neuladen solltest du prüfen, ob die Konfiguration fehlerfrei ist.

Befehl:

`nginx -t`

Wenn die Konfiguration korrekt ist, zeigt Nginx eine erfolgreiche Prüfung an.

Wenn ein Fehler vorhanden ist, wird meistens die betroffene Datei und Zeile angezeigt.

### Wichtige Ordner und Dateien

Nach dem Entpacken findest du mehrere Ordner und Dateien im Nginx-Verzeichnis.

| Pfad                       | Bedeutung               |
| -------------------------- | ----------------------- |
| `C:\nginx\nginx.exe`       | Nginx-Programm          |
| `C:\nginx\conf\nginx.conf` | Hauptkonfiguration      |
| `C:\nginx\html\`           | Standard-Webverzeichnis |
| `C:\nginx\logs\`           | Logdateien              |
| `C:\nginx\logs\access.log` | Zugriffslog             |
| `C:\nginx\logs\error.log`  | Fehlerlog               |

### Standard-Webseite ändern

Die Standard-Webseite liegt im Ordner:

`C:\nginx\html\`

Dort findest du unter anderem die Datei:

`index.html`

Du kannst diese Datei bearbeiten oder durch deine eigene Webseite ersetzen.

Wenn du danach `http://SERVER-IP` öffnest, sollte deine eigene Seite angezeigt werden.

### Einfache Nginx-Konfiguration

Die Hauptkonfiguration liegt hier:

`C:\nginx\conf\nginx.conf`

Eine einfache Server-Konfiguration für Port `80` sieht ungefähr so aus:

`server { listen 80; server_name deine-domain.de; root html; index index.html; }`

Wenn du eine Domain verwenden möchtest, muss diese per DNS auf die IP-Adresse deines Servers zeigen.

### Domain mit Nginx verwenden

Damit deine Domain auf Nginx zeigt, benötigst du einen DNS-Eintrag.

Typischer Eintrag:

| Typ | Name  | Ziel                        |
| --- | ----- | --------------------------- |
| A   | `@`   | IPv4-Adresse deines Servers |
| A   | `www` | IPv4-Adresse deines Servers |

Wenn du eine Subdomain verwenden möchtest:

| Typ | Name  | Ziel                        |
| --- | ----- | --------------------------- |
| A   | `web` | IPv4-Adresse deines Servers |

Danach ist deine Webseite zum Beispiel über folgende Adresse erreichbar:

`http://deinedomain.de`

oder:

`http://web.deinedomain.de`

DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis die Änderung überall übernommen wurde.

### Nginx automatisch starten lassen

Nginx wird unter Windows nicht automatisch als Windows-Dienst installiert.

Wenn du Nginx einfach über `start nginx` startest, läuft es nur, solange der Prozess aktiv ist. Nach einem Neustart des Servers musst du Nginx erneut starten.

Für eine dauerhafte Nutzung gibt es zwei typische Möglichkeiten:

* Nginx über die Aufgabenplanung starten
* Nginx mit einem Service-Wrapper als Windows-Dienst einrichten

### Nginx über Aufgabenplanung starten

Du kannst Nginx beim Systemstart über die Windows-Aufgabenplanung starten lassen.

1. Öffne die Windows-Aufgabenplanung.
2. Klicke auf **Aufgabe erstellen**.
3. Vergib einen Namen, zum Beispiel `Nginx Autostart`.
4. Wähle **Mit höchsten Privilegien ausführen**.
5. Erstelle einen Trigger **Beim Systemstart**.
6. Erstelle eine Aktion **Programm starten**.
7. Wähle als Programm `C:\nginx\nginx.exe`.
8. Setze als Startverzeichnis `C:\nginx`.
9. Speichere die Aufgabe.

Starte den Server anschließend neu und prüfe, ob Nginx automatisch gestartet wurde.

### Nginx als Windows-Dienst verwenden

Nginx wird unter Windows standardmäßig nicht als Dienst eingerichtet.

Wenn du Nginx als Dienst betreiben möchtest, kannst du einen Service-Wrapper verwenden. Häufig wird dafür NSSM verwendet.

Dabei wird `nginx.exe` als Windows-Dienst registriert. Das ist praktisch, wenn Nginx automatisch starten und über die Windows-Diensteverwaltung kontrolliert werden soll.

Achte bei solchen Tools darauf, sie nur aus vertrauenswürdigen Quellen zu beziehen.

### Nginx als Reverse Proxy verwenden

Nginx wird häufig als Reverse Proxy verwendet.

Ein Reverse Proxy nimmt Anfragen entgegen und leitet sie intern an eine andere Anwendung weiter.

Beispiel:

* Besucher ruft `http://deinedomain.de` auf
* Nginx empfängt die Anfrage auf Port `80`
* Nginx leitet die Anfrage intern an eine Anwendung auf Port `3000` weiter

Das ist typisch für Anwendungen wie:

* Node.js
* Python-Webapps
* Docker-Anwendungen
* Webinterfaces
* interne Dienste

Eine einfache Reverse-Proxy-Konfiguration kann zum Beispiel auf `127.0.0.1:3000` weiterleiten.

### Nginx Logs prüfen

Wenn Nginx nicht funktioniert, solltest du zuerst die Logs prüfen.

Wichtige Dateien:

`C:\nginx\logs\error.log`

`C:\nginx\logs\access.log`

Die Datei `error.log` enthält Fehler beim Starten oder Verarbeiten von Anfragen.

Die Datei `access.log` zeigt eingehende Zugriffe.

### Häufige Probleme

#### Webseite ist nur lokal erreichbar

Wenn `http://localhost` funktioniert, aber `http://SERVER-IP` nicht erreichbar ist, liegt das häufig an der Firewall.

Prüfe:

* Port `80` ist in der Windows Firewall geöffnet
* Nginx läuft
* die Server-IP ist korrekt
* dein Server ist online
* keine andere Firewall blockiert den Zugriff

#### Port 80 ist bereits belegt

Wenn Nginx nicht startet, kann Port `80` bereits von einem anderen Programm verwendet werden.

Typische Programme sind:

* IIS
* Apache
* andere Webserver
* Entwicklungsserver
* Control Panels

Prüfe belegte Ports mit:

`netstat -ano | findstr :80`

Wenn ein anderes Programm Port `80` nutzt, musst du dieses Programm stoppen oder Nginx auf einen anderen Port konfigurieren.

#### Nginx startet nicht

Prüfe zuerst die Konfiguration:

`nginx -t`

Prüfe anschließend die Fehlerlogs:

`C:\nginx\logs\error.log`

Häufige Ursachen sind:

* falscher Pfad
* fehlerhafte `nginx.conf`
* Port bereits belegt
* fehlende Rechte
* Datei wurde falsch gespeichert
* falsche Klammern in der Konfiguration

#### Änderungen werden nicht übernommen

Wenn du die Konfiguration geändert hast, musst du Nginx neu laden.

Befehl:

`nginx -s reload`

Wenn das nicht funktioniert, prüfe die Konfiguration:

`nginx -t`

#### Domain zeigt nicht auf den Server

Prüfe:

* A-Record zeigt auf die richtige IPv4-Adresse
* DNS-Änderung ist bereits aktiv
* Domain wurde richtig geschrieben
* Nginx ist gestartet
* Port `80` ist geöffnet
* die Nginx-Konfiguration enthält die richtige Domain

#### HTTPS funktioniert nicht

Für HTTPS brauchst du:

* Port `443`
* ein gültiges SSL-Zertifikat
* passende Nginx-Konfiguration
* eine Domain, die auf den Server zeigt

Ohne SSL-Zertifikat funktioniert HTTPS nicht korrekt.

### Windows oder Linux für Nginx?

Nginx kann unter Windows genutzt werden. Für produktive Webserver wird aber häufig Linux verwendet, weil Nginx dort stärker verbreitet ist und sich einfacher als Systemdienst betreiben lässt.

Windows kann sinnvoll sein, wenn:

* deine Anwendung Windows benötigt
* du bereits einen Windows Server nutzt
* du Nginx als einfachen Reverse Proxy verwenden möchtest
* du eine bestimmte Windows-Anwendung veröffentlichen möchtest

Linux ist oft sinnvoller, wenn:

* du einen klassischen Webserver betreiben möchtest
* du viele Webseiten hostest
* du Let's Encrypt automatisiert nutzen möchtest
* du eine stabile Serverdienst-Verwaltung mit systemd möchtest


