# Shared secret between the game server and the AI service. Generate one with: # python3 -c "import secrets; print(secrets.token_urlsafe(32))" AI_SHARED_SECRET=change-me # Optional: comma separated list of allowed websocket origins, e.g. https://game.marvinkrausser.com ALLOWED_ORIGINS= # Agent of the AI service: model (falls back to heuristic without checkpoint), heuristic or random AI_AGENT=model LOG_LEVEL=INFO # --- Resource limits (hard caps per container) ------------------------------- SERVER_CPUS=1.0 SERVER_MEMORY=512M AI_CPUS=1.0 AI_MEMORY=1G WEBSITE_CPUS=0.25 WEBSITE_MEMORY=64M # --- Capacity ----------------------------------------------------------------- # Games running at the same time; more game starts are refused ("server busy"). MAX_ACTIVE_GAMES=50 # Open websocket connections in total / per client IP. MAX_CONNECTIONS=500 MAX_CONNECTIONS_PER_IP=10 # --- AI service --------------------------------------------------------------- # Decisions computed in parallel, waiting requests before refusing, and queue # depth from which the cheap heuristic agent is used instead of the model. AI_WORKERS=1 AI_MAX_QUEUE=64 AI_DEGRADE_QUEUE=8