Skip to content

RPG Rules Engine

βœ… Healthy vunknown πŸ‘€ Gaming Team

Overview

The core rules engine that governs game mechanics, quest generation, and reward calculations for the RPG platform.

Implements game rules, balances quest difficulty, calculates rewards, and ensures fair gameplay across the platform.

πŸ“¦ Source Repository


Key Features

  • Dynamic quest generation

  • Difficulty balancing algorithms

  • Reward calculation formulas

  • Skill progression rules

  • Combat and challenge mechanics

  • Event-driven rule triggers


Architecture

Stateless rules engine with configurable game parameters

System Overview

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart TB
    subgraph EXTERNAL["🌐 External"]
        CLIENT[/"πŸ‘€ Clients"/]
        INGRESS["πŸšͺ Ingress"]
    end

    subgraph NS["valina-rpg Namespace"]
        direction TB
        subgraph SVC["πŸ“¦ RPG Rules Engine"]
            DEPLOY["βš™οΈ Deployment<br/>2 replicas"]
            subgraph PODS["Pods"]
                POD0["Pod 1"]
                POD1["Pod 2"]
            end
        end
    end

    subgraph DATA["πŸ’Ύ Data Layer"]
        DB0["🐘 PostgreSQL (DATABASE_URL)"]
        DB1["⚑ Redis (REDIS_URL)"]
    end

    CLIENT --> INGRESS --> DEPLOY
    DEPLOY --> DATA

Component Architecture

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart TB
    subgraph ARCH_CLIENT["πŸ§‘ Client Layer"]
        ARCH_USER[/"User Interaction"/]
    end

    subgraph ARCH_CORE["πŸ’Ž RPG Rules Engine Core"]
        direction TB
        subgraph ARCH_FEATURES["✨ Features"]
            ARCH_F0["Dynamic quest generation"]
            ARCH_F1["Difficulty balancing algori..."]
            ARCH_F2["Reward calculation formulas"]
            ARCH_F3["Skill progression rules"]
            ARCH_F4["Combat and challenge mechanics"]
        end

        subgraph ARCH_PROCESS["βš™οΈ Processing"]
            ARCH_HANDLER["Request Handler"]
            ARCH_LOGIC["Business Logic"]
        end
    end

    subgraph ARCH_DATA["πŸ’Ύ Data Layer"]
        ARCH_DB0["PostgreSQL (DATABASE_URL)"]
        ARCH_DB1["Redis (REDIS_URL)"]
    end

    ARCH_USER --> ARCH_CORE
    ARCH_HANDLER --> ARCH_LOGIC
    ARCH_LOGIC --> ARCH_DATA

Container Details

Property Value
Image ghcr.io/3xzyle/game-rpg-rules-engine-prod:v2026.01.07
Replicas 2 / 2 ready
CPU Request 100m
CPU Limit 500m
Memory Request 256Mi
Memory Limit 512Mi

Volume Mounts

Volume Mount Path
tmp-volume β†’ /tmp

Flows and Processes

Process Flow

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
flowchart LR
    subgraph FLOW_IN["πŸ“₯ Input"]
        AI_INPUT["πŸ“₯ Input Data"]
        AI_CONTEXT["🧠 Context"]
        AI_MODEL["πŸ€– Model Config"]
    end

    subgraph FLOW_PROC["βš™οΈ Processing"]
        AI_EMBED["πŸ”’ Embed"]
        AI_INFER["🧠 RPG Rules Engine Inference"]
        AI_RANK["πŸ“Š Rank/Score"]
        AI_FILTER["πŸ” Filter"]
    end

    subgraph FLOW_OUT["πŸ“€ Output"]
        AI_RESULT["✨ Result"]
        AI_CONFIDENCE["πŸ“Š Confidence"]
        AI_EXPLAIN["πŸ’‘ Explanation"]
    end

    AI_INPUT --> AI_EMBED
    AI_CONTEXT --> AI_EMBED
    AI_MODEL --> AI_INFER
    AI_EMBED --> AI_INFER --> AI_RANK --> AI_FILTER
    AI_FILTER --> AI_RESULT
    AI_INFER --> AI_CONFIDENCE
    AI_RANK --> AI_EXPLAIN

