The jar file is in the plugins folder, the server is running, and /plugins still does not list it. That is the usual outcome of a first attempt, and it is almost never the upload. The reason is in the server log, and it is usually one of two: the plugin does not match the server version, or it is waiting for a second plugin that is not there yet.

Prerequisite: vanilla cannot run plugins

Mojang's official Minecraft server has no plugin support. There is no interface for it, and no plugins folder is ever created. To run plugins you need Spigot or Paper as your server software.

If your server still uses the vanilla server.jar, switching is the first step. How that works and what happens to your existing world is covered in installing Spigot or Paper.

To check what you are running, use /version in chat or version in the server console. If it reports Paper or Spigot, you are set.

Where plugins go

After the first start of Spigot or Paper, the server directory contains a plugins folder. The plugin's jar file goes straight in there — not into a subfolder, and not unpacked.

/home/minecraft/server/
├── paper-1.21.x.jar
├── server.properties
├── world/
└── plugins/
    ├── LuckPerms.jar
    └── EssentialsX.jar

Subfolders appear on their own later. On first start, each plugin creates its own directory under plugins/ for its configuration, usually plugins/<Name>/config.yml.

Important
Upload the jar only. Plenty of plugins ship as a zip archive that also contains documentation or a sample configuration. Extract it and take the .jar alone.

Where to get plugins

Three places have established themselves:

SourceAddressNotes
Hangarhangar.papermc.iothe Paper project's own platform
Modrinthmodrinth.commodern platform with clean version filters
SpigotMCspigotmc.orgthe largest archive, many older plugins

Download plugins only from the project's own page or one of these platforms. Jar files from forums, bundled packs or file hosters are a genuine risk: a plugin jar runs with the full rights of your server process and can do anything that process is allowed to do.

The version question

This is where most installations fail. A plugin is built against a particular version of the server API. If that does not match your server, the plugin is rejected at startup.

So check both before downloading:

  • Which Minecraft version does your server run? /version tells you.
  • Which versions is the plugin released for? Hangar and Modrinth show this per build; on SpigotMC it is in the version information.

Two special cases are worth knowing. Some plugins work across versions because they only use general interfaces — their listing then reads something like "1.20 to 1.21". Others hook deep into the game and need exactly the matching version.

After a Minecraft update the order is therefore always the same: back up, update the server, then bring the plugins to matching builds. Update only the server and you restart without half of them.

Installing

The procedure itself is short:

  1. Stop the server cleanly — /stop in chat, stop in the console.
  2. Copy the jar into plugins/.
  3. Start the server.
  4. Check the log, or run /plugins, to confirm it loaded.

/plugins lists every plugin it found, green for loaded and red for not loaded. A red plugin is installed but failed during startup — from there, only the log helps.

Tip
Install new plugins one at a time and restart in between. Drop in five at once and the server refuses to come up, and you have no idea which one caused it.

On first start the plugin writes its configuration. Those files do not exist before that, so there is no point creating them in advance. Change something later and the server needs a restart to read the new version. Some plugins ship their own command for this, often in the form /<plugin> reload.

Why you restart instead of using /reload

Bukkit and its successors have a /reload command that reloads every plugin without stopping the server. In practice it is one of the most common reasons for servers behaving oddly: plugins keep references to objects that no longer exist after the reload, and the resulting errors surface hours later, somewhere that has nothing to do with reloading any more.

Paper now warns about it when you run it. On a server with people playing, an announced restart is the more honest option.

Dependencies

Some plugins build on others and will not start without them. In that case the log names the plugin that is missing. Three names come up especially often:

  • Vault — the bridge between economy, permission and chat plugins.
  • PlaceholderAPI — supplies placeholders that other plugins put into their text.
  • LuckPerms — manages permissions and groups, and is the assumed permission system for a lot of plugins.

These helpers install exactly like any other plugin. Make sure they match the same server version.

Updating and removing

To update, stop the server, replace the old jar with the new one and start again. Leave the configuration folder at plugins/<Name>/ alone so your settings survive. If the configuration format changed, the plugin usually adds the missing entries itself on startup.

To remove a plugin, delete its jar with the server stopped. The configuration folder stays behind until you delete that too — handy if you want the plugin back later, annoying if you actually wanted to clean up.

Caution
Plugins that leave data in the world — regions, plots, or placed blocks with special behaviour — can leave unusable remnants behind once they are gone. Back up the world before removing that kind of plugin.

Troubleshooting

ProblemCause and fix
No plugins folder at allThe server runs the vanilla jar. Switch to Spigot or Paper.
Plugin does not appear in /pluginsThe jar is in the wrong folder, in a subfolder, or still zipped.
Plugin shows red in /pluginsIt was found but failed to load. The log gives the reason.
Log reports an unsupported API versionThe plugin was built for a different Minecraft version. Get a matching build.
Log names a missing pluginA dependency such as Vault or PlaceholderAPI is missing. Install that first.
Several plugins stop loading after a Minecraft updateBring every plugin to a build for the new version.
The plugin's command is unknownEither the plugin is not loaded, or the player lacks the permission for it.
A configuration change has no effectThe file was edited while the server ran, or the restart is missing.

The server log is at logs/latest.log in the server directory. On startup it lists every plugin with name and version; when one fails, the reason follows immediately below.

Frequently asked questions about Minecraft plugins

Do I need Spigot or Paper for plugins?

Yes. Mojang's vanilla server has no plugin support and creates no plugins folder. Paper is the more sensible of the two for most servers, because it runs Spigot plugins and performs better while doing it.

Where is the plugins folder?

Directly in the server directory, next to the server jar and server.properties. It appears on the first start of Spigot or Paper.

Do plugins work on Bedrock Edition?

No. Spigot, Paper and their plugins belong to the Java Edition. Bedrock Edition uses different server technology.

Why did my plugin stop loading after an update?

A plugin is built against a specific version of the server API. After a Minecraft update the old jar often no longer fits, and the server rejects it at startup. Download a build for your new server version.

Can I install plugins while the server is running?

Technically /reload does it, but it is not advisable. Reloading regularly leaves plugins in a half-valid state whose errors only show up later. A short, announced restart is more reliable.

How do I tell whether a plugin is safe?

By where it came from. Download only from Hangar, Modrinth, SpigotMC or the project's official page. A plugin jar runs with the same rights as your server process, which makes copies from forums or bundled packs a real risk.

How do I remove a plugin completely?

Stop the server, delete the jar from plugins/, then delete the matching folder under plugins/<Name>/. If the plugin stored data in the world, back the world up first.