ModsJava
Depo | Manage & Install Plugin Dependencies Automatically [1.20.1 - 1.21.8]
Depo
A universal dependency manager for Spigot/Paper plugins
What is Depo?
Depo automatically detects missing plugin dependencies on your server and fetches them from trusted sources so you don’t have to. On startup it scans your /plugins folder, reads plugin.yml depend/softdepend, and (optionally) downloads missing dependencies into /plugins/.
Key points
- Scans installed plugins and collects depend: and softdepend:
- Resolves and downloads dependencies from Modrinth (preferred) and Spiget (fallback)
- Respects platform (Purpur/Paper/Spigot) and MC version when querying Modrinth
- Configurable: auto-download, soft dependency policy, version constraints, categories, download progress, repository priority, overrides, aliases, HTTP timeouts, colored logs, i18n via messages.yml
- Manual install commands: direct URL and GitHub latest release (shortcuts: /depo s, /depo dl)
- Async scanning/downloading — does not block server startup
- Persistent install log at plugins/Depo/installed.log
- Optional SHA-256 checksum validation (per plugin)
- Version constraints & dependency tree visualization (/depo tree)
- Conflict detection & interactive resolution (/depo resolve)
- Optional (soft) dependencies listed separately; selective install via /depo soft (not auto-downloaded by default)
- Numbered soft dependency list with multi-select install (indices or names)
- Download progress feedback (throttled)
- Update checker (notify-only)
- Metrics via bStats (configurable)
- Security toggle to block non-HTTPS downloads
- No hot-loading — restart required after installs
Supported
- Engines: Purpur, Paper, Spigot (Bukkit-compatible)
- Java: 17+
- MC: 1.20.x and newer (where API-compatible)
Installation
- Place Depo.jar into your server’s /plugins folder.
- Start the server once to generate plugins/Depo/config.yml.
- (Optional) Adjust config: repository priority, overrides, aliases, checksums, colored logs, security.
- Restart if Depo installs anything (it never hot-loads).
How it works
- Depo scans all JARs in /plugins, reads plugin.yml, and builds a required dependency set.
- It compares against installed plugin names plus any provides: entries and configured aliases.
- Missing dependencies are resolved using Modrinth (filtered by loader + MC version) then Spiget.
- Downloaded JARs are validated to contain a matching plugin.yml (name or provides); optional checksum can be enforced.
Commands
- /depo status — Summary including categories, conflicts, queue, and separated soft dependencies.
- /depo reload — Reloads Depo config.
- /depo download direct <url> — Download a JAR from a direct link (validated, no hot-load).
- /depo download github <owner/repo> [assetFilter] — Download the first matching .jar from GitHub’s latest release (optionally filtered by asset name).
- /depo tree — Show per-plugin declared dependencies with constraint annotations.
- /depo resolve <dependency> <ignore|relax|override <url>> — Manage version conflicts.
- /depo soft list — List optional (soft) dependencies with numbering.
- /depo soft install <index|name|all|comma,list> — Install one, many, or all optional dependencies.
Shortcuts
- /depo s — status
- /depo dl — download
Permissions
- depo.use — Use base commands (default: op)
- depo.notify — Receive install notifications (default: op)
- depo.download — Parent for download subcommands (default: op)
- depo.download.direct — Use /depo download direct (default: op)
- depo.download.github — Use /depo download github (default: op)
Configuration
Spoiler: config.yml
# If false, Depo only logs missing dependencies and will not download them.
auto-download : true
# If true, soft dependencies (softdepend) are also auto-downloaded.
auto-download-soft : false
# Optional automatic update of already-installed dependencies (reserved for future use).
auto-update : false
# Repository priority. Valid values: [modrinth, spiget]
repository-priority :
- modrinth
- spiget
# Manual overrides for specific dependency names -> direct JAR URL
overrides : { }
# Aliases: treat a dependency name as provided by another installed plugin name
aliases : { }
# Optional checksums: map plugin name to lowercase hex SHA-256 to validate downloads
checksums : { }
# Semantic version constraints
version-constraints : { }
# Optional plugin categories (for status grouping)
categories : { }
# Show download progress (approximate) in console for large files
download-progress : true
# HTTP timeouts (ms)
http:
connect-timeout : 10000
read-timeout : 30000
# Colored console output
colored-logs : true
metrics:
enabled : true
service-id : 0
update-checker:
enabled : true
security:
block-insecure-downloads : true
config-version : 4
Code (YAML):
# If false, Depo only logs missing dependencies and will not download them.
auto-download : true
# If true, soft dependencies (softdepend) are also auto-downloaded.
auto-download-soft : false
# Optional automatic update of already-installed dependencies (reserved for future use).
auto-update : false
# Repository priority. Valid values: [modrinth, spiget]
repository-priority :
- modrinth
- spiget
# Manual overrides for specific dependency names -> direct JAR URL
overrides : { }
# Aliases: treat a dependency name as provided by another installed plugin name
aliases : { }
# Optional checksums: map plugin name to lowercase hex SHA-256 to validate downloads
checksums : { }
# Semantic version constraints
version-constraints : { }
# Optional plugin categories (for status grouping)
categories : { }
# Show download progress (approximate) in console for large files
download-progress : true
# HTTP timeouts (ms)
http:
connect-timeout : 10000
read-timeout : 30000
# Colored console output
colored-logs : true
metrics:
enabled : true
service-id : 0
update-checker:
enabled : true
security:
block-insecure-downloads : true
config-version : 4
Examples
- Auto-resolve: Start server; Depo will report and download missing dependencies (if auto-download is true).
- Manual direct: /depo download direct https://example.com/Plugin-1.0.jar
- Manual GitHub: /depo download github Owner/Repo paper (filters asset name containing "paper").
- Aliases: If a plugin provides Vault under a different name, map it:
Code (YAML):
aliases:
Vault : ComplexVault
Safety
- Trusted sources only: Modrinth (preferred), Spiget (fallback)
- Validates plugin.yml inside downloaded JAR (name/provides must match)
- Optional checksum verification per plugin
- Security option to block plain HTTP URLs
- No hot-loading — restart required
Troubleshooting
- A dependency keeps re-downloading — ensure another plugin isn’t already providing it. Use aliases to map the required name to the installed provider, or ensure the provider’s plugin.yml includes provides:.
- Nothing downloads — set auto-download: true, check network, and review console for Depo logs.
- GitHub asset not found — specify an assetFilter matching the .jar asset name.
Notes
- Depo is designed for admins who want consistent dependency resolution without hunting links.
- Auto-update is intentionally disabled by default and not yet implemented.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Depo | Manage & Install Plugin Dependencies Automatically [1.20.1 - 1.21.8] is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 97 times (via Spigot). Download it and open it directly in the game.