Skip to content
Β 
Β 

Latest commit

Β 

History

264 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bliss Autopricer

npm version Node.js PostgreSQL ESLint Prettier License: MIT

⚠️ IMPORTANT FOR EXISTING USERS: If you're upgrading from a previous version, you MUST re-scan or re-add your bots after installation. The bot configuration system has been completely overhauled to use direct file paths. Run npm run setup or use the web interface at http://localhost:3000/bot-config to reconfigure your bots.

Bliss Autopricer Logo

An advanced TF2 item pricing system that uses live backpack.tf listings and Steam Community Market data to generate intelligent, profitable prices for TF2Autobot. This enhanced fork builds upon Jack Richards' excellent original autopricer with significant improvements to reliability, multi-bot support, and pricing intelligence.

πŸš€ Quick Start

# 1. Clone and install
git clone https://github.com/OliverPerring/bliss-autopricer.git
cd bliss-autopricer
npm install

# 2. Setup bot configuration (auto-discovers your bots)
npm run setup

# 3. Initialize database
npm run validate-config

# 4. Start the autopricer
npm start

Visit the web interface at http://localhost:3000 to manage your pricing!

✨ What's New in This Fork

πŸ† Major Enhancements Over Jack's Original

  • πŸ€– Multi-Bot Management: Seamlessly manage multiple TF2Autobot instances with automatic discovery
  • πŸ“Š Enhanced Pricing Intelligence: Pure backpack.tf + Steam Community Market pricing (no more prices.tf dependency)
  • πŸ”„ Bulletproof WebSocket: Automatic connection recovery with health monitoring
  • ⚑ One-Command Setup: Intelligent configuration wizard that finds your bots automatically
  • 🎯 Advanced Fallback System: SCM pricing for items with insufficient listing data
  • πŸ’Ύ Configuration Migration: Automatically upgrades old configurations to the new multi-bot system
  • πŸ”Œ WebSocket Relay Support: Connect through internal relay server for multiple instance deployments

πŸ™ Attribution

Huge thanks to Jack Richards for creating the original bptf-autopricer! This fork builds upon his excellent foundation with enhanced features for modern TF2 trading needs.

🎯 Key Features

Intelligent Pricing System

  • πŸ“ˆ Live Listing Analysis: Real-time backpack.tf listing data processing
  • πŸ’° Steam Community Market Integration: SCM fallback pricing for rare/illiquid items
  • πŸŽͺ Unusual Support: Full pricing support for unusual items and special attributes
  • πŸ›‘οΈ Profit Protection: Configurable margins and sanity checks
  • πŸ” Outlier Detection: Automatic filtering of suspicious listings

Advanced Bot Management

  • πŸ” Auto-Discovery: Finds all TF2Autobot installations automatically
  • πŸ”„ Easy Switching: Switch between bots with a single click
  • πŸ“Š Unified Dashboard: Manage all your bots from one interface
  • βš™οΈ Configuration Backup: Safe configuration migration and backup

Reliability & Performance

  • πŸ”Œ WebSocket Health Monitoring: Real-time connection status tracking
  • ♻️ Auto-Recovery: Automatic reconnection when connections fail
  • ⚑ Rate Limiting: Intelligent API request management
  • πŸ“¦ Batch Processing: Efficient handling of large item lists

πŸ“‹ Requirements

  • Node.js v22.0.0+ (required for built-in fetch support)
  • PostgreSQL v12+
  • TF2Autobot (any recent version)
  • API Keys: backpack.tf API key and Steam API key

πŸ“– Documentation

πŸ—οΈ Architecture

Pricing Logic Flow

  1. Live Listings: Analyze backpack.tf buy/sell listings from trusted sources
  2. Steam Community Market: Fallback to SCM prices with configurable margins
  3. Sanity Checks: Validate prices against configured thresholds
  4. Profit Margins: Apply buy/sell spreads for profitable trading
  5. TF2Autobot Integration: Seamless pricelist updates via Socket.IO

Multi-Bot System

Bliss Autopricer
β”œβ”€β”€ Bot Discovery Engine
β”œβ”€β”€ Configuration Manager
β”œβ”€β”€ Pricing Engine
β”œβ”€β”€ WebSocket Manager
└── Web Interface
    β”œβ”€β”€ Bot Selection
    β”œβ”€β”€ Price Monitoring
    β”œβ”€β”€ Configuration
    └── Health Dashboard

πŸ”§ API Keys Setup

You'll need these API keys for full functionality:

  1. Backpack.tf API Key: Get from backpack.tf/api/register
  2. Steam API Key: Get from steamcommunity.com/dev/apikey

⚠️ Important: Without proper API keys, you may encounter 403 errors. The setup wizard will help you configure these correctly.

πŸ“Š Web Interface

The web dashboard provides:

  • πŸ“‹ Pricelist Management: View and edit item prices
  • πŸ€– Bot Configuration: Switch between multiple bots
  • πŸ“ˆ Price Analytics: Monitor pricing performance
  • πŸ”— WebSocket Status: Real-time connection health
  • πŸ“Š Trade Statistics: P&L tracking and analytics

πŸ”„ Updating Your Installation

If you've already cloned the repository and want to update to the latest version:

cd bliss-autopricer
git pull origin
npm install

Your configuration files (pricerConfig.json, files/) will be preserved during updates.

πŸ”Œ WebSocket Relay Configuration

For deployments with multiple autopricer instances, you can use the backpack-tf-socket-relay to share a single websocket connection to backpack.tf.

Setup Relay Mode

  1. Start your relay server (default port 7789):

    # In your relay server directory
    npm start
  2. Configure autopricer via web interface at /settings or manually in config.json:

    {
      "websocketRelay": {
        "enabled": true,
        "protocol": "ws",
        "host": "localhost",
        "port": 7789
      }
    }
  3. Restart autopricer to use relay connection

The autopricer will connect to ws://localhost:7789/relay when relay mode is enabled.

Benefits of Relay Mode

  • Multiple Instances: Run several autopricing instances with one backpack.tf connection
  • Reduced API Load: Single websocket connection shared across all instances
  • Better Reliability: Centralized connection management with automatic failover
  • Compliance: Respects backpack.tf's single connection per API key limitation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

⚑ Support


Built with ❀️ for the TF2 trading community

Continuing Jack Richards' Pricer with modern enhancements

About

Automatically prices items using listing data from backpack.tf, with fallback logic for handling prices based on SCM.

Topics

Resources

Code of conduct

Contributing

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages