From 20a800a435cc680de6f6740f6c456447ae2f51b0 Mon Sep 17 00:00:00 2001 From: Soeren Domroes Date: Mon, 27 Oct 2025 10:23:43 +0100 Subject: [PATCH 1/2] Fix link --- hyperbook/book/grundlagen/server.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hyperbook/book/grundlagen/server.md b/hyperbook/book/grundlagen/server.md index cdcf2536..5d100090 100644 --- a/hyperbook/book/grundlagen/server.md +++ b/hyperbook/book/grundlagen/server.md @@ -22,7 +22,7 @@ und sogar als Mensch mitspielen. ## System vorbereiten und Spielleiter starten Die einzige Voraussetzung ist -die [Installation einer Java-Laufzeitumgebung](/entwicklung/installation-von-java). +die [Installation einer Java-Laufzeitumgebung](/entwicklung/java/installation-von-java). dass auf dem Rechner mindestens die Laufzeitumgebung für Java 11 installiert ist. Nach der erfolgreichen Installation kann man den grafischen Server From eac474f79df516d63212ff778ef260a49a0c091f Mon Sep 17 00:00:00 2001 From: Soeren Domroes Date: Mon, 27 Oct 2025 10:36:03 +0100 Subject: [PATCH 2/2] Fixes link and adds todos. --- hyperbook/book/grundlagen/server.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hyperbook/book/grundlagen/server.md b/hyperbook/book/grundlagen/server.md index 5d100090..22f5eae8 100644 --- a/hyperbook/book/grundlagen/server.md +++ b/hyperbook/book/grundlagen/server.md @@ -176,13 +176,16 @@ So nutzt du ihn Es ist möglich, statt eines zufällig generierten vollständigen Spielplanes eine Spielsituation zu laden und zu testen. -Die Spielsituation muss vorher wie unter [Spielsituation nachstellen](#spielsituation-nachstellen) erzeugt werden. +Die Spielsituation muss vorher wie unter [Spielsituation nachstellen](grundlagen/server#spielsituation-nachstellen) erzeugt werden. Dann kann die Datei mit dem Argument `--loadGameFile` geladen werden und optional mit `--turn` ein Zug spezifiziert werden. ```sh java -Dfile.encoding=UTF-8 -Dlogback.configurationFile=logback.xml -jar server.jar --port 13051 --loadGameFile ./replay.xml --turn 10 ``` +TODO: +Tabelle cli Optionen wie bei TestClient? + ### Replay speichern Wenn der Server ohne grafische Oberfläche gestartet wird, @@ -204,7 +207,7 @@ dass Computerspieler wegen Zugzeitüberschreitungen vom Server disqualifiziert w Dies passiert, obwohl der Zug innerhalb der erlaubten Zugzeit (abhängig vom Spiel, bisher aber immer zwei Sekunden) an den Server geschickt wurde. -Der Garbage Collector der Java Virtual Machine löst dieses Verhalten aus. +Der [Garbage Collector](/faq#garbage-collector) der Java Virtual Machine kann dieses Verhalten auslösen. Er pausiert die Anwendung, um nicht mehr genutzten Speicher freizugeben. Wenn der Server dadurch zu einem ungünstigen Zeitpunkt angehalten wird, bemerkt er den Eingang des Zuges vom Computerspieler nicht rechtzeitig und disqualifiziert ihn daraufhin. @@ -294,7 +297,11 @@ Unter Windows ``` Der TestClient kann sich auch mit einem bereits laufenden Server verbinden, bei Angabe des Arguments `--start-server` startet er jedoch einfach selbst einen. -Wichtig ist, dass nicht versucht wird, zwei Server auf dem selben Port zu starten. +Bei folgender Fehlermeldung wurde der Server auf einem bereits belegten Port gestartet: +``` + Could not start server on port 13050 + java.net.BindException: Address already in use +``` #### Argumente des TestClients @@ -326,5 +333,6 @@ Ergebnisse werden erst zurückgesetzt, wenn der Server neu gestartet wird. Achte also nach einer Veränderung der Spieler darauf, den Server neu zu starten oder andere Spielernamen zu verwenden. +TODO: Is this still right? Dieses Verhalten wird wahrscheinlich bald verändert, wobei dann jeder TestClient unabhängig vom Server die Punkte zählt.