### Install Mkdocs Prerequisites Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/mkdocs-setup Installs Python and the required Mkdocs package using Chocolatey and pip. Ensure Python 3 is installed. ```bash Copy# Installs Python from Chocolatey. Alternatively Python can be manually installed. choco install python # Installs required mkdocs package pip install -r requirements.txt ``` -------------------------------- ### Create SteamPrefill Directory and Navigate Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Creates a new directory named 'SteamPrefill' and then changes the current directory to the newly created one. This is where SteamPrefill will be installed. ```bash mkdir SteamPrefill cd SteamPrefill/ ``` -------------------------------- ### Run SteamPrefill Installation Script Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Executes the 'update.sh' script to download and install SteamPrefill and its dependencies. ```bash ./update.sh ``` -------------------------------- ### Install Required Software Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Installs curl, jq, unzip, and wget, which are necessary dependencies for SteamPrefill. The -y flag automatically confirms any prompts. ```bash apt-get install curl jq unzip wget -y ``` -------------------------------- ### Make SteamPrefill Executable Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Grants execute permissions to the 'SteamPrefill' binary after installation, allowing it to be run directly. ```bash chmod +x ./SteamPrefill ``` -------------------------------- ### Download SteamPrefill Install Script Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Downloads the 'update.sh' installation script from the official GitHub repository to the current directory. ```bash curl -o update.sh --location "https://raw.githubusercontent.com/tpill90/steam-lancache-prefill/master/scripts/update.sh" ``` -------------------------------- ### Enable and Start SteamPrefill Scheduled Job Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Scheduled-Job These commands reload the systemd daemon, enable the steamprefill timer and service to start on boot, and immediately start the timer. ```bash sudo systemctl daemon-reload sudo systemctl enable --now steamprefill.timer sudo systemctl enable steamprefill ``` -------------------------------- ### Setup Benchmark Workload with Selected Apps Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Creates a benchmark workload using apps previously selected with `select-apps`. This is ideal for aligning with games that will be downloaded by real event clients. ```bash ./SteamPrefill benchmark setup --use-selected ``` -------------------------------- ### Setup Benchmark Workload with All Owned Apps Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Creates a benchmark workload using all currently owned apps. This option is useful for a comprehensive benchmark of your entire library. ```bash ./SteamPrefill benchmark setup --all ``` -------------------------------- ### Combined Prefill Options Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Prefill Combines multiple flags to customize the prefill process. This example preloads top games, downloads only the Linux version, and enables verbose logging. ```bash ./SteamPrefill prefill --top --os linux --verbose ``` -------------------------------- ### Install Git using Chocolatey Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Installs Git for Windows using the Chocolatey package manager. ```powershell choco install git.install ``` -------------------------------- ### Install .NET 8 SDK using Chocolatey Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Installs the .NET 8 SDK version 8.0.100 using the Chocolatey package manager on Windows. ```powershell choco install dotnet-sdk --version=8.0.100 ``` -------------------------------- ### Make Install Script Executable Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Grants execute permissions to the downloaded 'update.sh' script, allowing it to be run. ```bash chmod +x update.sh ``` -------------------------------- ### Setup Benchmark Workload with SmallChunks Preset Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Quickly sets up a benchmark with a predefined workload characterized by small file chunk sizes. This represents a worst-case scenario for performance testing. ```bash ./SteamPrefill benchmark setup --preset SmallChunks ``` -------------------------------- ### Setup Benchmark Workload with LargeChunks Preset Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Quickly sets up a benchmark with a predefined workload characterized by large file chunk sizes, close to 1MiB. This represents a best-case scenario for performance testing. ```bash ./SteamPrefill benchmark setup --preset LargeChunks ``` -------------------------------- ### Update Package List Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Linux-Setup-Guide Ensures that your system has the latest information about available package versions before installing new software. ```bash apt-get update ``` -------------------------------- ### Configure SteamPrefill Service Job Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Scheduled-Job This configuration defines the systemd service that will be triggered by the steamprefill.timer. Remember to replace User, WorkingDirectory, and ExecStart values with your specific SteamPrefill installation details. ```systemd [Unit] Description=SteamPrefill After=remote-fs.target Wants=remote-fs.target [Service] # Replace with your username User= # Set this to the directory where SteamPrefill is installed. # Example : /home/tim/SteamPrefill WorkingDirectory= # This should be the full path to SteamPrefill, as well as any additional option flags # Example: /home/tim/SteamPrefill/SteamPrefill prefill --no-ansi ExecStart= Type=oneshot Nice=19 [Install] WantedBy=multi-user.target ``` -------------------------------- ### Setup Benchmark Workload with Specific AppIDs Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Includes specific appids in the benchmark workload file. This is useful for testing a particular app without altering previously selected apps. AppIds can be found using SteamDB. ```bash ./SteamPrefill benchmark setup --appid 123456 789012 ``` -------------------------------- ### Setup Benchmark Workload without ANSI Colors Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Benchmark Creates a benchmark workload file with plain text output, disabling ANSI escape sequences. Use this when your terminal does not support them or when redirecting output to a file. ```bash ./SteamPrefill benchmark setup --no-ansi ``` -------------------------------- ### Serve Mkdocs Documentation Locally Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/mkdocs-setup Launches the Mkdocs live development server to preview documentation changes in real-time. Access the site at http://127.0.0.1:8000/. ```bash mkdocs serve ``` -------------------------------- ### Run the Project with Arguments Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Executes the project with specified command-line arguments, such as 'prefill --all'. ```bash dotnet run -- prefill --all ``` -------------------------------- ### Run the Project in Release Mode Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Compiles and runs the project with all optimizations enabled for maximum performance. ```bash dotnet run --configuration Release ``` -------------------------------- ### Basic Prefill Command Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Prefill Initiates a prefill run to download or update games. This command automatically includes apps selected with `select-apps`. ```bash ./SteamPrefill prefill ``` -------------------------------- ### View Selected Apps Status Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Select-Apps Run this command to list all selected apps and their download sizes. The download size is an estimate as Steam compresses files for download. ```bash ./SteamPrefill select-apps status ``` -------------------------------- ### Compile the Project Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Builds the project from the repository root. This command generates an executable file and performs incremental compilation on subsequent runs. ```bash dotnet build ``` -------------------------------- ### Run Latest SteamPrefill Docker Image Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Docker-Setup-Guide Downloads and runs the latest version of the SteamPrefill Docker container. This command is equivalent to running SteamPrefill without any options. ```bash docker run -it --rm --net=host \ --volume ~/.config/SteamPrefill:/Config \ tpill90/steam-lancache-prefill:latest ``` -------------------------------- ### Configure SteamPrefill Timer Schedule Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Scheduled-Job This configuration sets up a systemd timer to run the SteamPrefill job daily at 4 AM local time. Ensure the timer file is saved as /etc/systemd/system/steamprefill.timer. ```systemd [Unit] Description=SteamPrefill run daily Requires=steamprefill.service [Timer] # Runs every day at 4am (local time) OnCalendar=*-*-* 4:00:00 # Set to true so we can store when the timer last triggered on disk. Persistent=true [Install] WantedBy=timers.target ``` -------------------------------- ### Run SteamPrefill Docker with Select Apps Command Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Docker-Setup-Guide Executes the 'select-apps' command within the SteamPrefill Docker container. This allows you to interact with specific commands after the container is running. ```bash docker run -it --rm --net=host \ --volume ~/.config/SteamPrefill:/Config \ tpill90/steam-lancache-prefill:latest \ select-apps ``` -------------------------------- ### Compile and Run Unit Tests Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Compiles and executes all unit tests within the entire repository. ```bash dotnet test ``` -------------------------------- ### Mkdocs Project Layout Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/mkdocs-setup Illustrates the standard directory structure for an Mkdocs project. Key files include mkdocs.yml for configuration and markdown files within the mkdocs/ directory. ```text Copymkdocs.yml # Mkdocs root configuration file. mkdocs/ index.md # The documentation homepage. assets/ # Contains custom Javascript and CSS used on the docs site custom_theme/ img/ img/svg/ # The .ansi files in the parent directory will be rendered here. ... # Other markdown pages, images and other files. ``` -------------------------------- ### Clone Steam Lancache Prefill Repository with Submodules Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Clones the project repository from GitHub and initializes all required submodules. ```git git clone --recurse-submodules -j8 https://github.com/tpill90/steam-lancache-prefill.git ``` -------------------------------- ### Enable Unicode in PowerShell Profile Source: https://tpill90.github.io/steam-lancache-prefill/install-guides/Windows-Setup-Guide Run this command in PowerShell to enable Unicode support in the console, which improves the display of SteamPrefill's UI output. It ensures the profile file exists and adds the necessary encoding settings if they are not already present. ```powershell if(!(Test-Path $profile)) { New-Item -Path $profile -Type File -Force } if(!(gc $profile).Contains("OutputEncoding")) { ac $profile "[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()"; & $profile; } ``` -------------------------------- ### Run the Project in Debug Mode Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Compiles and runs the project in debug mode, which includes debugging information but runs slower than release mode. This command also detects and compiles any changes. ```bash dotnet run ``` -------------------------------- ### Prefill Entire Steam Library Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Prefill Prefills your entire Steam library, ensuring all games are downloaded and updated. This is useful for simplifying management and automatically including newly purchased games. ```bash ./SteamPrefill prefill --all ``` -------------------------------- ### Customized Sorting for Selected Apps Status Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Select-Apps This command allows for advanced sorting of the selected apps list by size in descending order. It demonstrates how to use the --sort-order and --sort-by flags. ```bash ./SteamPrefill select-apps status --sort-order descending --sort-by size ``` -------------------------------- ### Force Cache Priming Source: https://tpill90.github.io/steam-lancache-prefill/detailed-command-usage/Prefill Forces SteamPrefill to re-download every app, regardless of its current update status. This ensures complete cache priming, filling in any potentially missing data. ```bash ./SteamPrefill prefill --force ``` -------------------------------- ### Update Submodules in Existing Repository Source: https://tpill90.github.io/steam-lancache-prefill/dev-guides/Compiling-from-source Initializes and updates submodules for a repository that has already been cloned without them. ```git git submodule update --init --recursive ``` -------------------------------- ### Remove ANSI escape codes from logs Source: https://tpill90.github.io/steam-lancache-prefill/faq Use the --no-ansi flag to strip unsupported characters from log output, which can appear as weird characters in some terminals. This flag ensures cleaner logs. ```bash Copy[6:20:46 PM] Starting [38;5;80mCounter-Strike: Global Offensive[0m [6:20:46 PM] Downloading [38;5;170m12.91 GiB[0m ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.