### Example ArchiSteamFarm Directory Structure Source: https://github.com/justarchinet/archisteamfarm/wiki/Setting-up This example shows the recommended way to structure your ArchiSteamFarm installation directory. It's important to extract ASF into its own dedicated folder, separate from other files, to avoid issues during auto-updates. ```text C:\ASF (where you put your own things) ├── MyNotes.txt (optional) ├── AsfMakeMeCoffeeScript.bat (optional) ├── (...) (any other files of your choice, optional) └── Core (dedicated to ASF only, where you extract the archive) ├── ArchiSteamFarm(.exe) ├── config ├── logs ├── plugins ├── www └── (...) ``` -------------------------------- ### Example: Inputting SteamGuard code Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/bg-BG/Commands-bg-BG This example demonstrates how to provide a SteamGuard authentication code to a bot in headless mode. First, start the bot to trigger the need for an auth code, then use the `input` command to set the code, and finally restart the bot. ```bash start MySteamGuardBot ``` ```bash input MySteamGuardBot SteamGuard ABCDE ``` ```bash start MySteamGuardBot ``` -------------------------------- ### Example Bot Configuration JSON Source: https://github.com/justarchinet/archisteamfarm/wiki/Configuration This is a comprehensive example of a bot's configuration file structure. It includes all available properties with their default or example values, serving as a template for creating new bot configurations. ```json { "AcceptGifts": false, "BotBehaviour": 0, "CompleteTypesToSend": [], "CustomGamePlayedWhileFarming": null, "CustomGamePlayedWhileIdle": null, "Enabled": false, "FarmingOrders": [], "FarmingPreferences": 0, "GamesPlayedWhileIdle": [], "GamingDeviceType": 1, "HoursUntilCardDrops": 3, "LootableTypes": [1, 3, 5], "MachineName": null, "MatchableTypes": [5], "OnlineFlags": 0, "OnlineStatus": 1, "PasswordFormat": 0, "RedeemingPreferences": 0, "RemoteCommunication": 3, "SendTradePeriod": 0, "SteamLogin": null, "SteamMasterClanID": 0, "SteamParentalCode": null, "SteamPassword": null, "SteamTradeToken": null, "SteamUserPermissions": {}, "TradeCheckPeriod": 60, "TradingPreferences": 0, "TransferableTypes": [1, 3, 5], "UseLoginKeys": true, "UserInterfaceMode": 0, "WebProxy": null, "WebProxyPassword": null, "WebProxyUsername": null } ``` -------------------------------- ### Start Bot Instances Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/be-BY/Commands-be-BY Starts specified bot instances. ```APIDOC ## POST /api/start ### Description Starts given bot instances. ### Method POST ### Endpoint /api/start ### Parameters #### Query Parameters - **Bots** (string) - Required - Comma-separated list of bot names to start. ### Request Body None ### Response #### Success Response (200) - **message** (string) - Indicates the specified bots have been started. #### Response Example ```json { "message": "Bots started: bot1,bot2." } ``` ``` -------------------------------- ### Start ASF systemd Service Source: https://github.com/justarchinet/archisteamfarm/wiki/Management Start the ArchiSteamFarm service for the specified user ('asf' in this example). ```bash systemctl start ArchiSteamFarm@asf ``` -------------------------------- ### Example Package Structure Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/lol-US/SteamTokenDumperPlugin-lol-US Illustrates the hierarchical relationship between packages, apps, and depots in Steam. ```text ├── sub/124923 │ ├── app/292030 │ │ ├── depot/292031 │ │ ├── depot/378648 │ │ └── ... │ ├── app/378649 │ └── ... └── ... ``` -------------------------------- ### Nullable GUID Type Examples Source: https://github.com/justarchinet/archisteamfarm/wiki/Configuration Use `null` or a valid UUID string for nullable GUID properties. ```json "LicenseID": null ``` ```json "LicenseID": "f6a0529813f74d119982eb4fe43a9a24" ``` -------------------------------- ### Manual Setup for Running ASF as a Dedicated User Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/lt-LT/Management-lt-LT This sequence of commands demonstrates how to manually create a user, set permissions for the ASF directory, and then run ASF under that new user. This is an alternative to using a systemd service. ```sh su # Or sudo -i, to get into root shell useradd -m asf # Create account you intend to run ASF under chown -hR asf:asf /path/to/ASF # Ensure your new user has access to the ASF directory su asf -c "/path/to/ASF/ArchiSteamFarm" # Or sudo -u asf /path/to/ASF/ArchiSteamFarm, to actually start the program under your user ``` -------------------------------- ### Basic SteamTarget Configuration Example Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/be-BY/Logging-be-BY An example NLog.config setup to send all Debug level messages from 'MyBot' to a specific Steam user. Ensure the bot is connected before messages are sent. ```xml ``` -------------------------------- ### Manual Root Execution Setup for ArchiSteamFarm Source: https://github.com/justarchinet/archisteamfarm/wiki/locale/lol-US/Management-lol-US This script demonstrates the manual steps to set up a user and run ArchiSteamFarm as that user, or as root. It is recommended to use the systemd service for Linux instead. ```sh su # Or sudo -i, 2 GIT INTO ROOT SHELL useradd -m asf # CREATE AKOWNT U INTEND 2 RUN ASF UNDR chown -hR asf:asf /path/to/ASF # ENSURE UR NEW USR HAS ACCES 2 TEH ASF DIRECTORY su asf -c /path/to/ASF/ArchiSteamFarm # OR sudo -u asf /path/to/ASF/ArchiSteamFarm, 2 AKSHULLY START TEH PROGRAM UNDR UR USR ``` -------------------------------- ### IPC Server Startup Logs Source: https://github.com/justarchinet/archisteamfarm/wiki/IPC Verify that the IPC server has started correctly by checking these log messages during ASF startup. No specific setup is required beyond ensuring IPC is enabled in the global configuration. ```text INFO|ASF|Start() Starting IPC server... INFO|ASF|Start() IPC server ready! ```