# 3. Start your Bot

## System Wide Dependencies

ZeoBot requires a few additional pieces of software to run. Any platforms that require additional configuration will be listed below:&#x20;

* [Python 3.10 ](https://www.python.org/downloads/)
* Java 11 JRE (This is usually installed for you, however it is a good idea to have it installed in case your system does not support the version of Java automatically installed)
* Git

#### System Requirements

* `512 MB` of RAM
* At least 500MB of storage space
* An internet connection
* Some form of text editor

{% hint style="info" %}
ZeoBot should automatically install its packages when you run it. This may take some time depending on the hardware specification of your computer.
{% endhint %}

## Windows

1. Install [Git](https://gitforwindows.org). Git is required in order to resolve and download dependencies. To test your installation, try running `git` on the command line.
2. Ensure you have [Python 3.10 ](https://www.python.org/downloads/)installed and that it is the default version. To test,  run `py -V`on the command line. If it reports that the Python version is at least 3.10, you are good to go.

&#x20;   4\. Open a command prompt in the folder that ZeoBot is located in and run `py -3.10 main.py`.

## Linux

1. Install Python 3.10 as the system default. Most Linux distros ship with a different version of Python, so ensure `python3 -V` displays Python 3.10 as the version.

&#x20; 2\. Install the following packages with your package manager, for example `apt`. You will most likely have some already installed.\
\&#xNAN;**`make ca-certificates build-essential git tar sqlite fontconfig tzdata python3.10-dev gcc g++ libffi-dev`**

&#x20; 3\. Change directory to the folder that ZeoBot is located in and run `python3 main.py`. You can additionally use `screen python3 main.py` to run the bot in the background via screen.

{% hint style="info" %}
On non-Debian based systems, some packages are named different.
{% endhint %}

{% hint style="warning" %}
On some Linux distributions, you may have to compile Python 3.10 from source. In this case, you will additionally need to install some additional packages:`zlib1g-dev libffi-dev python3-dev lzma-dev libssl-dev liblzma-dev libsqlite3-dev`
{% endhint %}

## macOS

1. Install [Python 3.10](https://www.python.org/downloads/) and ensure that it is the system default. Use `python3 -V` and make sure it displays Python 3.10 as the version.
2. Install macOS Command Line Tools by opening a terminal and entering `xcode-select --install`.
3. Open a terminal, change directory to the folder that ZeoBot is located in and run `python3 main.py`.

{% hint style="info" %}
If you encounter a security block when running the bot, run this command from the installation folder: `xattr -d com.apple.quarantine core/startup/*.so`
{% endhint %}

## Pterodactyl

Pterodactyl's TMPFS size has to be expanded. Most hosts automatically do this, however you may need to expand it if you run your own Pterodactyl instance.&#x20;

1. Open your Pterodactyl `config.yml` file, usually located at `/etc/pterodactyl/config.yml` with a text editor.
2. Find the line `tmpfs_size` and set it to `tmpfs_size: 1000`.
3. Save your changes and restart `wings`.

You will also need to change your music port depending on the port allocated to you. To find this, click `Network` at the top of the server page and look for the value above `Port`. Open ZeoBot's `settings.yml` file and find the `port` option under `music_server`. Replace the default value with the allocated port and save your changes.&#x20;

{% hint style="warning" %}
There is an issue in Pterodactyl that causes the bot to be killed when you press the stop button. Instead stop the bot by entering `stop` in the console.
{% endhint %}

{% hint style="danger" %}
If you are still experiencing issues on Pterodactyl, make sure you are using the official Discord.py egg. Some third-party eggs do not install the required system packages.
{% endhint %}
