docs(lxc101): minecraft Crafty + ghid actualizare versiune (Java 25)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-06-29 17:48:47 +00:00
parent bcc2592f23
commit fef7ff472e
2 changed files with 125 additions and 0 deletions

View File

@@ -17,6 +17,9 @@ proxmox/
│ ├── scripts/
│ └── config/
├── lxc101-minecraft/ # LXC 101 - Minecraft (Crafty Controller 4)
│ └── README.md # Servere Minecraft, gestionare Java, cum actualizezi versiunea
├── lxc103-dokploy/ # LXC 103 - Dokploy + Traefik (Deployment Platform)
│ ├── README.md # Configurare, arhitectură, workflow deploy
│ └── docs/
@@ -375,6 +378,7 @@ ssh root@10.0.20.201 "qm snapshot 302 pre-test --description 'Before ROA test'"
| VMID | Nume | IP | Serviciu | Documentație |
|------|------|-----|----------|--------------|
| 100 | portainer | 10.0.20.170 | Docker Management (Remote Node) | `cluster/README.md` |
| **101** | **minecraft** | **10.0.20.162** | **Minecraft (Crafty Controller 4)** | **`lxc101-minecraft/`** |
| **103** | **dokploy** | **10.0.20.167** | **Dokploy + Traefik (App Deployment)** | **`lxc103-dokploy/`** |
| **104** | **flowise** | **10.0.20.161** | **Flowise AI (Chatbot Maria)** | **`lxc104-flowise/`** |
| **106** | **gitea** | **10.0.20.165** | **Git Server** | **`lxc106-gitea/`** |

View File

@@ -0,0 +1,121 @@
# LXC 101 - Minecraft (Crafty Controller)
**Director:** `proxmox/lxc101-minecraft/`
**VMID:** 101
**IP:** 10.0.20.162 (intern)
**Host Proxmox:** pve1 (10.0.20.200)
**Rol:** Servere Minecraft (Java + Bedrock) gestionate prin Crafty Controller 4
---
## Informații Container
| Parametru | Valoare |
|-----------|---------|
| VMID | 101 |
| Hostname | minecraft |
| IP intern | 10.0.20.162 |
| Host Proxmox | pve1 (10.0.20.200) |
| Storage | local-zfs (100GB) |
| RAM | 8GB |
| CPU | 4 cores |
| OS | Debian 12 (bookworm) |
| onboot | da |
## Componente Instalate
- **Crafty Controller 4.5.5** — panou web de management Minecraft (`crafty.service`)
- WorkingDir: `/var/opt/minecraft/crafty`
- User serviciu: `crafty`
- Web UI: `https://10.0.20.162:8443`
- **Java (Eclipse Temurin)**, instalat din repo Adoptium:
| Versiune | Cale | Folosit pentru |
|----------|------|----------------|
| OpenJDK 17 | `/usr/lib/jvm/java-17-openjdk-amd64` | legacy |
| Temurin 21 | `/usr/lib/jvm/temurin-21-jdk-amd64` | Minecraft 1.21.x clasic |
| Temurin 25 (LTS) | `/usr/lib/jvm/temurin-25-jdk-amd64` | **Minecraft nou (necesită Java 25+)** |
- **playit** — tunel pentru expunere publică (`/opt/playit`)
## Servere Configurate (în Crafty)
| Server | Tip | Java | Director |
|--------|-----|------|----------|
| **Marius** | Paper (Java Edition) | Temurin 25 | `crafty-4/servers/b1dcdf7f-...` |
| **Mihai Bedrock** | Bedrock | n/a (`./bedrock_server`) | `crafty-4/servers/56c76527-...` |
> Crafty își ține serverele în `/var/opt/minecraft/crafty/crafty-4/servers/<uuid>/`.
> Directoarele `/opt/fabric` și `/opt/paper` sunt instalări vechi/manuale, **nu** sunt cele gestionate de Crafty.
---
## Cum actualizezi versiunea de Minecraft
Minecraft urcă periodic cerința minimă de Java (ex. versiunile noi „Copper Age" cer **Java 25+**).
Procesul are două părți: (1) ai Java necesară instalată, (2) actualizezi jar-ul și pui serverul pe Java corectă.
### Pas 1 — Verifică / instalează versiunea de Java necesară
Repo-ul Adoptium e deja configurat. Lista versiunilor disponibile:
```bash
ssh root@10.0.20.200 "pct exec 101 -- bash -c 'apt-get update -qq; apt-cache search temurin | grep jdk'"
```
Instalează versiunea cerută (exemplu Java 25 LTS — recomandat față de non-LTS 26):
```bash
ssh root@10.0.20.200 "pct exec 101 -- bash -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y temurin-25-jdk'"
# Verificare
ssh root@10.0.20.200 "pct exec 101 -- /usr/lib/jvm/temurin-25-jdk-amd64/bin/java -version"
```
> ⚠️ La instalare, `update-alternatives` poate muta `java` default pe versiunea nouă.
> Nu e o problemă: fiecare server din Crafty pornește cu **calea completă** spre Java (vezi mai jos),
> deci serverele existente NU sunt afectate de schimbarea default-ului.
### Pas 2 — Actualizează serverul în Crafty (`https://10.0.20.162:8443`)
1. **Oprește** serverul.
2. **Înlocuiește jar-ul** cu build-ul nou (ex. Paper pentru versiunea dorită) — prin upload sau funcția de update din Crafty. Numele rămâne `paper.jar`.
3. Deschide serverul → tab **Config** → câmpul **Server Execution Command** și schimbă **doar calea de Java** spre versiunea nouă:
```
"/usr/lib/jvm/temurin-25-jdk-amd64/bin/java" -Xms4096M -Xmx8192M -jar paper.jar nogui
```
(păstrezi restul argumentelor; modifici doar `temurin-21` → `temurin-25`)
4. **Salvează** și **pornește** serverul.
### Verificare din linia de comandă (opțional)
Comenzile de execuție per server sunt în baza de date Crafty:
```bash
ssh root@10.0.20.200 "pct exec 101 -- bash -c '
PY=/var/opt/minecraft/crafty/crafty-4/.venv/bin/python
\$PY -c \"import sqlite3; c=sqlite3.connect(\\\"/var/opt/minecraft/crafty/crafty-4/app/config/db/crafty.sqlite\\\"); [print(n,\\\"=>\\\",e) for n,e in c.execute(\\\"SELECT server_name, execution_command FROM servers\\\")]\"
'"
```
> Editarea comenzii se face din interfața Crafty, NU direct în SQLite (baza rulează cu WAL;
> modificările manuale necesită oprirea serviciului `crafty` și pot fi suprascrise).
---
## Comenzi utile
```bash
# Status / restart Crafty
ssh root@10.0.20.200 "pct exec 101 -- systemctl status crafty"
ssh root@10.0.20.200 "pct exec 101 -- systemctl restart crafty"
# Versiunile de Java instalate
ssh root@10.0.20.200 "pct exec 101 -- ls /usr/lib/jvm/"
# Versiunea de Crafty
ssh root@10.0.20.200 "pct exec 101 -- cat /var/opt/minecraft/crafty/crafty-4/app/config/version.json"
```
---
## Istoric
- **2026-06-29** — Instalat Temurin 25 JDK (LTS) pentru a rula versiunea nouă de Minecraft pe serverul „Marius" (cerea Java 25+). Comanda de execuție mutată de pe Temurin 21 pe Temurin 25.