Skip to content
Snippets Groups Projects
Commit f60607aa authored by Jakob Moser's avatar Jakob Moser
Browse files

Add parameter description

parent c584aee5
No related branches found
No related tags found
2 merge requests!3README an das Fachschaftsformat anpassen, Container automatisch bauen,!2README an das Fachschaftsformat anpassen, Container automatisch bauen
This commit is part of merge request !3. Comments created here will be created in the context of that merge request.
...@@ -36,31 +36,36 @@ Das hier verwendete Passwort (bzw. Authorization Token) wird irgendwo im Klartex ...@@ -36,31 +36,36 @@ Das hier verwendete Passwort (bzw. Authorization Token) wird irgendwo im Klartex
* Bitte den Server nur über die Konsole in Minecraft stoppen, um Fehler insbesondere an der Welt zu vermeiden. * Bitte den Server nur über die Konsole in Minecraft stoppen, um Fehler insbesondere an der Welt zu vermeiden.
* Sofern die DynMap über den internen Webserver des Plugins ausgeliefert werden soll, muss auch noch der Container-Port 8123 nach außen gemappt werden. Der Maintainer rät allerdings dazu, den aktuellen Nginx-Container stattdessen zu nutzen (und DynMap entsprechend anzupassen). Dabei können selbst bei rund 10 Aufrufen pro Minute erheblich ressourcen gespart werden – ein Java-basierter Webserver ist keine gute Idee. * Sofern die DynMap über den internen Webserver des Plugins ausgeliefert werden soll, muss auch noch der Container-Port 8123 nach außen gemappt werden. Der Maintainer rät allerdings dazu, den aktuellen Nginx-Container stattdessen zu nutzen (und DynMap entsprechend anzupassen). Dabei können selbst bei rund 10 Aufrufen pro Minute erheblich ressourcen gespart werden – ein Java-basierter Webserver ist keine gute Idee.
<!-- TODO ## :deciduous_tree: Umgebungsvariablen
### Environment Variablen
Um eine Env Variable festzulegen gilt das folgenden Muster: `-e <NAME>="<VALUE>"` where `<NAME>`
Der Platzhalter `<Name>`Wird durch den Namen der Env Variable ersetzt und `<value>` wird mit dem zuzuweisenden Wert ersetzt.
- Minecraft Version
- **Name:** `MC_VERSION`
- Legt die zu verwendene MC-Version fest.
- !Wichtig! Die spezifizierte Version muss auch einen PaperMC Release haben, da sonst der Build fehlschlägt
- [Aktuelle PaperMC-Builds](https://papermc.io/downloads) (Zuletzt 1.16.4)
- `-e MC_VERSION="<latest>"`
- Die Buildnummern (ie. #355) sind normalerweise irrelevant hier kann man es bei latest belassen, falls jedoch ein spezifischer Build verwendet werden soll, lässt sich das durch den Parameter erreichen:
- `-e PAPER_BUILD="<latest>"`
- RAM
- **Name:** `MC_RAM`
- Legt die Speichermenge für java fest. Zahl muss M für Megabytes oder G für Gigabytes enthalten.
- Für die Flags der Java VM die ich aktuell nutze empfielt es sich 6GB minimum zuzuweisen oder maximal 10GB
- `-e MC_RAM="<4G>"`
- Java options
- **Name:** `JAVA_OPTS`
- Javaspezifische Parameter, nur ändern wenn es notwendig ist und man weis was man tut!
- Ausnahme, wenn der Server mit weniger RAM laufen soll eignet es sich hier die für spigot üblichen flags (siehe SpigotMC Docs) einzusetzen um aikars flags zu überschreiben
- Mit genug Erfahrung können auch die Werte von den flags angepasst werden, aber auch hier gilt: Vorsicht nur anpassen wenn man weis was man da tut
- `-e JAVA_OPTS="-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -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"`
Umgebungsvariablen können über `environment` festgelegt werden, z.B. so:
```yaml
...
services:
papermc:
image: gitlab.cl.uni-heidelberg.de:5050/tmueller/clspigot-docker:latest
environment:
NAME_DER_VARIABLE: "Wert der Variable"
...
```
Der Platzhalter `NAME_DER_VARIABLE` wird durch den Namen der Umgebungsvariable erstetzt, der Platzhalter `Wert der Variable` durch den Wert, der zugewiesen werden soll.
| Name der Variable | Kurzbeschreibung | Beispiel | Anmerkung |
|-------------------|-------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `MC_VERSION` | Zu verwendende Minecraft-Version | `1.16.4` | Die spezifizierte Version muss auch einen PaperMC Release haben, da sonst der Build fehlschlägt, siehe Liste der [aktuellen PaperMC-Builds](https://papermc.io/downloads) |
| `PAPER_BUILD` | Nummer des zu verwendenden PaperMC-Builds | `#355` | Normalerweise irrelevant (kann bei „latest“ belassen werden) |
| `MC_RAM` | Speichermenge in Mega- oder Gigabyte | `4G` | Für die Flags der Java VM, die der Maintainer aktuell nutzt, empfiehlt es sich 6GB minimum zuzuweisen oder maximal 10GB |
| `JAVA_OPTS` | Javaspezifische Parameter | *siehe unten* | Nur ändern, wenn es notwendig ist und man weiß, was man tut! Ausnahme: Wenn der Server mit weniger RAM laufen soll, kann man hier die für Spigot üblichen Flags (siehe SpigotMC-Docs) einsetzen, um Aikars Flags zu überschreiben |
### Beispiel für javaspezifische Parameter
```
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -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
```
<!--
# Befehle # Befehle
Innerhalb von Minecraft kann per `/backup` der Server gesichert werden. Innerhalb von Minecraft kann per `/backup` der Server gesichert werden.
Zum stoppen des Servers einfach über docker den container stoppen. Zum stoppen des Servers einfach über docker den container stoppen.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment