No description
Find a file
2017-12-09 01:00:20 +00:00
src Adding ability to queue popular apps 2017-09-08 21:22:38 +01:00
.env.example Attempt download of apps from all Steam accounts 2017-08-28 22:37:34 +01:00
.gitattributes Forcing Unix line edings 2017-08-27 22:17:00 +01:00
.gitignore Adding Vagrantfile for development 2017-08-27 22:17:18 +01:00
composer.json Adding illuminate/support 2017-12-09 01:00:20 +00:00
composer.lock Adding illuminate/support 2017-12-09 01:00:20 +00:00
install.sh Splitting up installation script & instructions 2017-12-03 13:01:32 +00:00
lancache-autofill Adding ability to queue popular apps 2017-09-08 21:22:38 +01:00
README.md Splitting up installation script & instructions 2017-12-03 13:01:32 +00:00
Vagrantfile Splitting up installation script & instructions 2017-12-03 13:01:32 +00:00

lancache-autofill

Automatically fill a lancache with the content of your choosing, so that subsequent downloads for the same content will be served from the lancache, improving speeds and reducing load on your internet connection.

Features

  • Queue the top 1 to 100 popular apps on Steam, or just the free apps
  • Queue a specific app by ID
  • Choose which platform(s) to download an app for
  • Use multiple Steam accounts to download apps
  • See which apps downloaded successfully
  • See which apps failed, and what the error message was
  • Retry downloading of failed apps

Requirements

  • A working lancache
  • Ubuntu 16.04 x64, configured to download via the lancache
  • Sufficient disk space to (temporarily) store the downloaded content
  • PHP 7.0

Installation

  1. apt update && apt install -y lib32gcc1 lib32stdc++6 lib32tinfo5 lib32ncurses5 php7.0-cli php7.0-mbstring php7.0-sqlite composer expect zip unzip
  2. git clone https://github.com/zeropingheroes/lancache-autofill.git && cd lancache-autofill
  3. ./install.sh

Quick Start

  1. Install and initialise SteamCMD:

    ./lancache-autofill steam:initialise

  2. Set the default Steam account to be used when queueing apps for download:

    nano .env

  3. Search for the apps you wish to download to find their app ID:

    ./lancache-autofill steam:search-apps "team fortress 2"

    440 Team Fortress 2 [...]

  4. Queue the app for download by ID:

    ./lancache-autofill steam:queue-app 440

  5. Authorise your Steam account:

    ./lancache-autofill steam:authorise-account

  6. Start downloading items in the download queue:

    ./lancache-autofill steam:start-downloading

  7. View the download queue to see the status of the downloads:

    ./lancache-autofill steam:show-queue

  8. Clear the temporary download location:

    ./lancache-autofill app:initialise-downloads-directory

Command Reference

app:initialise-database

  • Initialise the database.

app:initialise-downloads-directory

  • Initialise the downloads directory.

steam:initialise

  • Install and initialise SteamCMD

steam:authorise-account [account]

  • Authorise a Steam account to allow download of apps in their library.
  • If no account is specified, you will be prompted for the username

steam:queue-app appid [appid, appid...] [--windows] [--osx] [--linux]

  • Queue one or more Steam apps for downloading.
  • Optionally the platform(s) to download can be specified as options
  • If no platform option is specified, the Windows version of the app will be queued

steam:queue-popular-apps [top=100] [--free] [--windows] [--osx] [--linux]

  • Queue the top most popular apps on Steam in the past 2 weeeks
  • Optionally
    • Only queue top X apps (default 100)
    • Only queue free apps
    • Specify the platform(s) to download (default - windows)

steam:dequeue [--app_id=] [--platform=] [--status=] [--message=]

  • Dequeue a items from the download queue.
  • Optionally specify any combination of app ID, platform, status and message
  • Calling with no arguments clears the queue

steam:requeue [status=failed] [--message=]

  • Requeue failed and/or completed items in the download queue.
  • By default failed items are requeued
  • Optionally only requeue items whose message contains the specified value

steam:search-apps name

  • Search Steam apps by name.

steam:show-queue [status]

  • Show the Steam app download queue.
  • Optionally only show items with specified status
  • Available statuses are: queued, failed, completed

steam:start-downloading

  • Start downloading the Steam apps in the queue.
  • The account(s) specified in the queue to download from are checked before any app downloads are attempted

steam:update-app-list

  • Get the latest list of apps from Steam.

Limitations & Known Issues

  • Steam is the only supported platform currently
  • Paid apps can only be cached with access to a Steam account that owns them
  • No support for forcing download of 32 bit apps
  • Yes, it's written in PHP. No shame.

Reference