# 📦 Dependencies

***

### Required Dependencies

| Dependency     | Purpose                                                 |
| -------------- | ------------------------------------------------------- |
| Velocity       | Required because NexusProxy is a Velocity proxy plugin. |
| Java 21        | Required because NexusProxy is built with Java 21.      |
| NexusProxy jar | The main plugin jar installed on the Velocity proxy.    |
| License key    | Required only if your build has licensing enabled.      |

{% hint style="warning" %}
NexusProxy must be installed on the Velocity proxy.

Do not install the main NexusProxy jar on Paper, Spigot, Purpur, or other backend servers.
{% endhint %}

***

### Optional Dependencies

| Dependency        | Used For                                                                                                                                   |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| PacketEvents      | Packet-based features such as HealthIndicator and toast/signed packet integrations.                                                        |
| Redis             | Cross-proxy synchronization, global online counts, shared presence snapshots, staff sync, friends sync, announcer sync, and donation sync. |
| MySQL             | Persistent storage for supported systems.                                                                                                  |
| MongoDB           | Persistent storage for supported systems.                                                                                                  |
| Discord Webhooks  | Staff logs, reports, donations, HelpOp webhook mode, and other Discord logging features.                                                   |
| Discord Bot / JDA | Advanced HelpOp bot mode with buttons, ticket threads, Discord replies, and ticket management.                                             |
| PlaceholderAPI    | Backend lobby placeholders through the separate NexusProxy PlaceholderAPI expansion.                                                       |

***

### PacketEvents (opcional)

PacketEvents is required only for features that use packet-level functionality.

Install PacketEvents on the Velocity proxy if you want to use features such as:

* HealthIndicator
* Toast announcements
* Packet-based integrations

Download:

[PacketEvents on Modrinth](https://modrinth.com/plugin/packetevents)

{% hint style="info" %}
If you do not use packet-based features, PacketEvents may not be required.
{% endhint %}

***

### Redis (opcional)

Redis is recommended for networks running multiple Velocity proxies.

Redis can be used for:

* Cross-proxy synchronization
* Global online count
* Proxy online count
* Server online count
* Shared player presence snapshots
* Friends online status
* Staff synchronization
* Synced announcements
* Synced donation broadcasts

{% hint style="info" %}
If your network only uses one Velocity proxy, Redis may not be required unless a specific feature or setup needs shared state.
{% endhint %}

***

### MySQL / MongoDB (opcional)

MySQL or MongoDB is recommended when you want persistent data.

Database storage can be used by systems such as:

* Friends
* Known player profiles
* Ignored players
* Private messages
* HelpOp history
* Other history-backed systems

NexusProxy supports:

```yaml
none
mysql
mongodb
mongo
```

Use `none` if you do not need persistent database storage.

***

### Discord Webhooks (opcional)

Some NexusProxy modules support Discord webhook logging.

Discord webhooks can be used for:

* Staff chat logs
* Staff join and quit logs
* Reports
* Donations
* HelpOp webhook mode

Webhook mode only requires a Discord webhook URL.

***

### Discord Bot / JDA (opcional)

HelpOp also supports an advanced Discord bot mode.

Bot mode can support:

* Discord buttons
* Ticket threads
* Replies from Discord
* Override handling
* Ticket deletion

NexusProxy downloads the required JDA runtime libraries into:

```
plugins/NexusProxy/libraries/
```

{% hint style="info" %}
A separate JDA addon jar is not required.
{% endhint %}

***

### PlaceholderAPI (opcional)

PlaceholderAPI is only required if you want to use NexusProxy placeholders on backend lobby servers.

The main NexusProxy Velocity plugin cannot directly register PlaceholderAPI placeholders on Paper, Spigot, or Purpur servers.

To use NexusProxy placeholders in backend plugins such as scoreboards, tab plugins, menus, or holograms, install the separate NexusProxy PlaceholderAPI expansion on the backend server.

Download:

[PlaceholderAPI on Modrinth](https://modrinth.com/plugin/placeholderapi)


---

# 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://nexusproxy.nemesismc.net/getting-started/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.
