Reference
Commands
/pp, /pluginportal, or /ppm as the root command.Restart the server after JAR changes. For configuration, external source examples, and troubleshooting, read the complete command guide. Paid Polymart downloads, datapacks, and proxy-server plugins are not supported.
Commands
Find plugins
Browse marketplace data without changing files on disk.
/pp help [page or command]Show help page 1 or 2, or command details. /pp opens page 1.
/pp search <query> [platform] [--page <number>] [--full]Search the catalog. Chat shows eight results per page. Console shows all results unless a page is requested.
/pp view <name> [platform] [--byId] [--exact]Preview a marketplace plugin before installing it.
/pp infoShow PluginPortal version and server details.
Commands
Manage installs
Install, update, and remove managed plugins.
/pp install-url <url>Download a JAR from a direct URL. Console only. Restart to load it.
/pp update <name> [--byId] [--ignoreOutdated] [--refresh] [--channel <name>] [--version <version>]Update one managed plugin. --refresh bypasses the local marketplace cache. --ignoreOutdated permits a compatible reinstall. --channel saves the update channel. --version selects an exact compatible version and excludes it from updateAll.
/pp blacklist [name] [--byId]Toggle exclusion from updateAll. With no name, list exclusions. Manual single-plugin updates still work.
/pp platform <name> <platform> [--byId]Switch a managed plugin to another marketplace platform when available.
/pp uninstall <name> [--byId]Remove a managed plugin. /pp delete is an alias.
Reference
Install arguments
/pp install uses positional arguments first: required <name>, then optional [platform], then optional [channel]. Flags may be added after those arguments.
name
Required plugin search term. Quote names with spaces. With --byId, this is the marketplace platform ID.
/pp install "WorldEdit"platform
Optional marketplace enum. Use MODRINTH, HANGAR, SPIGOTMC, or POLYMART. Required with --byId.
/pp install LuckPerms MODRINTHchannel
Optional positional marketplace release channel. The selected channel is saved for future updates.
/pp install ViaVersion MODRINTH beta--byId
Treat the name value as a marketplace/platform ID instead of a search term. For Modrinth, use the base62 project ID/project_id, not the slug.
/pp install <platform-id> MODRINTH --byId--exact, -e
Keep name search, but require exact case-insensitive plugin-name matches. This does not use marketplace IDs or slugs.
/pp install "WorldEdit" --exact--version
Install an exact compatible version. Exact command-selected versions are excluded from updateAll.
/pp install LuckPerms MODRINTH --version 5.4.134Examples
Advanced examples
Choose a platform
Use this when the same plugin exists on more than one marketplace.
/pp install LuckPerms MODRINTHInstall a specific version
Use this for a rollback or support-requested build. Exact versions selected from commands are skipped by updateAll.
/pp install LuckPerms MODRINTH --version 5.4.134Update to a specific version
Add --channel only when the same version label exists on more than one release channel.
/pp update LuckPerms --version 5.4.134 --channel releaseInstall by marketplace ID
Use the platform ID when name search is ambiguous or support gives you an exact ID. For Modrinth, this is the base62 project ID/project_id, not the slug in the project URL.
/pp install <platform-id> MODRINTH --byIdExact name search
Use exact matching when the search term is short or matches too many plugin names. This is still name search, not ID lookup.
/pp view "WorldEdit" --exactUpdate by ID
Useful when two installed plugins have similar names.
/pp update <platform-id> --byIdSkip outdated checks
Use only when you intentionally want to reinstall even though PluginPortal thinks the installed version is current.
/pp update <name> --ignoreOutdatedInstall from URL
Run this in the server console with a direct JAR download URL.
/pp install-url https://example.com/plugin.jarCommands
External plugins
Manage plugins distributed through GitHub releases or GeyserMC downloads.
/pp external check <id>PremiumCheck the provider for the latest matching artifact.
/pp external install <id>PremiumInstall a configured external plugin.
/pp external update <id>PremiumStage an available update for the next server restart.
/pp external uninstall <id>PremiumRemove installed and staged JARs while keeping the external configuration available for reinstalling.
/pp external add github <id> <owner> <repo> <asset> [--prereleases]PremiumAdd a GitHub source to external-plugins.yml. Match one JAR with an asset name fragment or regular expression.
/pp external import github <id> <owner> <repo> <asset> <file> [--prereleases]PremiumAdopt an existing JAR into external plugin management.
/pp external add geysermc <id> <project> <artifact>PremiumAdd a GeyserMC source. Use a server-compatible artifact such as spigot.
/pp external import geysermc <id> <project> <artifact> <file>PremiumTrack an existing GeyserMC JAR.
/pp external invalidate <id>PremiumMake the next eligible update download the artifact again.
/pp external updateAllPremiumUpdate installed manual and auto entries. Skip disabled entries.
/pp external reloadPremiumReload external-plugins.yml. See the full source setup guide linked above.
Commands
Editor
Open and control a temporary dashboard session.
Commands
Admin
PluginPortal maintenance and support commands.
/pp upgrade [--yes] [--channel <name>]Check for a Plugin Portal update. Add --yes to download it, then restart. Available without Premium.
/pp reloadReload config.yml, plugins.json, and external-plugins.yml. Aliases: /pp config refresh and /pp config reload. This does not load JARs.
/pp support <code>Upload a diagnostic bundle using the 8-digit code from support. The bundle expires in 24 hours.
/pp dumpUpload a support dump to MCLogs. Review it before sharing the link.