1a8ceb1ad5
Old: Illuminate\Console\Application New: Illuminate\Foundation\Application To allow for loading of service providers |
||
---|---|---|
bootstrap/cache | ||
config | ||
src | ||
.env.example | ||
.gitattributes | ||
.gitignore | ||
composer.json | ||
composer.lock | ||
install.sh | ||
lancache-autofill | ||
README.md | ||
Vagrantfile |
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
apt update && apt install -y lib32gcc1 lib32stdc++6 lib32tinfo5 lib32ncurses5 php7.0-cli php7.0-mbstring php7.0-sqlite composer expect zip unzip
git clone https://github.com/zeropingheroes/lancache-autofill.git && cd lancache-autofill
./install.sh
Quick Start
-
Install and initialise SteamCMD:
./lancache-autofill steam:initialise
-
Set the default Steam account to be used when queueing apps for download:
nano .env
-
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 [...]
-
Queue the app for download by ID:
./lancache-autofill steam:queue-app 440
-
Authorise your Steam account:
./lancache-autofill steam:authorise-account
-
Start downloading items in the download queue:
./lancache-autofill steam:start-downloading
-
View the download queue to see the status of the downloads:
./lancache-autofill steam:show-queue
-
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.