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.pyConfig moved into uwarp.game package structuregame_state.pyGameState migrated to uwarp.game with domain/transport sublayersgame_loader.pyGame loader migratedgame_saver.pyGame saver migratedutils.pyUtils split into domain and transport layerssession_bridge.pySession bridge migrated; constants shim removedinput_adapter.pyInput adapter migrated
src/uwarp/server/renamed tosrc/uwarp/game/withdomain/andtransport/sublayers decouple internal2 files
game_state.pyconfig.py
utils/split into domain and transport layers; constants shim removed decouple architectural1 file
utils.py
__init__.pyfiles cleaned — logic moved out of init files to dedicated modules decouple architectural2 files
__init__.py__init__.py
engine/andruntime/extracted as top-level packages (“Strategy C”) decouple internal2 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.pyData-driven AlienRaceConfig supporting Ferrengi, Klingon, etc. racesai_loop.pyAlien AI loopcombat.pyAlien combat logicrace_config.pyAlienRaceConfig: separate stats per racegame_state.pyalien_races added to DO game state wrapper; crashes when no aliens fixed
- Implemented data-driven
AlienRaceConfigsupporting distinct Ferrengi, Klingon, etc. races with separate stats decouple internal2 files
race_config.pynpc.py
- Fixed universe generation to honor
--playersparameter remediate internal1 file
bigbang.py
- Fixed crashes when universe has no aliens
remediate
internal
1 file
ai_loop.py
- Fixed warp disconnect: added
alien_racesto DO game state wrapper remediate internal1 file
game_state.py
Stardock facilities
5 files changed
purchases.pyHardware emporium (transporter/tractor/equipment) implementedpolice.pyBounty system and inactive player pruningbank.pyBank interface matched to TW2002 exactly; duplicate Q and double balance display fixedunderground.pyUnderground refactored to match TW2002 structure; bounty dict access and double-deduction fixedentertainment.pyEntertainment stardock commands
- Implemented hardware emporium (transporter/tractor/equipment), bounty system, inactive player pruning
decouple
internal
2 files
purchases.pypolice.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_ratefield remediate internal1 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.pyTrader ranking system with dynamic rank display during port tradingmaintenance_executor.pyTournament cycle reset logic added
- Added trader ranking system with dynamic rank display during port trading
instantiate
behavioral
1 file
ranks.py
- Added tournament cycle reset logic
instantiate
internal
1 file
maintenance_executor.py
Port system fixes
2 files changed
trading.pyPort class sign convention fixed; display computes from commodity signsports.pySelling 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.pyMetrics caching added to reduce dashboard API loadpathfinding.pyIndexed lookups replace linear scansservice.pyIndexed lookups and bounded metrics
- Added indexed lookups to replace linear scans
instantiate
internal
1 file
pathfinding.py
- Added metrics caching to reduce dashboard API load
interface
behavioral
1 file
metrics.py
Security: optional password exclusion from exports
1 file changed
export.pyOptional password exclusion from SQLite exports
- Added optional password exclusion from SQLite exports
instantiate
internal
1 file
export.py
Documentation
3 files changed
GOLD_EDITION.mdGold Edition reference (1,272 lines)TOURNAMENT_MODE.mdTournament Mode reference (624 lines)FEATURE_COMPLETENESS.mdFeature 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 internal2 files
GOLD_EDITION.mdTOURNAMENT_MODE.md
- Updated feature completeness documentation
decouple
behavioral
1 file
FEATURE_COMPLETENESS.md