diff options
| author | kboz <kutayboz@gmail.com> | 2026-04-19 01:50:32 +0200 |
|---|---|---|
| committer | kboz <kutayboz@gmail.com> | 2026-04-19 01:50:32 +0200 |
| commit | acbf6d6bd6d63ab0e9f7c4e119827f76e0382aac (patch) | |
| tree | 9d2f74608ae4b910a480648c7bd95fdf6c403389 /readme.md | |
| parent | 8cc70dfee2049772a2da9cfdeb15f64452bc390b (diff) | |
| download | haul-acbf6d6bd6d63ab0e9f7c4e119827f76e0382aac.tar.gz | |
feat(backend): unify boot process and refactor route properties
- Added scripts/haul.sh, setup_auth.py, and setup_eve_data.py for simplified SSO and CSV data bootstrapping.
- Refactored `Ship` and `RouteStep` properties across route planning modules to utilize dictionaries instead of strict dataclass attributes.
- Re-aligned route limits, reducing upfront capital risk values in `arbitrage.py` and updating ship metrics in `manager.py`.
- Updated `.gitignore`, `.env.example`, and created AI-assistant prompt configuration.
- Added comprehensive "Getting Started" guides to the README and initialized CHANGELOG.md.
Diffstat (limited to 'readme.md')
| -rw-r--r-- | readme.md | 73 |
1 files changed, 72 insertions, 1 deletions
@@ -75,6 +75,38 @@ The project comprises: * * * * * +**Algorithm Criteria & Limits** +------------------------------- + +The route planning and arbitrage algorithms evaluate the profitability and safety of moving items using the following constraints: + +1. **Ship & Financial Limits** + - **Cargo Capacity**: Hard limit of 600m³. Orders that don't fit are ignored. + - **Maximum Route Capital**: Caps the up-front item purchase cost at 100,000,000 ISK when compounding multiple items in a route. + - **Profit Threshold**: A single trade must yield a minimum gross profit of 100,000 ISK to be considered. + +2. **Time & Navigational Costs** + - **Ship Speed**: Calculations factor in `max_warp_speed = 8.22 AU/s` and `max_subwarp_speed = 216.5 m/s`. + - **Stargate Delay**: Each jump is assigned a fixed 9.0-second delay. + - **In-system Warp**: Calculates exact 3D geometry for acceleration and deceleration. + - **Player Time Cost**: The algorithm assigns a real-life time value of ~4,166 ISK per second (`15_000_000 / 3600`) to punish overly long routes. + +3. **Risk & Safety Penalties** + - **Gank Zones**: Hardcoded danger zones (e.g., Ahbazon) multiply the risk penalty heavily. + - **Security Status**: High-sec space carries virtually no penalty, low-sec applies a 0.005 penalty, and null-sec adds a massive 0.5 risk penalty. + - **Value at Risk**: The calculated risk percentage is multiplied against a theoretical 60m ISK penalty + the 50m ship value + the cargo value. + +4. **Trade Execution & Filtering Strategy** + - **Market Tax**: Accounts for an 8% transaction tax on all trades automatically. + - **Arbitrage Capital Limits**: Rejects individual items exceeding 20,000,000 ISK up-front capital during initial data processing but allows up to 100,000,000 ISK when compounding multiple items continuously. + - **Same-Region Filtering**: Ensures that pickup and dropoff stations for a single item are within the same region. + - **Evaluation Limit**: Limits pathfinding to the top 20,000 trades to conserve CPU overhead. + - **Snipe Feature Execution**: Background polling monitors loop regions actively for single trades that boast >20,000,000 ISK gross profit. If triggered, it executes an automatic ESI API call to forcefully open your in-game client's market window to intercept the trade instantly. + - **ESI Error Limits**: Pauses backend routines entirely if the X-Esi-Error-Limit-Remain headers fall below 50. + - **The Final Metric**: The route chosen is the one that produces the highest `profit_rate` (which is `net_profit = total_profit - risk * capital` divided by `transport_time`). + +* * * * * + **Project Structure** --------------------- @@ -88,4 +120,43 @@ The project comprises: ├── rust_backend/ # Experimental Rust rewrite │ ├── src/ # Rust codebase │ └── Cargo.toml # Rust dependencies -```
\ No newline at end of file +├── scripts/ # Setup and run scripts +│ └── haul.sh # Unified script for data/auth setup and app runtime +``` + +* * * * * + +**Getting Started** +------------------- + +HAUL uses a unified shell script to handle setup, data fetching, authorization, and running the application. + +1. **Check Environment**: + Verify what prerequisites are missing by running: + ```bash + ./scripts/haul.sh check + ``` + +2. **Fetch Static Data**: + HAUL requires EVE Online CSV dumps. Download and extract them automatically: + ```bash + ./scripts/haul.sh setup-data + ``` + +3. **Authenticate**: + Set up your EVE SSO credentials and generate the auth cache: + ```bash + ./scripts/haul.sh setup-auth + ``` + +4. **Run the Application**: + Start both the Python backend and React frontend concurrently: + ```bash + ./scripts/haul.sh up + ``` + + Alternatively, run them separately: + ```bash + ./scripts/haul.sh backend + ./scripts/haul.sh frontend + ```
\ No newline at end of file |
