Author SHA1 Message Date
Claude abd51ac488 Add Phase 13: Minecraft server VMs on R720
Documents creating four Minecraft VMs (201-204) on the second Proxmox
host (R720), following the same wizard-driven setup style as Phases
11-12 but without GPU/Coral/raw-disk passthrough, which only applies
to the R730xd. Adds matching VM config templates.
2026-06-28 18:32:57 +00:00
Outis 383a2f24c2 Merge pull request #25 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 21:49:28 -04:00
Outis f181bd6df1 Merge pull request #24 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 21:07:52 -04:00
Outis 0cd5989e84 Merge pull request #23 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 20:52:41 -04:00
Outis 1e3abb623c Merge pull request #22 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 13:37:48 -04:00
Outis da571888b6 Merge pull request #21 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 13:19:00 -04:00
Outis 510efc5d7f Merge pull request #20 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 12:58:44 -04:00
Outis bc5c3c0a15 Merge pull request #19 from outis1one/claude/bios-vt-power-settings-mxjh0x
Fix Graphic card setting: use VirtIO during install, none after GPU p…
2026-06-27 02:13:07 -04:00
Outis 79fa271741 Merge pull request #18 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 02:05:06 -04:00
Outis 00047ec727 Merge pull request #17 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 01:38:39 -04:00
Outis 0a3a3b3232 Merge pull request #16 from outis1one/claude/bios-vt-power-settings-mxjh0x
docs: add generic USB passthrough section after Coral step
2026-06-27 01:25:10 -04:00
Outis 4b4c9758a6 Merge pull request #15 from outis1one/claude/bios-vt-power-settings-mxjh0x
docs: update Ubuntu to 24.04.4, VM 101 to Desktop edition
2026-06-27 01:21:46 -04:00
Outis 2865c2f732 Merge pull request #14 from outis1one/claude/bios-vt-power-settings-mxjh0x
docs: update for single GPU (one P2200 at 04:00)
2026-06-27 01:12:44 -04:00
Outis fe820127d6 Merge pull request #13 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 01:04:22 -04:00
Outis beb66465d4 Merge pull request #12 from outis1one/claude/bios-vt-power-settings-mxjh0x
docs: update cmdline verification to use GRUB path
2026-06-27 00:40:49 -04:00
Outis b4290923cc Merge pull request #11 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-27 00:39:09 -04:00
Outis b56e4c82ff Merge pull request #10 from outis1one/claude/bios-vt-power-settings-mxjh0x
docs: fix perccli install in all walkthrough docs
2026-06-27 00:29:09 -04:00
Outis 579276b2de Merge pull request #9 from outis1one/claude/bios-vt-power-settings-mxjh0x
fix: remove iDRAC HddSeq dependency removed in BIOS 2.19+
2026-06-27 00:22:30 -04:00
Outis bf19ec9349 Merge pull request #8 from outis1one/claude/bios-vt-power-settings-mxjh0x
fix: gpu-passthrough-setup handle GRUB when proxmox-boot-tool absent
2026-06-26 23:53:31 -04:00
Outis 55f944a554 Merge pull request #7 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
2026-06-26 23:40:12 -04:00
5 changed files with 312 additions and 0 deletions
+214
View File
@@ -21,6 +21,7 @@ one document.
- [Phase 10 — GPU Passthrough Setup](#phase-10--gpu-passthrough-setup) - [Phase 10 — GPU Passthrough Setup](#phase-10--gpu-passthrough-setup)
- [Phase 11 — Create the VMs](#phase-11--create-the-vms) - [Phase 11 — Create the VMs](#phase-11--create-the-vms)
- [Phase 12 — Deploy Frigate in VM 101](#phase-12--deploy-frigate-in-vm-101) - [Phase 12 — Deploy Frigate in VM 101](#phase-12--deploy-frigate-in-vm-101)
- [Phase 13 — Minecraft Server VMs (R720)](#phase-13--minecraft-server-vms-r720)
--- ---
@@ -3261,6 +3262,219 @@ stats. Navigate to **System → Stats** to confirm:
--- ---
## Phase 13 — Minecraft Server VMs (R720)
**What this phase does:** Creates four Minecraft server VMs on a second,
separate Proxmox host — a Dell R720 — using the same wizard-driven VM setup
as Phases 11/12, but without any of the GPU passthrough, Coral USB, or raw
drive passthrough work. Minecraft needs CPU, RAM, and disk — nothing else.
**Hardware (this host, not the R730xd):**
| Component | Detail |
|-----------|--------|
| Server | Dell PowerEdge R720 |
| CPU | 2x Intel Xeon E5-2697 v2 (12c/24t each — 24 cores / 48 threads total) |
| RAM | 125 GiB |
| Storage | 5x spinning HDD behind PERC H710 (no SSD) — `local-lvm` |
| Network | `eno1``vmbr0`, single 1GbE link |
| Proxmox | VE 8.1.3 |
> **No GPU passthrough, no Coral, no raw disk passthrough on this host.**
> Skip `gpu-passthrough-setup.sh`, `build-bay-map.sh`, and `perc-nonraid.sh`
> entirely — those only apply to the R730xd's Frigate/storage workload.
> VM disks here are plain `local-lvm` virtual disks, same as VM 102 in the
> R730xd setup.
> **All HDDs, no SSD.** Minecraft autosaves and region-file writes are small
> and frequent. Expect more I/O wait under heavy load (many players, modded
> redstone/farms) than an SSD host would show. If a server feels laggy under
> load, check `iostat -x 2` on the Proxmox host before assuming it's CPU.
**Prerequisites:**
- VMs 101, 102, 106 removed from this host (freed full 24c/48t, 125GiB, and
all five disks for this phase)
- Ubuntu Server 24.04.4 LTS ISO uploaded to this host's `local` storage
(same download step as Phase 11, Step 11.1/11.2 — repeat on the R720)
---
### Step 13.1 — Create VM 201 (Survival/Paper #1) via the wizard
In the R720's Proxmox web UI, click **Create VM**.
**Tab: General**
| Field | Value |
|-------|-------|
| VM ID | 201 |
| Name | mc-survival-1 |
**Tab: OS**
| Field | Value |
|-------|-------|
| ISO image | ubuntu-24.04.4-live-server-amd64.iso |
| OS Type | Linux |
| Version | 6.x - 2.6 Kernel |
**Tab: System**
| Field | Value |
|-------|-------|
| Graphic card | Default |
| Machine | i440fx |
| BIOS | SeaBIOS |
| SCSI Controller | VirtIO SCSI Single |
| Qemu Agent | checked |
> **Why SeaBIOS/i440fx here instead of OVMF/q35 like Phases 1112?** Those
> were required for GPU passthrough on the R730xd. Nothing on this host is
> being passed through, so there's no reason to take on UEFI's extra
> complexity (Secure Boot prompts, EFI disk, etc.).
**Tab: Disks**
| Field | Value |
|-------|-------|
| Bus/Device | SCSI / 0 |
| Storage | local-lvm |
| Disk size (GiB) | 20 |
| Cache | Write back |
| Discard | checked |
| IO thread | checked |
**Tab: CPU**
| Field | Value |
|-------|-------|
| Sockets | 1 |
| Cores | 4 |
| Type | host |
**Tab: Memory**
| Field | Value |
|-------|-------|
| Memory (MiB) | 8192 |
| Ballooning | unchecked |
> **Why disable ballooning?** Minecraft's JVM heap grabs and holds memory.
> Letting Proxmox reclaim "idle" RAM from the VM fights with the JVM and can
> trigger GC pauses or swapping inside the guest. Fix the allocation instead.
**Tab: Network**
| Field | Value |
|-------|-------|
| Bridge | vmbr0 |
| Model | VirtIO (paravirtualized) |
| Firewall | checked |
Click **Finish**, then **Start** the VM and install Ubuntu Server normally
(same installer flow as Phase 11 — set hostname `mc-survival-1`, enable
OpenSSH server during install).
---
### Step 13.2 — Repeat for VMs 202204
Same wizard steps as 13.1, changing only VM ID/name, cores, and memory:
| VM ID | Name | Cores | Memory | Disk | Notes |
|-------|------|-------|--------|------|-------|
| 201 | mc-survival-1 | 4 | 8192 MiB | 20G | Paper, vanilla-like |
| 202 | mc-survival-2 | 4 | 8192 MiB | 20G | Paper, vanilla-like |
| 203 | mc-modded | 6 | 12288 MiB | 30G | Forge/NeoForge modpack |
| 204 | mc-minigames | 2 | 4096 MiB | 15G | Creative/minigames |
This commits 16 of 24 cores and 32 of 125 GiB RAM — leaving headroom for
Proxmox itself and room to add a fifth server later without resizing
anything.
---
### Step 13.3 — Install Java and the server jar (inside each VM)
SSH into each VM and run:
```bash
sudo apt update && sudo apt install -y openjdk-21-jre-headless
sudo useradd -m -s /bin/bash minecraft
sudo mkdir -p /opt/minecraft
sudo chown minecraft:minecraft /opt/minecraft
```
Download the server jar as the `minecraft` user (Paper for 201/202/204,
the modpack's server pack for 203), accept the EULA:
```bash
sudo -u minecraft bash -c '
cd /opt/minecraft
curl -o server.jar "<paper or modpack server jar URL>"
echo "eula=true" > eula.txt
'
```
---
### Step 13.4 — Create a systemd service per VM
```bash
sudo tee /etc/systemd/system/minecraft.service <<'EOF'
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx<HEAP> -jar server.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft.service
```
Set `-Xmx` to roughly RAM minus 1.52 GiB headroom for the OS (e.g. 6G heap
on the 8 GiB VMs, 10G heap on the 12 GiB VM, 2.5G heap on the 4 GiB VM).
---
### Step 13.5 — Open ports
One port per server, forwarded from the router/firewall to each VM's IP:
| VM | Port |
|----|------|
| 201 | 25565 |
| 202 | 25566 |
| 203 | 25567 |
| 204 | 25568 |
```bash
sudo ufw allow 25565/tcp # adjust per VM
```
---
### Phase 13 complete — summary
| What is done | Status |
|---|---|
| VMs 201204 created with fixed (non-ballooned) CPU/RAM | ✓ |
| Ubuntu Server installed in each, SSH access confirmed | ✓ |
| Java + server jar installed, EULA accepted | ✓ |
| systemd service running each server, restarts on crash | ✓ |
| Ports forwarded per server | ✓ |
---
## Troubleshooting ## Troubleshooting
### GPU not passing through — still shows `nouveau` ### GPU not passing through — still shows `nouveau`
+24
View File
@@ -0,0 +1,24 @@
# Proxmox VM 201 — Minecraft Survival #1 (R720)
#
# Copy to /etc/pve/qemu-server/201.conf on the R720 host.
# No GPU, no USB, no raw drive passthrough — plain local-lvm disk.
agent: 1
bios: seabios
boot: order=scsi0
cores: 4
cpu: host
machine: i440fx
memory: 8192
balloon: 0
name: mc-survival-1
numa: 0
ostype: l26
scsihw: virtio-scsi-single
sockets: 1
# OS + world disk
scsi0: local-lvm:vm-201-disk-0,cache=writeback,discard=on,iothread=1,size=20G
# Network
net0: virtio,bridge=vmbr0,firewall=1
+24
View File
@@ -0,0 +1,24 @@
# Proxmox VM 202 — Minecraft Survival #2 (R720)
#
# Copy to /etc/pve/qemu-server/202.conf on the R720 host.
# No GPU, no USB, no raw drive passthrough — plain local-lvm disk.
agent: 1
bios: seabios
boot: order=scsi0
cores: 4
cpu: host
machine: i440fx
memory: 8192
balloon: 0
name: mc-survival-2
numa: 0
ostype: l26
scsihw: virtio-scsi-single
sockets: 1
# OS + world disk
scsi0: local-lvm:vm-202-disk-0,cache=writeback,discard=on,iothread=1,size=20G
# Network
net0: virtio,bridge=vmbr0,firewall=1
+25
View File
@@ -0,0 +1,25 @@
# Proxmox VM 203 — Minecraft Modded (R720)
#
# Copy to /etc/pve/qemu-server/203.conf on the R720 host.
# No GPU, no USB, no raw drive passthrough — plain local-lvm disk.
# Larger allocation — modpacks (Forge/NeoForge) need more heap than vanilla/Paper.
agent: 1
bios: seabios
boot: order=scsi0
cores: 6
cpu: host
machine: i440fx
memory: 12288
balloon: 0
name: mc-modded
numa: 0
ostype: l26
scsihw: virtio-scsi-single
sockets: 1
# OS + world disk
scsi0: local-lvm:vm-203-disk-0,cache=writeback,discard=on,iothread=1,size=30G
# Network
net0: virtio,bridge=vmbr0,firewall=1
+25
View File
@@ -0,0 +1,25 @@
# Proxmox VM 204 — Minecraft Minigames/Creative (R720)
#
# Copy to /etc/pve/qemu-server/204.conf on the R720 host.
# No GPU, no USB, no raw drive passthrough — plain local-lvm disk.
# Smallest allocation — lighter player count / simpler worlds.
agent: 1
bios: seabios
boot: order=scsi0
cores: 2
cpu: host
machine: i440fx
memory: 4096
balloon: 0
name: mc-minigames
numa: 0
ostype: l26
scsihw: virtio-scsi-single
sockets: 1
# OS + world disk
scsi0: local-lvm:vm-204-disk-0,cache=writeback,discard=on,iothread=1,size=15G
# Network
net0: virtio,bridge=vmbr0,firewall=1