68 lines
3.5 KiB
Text
68 lines
3.5 KiB
Text
# Magic Civilization — environment template.
|
|
#
|
|
# Copy to `.env.local` and fill in the secret values. `.env.local` is
|
|
# gitignored so your secrets stay out of git. The loader in
|
|
# `scripts/run/common.sh` cascades:
|
|
#
|
|
# .env → .env.local → .env.<mode> → .env.<mode>.local
|
|
#
|
|
# Variables already set in your shell always win over every file.
|
|
# Only keys with a SECRET value belong in .env.local; non-secret
|
|
# defaults (hostnames, paths) stay in the tracked `.env`.
|
|
|
|
# ── Forgejo forge ──────────────────────────────────────────────────
|
|
# HOST and ORG ship in the tracked `.env`. The runner token is per-host
|
|
# and ephemeral — mint via forge UI or `POST /api/v1/orgs/<org>/actions/runners/registration-token`.
|
|
FORGEJO_HOST=http://forge.black.local
|
|
FORGEJO_ORG=magicciv
|
|
FORGEJO_RUNNER_TOKEN= # required for `./run setup:<os> --with-runner`
|
|
FORGEJO_RELEASE_TOKEN= # required for `.forgejo/workflows/release.yml` — PAT w/ write:repository
|
|
|
|
# ── Two-host workflow (edit host → run host) ───────────────────────
|
|
# These ship in tracked `.env` — override in .env.local only if your
|
|
# dev machine differs from the canonical mapping.
|
|
AUTOPLAY_HOST=lilith@apricot.local
|
|
PROJECT_ROOT_REMOTE=~/Code/@projects/@magic-civilization
|
|
REMOTE_RUNNER=~/bin/run_ap3.sh
|
|
SCREENSHOT_HOST=natalie@plum.local
|
|
|
|
# ── Dev-guide deploy (p1-15, tourguide) ────────────────────────────
|
|
# rsync target for `./run deploy:guide:next`. The host-nginx vhost for
|
|
# mc.next.black.local bind-mounts the deploy path read-only. See
|
|
# .project/objectives/p1-15-guide-next-deploy-infra.md for the runbook.
|
|
NEXT_DEPLOY_HOST=lilith@black.local
|
|
NEXT_DEPLOY_PATH=/bigdisk/next/mc/
|
|
|
|
# ── Guide resource / simulator paths (p2-21, tourguide) ────────────
|
|
# Relative to the repo root. Consumed by
|
|
# public/games/age-of-dwarves/guide/tools/bake-simcache.ts and any
|
|
# other script that needs the climate-sim inputs without hardcoding
|
|
# the subdirectory layout.
|
|
GUIDE_RESOURCES_DIR=public/resources
|
|
GUIDE_TERRAIN_DIR=public/resources/tiles
|
|
GUIDE_CLIMATE_PARAMS=public/resources/worlds/earth/climate_params.json
|
|
|
|
# ── Game runtime flags (read by Godot `EnvConfig` autoload) ────────
|
|
# These are tracked in `.env.development` / `.env.production` and
|
|
# deployed with the build via `scripts/run/remote.sh`. Override here
|
|
# only for per-developer experimentation.
|
|
# FORCE_DISABLE_FOGOFWAR=false
|
|
# FORCE_UNLIMITED_RESEARCH=false
|
|
|
|
# ── Batch runner resource policy (scripts/apricot-run.sh) ──────────
|
|
# USE_MAX_CORES=true → PARALLEL defaults to `nproc` on the RUN host
|
|
# (saturates CPU). Games still respect their own
|
|
# per-instance single-core cost; this controls
|
|
# how many games run concurrently.
|
|
# USE_MAX_CORES=false → PARALLEL defaults to MIN_CORES below (safe for
|
|
# shared / laptop hosts).
|
|
# An explicit PARALLEL=N in the caller's environment ALWAYS wins over
|
|
# both of the above.
|
|
USE_MAX_CORES=false
|
|
MIN_CORES=4
|
|
|
|
# AI_GPU_ROLLOUT=true routes MCTS rollouts through the WGSL compute
|
|
# kernel when an adapter is available. Smoke/clan batches flip this on
|
|
# by default in scripts/apricot-run.sh. `gpu-walltime` mode overrides
|
|
# per iteration (explicitly runs both true and false for comparison).
|
|
# AI_GPU_ROLLOUT=true
|