Skip to content

Commit a141ae3

Browse files
authored
Merge pull request #82 from BenjaminDerProgrammierer/develop
Correction in chess board evaluation example & new Übungsanleitung
2 parents f66639d + 910b3db commit a141ae3

File tree

12 files changed

+148
-3
lines changed

12 files changed

+148
-3
lines changed

content/uebungsanleitungen/programmieren/minecraft/server/installation-minecraft-server/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Installation eines Minecraft Servers"
2+
title: "Installation eines Minecraft Servers auf einem Ubuntu-Server"
33
description: "In dieser Übung installieren wir einen Minecraft Server. Als Grundlage brauchst du dafür einen Computer, auf dem Linux installiert ist. Linux ist eine freie Software, die kostenlos im Internet zu haben ist."
44
level: 2
55
img: "server-verbinden.png"
Loading
Loading
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: "Installation eines lokalen Minecraft-Servers auf dem eigenen Rechner"
3+
description: "In dieser Übung installieren wir einen Minecraft-Server. Dieser Server wird auf dem eigenen Rechner installiert."
4+
level: 1
5+
img: "local-server-cover.jpg"
6+
---
7+
<!-- Cover image by [allinonemovie](https://pixabay.com/users/allinonemovie-201131/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=1106252) from [Pixabay](https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=1106252) (CC0) -->
8+
9+
# Installation eines Minecraft-Servers
10+
11+
## Einführung
12+
13+
In dieser Übung installieren wir einen Minecraft Server. Dieser Server wird auf dem eigenen Rechner installiert. Zuerst installieren wir die Standardversion des Servers. Anschließend installieren wir einen Forge- und Paper-Server. Forge ist eine Modifikation für Minecraft, die es ermöglicht, Mods zu installieren. Paper ist eine spezielle Server-Software, die es erlaubt, Plugins zu installieren.
14+
15+
## Voraussetzungen
16+
17+
- Minecraft Java Edition gekauft und installiert ([minecraft.net/java-edition](https://www.minecraft.net/de-de/store/minecraft-java-edition))
18+
- Erfahrung mit der Erstellung von Dateien und Ordnern auf deinem Rechner.
19+
- Minecraft-Kenntnise (z. B. wie man Minecraft startet und sich mit einem Server verbindet).
20+
- Wenn du einen Forge- oder Fabric-Server installieren möchtest, benötigst du zusätzlich Erfahrung mit der Installation von Mods.
21+
- Einen Texteditor (z. B. Visual Studio Code oder Sublime Text) zum Bearbeiten von Dateien. Ich persönlich empfehle Sublime Text zum Bearbeiten einfacher Dateien.
22+
23+
## Vorbereitung
24+
25+
### Java Development Kit (JDK) installieren
26+
27+
Falls noch nicht geschehen, installiere Minecraft Java Edition auf deinem Rechner. Zusätzlich benötigst du das JDK (Java Development Kit, Java Entwickler-). Falls du Java noch nicht installiert hast, kannst du es von der [Adoptium Java-Website](https://adoptium.net/) herunterladen.
28+
29+
{{< imgblock "img/browser-adoptium.png" "Screenshot der Adoptium-Website" >}}{{< /imgblock >}}
30+
31+
Java wurde 1991 von Sun Microsystems entwickelt und von Oracle in 2010 gekauft. Weil Oracle das JDK nicht mehr zum direkten Download anbietet, empfehlen wir dir, Adoptium Java zu verwenden. Adoptium Java ist eine Open-Source-Version von Java, die von der Eclipse Foundation entwickelt wird.
32+
33+
### Minecraft Server Software herunterladen
34+
35+
Besuche die Minecraft Server Download-Seite ([minecraft.net/download/server](https://www.minecraft.net/de-de/download/server)) und lade die Server-Software herunter. Die Server-Software ist eine JAR-Datei (Java Archive), die du auf deinem Rechner ausführen kannst. Falls du eine ältere Version des Servers benötigst, kannst du sie auf der [Minecraft Versions-Website](https://mcversions.net/) herunterladen (Achte darauf, die Server.jar herunterzuladen).
36+
37+
{{< imgblock "img/browser-minecraftserverdownload.png" "Screenshot der Minecraft-Website" >}}{{< /imgblock >}}
38+
39+
Nachdem du die Server-Software heruntergeladen hast, erstelle einen neuen Ordner auf deinem Rechner und verschiebe die Server-Software in diesen Ordner. Zur besseren Übersicht kannst du den Ordner `Minecraft Server` und die Datei `minecraft_-_server-X.X.X.jar` nennen (wobei `X.X.X` die Versionsnummer des Servers ist).
40+
41+
### Dateiendungen anzeigen
42+
43+
Standardmäßig sind Dateiendungen in Windows ausgeblendet. Um Dateiendungen anzuzeigen, öffne den Datei-Explorer und klicke auf `Ansicht` bzw. `View` in der oberen Menüleiste. Öffne das Menü `Zeigen` bzw. `Show` und aktiviere die Option `Dateinamenerweiterungen` bzw. `File Name Extensions`.
44+
45+
{{< imgblock "img/explorer-hiddenfiles.png" "Screenshot der Minecraft-Website" >}}{{< /imgblock >}}
46+
47+
Unter MacOS kannst du Dateiendungen anzeigen, indem du in den Finder-Einstellungen die Option `Alle Dateinamenerweiterungen einblenden` aktivierst.
48+
In Linux werden Dateiendungen standardmäßig angezeigt.
49+
50+
## Vanilla Minecraft Server installieren
51+
52+
Vannila Minecraft ist die Standardversion des Spiels. Das kommt von Vanille-Eis, das als Basis für viele andere Eissorten dient. Der Vanilla Minecraft Server ist die Basisversion des Servers, auf der alle anderen Server-Versionen aufbauen.
53+
54+
### Server starten
55+
56+
Öffne den Ordner, in dem du die Server-Software gespeichert hast. Erstelle eine neue Textdatei und benenne sie in `start.bat` (Windows) oder `start.sh` (MacOS/Linux) um.
57+
58+
Du kannst einen Startdatei-Generator (z. B. [flags.sh](https://flags.sh/)) verwenden, um die Startdatei zu erstellen. Füge den generierten Code in die Datei ein. Die fertige Datei sollte ungefähr wie folgt aussehen:
59+
60+
Windows:
61+
62+
```batch
63+
@echo off
64+
java -Xms4096M -Xmx4096M ... -jar minecraft_server-X.X.X.jar nogui
65+
pause
66+
```
67+
68+
MacOS/Linux:
69+
70+
```bash
71+
#!/bin/bash
72+
java ...
73+
```
74+
75+
Wenn die zweite Zeile so aussieht, ist das kein Problem. Diese zusätzlichen Optionen sind für die Server-Performance und -Stabilität gedacht. Du kannst sie verwenden, um deinen Server zu optimieren:
76+
77+
```bash
78+
java -Xms4096M -Xmx4096M --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -jar minecraft_server-X.X.X.jar --nogui
79+
```
80+
81+
`@echo off` schaltet die Ausgabe von Befehlen aus.
82+
83+
`#!/bin/bash` sagt MacOS/Linux, dass du die Datei mit "bash" ausführen möchtest. Die zweite Zeile startet den Server.
84+
85+
`pause` hält das Fenster offen, damit du die Serverausgabe lesen kannst.
86+
87+
Deine Optionen für den zugewiesenen Arbeitssüpeicher an (`-Xmx` und `-Xms`) können variieren. `-Xmx` gibt die maximale Speichergröße an, die der Server verwenden kann. `-Xms` gibt die minimale Speichergröße an, die der Server beim Starten verwendet. In diesem Beispiel verwenden wir 1 GB für beide Optionen. Du kannst die Speichergröße an deine Bedürfnisse anpassen.
88+
89+
`-jar minecraft_server-X.X.X.jar` sagt Java, wie die Serverdatei heißt. Ersetze `X.X.X` durch die Versionsnummer des Servers.
90+
91+
`nogui` startet den Server ohne grafische Benutzeroberfläche, da dies die Performance verbessert. Wenn du den Server mit einer grafischen Benutzeroberfläche starten möchtest, entferne `nogui`.
92+
93+
Speichere die Datei und führe sie aus. Ein schwarzes Fenster geht auf und der Server startet... Und stoppt sofort wieder. Das ist normal. Der Server erstellt die Konfigurationsdateien und stoppt dann wieder. Du musst nämlich zuerst die Minecraft EULA (Endbenutzer-Lizenzvereinbarung) akzeptieren. Öffne dazu die Datei `eula.txt` und ändere `eula=false` in `eula=true`. Speichere die Datei und starte den Server erneut.
94+
95+
{{< imgblock "img/console-eula.png" "Konsolenfenster mit dem EULA Error" >}}{{< /imgblock >}}
96+
97+
{{< imgblock "img/editor-eula.png" "Konsolenfenster mit dem EULA Error" >}}{{< /imgblock >}}
98+
99+
Der Server sollte jetzt starten und die Welt generieren. Du kannst den Server über die Adresse `localhost` erreichen. Öffne Minecraft und verbinde dich mit dem Server. Wenn du mit deinen Freunden im selben Netzwerk spielen möchtest, gib ihnen deine private IP-Adresse (die Kannst du unter deinen Interneteinstellungen finden) Wenn du den Server für andere Spieler im Internet zugänglich machen möchtest, musst du die Portweiterleitung in deinem Router einrichten (siehe unten).
100+
101+
{{< imgblock "img/minecraft-localhost.png" "Minecraft Server-Verbindung" >}}{{< /imgblock >}}
102+
103+
## Forge bzw. Fabric Server installieren
104+
105+
Forge ist eine Modifikation für Minecraft, die es ermöglicht, Mods zu installieren. Mods sind Erweiterungen für Minecraft, die das Spiel verändern oder verbessern. Forge ist eine der beliebtesten Modifikationen für Minecraft und wird von vielen Mod-Entwicklern unterstützt. Fabric ist eine alternative Modifikation für Minecraft, die von einigen Mod-Entwicklern bevorzugt wird.
106+
107+
### Forge bzw. Fabric Server Software herunterladen
108+
109+
Gehe zur [Forge-Website](https://files.minecraftforge.net/) oder zur [Fabric-Website](https://fabricmc.net/use/server/) und lade die Server-Software herunter. Die Server-Software ist eine JAR-Datei, die du auf deinem Rechner ausführen kannst. Erstelle einen neuen Ordner auf deinem Rechner und verschiebe die Server-Software in diesen Ordner.
110+
111+
Für Forge musst du zuerst Forge installieren. Gehe dazu zur [Forge-Website](https://files.minecraftforge.net/) und lade Forge herunter. Forge ist eine JAR-Datei, die du auf deinem Rechner ausführen kannst. Erstelle einen neuen Ordner auf deinem Rechner und verschiebe die Forge-Modifikation in diesen Ordner. Führe Forge aus, um die Modifikation zu installieren.
112+
113+
{{< imgblock "img/forge-installer.png" "Screenshot der Forge-Website" >}}{{< /imgblock >}}
114+
115+
Fabric benötigt keine separate Installation. Lade die Fabric-Server-Software herunter und verschiebe sie in den Ordner, den du zuvor erstellt hast.
116+
117+
### Mods installieren
118+
119+
Forge und Fabric ermöglichen es, Mods zu installieren. Mods sind Erweiterungen für Minecraft, die das Spiel verändern oder verbessern. Du kannst Mods von Websites wie [CurseForge](https://www.curseforge.com/minecraft/mc-mods) oder [Modrinth](https://modrinth.com/mods) herunterladen. Lade die Mods herunter und verschiebe sie in den `mods`-Ordner im Server-Ordner. Du musst die Mods auch auf dem Client installieren, um sie verwenden zu können.
120+
121+
### Forge- bzw. Fabric-Server starten
122+
123+
Gehe wie beim Vanilla Minecraft Server vor und erstelle eine Startdatei für den Forge- oder Fabric-Server. Ferwende die neue Server-Software (`forge-X.X.X-X.X.X-X.jar` oder `fabric-server-mc.X.X.X-loader.X.X.X-launcher.X.X.X.jar`) anstelle der Vanilla-Server-Datei.
124+
125+
## Weitere Server-Software
126+
127+
Es gibt viele weitere Server-Software für Minecraft, die es ermöglichen, Plugins zu installieren. Einige der beliebtesten Server-Software sind Spigot, Paper und Bukkit. Diese Server-Software ermöglichen es, Plugins zu installieren, die das Spiel verändern oder verbessern. Auf diese werde ich hier nicht eingehen, da sie komplexer sind und mehr Erfahrung erfordern.
128+
129+
## Weitere Schritte
130+
131+
### Portweiterleitung
132+
133+
Wenn du deinen Server für andere Spieler im Internet zugänglich machen möchtest, musst du die Portweiterleitung in deinem Router einrichten. Öffne dazu die Router-Konfiguration und leite den Port 25565 an die IP-Adresse deines Rechners weiter. Die genaue Vorgehensweise hängt von deinem Router-Modell ab. Du findest die Anleitung in der Bedienungsanleitung des Routers oder auf der Website des Herstellers. Achte darauf, dass du die IP-Adresse deines Rechners statisch einstellst, damit sie sich nicht ändert. Eine allgemeine Anleitung dazu findest du auf dem [NordVPN-Blog](https://nordvpn.com/de/blog/portweiterleitung/)
134+
135+
### Server-Management
136+
137+
Sobald dein Server läuft, musst du ihn verwalten. Das bedeutet, dass du regelmäßig Backups erstellst, den Server aktualisierst und die Spieler verwaltest. Du kannst ein Server-Management-Tool wie [Pterodactyl](https://pterodactyl.io/) verwenden, um den Server zu verwalten.
138+
139+
### Einen Server mieten
140+
141+
Wenn du deinen Server nicht auf deinem eigenen Rechner hosten möchtest, kannst du einen Server mieten. Es gibt viele Anbieter, die Minecraft-Server-Hosting anbieten. Am Besten ist es, keinen Minecraft-Server, sondern einen KVM oder VPS zu mieten. Ich persönlich bin mit [Datalix](https://datalix.de/) seit Jahren sehr zufrieden.
142+
143+
## Fazit
144+
145+
In dieser Übung haben wir einen lokalen Minecraft-Server installiert. Wir haben die Standardversion des Servers installiert und einen Forge- und Fabric-Server installiert. Wir haben gelernt, dass man Mods und Plugins installieren kann, um das Spiel zu verändern oder zu verbessern. Wir haben auch gelernt, dass man Portweiterleitung benötigt, um den Server für andere Spieler zugänglich zu machen.

content/uebungsanleitungen/programmieren/scratch/chess/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Unser Programm wird mit den schwarzen Figuren spielen, der Benutzer hat Weiß.
3333
{{< imgblock "img/chess-eval-code.png" "Brettbewertung" 8 >}}
3434
Die Brettbewertung programmieren wir in der Funktion „EvaluateBoard“. Wichtig ist, dass wir dafür ide Option „Ohne Bildschirmaktualisierung laufen lassen“ auswählen (Rechtsklick auf Funktionskopf, dann „Bearbeiten“ - das gilt für alle Blöcke). Das Programm wäre sonst zu langsam.
3535

36-
Die Bewertung setzt sich aus dem Figurenmaterial und der Position der Figuren am Brett zusammen. Jede Figur hat einen Wert, am meisten der König (20000), da ein geschlagener König Schachmatt bedeutet. Dann die Dame (900), die Türme (500), und so weiter. Die Figuren des Gegners sind mit negativem Vorzeichen versehen, damit die Werte addiert werden können. Ein Spieler, der einen Bauern und einen Turm mehr hat als sein Gegner, hat eine Bewertung von 900 + 500 = 1400. Somit können wir den Zug suchen, der in der Zukunft die beste Bewertung verspricht.
36+
Die Bewertung setzt sich aus dem Figurenmaterial und der Position der Figuren am Brett zusammen. Jede Figur hat einen Wert, am meisten der König (20000), da ein geschlagener König Schachmatt bedeutet. Dann die Dame (900), die Türme (500), und so weiter. Die Figuren des Gegners sind mit negativem Vorzeichen versehen, damit die Werte addiert werden können. Ein Spieler, der einen Bauern und einen Turm mehr hat als sein Gegner, hat eine Bewertung von 100 + 500 = 600. Somit können wir den Zug suchen, der in der Zukunft die beste Bewertung verspricht.
3737

3838
Der Wert jeder Figur ist bereits in Variablen namens „BlackKing“, „WhiteKing“ usw. gespeichert. Unser aktuelles Schachbrett selbst steht in der Liste „Board“. Board hat 64 Einträge, einen für jedes Feld. In einer Schleife mit 64 Iterationen zählen wir dann die Werte aller Figuren zusammen.
3939

content/uebungsanleitungen/programmieren/scratch/en/chess/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Our program will play with the black pieces, the user plays white.
3333
{{< imgblock "img/chess-eval-code-en.png" "Board evaluation" 8 >}}
3434
The board evaluation is implemented by the custom block "EvaluateBoard". It is important to select the option "Run without screen refresh" (right-click on the custom block header, then "Edit"). Otherwise our program would be too slow.
3535

36-
Our evaluation is composed of the material and position values. Each piece has an assigned value; a king is ranked higher than everything else combined (20,000), as a defeated king means loss by checkmate. Next comes the queen (900), then rooks (500), and so on. The opponent's pieces have a negative value so that all numbers can be added up for the board's material balance. Having one pawn and one tower more than the other side results in a board evaluation of 900 + 500 = 1400. Thus, we can search for moves that promise the best board evaluation, and discard others.
36+
Our evaluation is composed of the material and position values. Each piece has an assigned value; a king is ranked higher than everything else combined (20,000), as a defeated king means loss by checkmate. Next comes the queen (900), then rooks (500), and so on. The opponent's pieces have a negative value so that all numbers can be added up for the board's material balance. Having one pawn and one tower more than the other side results in a board evaluation of 100 + 500 = 600. Thus, we can search for moves that promise the best board evaluation, and discard others.
3737

3838
Piece values are stored in variables named "BlackKing", "WhiteKing", etc. Our current chessboard state is stored in the "Board" list. Board has 64 list entries, one for each square. For calculating the board evaluation, we loop over the list and add up its entries.
3939

Loading

0 commit comments

Comments
 (0)