Customization with Minecraft - plugins not working on spigot

System Information

Field Value
Operating System Linux - Debian GNU/Linux 12 on x86_64
Product AMP ‘Callisto’ v2.5.1.0 (Mainline)
Virtualization Docker
Application Minecraft
Module MinecraftModule
Running in Container Yes
Current State Ready

Problem Description

Issue

All plugins I install for spigot 1.21 have the same error when trying to load them that indicates a missing or corrupted plugins.yml file and or more files. Check logs after doing the steps for reproduction of the error to get more info.

Reproduction Steps

  • Make the server a spigot one and set spigot-1.21.jar as main server.jar
  • Install plugins via built-in plugin installer and or upload them from PC
  • Start server and run the command “plugins” on the console to see that zero of them have loaded.
  • Check logs and see: [time] [Server thread/ERROR]: Could not load ‘plugins/PLUGINNAME.jar’ org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml

The built-in plugin installer relies on the plugin devs to set their download urls correctly.
Lots do not, since it’s not enforced on the Spigot site.
When this happens, you need to download the plugin manually.

i have downloaded it manually and then uploaded it to the server. same issue

Could be that the plugin actually has an invalid plugin.yml

heres the contents of the plugin.yml

name: floodgate
description: Allows Bedrock players to join Java edition servers while keeping the server online
version: 2.2.3-SNAPSHOT (b109-49bd564)
author: GeyserMC
website: https://geysermc.org
main: org.geysermc.floodgate.SpigotPlugin
api-version: 1.13
folia-supported: true

Odd. Floodgate works fine for me in AMP

can you check that my plugin.yml is the same as yours? also this isnt just floodgate all plugins ive tried have this problem

The plugin.yml you have there is valid, so it could be a problem with Spigot reading them.
Why don’t you just use Paper? It’s faster than Spigot and supports the same plugins.

Ok for some reason one of the 2 plugins ive uploaded are now working. The other one floodgate isnt working because it becomes corrupted somehow whenever i upload the file. Is there a way to run wget on amp so that i can download from a specified download link to the server?

AMP’s file manager has a download-from-url function. Right click a folder and hit Download here. Though alternatively you can try uploading it over SFTP

The problem was that i was uploading the file while the server was running. This would corrupt the jar file making it not work. I had been downloading/uploading the jar while the server was running because it would not let me access the files while the server was off through the manager. I figured out you can access the files through the main file manager while the server was offline.

You can access the files while the server is stopped, by stopping the server in the console.
Stopping the instance also stops the integrated SFTP server, and usually isn’t what you want to do. The AMP instance “wraps” around the minecraft server, the two are not the same.

Yea ik what to do for next time. But now i have geyser and floodgate working on the server and bedrock players can join fine. But java players cant join and just time out even though i have the 25565 tcp port forwarded.

You need to add the 19132 UDP port to the instance from the main panel
I can read lmao

Double check that the port is open in the firewall

All required ports are allowed by the firewall. it might be a problem with geyser but I cannot run the command /geyser dump in the server console. it just says unknown command type /help for help. which funnily enough /help also doesn’t work.

The console doesn’t need the / in front of the command

Ok the instance i was running the server on was listening on port 25567 instead of 25565. I tried to change this in server.properties but anything i change in the file gets rewritten as the default. I tried removing spawn protection but this was also reset on a server restart.

You need to change the settings in AMP’s interface, or for the port in the main panel