Skip to content

Configuration Reference ​

Complete reference for all configuration fields, types, defaults, and descriptions.

Top-Level Structure ​

yaml
servers:     # Game server connections (optional)
auths:       # Authentication credentials (optional)
auth:        # Single auth (deprecated)
monitor:     # Monitoring behavior (optional)
notifier:    # Notification channels (optional)
webui:       # Web management interface (optional)
rules:       # Purchase rules (optional)
server:      # Single server (deprecated)

Servers ​

List of game servers to monitor.

yaml
servers:
  - host: free1
    base_url: https://free1.airlinesim.aero

ServerConfig ​

FieldTypeRequiredDefaultDescription
hoststringYes--Short label for the server (used in logs and UI)
base_urlstringYes--Full URL of the game server (e.g., https://free1.airlinesim.aero)

Default: If no servers are configured, a single server is created:

yaml
servers:
  - host: free1
    base_url: https://free1.airlinesim.aero

Auths ​

List of authentication credentials.

yaml
auths:
  - username: "player@example.com"
    password: "s3cret"
    session_file: "session.json"

AuthConfig ​

FieldTypeRequiredDefaultDescription
usernamestringYes--AirlineSim account email or username
passwordstringYes--Account password
session_filestringNo"session.json"File path to persist session cookies for reuse across restarts

Note: The auth field (singular) is deprecated. Use auths (plural) instead.

Monitor ​

Market scanning behavior.

yaml
monitor:
  interval: 30
  jitter: 10
  request_timeout: 30
  min_balance: 1000000

MonitorConfig ​

FieldTypeRequiredDefaultDescription
intervalintNo30Polling interval in seconds between market scans. Minimum recommended: 15 seconds
jitterintNo10Random delay in seconds added to each interval. Actual delay = interval + random(0, jitter)
request_timeoutintNo30HTTP request timeout in seconds for market page fetches
min_balancefloatNo1000000Minimum account balance (AS$) to retain after a purchase. Acts as a safety warning threshold

Notifier ​

Notification channel configuration.

yaml
notifier:
  console: true
  discord_webhook: "https://discord.com/api/webhooks/..."
  # dingtalk_webhook: "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN"
  # dingtalk_secret: "YOUR_SIGNING_SECRET"

NotifierConfig ​

FieldTypeRequiredDefaultDescription
consoleboolNotrueEnable structured console logging with emoji indicators
discord_webhookstringNo""Discord webhook URL for sending notifications to a Discord channel. Leave empty to disable
dingtalk_webhookstringNo""DingTalk custom robot webhook URL for sending notifications to a DingTalk group. Leave empty to disable
dingtalk_secretstringNo""HMAC-SHA256 signing secret for the DingTalk robot. Required if the robot has "Signature Verification" enabled. Leave empty to sign without secret

WebUI ​

Embedded web management interface configuration.

yaml
webui:
  enabled: true
  host: 0.0.0.0
  port: 9090

WebUIConfig ​

FieldTypeRequiredDefaultDescription
enabledboolNotrueEnable or disable the web UI HTTP server
hoststringNo"0.0.0.0"Bind address for the HTTP server. Use "127.0.0.1" for local-only access
portintNo9090HTTP server port number

Rules ​

Purchase rules define which aircraft to monitor and purchase.

yaml
rules:
  - name: "Example Rule"
    enabled: true
    priority: 10
    server_id: 0
    auth_id: 0
    match:
      family_id: "1200300"
      type_id: "16"
      types:
        - "Airbus A320-200 heavy"
      price_range:
        min: 500000
        max: 5000000
      max_age: 15
      max_cycles: 30000
      condition_min: 70.0
      offer_types:
        - auction
        - immediate
      financing:
        - cash
        - credit
        - lease
      sort_by: "price_asc"
    action:
      auto_buy: true
      snatch: false
      max_bid_increment: 100000

RuleConfig ​

FieldTypeRequiredDefaultDescription
namestringYes--Human-readable name for the rule. Displayed in logs and UI
enabledboolNotrueEnable or disable the rule. Disabled rules are skipped during evaluation
priorityintNo10Priority score added to matching aircraft. Higher priority = higher desirability score
server_idintNo-1Index of the target server in the servers list. -1 means all servers
auth_idintNo-1Index of the authentication account in the auths list. -1 means the first auth
matchMatchConfigYes--Aircraft match conditions
actionActionConfigYes--Purchase action settings

MatchConfig ​

FieldTypeRequiredDefaultDescription
family_idstringNo""Wicket aircraft family ID for server-side filtering. Empty string means no filter
type_idstringNo""Wicket aircraft type ID for server-side filtering. Empty string means no filter
typesarray of stringsNo[]List of aircraft type names to match. Case-insensitive. Empty array means no filter
price_rangePriceRangeNo{min: 0, max: 0}Price range in AS$. 0 means unbounded
max_ageintNo0Maximum aircraft age in years. 0 means no limit
max_cyclesintNo0Maximum flight cycles. 0 means no limit
condition_minfloatNo0Minimum condition percentage (0-100). 0 means no limit
offer_typesarray of stringsNo[]Allowed offer types. Valid values: "auction", "immediate". Empty array means all types
financingarray of stringsNo[]Required payment methods. Valid values: "cash", "credit", "lease". Empty array means all methods
sort_bystringNo""Server-side sort parameter. Common values: "price_asc", "price_desc", "age_asc", "age_desc"

PriceRange ​

FieldTypeRequiredDefaultDescription
minfloatNo0Minimum price in AS$. 0 or negative means no minimum
maxfloatNo0Maximum price in AS$. 0 or negative means no maximum

ActionConfig ​

FieldTypeRequiredDefaultDescription
auto_buyboolNofalseAutomatically purchase matching aircraft. When false, matching is logged but no purchase is attempted
snatchboolNofalseEnable snatch mode for immediate purchase with aggressive pricing
max_bid_incrementfloatNo0Maximum amount (AS$) to increment the current bid for auction items. 0 means no increment

Market Data ​

The following aircraft families and types are available for use in rules.

Aircraft Families ​

IDName
72001001900 Airliner
3000100208 Caravan
3000200408 SkyCourier
6200100410
2200410737 MAX
2200350737-300/400/500
2200400737-600/700/800/900
2200510747-8
2200600767-200/300/400
2200650777-200/300
2200700787
1200250A220
1200299A318 / A319
1200310A319 / A320 / A321 NEO
1200300A320 / A321
1200400A330
1200410A330 NEO
1200600A350
1200800A380
7100100AN-28
1400600AN140
1400650AN148
3200100ARJ21
1600100ATR 42
1600200ATR 72
3200200C919
2400200CRJ Series
3800400Dash 8
3800200DHC-6
7300100DO228NG
4200300EMB 170/175/190/195
4200400EMB 175/190/195 E2
4200200ERJ 135/140/145
2600100Islander / Trislander
7005100PC-12
7005200PC-24
7900100Superjet
8000300TU-204/214
1500200Xian Y-7

Aircraft Types (Partial) ​

The full list of aircraft types is available through the /api/aircraft-data endpoint and includes all variants of the families above. Key types include:

IDName
16Airbus A320-200 heavy
17Airbus A320-200 heavy (enhanced)
24Airbus A320-200 medium
28Airbus A320neo heavy
34Airbus A321-200 heavy
42Airbus A321LR
43Airbus A321neo heavy
49Airbus A330-200
53Airbus A330-300
62Airbus A350-1000
63Airbus A350-900
65Airbus A380-800
83Boeing 737-700 BGW
93Boeing 737-8
97Boeing 737-800 HGW
105Boeing 737-9
113Boeing 747-8F
114Boeing 747-8I
115Boeing 767-300ER
119Boeing 777-200ER
122Boeing 777-300ER
123Boeing 787-10
124Boeing 787-8
125Boeing 787-9

Default Configuration ​

The default configuration is created when no configuration file exists:

yaml
servers:
  - host: "free1"
    base_url: "https://free1.airlinesim.aero"
auth:
  username: ""
  password: ""
  session_file: "session.json"
monitor:
  interval: 30
  jitter: 10
  request_timeout: 30
  min_balance: 1000000
notifier:
  console: true
  # discord_webhook: ""
  # dingtalk_webhook: ""
  # dingtalk_secret: ""
webui:
  enabled: true
  host: "0.0.0.0"
  port: 9090
rules:
  - name: "示例规则-经济型窄体机"
    enabled: false
    priority: 10
    match:
      types:
        - "B737-800"
        - "A320-200"
      price_range:
        min: 500000
        max: 5000000
      max_age: 15
      max_cycles: 30000
      condition_min: 70
      offer_types:
        - auction
        - immediate
      financing:
        - cash
        - credit
        - lease
    action:
      auto_buy: true
      snatch: false
      max_bid_increment: 100000

See Also ​

Released under AGPL-3.0.