# Chaos WAN-Party 2021v2
###### tags: `wanparty`,`archive`
Corona nervt und wir lassen uns unsere LAN-Party nicht wegnehmen. Das bisschen LAN kann man auch virtualisieren.
---
## Virtueller Raum
- **IRC:** `#cda-lan` im hackint
- **Mumble:** `mumble.hax404.de`
- **Unter Audio Input auf jeden Fall RNNOISE aktivieren!**
## Wann
### Setup & Test
> Ein dezentrales Setup ist leider ein wenig komplizierter als sich per Kabel an einen Switch anzustecken. Daher sollten alle am folgenden Termin ihr VPN-Setup einrichten, damit wir am darauf folgenden Wochenende möglichst wenig Zeit zum Debugging benötigen.
- Sa, 11.09.2021, 16:00 Uhr
### Party
- **Von:** Fr, 17.09.2021 17:00
- **Bis:** So, 19.09.2021 Open end
## Anmeldung
Bist du dabei? Dann trag dich ein!
- nick1
- nick2
- nick3
- ...
- *Du?*
## Setup
:::warning
Alles läuft über ein L2-VPN, damit Discovery-Mechanismen auf Ethernet-Basis funktionieren können. Und wenn es Spiele wie AoE2 oder Anno 1404 geben soll, dann brauchen wir zwangsläufig Ethernet.
:::
### Tinc downloaden
**Tinc 1.1** (*nicht* 1.0)
- Arch: `tinc-pre`, `tinc-pre-git` (beide AUR)
- Debian: https://packages.debian.org/experimental/tinc
- NixOS: `nixpkgs.tinc_pre`
- OpenBSD `pkg_add tinc` (es gibt nur diese paket, version `1.1pre17`)
- Ubuntu: `add-apt-repository ppa:baszoetekouw/tinc-devel`
- Windows: https://tinc-vpn.org/download/
### Tinc invite requesten
Im `#cda-lan` channel `!invite` schreiben und der wanpartybot sollte dir einen Tinc invite geben.
Dein Nickname wird hierbei als Name deines Tinc-Peers verwendet. Willst du mehrere Maschinen ins Wanparty-Netzwerk hängen, so musst du jedes mal den Nicknamen wechseln, bevor du `!invite` aufrufst.
### IP-Addresse reservieren
* **Subnet:** 192.0.2.0/24
* **IPs:** 192.0.2.**X**
#### Belegte IP-Adressen (bitte hier eintragen falls noch nicht enthalten)
| X | Name |
| -:| --------- |
| 0 | network |
| 1 | wanparty |
| 2 | gameserver|
| 3 | nick1 |
| 4 | nick2 |
| 5 | nick3 |
| 6 | nick4 |
| 7 | nick5 |
| ... | *du* |
| 255 | broadcast |
### Linux
#### Joinen
```sh
mkdir $HOME/wanparty
tinc -c $HOME/wanparty -n wanparty join <token>
# Jetzt das tinc-up script Konfigurieren
```
#### tinc-up konfigurieren
Nach dem `tinc join` Aufruf existiert im lokalen Ordner ein `tinc-up` Script. Das durch das folgende Skript ersetzen und hierbei das letzte Byte an der IP-Addresse ersetzen!
```sh
#!/bin/sh
# dont accept router advertisements
sysctl net.ipv6.conf.$INTERFACE.accept_ra=0
ip addr add 192.0.2.X/24 dev $INTERFACE
ip link set up dev $INTERFACE
# route broadcast packets into the wanparty VPN
ip route add 255.255.255.255/32 dev $INTERFACE
```
#### Starten
```sh
sudo tinc -c $HOME/wanparty -n wanparty start
# startet den tincd als root, der das wanparty interface erstellt
```
Wenn der Prozess mit der folgenden Nachricht blockiert ist der Invite schiefgegangen. Das Token ist vermutlich ungültig.
```
Connected to some.host.name port 2342...
```
#### Firewall
Ggf. Firewalling konfigurieren. Sammelsurium an Regeln:
```
ip6tables -I INPUT 1 -i wanparty -j DROP
ip6tables -I OUTPUT 1 -o wanparty -j DROP
iptables -I INPUT 1 -i wanparty -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# wc3
iptables -I INPUT 2 -i wanparty -p udp --dport 6112 -j ACCEPT
iptables -I INPUT 3 -i wanparty -p tcp --dport 6112 -j ACCEPT
# Age of Empires 2
iptables -I INPUT 5 -i wanparty -p tcp -m multiport --dports 2300:2400 -j ACCEPT
iptables -I INPUT 6 -i wanparty -p tcp --dport 47624 -j ACCEPT
iptables -I INPUT 6 -i wanparty -p udp --dport 47624 -j ACCEPT
iptables -I INPUT 7 -i wanparty -p udp -m multiport --dports 2300:2400 -j ACCEPT
iptables -I INPUT 8 -i wanparty -j DROP
# drop some outgoing shit
iptables -I OUTPUT 1 -o wanparty -p udp --dport 5353 -j DROP
iptables -I OUTPUT 1 -o wanparty -p udp --sport 5353 -j DROP
```
### OpenBSD
#### Joinen
Siehe Linux.
#### tinc-up konfigurieren
```shell
#!/bin/sh
# IPv6 is disabled unless explicitly configured,
# i.e. no RA accepted/parsed by default
ifconfig $INTERFACE inet 192.0.2.X/24
route add 255.255.255.255/32 -link -iface $INTERFACE
```
### Windows
#### Installation
1. Tinc [downloaden](https://www.tinc-vpn.org/packages/windows/tinc-1.1pre17-install.exe) und installieren
2. TAP-Device installieren:
Eingabeaufforderung als Administrator öffnen und folgendes eingeben:
```
cd "C:\Program Files\tinc\tap-win64"
addtap.bat
```
3. Das neu installierte TAP-Device (*TAP-Windows Adapter V9*) geeignet umbenennen, bspw. in "Tinc") -- der Name wird später benötigt, um das korrekt Interface automatisch zu konfigurieren
#### wanparty joinen
```
cd "C:\Program Files\tinc"
tinc -n wanparty join <token>
```
Falls der Prozess mit der folgenden Nachricht blockiert, ist der Invite schiefgegangen, das Token ist vermutlich ungültig:
```
Connected to some.host.name port 2342...
```
Wenn alles geklappt hat, existiert nun ein Ordner `wanparty` im Tinc-Installationsverzeichnis.
#### tinc-up/down konfigurieren
Nach dem `tinc join` müssen die Scripts `tinc-up.bat` und `tinc-down.bat` im wanparty-Ordner erstellt werden (`IFNAME` = Name des Tinc-Interfaces, `X` = letztes Byte der ausgewählten eigenen IP-Adresse):
*tinc-up.bat*:
```sh
@echo off
netsh interface ipv4 set address IFNAME static 192.0.2.X/24 store=active
netsh interface ipv4 add route 255.255.255.255/32 IFNAME metric=1 store=active
```
*tinc-down.bat*:
```sh
@echo off
netsh interface ipv4 delete route 255.255.255.255/32 IFNAME
netsh interface ipv4 delete route 192.0.2.0/24 IFNAME
netsh interface ipv4 delete route 192.0.2.X/32 IFNAME
```
#### Tinc starten
Zum Schluss Tinc noch einmal als Administrator testweise mit Debug-Option starten und vergewissern, dass alles pingt, Routen stimmen, etc.:
`tincd -n wanparty -D -d3`
Wenn alles klappt, kann Tinc als Service installiert und so gestartet werden:
`tinc -n wanparty start`
### NixOS
#### Grafikbeschleunigung
```nix
hardware.opengl = {
enable = true;
driSupport32Bit = true;
};
```
#### Tinc
Config-Snippet für das Tinc-Setup unter NixOS.
Zuerst ein Keypair generieren.
```shell
# mkdir -p /etc/tinc/wanparty
# tinc -n wanparty generate-ed25519-keys
Generating Ed25519 key pair:
Done.
Please enter a file to save private Ed25519 key to [/etc/tinc/wanparty/ed25519_key.priv]:
Please enter a file to save public Ed25519 key to [/etc/tinc/wanparty/ed25519_key.pub]:
```
Dann das Snippet kopieren und `name`, `ed25519PublicKey` und `ipAddress` anpassen.
```nix
{ pkgs, ... }:
let
name = "CHANGEME";
port = 5863;
ed25519PrivateKeyFile = "/etc/tinc/wanparty/ed25519_key.priv";
ed25519PublicKey = "CHANGEME";
ipAddress = "192.0.2.XX";
in
{
services.tinc.networks.wanparty = {
inherit name ed25519PrivateKeyFile;
interfaceType = "tap";
extraConfig = ''
Mode = switch
ConnectTo = wanparty
Broadcast = yes
'';
chroot = false;
debugLevel = 3;
hosts = {
"${name}" = ''
Ed25519PublicKey = ${ed25519PublicKey}
Port = ${toString port}
'';
wanparty = ''
Ed25519PublicKey = VGhpcyBpcyBqdXN0IGEgcHVia2V5IGV4YW1wbGUgO1AK
Address = some.host.name
Port = 2342
'';
};
};
environment.etc."tinc/wanparty/tinc-up" = {
mode = "0554";
text = let
ip = "${pkgs.iproute}/bin/ip";
in ''
# Don't accept Router Advertisements on the VPN interface
echo 0 > /proc/sys/net/ipv6/conf/tinc.wanparty/accept_ra
# Set the link administratively up
${ip} link set up dev tinc.wanparty
# Configure the ip address
${ip} addr add ${ipAddress}/24 dev tinc.wanparty
# Add a route to send broadcast traffic onto the VPN interface
${ip} route add 255.255.255.255/32 dev tinc.wanparty
'';
};
}
```
#### Firewall
Optional, aber empfehlenswert.
```nix
{
services.ferm = {
enable = true;
config = ''
domain (ip ip6) {
table filter {
chain INPUT {
policy ACCEPT;
proto icmp ACCEPT;
mod state state (INVALID) DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
interface (tinc.wanparty) {
# Age of Empires
proto (tcp) dport (2300 2350) ACCEPT;
proto (udp) dport (47624) ACCEPT;
# Warcraft 3
proto (tcp udp) dport (6112) ACCEPT;
# Xonotic
proto (tcp udp) dport (27000) ACCEPT;
# Anno 1404
proto udp dport (9100 9103) ACCEPT;
# Factorio
proto udp dport (34197) ACCEPT;
LOG log-prefix "wanparty/drop: ";
DROP;
}
}
chain OUTPUT {
policy ACCEPT;
mod state state (ESTABLISHED RELATED) ACCEPT;
outerface (tinc.wanparty) {
# Drop Avahi, SSDP, Syncthing
proto udp dport (1900 5353 21027) DROP;
}
}
chain FORWARD {
policy DROP;
}
}
}
'';
};
}
```
## Spiele
:::warning
Spielinfos werden rechtzeitig bereitgestellt, damit wir alle mit untereinander kompatiblen Versionen starten. Auf Linux-Kompatibilität wird stark geachtet, im Zweifelsfall Betrieb von Klassikern via [WINE](https://www.winehq.org).
*Bitte alphabetische Reihenfolge beibehalten!*
:::
---
### [0ad](https://play0ad.com)
![](https://md.darmstadt.ccc.de/uploads/upload_5edf7bdf0d9a103ed8052d052b1ef1a9.png)
- [Download Alpha 25](https://play0ad.com/download) (~1GB)
- or you install via nix/apt/zypper/sacrifical goat
---
### [Age of Empires 2](https://appdb.winehq.org/objectManager.php?sClass=application&iId=99)
![](https://md.darmstadt.ccc.de/uploads/upload_1415d88880541c72c00479e64a5a7819.png =640x)
- Version: Age of Kings (< 500MB)
- NixOS: `shell.nix`
```nix
let
pkgs = import <nixpkgs> {};
in pkgs.mkShell {
buildInputs = with pkgs; [
wineWowPackages.full
];
shellHook = ''
export WINEARCH=win64
export WINEPREFIX=$(pwd)
# configure virtual desktop on first run and then comment this line
winecfg
exec wine "drive_c/Program Files (x86)/Microsoft Games/Age of Empires II/age2_x1/age2_x1.exe"
'';
}
```
---
### [Age of Empires IV](https://store.steampowered.com/app/1466860/Age_of_Empires_IV/)
![](https://cdn.akamai.steamstatic.com/steam/apps/1466860/header.jpg?t=1631656510 =640x)
- Dieses Wochenende läuft die open alpha auf steam
- Zum Teilnehmen auf der Steam Store Page "am Technical Stress Test teilnehmen" wählen, dann auf E-Mail warten
---
### [Anno 1404 Venice](https://appdb.winehq.org/objectManager.php?sClass=application&iId=9887)
![](https://md.darmstadt.ccc.de/uploads/upload_d7803f2025a7e6c7430b63af58851abd.jpg)
- Download: GOG
- Installation ca. 3GB
- 4GB Patch anwenden (Siehe Comments)
- Mit WINE: DirectX Version auf 9 stellen (siehe HowTos / Notes)
- Portfreigaben
- UDP: `9100, 9103`
- NixOS: `shell.nix` (tested 2021-01-18)
```nix
let
pkgs = import <nixpkgs> {};
in pkgs.mkShell {
buildInputs = with pkgs; [
wineWowPackages.staging
winetricks
unzip
];
shellHook = ''
export WINEARCH=win32
export WINEPREFIX=$(pwd)/wine32
export GAMEDIR="$WINEPREFIX/drive_c/GOG Games/Anno 1404 Gold Edition"
set -xe
if [[ ! -e .init-done ]]; then
if [[ ! -e .winetricks ]]; then
winetricks dxvk
# https://www.protondb.com/app/33350#0rEPbuD2Xv
winetricks d3dx9_40
winetricks d3dx9_42
touch .winetricks
fi
if [[ ! -e .installed ]]; then
wget -c https://www.gog.com/downloads/anno_1404_gold_edition/en1installer0
wget -c https://www.gog.com/downloads/anno_1404_gold_edition/en1installer1
wine "setup_anno_1404_2.01_v2_(german)_(30326).exe"
touch .installed
fi
# DirectX 9 konfigurieren
#sed -i "/<InitFile>/i<DirectXVersion>0</DirectXVersion>;<DirectXVersion>9</DirectXVersion>;g" "$WINEPREFIX/drive_c/users/$USER/Application Data/Ubisoft/Anno1404/Config/Engine.ini"
#sed -i "s,<DirectXVersion>0</DirectXVersion>,<DirectXVersion>9</DirectXVersion>," "$WINEPREFIX/drive_c/users/$USER/Application Data/Ubisoft/Anno1404Addon/Config/Engine.ini"
if [[ ! -e .patched ]]; then
# 4GB Patch
wget http://192.0.2.1/Anno%201404/4gb_patch.zip
unzip 4gb_patch.zip
wine 4gb_patch.exe "$GAMEDIR/Anno4.exe"
wine 4gb_patch.exe "$GAMEDIR/Addon.exe"
touch .patched
fi
if [[ ! -e .unofficialpatch ]]; then
# https://www.moddb.com/downloads/anno-1404-venice-unofficial-patch-v110
wget http://192.0.2.1/Anno%201404/anno1404-venice-unofficialpatch-v1.10.zip
unzip anno1404-venice-unofficialpatch-v1.10.zip
cp -v Unmodded\ Patch\ -\ Extract\ to\ Install\ Directory/addon/patch0.rda "$GAMEDIR/addon/"
touch .unofficialpatch
fi
touch .init-done
fi
cd "$GAMEDIR"
wine "Addon.exe"
set +ex
'';
}
```
---
### [Battlefield Bad Company 2](https://appdb.winehq.org/objectManager.php?sClass=application&iId=11035)
![](https://md.darmstadt.ccc.de/uploads/upload_0212cf3f706ea60c588a1103ea281d35.jpg)
BFBC2 *sollte* auch unter Linux sehr gut lauffähig sein, ([Gold laut WineHQ](https://appdb.winehq.org/objectManager.php?sClass=version&iId=20333), [Platin laut ProtonDB](https://www.protondb.com/app/24960)).
Wine instructions:
```sh
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p wine -p winetricks
export WINEPREFIX=$(pwd)/wine-prefix
winetricks -q dxvk_master
winetricks -q dinput8
# fix shaders
set -e 's/DxVersion=auto/DxVersion=9/g' -i ${WINEPREFIX}/drive_c/users/${USER}/My\ Documents/BFBC2/settings.ini
wine ./BFBC2Game.exe
```
Nach dem ersten Start das Spiel nochmal neustarten, damit die DirectX-Version auf Version 8 angepasst wird. Der Neustart ist notwendig damit a) shader funktionieren und b) die eigene Lobby funktioniert.
#### Allgemeine Installation
1. Client herunterladen und installieren
2. BFBC2Game.exe starten
---
### [Call of Duty 2](https://appdb.winehq.org/objectManager.php?sClass=application&iId=2609)
![](https://md.darmstadt.ccc.de/uploads/upload_e44c10fa0009633ba5faa0435e664543.jpg)
- NixOS: `shell.nix`
```nix
let
pkgs = import <nixpkgs> {};
in pkgs.mkShell {
buildInputs = with pkgs; [
wineWowPackages.full
];
shellHook = ''
export WINEARCH=win32
export WINEPREFIX=$(pwd)/wine32
# configure virtual desktop on first run and then comment this line
winecfg
wine "cod2/CoD2MP_s.exe"
'';
}
```
---
### [Diablo 2](https://appdb.winehq.org/objectManager.php?sClass=application&iId=74)
![](https://md.darmstadt.ccc.de/uploads/upload_af10e537745b7429ddafa5f87218d7c8.png =640x)
- Download: Blizzard
- Version: 1.14d - 2GB
- max. 8 Spieler
- Mit Wine unter Wayland auf jeden Fall Desktop emulieren
- max 800x600
- NixOS: `shell.nix`
```nix
let
pkgs = import <nixpkgs> {};
in pkgs.mkShell {
buildInputs = [
pkgs.wine
pkgs.winetricks
];
shellHook = ''
export WINEARCH=win32
export WINEPREFIX=$(pwd)/.wine32
exec wine Diablo\ II.exe
'';
}
```
---
### [Dota 2](https://store.steampowered.com/app/570/Dota_2)
![](https://md.darmstadt.ccc.de/uploads/upload_6a83b5715e698eafc4dcf0962dcf5617.jpg)
- Native auf Windows/MacOS/Linux
- Kostenlos
---
### [Factorio](https://factorio.com)
![](https://md.darmstadt.ccc.de/uploads/upload_c2e9ee8bc4c27c739cf4f61c2c90fd5c.png)
Läuft nativ unter Windows und Linux.
Version: 1.38
#### Download
- GOG
#### Installation
- Windows: Öffnen, Weiter, Weiter, Weiter [...] Finish
- Linux:
```
chmod +x factorio_1_1_38_49403.sh && ./factorio_1_1_38_49403.sh
````
- NixOS:
1. **Alternativer Weg: Linux-Installer mit `steam-run` nutzen.**
2. Unstable Channel hinzufügen
```bash=
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --update nixos-unstable
```
3. Factorio aus nixpkgs mit Overlay installieren
```nix
let
unstable = import <nixos-unstable> {};
in
{
nixpkgs.overlays = [
(self: super: {
factorio = unstable.factorio.override {
# via https://factorio.com/profile
username = "youruser;
token = "yourtoken";
experimental = true;
};
})
];
users.users.CHANGEME.packages = with pkgs; [
factorio
];
}
```
#### Spielen
- Disable Auto-Updates
- Multiplayer
- Host New Game
- Server muss UDP/34197 freigeben
- Multiplayer server settings
- [ ] Public
- [x] LAN
- Browse LAN Games
- TODO
- https://wiki.factorio.com/Multiplayer
---
### [ioquake3](https://ioquake3.org/)
- Nativ auf Linux, mac OS und Windows
#### Config
Beispiel für Custom-Resolutions und besseren Field of View (FOV):
```
r_mode "-1"
r_customwidth "2560"
r_customheight "1440"
cg_fov 120
```
---
### [League Of Legends](https://appdb.winehq.org/objectManager.php?sClass=application&iId=10436)
![](https://md.darmstadt.ccc.de/uploads/upload_4f67c11837f6f1a44d7a342593ec69df.jpg)
- Native auf Windows/MacOS
- Linux: [Lutris](#Dota-2)
- Windows: [Download](#Dota-2)
---
### [OpenRA](https://www.openra.net)
![](https://md.darmstadt.ccc.de/uploads/upload_18418b4c71174a0352b99e26325ea344.png)
- [Download](https://www.openra.net/download/)
- Arch:
```pacman -S openra```
- NixOS:
`nix run nixpkgs.openra -c openra`
---
### [Sauerbraten v2](http://cubeengine.com)
![](https://md.darmstadt.ccc.de/uploads/upload_bbd7405e61e57d11da2dbda54d25a3d3.png)
- [Download 2020 Edition](http://cubeengine.com/files.php) ~1GB
---
### Siedler 2 RttR
- Version 0.8.2
---
### [SplitGate](https://www.splitgate.com)
- Portal meets Halo
- Native auf Linux. Free2play auf Steam. Macht erstaunlich viel Spaß
---
### [Starcraft 2](https://appdb.winehq.org/objectManager.php?sClass=application&iId=11123)
![](https://md.darmstadt.ccc.de/uploads/upload_478902d2cfa7b7128859ff50a464f0d8.jpg)
- Windows:
1. [Battle.net-Client herunterladen](https://www.blizzard.com/en-us/download/confirmation?product=bnetdesk&platform=windows) und installieren
2. Spiel über den Client herunterladen und installieren
- Linux:
- TODO
---
### [Team Fortress 2](https://store.steampowered.com/app/440/Team_Fortress_2)
![](https://md.darmstadt.ccc.de/uploads/upload_325f28a8c12c47cf39cfa99585938756.jpg)
TF2 läuft nativ unter Windows und Linux.
1. Spiel starten, oben rechts im Menü: *Find A Game* → *Community Servers*
2. Tab *Favorites* → Rechtsklick "Add server by IP address"
3. Server-IP eintragen und verbinden
Alternativen:
* Spiel mit Option `-console` starten und im Spiel dann in der Console `connect <server-ip>` eintippen
* Spiel direkt mit Option `+connect <server-ip>` starten
---
### Terraria
![](https://md.darmstadt.ccc.de/uploads/upload_004dbac6009db9642d189614a5252f23.png)
- Download: GOG
- Version 1.4.2.3
---
### [Valheim](https://www.valheimgame.com/)
![](https://md.darmstadt.ccc.de/uploads/upload_45a50727ed515a07adc46b6989b993e3.png)
Valheim läuft nativ unter Windows und Linux, also kein Wine nötig.
1. Client herunterladen und installieren
2. Spiel starten, Charakter erstellen
3. *Join Game* → *Community* → WAN-Party-Server auswählen → Passwort: **wanparty**
---
### [Warcraft 3](https://appdb.winehq.org/objectManager.php?sClass=application&iId=897)
![](https://md.darmstadt.ccc.de/uploads/upload_ae095f56a3c657adac28e9989d2a54bc.png =640x)
- Version: 1.27.1.7085 (~1.1GB + wineprefix)
- Mit Wine unter Wayland auf jeden Fall Desktop emulieren
- Widescreen-Fix: [Datei herunterladen](https://github.com/ENAleksey/RenderEdge_Widescreen/releases/download/v1.2.0c/RenderEdge_Widescreen.mix) und ins Warcraft-III-Verzeichnis kopieren
- Firewall:
- Eingehend:
- `UDP/6112` (Broadcast empfangen)
- `TCP/6112` (Server hosten, z.B. TrinityCore)
- NixOS: `shell.nix`
```nix
let
pkgs = import <nixpkgs> {};
in pkgs.mkShell {
buildInputs = with pkgs; [
wine
winetricks
];
shellHook = ''
export WINEARCH=win32
export WINEPREFIX=$(pwd)/.wine32
# Only Once: Install Windows Media Player
winetricks wmp10
exec wine Frozen\ Throne.exe
'';
}
```
---
### [Widelands](https://widelands.org)
![](https://md.darmstadt.ccc.de/uploads/upload_7407f9694a075ede3dba4440e30764bb.png)
A FOSS Settlers 2-inspired game, recently released 1.0, so maybe try this one out?
- Arch: `pacman -S widelands`
---
### [Xonotic](https://xonotic.org)
![](https://md.darmstadt.ccc.de/uploads/upload_801ab9b1b3a2d5545a1172c404d87be6.png)
- [Download v0.8.2](https://dl.xonotic.org/xonotic-0.8.2.zip) (~1GB)
- Firewall:
- Eingehend: `UDP/26000` (Server hosten)
- https://www.xonotic.org/faq/#which-ports-do-i-have-to-open-in-firewall-forward-from-my-router-to-run-a-server
---
### Zod
Start a server
```bash
nix-shell -p zod --run zod\ -d
```
connect with the clients (run on each client)
```bash
nix-shell -p zod --run "zod -c $ip_of_server"
```
...configure maps, teams and bots ingame.
---
## Review: Game Ranking
1-5 Punkte, gerne kurz anführen was gut oder schlecht war
### CS:GO (53%)
- [name=hexa] 2/5
- Alles online, keine vorgeplanten Teams möglich, verwirrendes UI
- [name=cr0n] 4/5
- Wenn, dann nach Möglichkeit in privater Runde (so wie auch TF2 etc.), da ansonsten zuviel Skill-Diskrepanz durch Dritte bzw. 4798237098 Cheater
- [name=andi-] 1/5 ?
- Public server unspielbar (3 cheater in 1h), matchmaking fuer Team schlecht, jeder muss N-Stunden gespielt haben
- seltsames Zielen, hat IMO nichts mit original CS zutun
- [name=peng0in] 3/5
- lieber privater Runde
- vllt eher 1.6
- [name= 0nkl] 2/5
- Alles Online. UI furchtbar. UX aus der Hölle.
- [name=Alexeyan] 4/5
- Surf maps/Zombie maps sind nice. Normale Games leiden zu sehr unter Skill discrepancy.
### Team Fortress 2 (95%)
:::info
min. 8-10 Spieler
:::
- [name=hexa] 5/5
- [name=cr0n] 5/5
- [name=andi-] 4/5
- Definitiv WAN/Lan-Party faehig
- spassig, trotzdem nicht mein Favorite :-)
- [name=peng0in] 5/5
- min. 8 Spieler
- [name=0nkl] 5/5
- Super witzig und balanced. min 8 Spieler trifft jedoch zu.
- [name=flx] 5/5
- [name=hax404] 5/5
- [name=Alexeyan] 4/5
- [name=megfault] 0/5
- Not my type of game, sorry
### Warcraft 3 (Custom Maps) (89%)
:::info
- ab 6-8 (Tower Wars)
- ab 4 (Tower Defense Team/Survival)
- ab 3 (Hero Wars)
:::
- [name=hexa] 5/5
- [name=cr0n] 3/5
- Tower Defense passt (weil ich das halbwegs kenne), restliche Custom Maps sind halt viel an der Zahl und benötigen halt alle Zeit, da reinzukommen
- [name=flx] 5/5
- [name=andi-] 4/5
- [name=0nkl] 4/5
- Dota ist etwas frickelig von der Steuerung. Tower Defense ist super. :smile:
- [name=Alexeyan] 5/5
- Der Klassiker. 10/10.
- [name=megfault] 5/5
- Great fun, except when it bugs, but we can handle it.
### Xonotic (83%)
- [name=hexa] 3/5
- Mag Instagib/CTF, Rest eher schwierig, weil einige Spieler deutlich mehr Übung haben
- [name=cr0n] 5/5
- [name=andi-] 5/5
- [name=peng0in] 5/5
- [name=0nkl] 5/5
- [name=flx] 3/5
- [name=Alexeyan] 3/5
- Was hexa sagt. Instagib ist lustig
### Dota 2 (100%)
:::info
* Private Lobbies mit beliebiger Anzahl (bis zu zwei mal fünf Spieler), auffüllen mit Bots
* Balancing in privaten Lobbies immer schwierig, weil wir einige Spieler haben, die das Spielt gut beherrschen
* Für Turbo/normale Spiele am besten 3-5 Spieler
:::
- [name=cr0n] 6/5 :wink:
- [name=flx] 5/5
- [name=andi-] 5/5
- [name=hexa] 5/5
- [name=peng0in] 5/5
- [name=0nkl] 5/5
- Dota 2 halt. Geht immer :wink:
- [name=Alexeyan] 5/5
- Lernkurve für neue Spieler, aber.
- [name=megfault] 5/5
- We should try to distribute players better between the teams, but it's always fun anyway :)
### Starcraft II (90%)
- [name=cr0n] 4/5
- [name=flx] 5/5
- [name=Alexeyan] 5/5
### Don't starve together (100%)
- [name=megfault] 5/5
- Played for the first time in "together" mode and it was definitely less lonely and creepy than what I am used to. Thanks to all who joined :)