mirror of
https://github.com/RWejlgaard/pez-infra.git
synced 2026-07-04 15:46:16 +00:00
69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# copenhagen-a
|
|
|
|
Game servers. Located at my dad's place in Copenhagen as an off-site location.
|
|
|
|
## Overview
|
|
|
|
| | |
|
|
|---|---|
|
|
| **Location** | Copenhagen |
|
|
| **OS** | Ubuntu 22.04 LTS |
|
|
| **Tailscale IP** | 100.89.206.60 |
|
|
| **Role** | Gaming servers (Minecraft, WoW) |
|
|
| **Form factor** | Lenovo "tiny" desktop (lunchbox-sized) |
|
|
|
|
## Hardware
|
|
|
|
| Component | Spec |
|
|
|---|---|
|
|
| CPU | Intel i5-4570T (4 threads) |
|
|
| Memory | 16 GB |
|
|
| Boot disk | 500 GB |
|
|
|
|
Compact Lenovo desktop — powered by a standard ThinkPad charging brick. Small, quiet, and draws minimal power.
|
|
|
|
## Services
|
|
|
|
### Minecraft
|
|
|
|
| | |
|
|
|---|---|
|
|
| Image | `itzg/minecraft-server` |
|
|
| Port | 25565 |
|
|
| Deployment | Docker |
|
|
|
|
Not proxied through Caddy — accessed directly via Tailscale or the host's public IP.
|
|
|
|
### World of Warcraft (MaNGOS Zero)
|
|
|
|
WoW 1.12 (Vanilla) private server using the MaNGOS Zero emulator. Runs natively — not in Docker.
|
|
|
|
| Service | Port | Managed by |
|
|
|---------|------|-----------|
|
|
| mangos-realmd | 3724 | systemd |
|
|
| mangos-world | 8085 | systemd |
|
|
| MariaDB | 3306 | systemd (apt-managed) |
|
|
|
|
- Runs as the `mangos` user
|
|
- Install path: `/home/mangos/mangos/zero/`
|
|
- MariaDB hosts the character, world, and auth databases locally
|
|
- Both `mangos-realmd` and `mangos-world` start automatically on boot via systemd
|
|
- The `mariadb` Ansible role manages package + secrets; the `systemd_services` role drops the unit files (`ansible/services/mangos-realmd/`, `ansible/services/mangos-world/`)
|
|
|
|
### Other
|
|
|
|
| Service | Port | Deployment | Notes |
|
|
|---------|------|-----------|-------|
|
|
| smartctl_exporter | 9633 | Docker | Disk SMART metrics scraped by Alloy |
|
|
| node_exporter | 9100 | Native | Host metrics |
|
|
| systemd_exporter | — | Native | systemd unit metrics |
|
|
| Alloy | — | Native | Ships everything to Grafana Cloud |
|
|
| Tailscale | — | Native | Mesh networking |
|
|
|
|
## Networking
|
|
|
|
Connected directly to the ISP router's built-in switch. Symmetrical 500 Mbit connection — more than enough for game servers.
|
|
|
|
## Notes
|
|
|
|
copenhagen-a has a static public IP, which is needed for game servers that require direct client connections (WoW realm list, Minecraft server list). The reboot playbook (`ansible/playbooks/reboot.yml`) does a netplan pre-flight check before rebooting to make sure the static IP config will come back up cleanly.
|