Request Lifecycle

%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'primaryColor': '#db41f6',
    'primaryBorderColor': '#e066f7',
    'primaryTextColor': '#ffffff',
    'secondaryColor': '#1a0f2e',
    'tertiaryColor': '#0f0a1a',
    'lineColor': '#22c55e',
    'fontSize': '14px'
  }
}}%%
sequenceDiagram
    autonumber
    participant C as πŸ‘€ Client
    participant I as πŸšͺ Ingress
    participant S as βš™οΈ RPG Rules Engine
    participant D as πŸ’Ύ Database
    participant R as ⚑ Redis Cache

    C->>+I: HTTP Request
    I->>+S: Route to Service
    Note over S: Health Check βœ“
    S->>R: Check Cache
    alt Cache Hit
        R-->>S: Return Cached
    else Cache Miss
        S->>+D: Query Data
        D-->>-S: Return Result
        S->>R: Update Cache
    end
    S-->>-I: Response
    I-->>-C: HTTP Response

Custom Flows

  • Damage Calculation

  • Loot Generation

  • Skill Check

  • Level Calculation


Integration and APIs

Exposed Ports

Port Service
http:8500 rpg-rules-engine

Health Check

/health:8080

Dependencies

Service Purpose
valina-rust-backend (learning integration) Dependency

Data Stores

  • PostgreSQL (DATABASE_URL)

  • Redis (REDIS_URL)


Security and Compliance

Security Context

Setting Value
Security Level Hardened
Run as Non-Root βœ… Yes
Read-Only Root FS βœ… Yes
Service Account rpg-sa

Dropped Capabilities

  • ALL

Security Best Practices

Hardened Security

This service follows security best practices:

  • βœ… Runs as non-root user
  • βœ… Read-only root filesystem
  • βœ… All capabilities dropped


Monitoring and Operations

Health Probes

Readiness Probe

Setting Value
Endpoint /health:8080
Initial Delay 10s
Period 5s
Timeout 1s

Liveness Probe

Setting Value
Endpoint /health:8080
Initial Delay 30s
Period 10s
Timeout 1s

No Prometheus metrics configured. Add prometheus.io/scrape: "true" annotation.

Operations Commands

# Check deployment status
kubectl get deployment rpg-rules-engine -n valina-rpg

# View logs
kubectl logs -l app.kubernetes.io/name=rpg-rules-engine -n valina-rpg -f

# Scale replicas
kubectl scale deployment/rpg-rules-engine -n valina-rpg --replicas=3

# Restart deployment
kubectl rollout restart deployment/rpg-rules-engine -n valina-rpg

πŸ”§ AI-Powered Diagnostics

πŸ”§ Diagnostics

βœ… No issues detected


πŸ“Š SLO Dashboard

SLOTargetCurrentError BudgetStatus
🟒 Availability 99.9% 99.95% 85% remaining βœ… Meeting
⚑ Latency P99 < 200ms 142ms 92% remaining βœ… Meeting
πŸ”΄ Error Rate < 0.1% 0.02% 98% remaining βœ… Meeting

πŸ“ˆ Live Metrics

CPU Usage
0%
▁▂▃▂▃▄▃▂▃▂
Memory
0MB
β–‚β–‚β–ƒβ–ƒβ–ƒβ–„β–„β–ƒβ–ƒβ–ƒ
Request Rate
0.0k/s
β–ƒβ–„β–…β–†β–…β–†β–‡β–†β–…β–†
Error Rate
0.00%
▁▁▁▂▁▁▁▁▁▁

πŸ”’ Security Scan

0
Critical
0
High
2
Medium
5
Low

Security Status: Passing

Last scanned: 2026-01-12 10:00 UTC Scanner: Trivy v0.50.0


πŸ‘₯ RBAC & Permissions

Resource Permissions Scope
ServiceAccount rpg-sa Namespace
ClusterRole view Cluster-wide (read)

Pod Security Standards

Policy Status
Privileged ❌ Denied
Run as Root ❌ Blocked
Host Network ❌ Blocked
Host PID ❌ Blocked

πŸ“– API Documentation

No OpenAPI Spec

Add API documentation via annotation: valina.ai/openapi-url: "https://..."


