banana/README.mdown

160 lines
4.5 KiB
Markdown

# 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:
```yaml
addons:
- 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 prefix each URL line with a dash and a space (`-`).
# 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.
# 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.
```
[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
```
# Steam Deck Installation
The following instructions are for arch linux system using systemd.
```
sudo btrfs property set -ts / ro false
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S python-pip
cd ./banana/
pip install .
cp banana.timer banana.service /etc/systemd/system/
sudo systemctl enable banana.timer
sudo systemctl enable banana.service
```
# Steam Deck
Only run the following command if you wish to remove scheduled run of `eso-banana`.
```
systemctl list-timers --all
sudo systemctl disable banana.timer
```