# Elder Scrolls Online Commadline Addon Manager Elder Scrolls Online addon manager and a Tamriel Trade Centre price table updater. [MIT License](LICENSE) It is recommended that you back up your ESO live profile before using `eso-banana` in case you want to revert back. On Windows, press `Windows Key + e` to open a file explorer and enter the following path in the address bar: ``` %HOME%\Documents\Elder Scrolls Online\ ``` or on Windows 11 ``` Documents\Elder Scrolls Online\ ``` Make a copy of the `live` folder and rename it to something meaningful like `old` or `backup`. # Usage Follow the installation instructions for your `platform`: - [Windows](#windows-installation) - [Linux](#linux-installation) On first run, the `addons.text` file will be created in your ESO live directory. It will look similar to the following: ``` https://www.esoui.com/downloads/info7-LibAddonMenu.html https://www.esoui.com/downloads/info1245-TamrielTradeCentre.html https://www.esoui.com/downloads/info1146-LibCustomMenu.html ``` Add the ESOUI url for each additional addon you wish to keep updated. Make sure to include the `www.` indicator that ESOUI requires for some stupid reason. # Windows Installation Install the latest Python 3 using the installer provided by [python.org](https://www.python.org/downloads/windows/). When the python installer asks, [add python to PATH](https://docs.python.org/3/using/windows.html#installation-steps). Open [Windows Terminal](https://www.microsoft.com/en-US/p/windows-terminal/9n0dx20hk701) or any windows command prompt and navigate to this project. Use the Python package manager PIP to install `eso-banana`. ```powershell cd .\banana\ pip install . ``` Once the project is installed to python's packages you may invoke the addon script with the following command: ```powershell eso-banana-script.exe ``` To schedule a periodic background run of `eso-banana`, open Powershell as a user and enter the following commands. ```powershell $Command = (Get-Command "eso-banana-script.exe").Source $Action = New-ScheduledTaskAction -Execute $Command -Argument "--log" $Trigger = New-ScheduledTaskTrigger -Daily -At 11am $Settings = New-ScheduledTaskSettingsSet -RunOnlyIfNetworkAvailable -StartWhenAvailable -RunOnlyIfIdle Register-ScheduledTask -TaskName "eso-banana" -Action $Action -Trigger $Trigger -Settings $Settings -Description "Elder Scrolls Online addon manager and a Tamriel Trade Centre price table updater." ``` To check to make sure the task is registered correctly, enter `Get-ScheduledTask` and check that the first entry looks similar: ``` TaskPath TaskName State -------- -------- ----- \ eso-banana Ready ``` # Windows Unschedule Only run the following command if you wish to remove scheduled run of `eso-banana`. To remove the schedule, use the `Unregister-ScheduledTask` command: ``` Unregister-ScheduledTask eso-banana ``` Press enter to confirm removal. # Steam Deck Installation The following instructions are for arch linux system installed with the Steam Deck. 0. From the [Steam Deck instructions](https://help.steampowered.com/en/faqs/view/671A-4453-E8D2-323C): > From the STEAM menu, select Power, then Switch to Desktop 1. Once you've become familiar with desktop mode, open a terminal and enter the following commands to install python. ``` sudo btrfs property set -ts / ro false sudo pacman-key --init sudo pacman-key --populate archlinux sudo pacman -S python-pip ``` 2. Run the following commands to download this project and install the scheduled service. ``` wget https://joyo.dev/eso/banana/archive/master.tar.gz -O banana.tgz tar xvf banana.tgz cd ./banana/ pip install . cp banana.timer banana.service /etc/systemd/system/ sudo systemctl enable banana.timer sudo systemctl enable banana.service ``` 3. Now that `eso-banana-script` has been installed, run it once to create the `addons.text` file. If the mentioned command is missing your may need to restart the TTY. 4. The created file can be edited with vim to include additional adddon URLs at the following path. `vim "~/.steam/steam/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/Documents/Elder Scrolls Online/live/addons.text"` It will look similar to the following: ``` https://www.esoui.com/downloads/info7-LibAddonMenu.html https://www.esoui.com/downloads/info1245-TamrielTradeCentre.html https://www.esoui.com/downloads/info1146-LibCustomMenu.html ``` Add the ESOUI url for each additional addon you wish to keep updated. Make sure to include the `www.` indicator that ESOUI requires for some stupid reason. 5. Run `eso-banana-script` once more to download and install the additional addons. 6. To return to [Gaming Mode](https://help.steampowered.com/en/faqs/view/671A-4453-E8D2-323C): > ...there's a shortcut link to 'Return to Gaming Mode'. > Select that to get back to standard Steam Deck UI. > You can also go through the system menus to Log Off to get back. # Steam Deck Unschedule Only run the following command if you wish to remove scheduled run of `eso-banana`. ``` systemctl list-timers --all sudo systemctl disable banana.timer ``` # Linux Installation The following instructions are for any linux system using systemd. Using your distros package management system, install python3-pip. ``` sudo apt install python3-pip ``` Because systemd is cancer you will need to edit the `banana.service` file to include your user's home path. In the unlikely event that the script is not installed to `~/.local/bin/eso-banana-script`, open a new terminal and use the results from `which eso-banana-script`. ``` [Unit] Description=Run banana daily and on boot. Wants=banana.timer [Service] Type=oneshot ExecStart=/home/user_name_here/.local/bin/eso-banana-script User=deck [Install] WantedBy=multi-user.target ``` Finally, install `eso-banana` using pip and install the systemd timer and service to run `eso-banana` everyday. ``` cd ./banana/ pip install . cp banana.timer banana.service /etc/systemd/system/ sudo systemctl enable banana.timer sudo systemctl enable banana.service ``` # Linux Unschedule Only run the following command if you wish to remove scheduled run of `eso-banana`. ``` systemctl list-timers --all sudo systemctl disable banana.timer ```