smueller 316679a913
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 18s
Enhance WHMCS integration with mTLS support and product mapping features. Added mTLS configuration options, updated API endpoints for mTLS status and fingerprint registration, and implemented product validation API. Updated database schema and documentation accordingly.
2026-06-30 13:17:12 +02:00
2026-06-26 10:45:08 +02:00
2026-06-26 13:20:55 +02:00
2026-06-26 10:45:58 +02:00
2026-06-26 12:01:25 +02:00
2026-06-26 13:46:25 +02:00
2026-06-26 10:45:08 +02:00
2026-06-26 13:46:25 +02:00
2026-06-26 11:12:51 +02:00

HexaHost GameCloud

Selbstgehostete, mandantenfähige Plattform für On-Demand-Minecraft-Server.

Der Projektname HexaHost GameCloud ist ein Arbeitstitel und zentral über APP_NAME / NEXT_PUBLIC_APP_NAME konfigurierbar.

Voraussetzungen

Tool Version
Node.js ≥ 22
pnpm 9.15.x (corepack enable)
Docker für lokale Infrastruktur
Go 1.23+ (Node Agent)

Schnellstart (lokal)

# Abhängigkeiten installieren
corepack enable
pnpm install

# Umgebung vorbereiten
cp .env.example .env
# SESSION_SECRET und ENCRYPTION_KEY auf mindestens 32 Zeichen setzen

# Infrastruktur (PostgreSQL, Redis, MinIO, Mailpit)
pnpm dev:infra

# Datenbankschema anwenden
pnpm db:push

# Entwicklungsserver (API, Worker, Web parallel)
pnpm dev

Dienste (Entwicklung)

Dienst URL
Web http://localhost:3000
API http://localhost:3001/api/v1
OpenAPI http://localhost:3001/api/v1/docs
Worker Health http://localhost:3002/health
Mailpit http://localhost:8025
MinIO Console http://localhost:9001

Optional für Docker Compose mit Traefik-Netzwerk:

docker network create traefik-network

Monorepo-Struktur

apps/
  web/           Next.js Weboberfläche
  api/           NestJS API (Fastify)
  worker/        BullMQ Hintergrundjobs
  node-agent/    Go-Daemon auf Game-Nodes
  edge-gateway/  Go TCP/UDP Gateway (Phase 8)
packages/
  database/      Prisma Schema & Client
  contracts/     Zod-Schemas & API-Verträge
  config/        Typisierte Konfiguration
  auth/          Authentifizierungslogik
  ui/            Gemeinsame UI-Komponenten
deploy/          Docker Compose, systemd, Ansible
docs/            Architektur, ADR, Betrieb
integrations/    WHMCS-Modul (`hexagamecloud`)

Befehle

pnpm build          # Alle Pakete bauen
pnpm lint           # Linting
pnpm typecheck      # TypeScript-Prüfung
pnpm test           # Unit-Tests
pnpm db:generate    # Prisma Client generieren
pnpm db:migrate     # Migrationen ausführen

Go Node Agent:

cd apps/node-agent
make test
make build

Aktueller Stand

Phase 9 (WHMCS & Produktion) — abgeschlossen.

Siehe docs/IMPLEMENTATION_STATUS.md für Details.

Server-Verwaltung im Panel

Tab Funktion
Übersicht Status, Start/Stop/Restart, Verbindungsadresse
Konsole Live-Logs, RCON-Befehle
Dateien Verzeichnisliste, Dateien bearbeiten
Eigenschaften server.properties
Spieler Online-Spieler, Whitelist
Welten Welten anzeigen, Upload/Download (Server gestoppt)
Backups Manuell/geplant, Restore, Retention
Add-ons Modrinth-Suche, Paper-Plugins / Fabric-Mods installieren

Minecraft-Server lokal testen

pnpm dev:infra
pnpm db:migrate    # oder db:push bei frischer DB
pnpm db:seed       # Free-Plan + Dev-Node
pnpm dev

# Separates Terminal — Node Agent (Go 1.23 + Docker Desktop)
cd apps/node-agent
# NODE_ID, NODE_TOKEN, NODE_AGENT_PUBLIC_URL aus .env.example setzen
make run
  1. Registrieren / einloggen unter http://localhost:3000
  2. Server erstellen unter /servers/new
  3. Starten — Adresse localhost:<port> im Panel
  4. Minecraft: Multiplayer → localhost:<port>

Auth lokal testen

cp .env.example .env
pnpm dev:infra
pnpm db:migrate
pnpm dev

# Admin anlegen (keine Default-Zugangsdaten)
pnpm bootstrap:admin -- --email admin@localhost --password 'min-12-chars-here'
Flow URL
Registrierung http://localhost:3000/register
Login http://localhost:3000/login
E-Mails (Dev) http://localhost:8025 (Mailpit)

Lizenz

Proprietär — siehe Repository-Eigentümer.

Description
No description provided
Readme 21 MiB
Languages
TypeScript 79.2%
Go 9.9%
PHP 7.1%
JavaScript 1.9%
Smarty 0.9%
Other 0.9%