mirror of
https://github.com/Such-Software/wownerogue.git
synced 2026-11-14 11:03:53 +01:00
A browser-based roguelike synchronized with crypto block timing. A run is a race against the next block: reach the exit before the block lands, or the house wins. The same codebase runs the solo dungeon, the social Tavern, and operator-selected PvP and race rulesets, with separate free and paid leaderboards. Self-hostable under the MIT License. See README.md to run it, docs/ARCHITECTURE.md for the design, and docs/DEPLOY.md to operate an instance.
47 lines
1.8 KiB
Bash
47 lines
1.8 KiB
Bash
# Match (multiplayer race) mode configuration
|
|
# Add these to src/.env and src/.env.example as needed.
|
|
|
|
# Enable match mode (free race queues and, if configured, paid race economies)
|
|
MATCH_ENABLED=false
|
|
|
|
# Max players per race (2-32)
|
|
MATCH_MAX_PLAYERS=4
|
|
|
|
# Server tick interval in milliseconds (default 250ms = 4 Hz)
|
|
MATCH_TICK_MS=250
|
|
|
|
# Server-selected ruleset. Built-ins: race, last-alive, score-attack, coop-escape.
|
|
# Unknown or solo-only values fail closed to race.
|
|
MATCH_RULESET_ID=race
|
|
|
|
# Paid entrant freezes target H+2 and activate only after the target plus one confirmation.
|
|
# Production requires explicit safe integers from 2 through 100 for both settings.
|
|
MATCH_PAID_ENTROPY_DELAY_BLOCKS=2
|
|
MATCH_PAID_ENTROPY_CONFIRMATIONS=2
|
|
|
|
# Minimum duration in ms before a race can be ended by the next block (default 20s)
|
|
MATCH_MIN_DURATION_MS=20000
|
|
|
|
# Hard ceiling in ms after which a race is force-ended (default 4 minutes)
|
|
MATCH_HARD_CEILING_MS=240000
|
|
|
|
# Cost in credits to enter a prestige-credit race (default 1)
|
|
MATCH_CREDITS_COST=1
|
|
|
|
# Enable crypto race-entry ticket economy (requires a paid instance)
|
|
MATCH_CRYPTO_RACE_ENABLED=false
|
|
|
|
# Independently stop new on-chain payout matches without affecting accepted liabilities.
|
|
MATCH_PAYOUTS_ENABLED=false
|
|
|
|
# Required outer winner-payout cap (atomic units) when crypto payouts are enabled.
|
|
MATCH_PAYOUT_MAX=50000000000
|
|
|
|
# Explicit crypto economics (required for production preflight when enabled).
|
|
MATCH_ENTRY_FEE_ATOMIC=5000000000
|
|
MATCH_HOUSE_FEE_PERCENT=5
|
|
|
|
# Also add a separately priced funded ticket product to COSMETIC_PRODUCTS. Its per-ticket
|
|
# backing must equal MATCH_ENTRY_FEE_ATOMIC and its price must cover the full grant.
|
|
# COSMETIC_PRODUCTS='[{"id":"race_2","label":"Two race entries","price":"10000000000","grants":{"race_entries":2,"race_entry_value_atomic":"5000000000"}}]'
|