# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zingyawesome.com/installation/3.-dependencies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
