uwarp-space 2026-02-16
Package renamed from uwarp.server to uwarp.game, multi-race alien system and Stardock facilities added
156 files · 11,813+ · 2,052-

Package rename — uwarp.server to uwarp.game

7 files changed
  • config.py Config moved into uwarp.game package structure
  • game_state.py GameState migrated to uwarp.game with domain/transport sublayers
  • game_loader.py Game loader migrated
  • game_saver.py Game saver migrated
  • utils.py Utils split into domain and transport layers
  • session_bridge.py Session bridge migrated; constants shim removed
  • input_adapter.py Input adapter migrated
  • src/uwarp/server/ renamed to src/uwarp/game/ with domain/ and transport/ sublayers decouple internal
    2 files
    • game_state.py
    • config.py
  • utils/ split into domain and transport layers; constants shim removed decouple architectural
    1 file
    • utils.py
  • __init__.py files cleaned — logic moved out of init files to dedicated modules decouple architectural
    2 files
    • __init__.py
    • __init__.py
  • engine/ and runtime/ extracted as top-level packages (“Strategy C”) decouple internal
    2 files
    • __init__.py
    • __init__.py
  • Sector 0 (Stardock) fixed to be correctly included in port indexing remediate internal
    1 file
    • sqlite.py

Multi-race alien system

5 files changed
  • npc.py Data-driven AlienRaceConfig supporting Ferrengi, Klingon, etc. races
  • ai_loop.py Alien AI loop
  • combat.py Alien combat logic
  • race_config.py AlienRaceConfig: separate stats per race
  • game_state.py alien_races added to DO game state wrapper; crashes when no aliens fixed
  • Implemented data-driven AlienRaceConfig supporting distinct Ferrengi, Klingon, etc. races with separate stats decouple internal
    2 files
    • race_config.py
    • npc.py
  • Fixed universe generation to honor --players parameter remediate internal
    1 file
    • bigbang.py
  • Fixed crashes when universe has no aliens remediate internal
    1 file
    • ai_loop.py
  • Fixed warp disconnect: added alien_races to DO game state wrapper remediate internal
    1 file
    • game_state.py

Stardock facilities

5 files changed
  • purchases.py Hardware emporium (transporter/tractor/equipment) implemented
  • police.py Bounty system and inactive player pruning
  • bank.py Bank interface matched to TW2002 exactly; duplicate Q and double balance display fixed
  • underground.py Underground refactored to match TW2002 structure; bounty dict access and double-deduction fixed
  • entertainment.py Entertainment stardock commands
  • Implemented hardware emporium (transporter/tractor/equipment), bounty system, inactive player pruning decouple internal
    2 files
    • purchases.py
    • police.py
  • Implemented TWCC-missing features: maintenance loop, combat, equipment settings baseline internal
    1 file
    • maintenance_executor.py
  • Matched TW2002 Stardock prompts and bank interface exactly interface internal
    1 file
    • bank.py
  • Fixed duplicate Q in bank menu and double balance display on deposit/withdraw remediate behavioral
    1 file
    • bank.py
  • Fixed underground loan service crashing on missing interest_rate field remediate internal
    1 file
    • underground.py
  • Added blast-off exit message when leaving Stardock instantiate behavioral
    1 file
    • __init__.py
  • Refactored Underground to match TW2002 structure; fixed bounty dict access and double-deduction bug remediate internal
    1 file
    • underground.py

Trader ranking and tournament

2 files changed
  • ranks.py Trader ranking system with dynamic rank display during port trading
  • maintenance_executor.py Tournament cycle reset logic added

Port system fixes

2 files changed
  • trading.py Port class sign convention fixed; display computes from commodity signs
  • ports.py Selling ports given minimum initial stock
  • Fixed port class sign convention: negative = B (buys), positive = S (sells) remediate internal
    1 file
    • trading.py
  • Fixed port class display to compute from commodity signs rather than trusting stale bundle data remediate behavioral
    1 file
    • trading.py
  • Fixed port trading and ensuring selling ports have minimum initial stock remediate internal
    1 file
    • ports.py

Indexed lookups and metrics caching

3 files changed
  • metrics.py Metrics caching added to reduce dashboard API load
  • pathfinding.py Indexed lookups replace linear scans
  • service.py Indexed lookups and bounded metrics

Security: optional password exclusion from exports

1 file changed
  • export.py Optional password exclusion from SQLite exports

Documentation

3 files changed
  • GOLD_EDITION.md Gold Edition reference (1,272 lines)
  • TOURNAMENT_MODE.md Tournament Mode reference (624 lines)
  • FEATURE_COMPLETENESS.md Feature completeness documentation updated
  • Added comprehensive Gold Edition (docs/GOLD_EDITION.md, 1,272 lines) and Tournament Mode (docs/TOURNAMENT_MODE.md, 624 lines) documentation specify internal
    2 files
    • GOLD_EDITION.md
    • TOURNAMENT_MODE.md
  • Updated feature completeness documentation decouple behavioral
    1 file
    • FEATURE_COMPLETENESS.md