Skip to content
Snippets Groups Projects

README an das Fachschaftsformat anpassen, Container automatisch bauen

Merged Jakob Moser requested to merge moser/clspigot-docker:mergable into master
1 file
+ 29
24
Compare changes
  • Side-by-side
  • Inline
+ 29
24
@@ -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.
* 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
### 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"`
## :deciduous_tree: Umgebungsvariablen
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
Innerhalb von Minecraft kann per `/backup` der Server gesichert werden.
Zum stoppen des Servers einfach über docker den container stoppen.
Loading