πŸ“œ Version History

vunknown - Current deployment (2026-01-14T06:44:07.009097722+00:00)

⚑ Latency Heatmap

P50
45ms
P90
98ms
P99
142ms
Max
285ms
SLO (200ms)
🟑 95.0%
Good

24-Hour Latency Heatmap

Hourly P99 🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒🟒
🟒 <50% 🟑 50-75% 🟠 75-100% πŸ”΄ >SLO

πŸ”” Active Alerts

βœ… All Clear 0 active alerts

🌐 Traffic Flow

πŸ“₯ Inbound Traffic

nginx-ingress β†’ 1.2k rps | 45ms | 0.02% err
api-gateway β†’ 850.0 rps | 12ms | 0.00% err

πŸ“€ Outbound Traffic

No outbound traffic detected

πŸ’° Cost Attribution

Monthly Cost $5.85
Efficiency Score 72%

Resource Breakdown

CPU
Memory
Storage
Net
πŸ’» CPU: $3.00 🧠 Memory: $2.40 πŸ’Ύ Storage: $0.30 🌐 Network: $0.15

πŸ“š Runbooks

πŸ”₯ High CPU Usage

Steps to diagnose and mitigate high CPU consumption

cpuperformance
⚑ High Latency

Troubleshooting guide for latency spikes

latencynetworking
πŸ”„ Pod Restarts

Investigation steps for frequent pod restarts

restartsoom

πŸ“ž On-Call

πŸ“ž Platform Team Platform Team Escalation πŸ“… View Schedule
Primary
OE
On-Call Engineer
πŸ“§ Email πŸ’¬ @oncall
πŸ• Shift ends: 7h
Secondary
BE
Backup Engineer
πŸ“§ Email πŸ’¬ @oncall-backup

πŸ“… Change Timeline

πŸ“… Deployment History 1 changes πŸ“Š View in ArgoCD
πŸš€
Deployment 2026-01-14 06:44 UTC
Current deployment
πŸ‘€ CI/CD

🐀 Canary Status

🐀 No active canary deployment

πŸ”΄ Error Drill-down

βœ… No errors in the last 24 hours πŸ“‹ View Logs

⚑ Quick Actions



Configuration Reference

Labels

Label Value
app rpg-rules-engine
tier backend

Environment Variables

Variable Value
AEGIS_URL http://aegis-approval.aegis.svc.cluster.local:8750
DATABASE_URL postgresql://postgres:ValinaGameDB2025_Password@game-postgre…
PORT 8500
REDIS_URL redis://redis.valina.svc.cluster.local:6379/0

Annotations

Annotation Value
valina.ai/architecture Stateless rules engine with configurable game parameters
valina.ai/dependencies redis
valina.ai/dependents rpg-client,game-backend
valina.ai/features Combat Calculation,XP System,Loot Tables,Skill Checks,Econom…
valina.ai/flows Damage Calculation,Loot Generation,Skill Check,Level Calcula…
valina.ai/owner @3xzyle
valina.ai/purpose Game rules engine for RPG mechanics including combat, progre…
valina.ai/repository https://github.com/3xzyle/VALINA-AI


Auto-Generated Documentation

This documentation was auto-generated from Kubernetes deployment metadata.

Enhance this doc by adding annotations:

annotations:
  valina.ai/description: "Detailed service description"
  valina.ai/purpose: "Service purpose statement"
  valina.ai/features: "Feature 1, Feature 2, Feature 3"
  valina.ai/flows: "Auth Flow, Data Processing Flow"
  valina.ai/dependencies: "redis, postgres, auth-service"
  valina.ai/api-endpoints: "/api/v1/resource, /health"
  valina.ai/economics: "Ties to GRAT treasury via..."
  valina.ai/owner: "Platform Team"
  valina.ai/repository: "https://github.com/org/repo"
  valina.ai/changelog: "v1.2.0 Added feature X, v1.1.0 Initial release"
  valina.ai/roadmap: "SSO integration, Multi-region support"
  valina.ai/notices: "Requires v2.0 by Q2 2026"

Created: 2026-01-06T15:35:22Z | Generated: 2026-01-14T06:44:07.009097722+00:00