mirror of
https://github.com/zeropingheroes/lancache-autofill
synced 2024-09-20 13:11:54 +00:00
136 lines
4.5 KiB
Markdown
Executable file
136 lines
4.5 KiB
Markdown
Executable file
# lancache-autofill
|
|
Automatically fill a [lancache](https://github.com/zeropingheroes/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](https://github.com/zeropingheroes/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
|
|
|
|
* [SteamCMD Reference](https://developer.valvesoftware.com/wiki/SteamCMD)
|
|
* [SteamCMD Commands and Variables](https://github.com/dgibbs64/SteamCMD-Commands-List/blob/master/steamcmdcommands.txt)
|
|
* [Laravel Query Builder](https://laravel.com/docs/5.5/queries)
|
|
* [Laravel Artisan Console](https://laravel.com/docs/5.5/artisan)
|
|
* [Symfony Process Component](http://symfony.com/doc/current/components/process.html)
|
|
* [dotenv Reference](https://github.com/vlucas/phpdotenv/blob/master/README.md)
|