Skip to content

Troubleshooting

Use this page when the worker starts but does not behave as expected.

If the worker cannot find a config, ensure one of these is true:

  • config.yml exists in the process working directory
  • src/main/resources/config.yml existed before building the jar
  • Docker Compose is mounting src/main/resources/config.yml to /opt/spigot-sales-webhook/config.yml

spigot.plugins must contain at least one target with both name and buyer-list-url.

spigot:
plugins:
- name: "My Plugin"
buyer-list-url: "https://www.spigotmc.org/resources/my-plugin.12345/buyers"

This is expected when:

scan:
notify-existing-on-first-run: false

The first run creates a baseline. Later runs notify only for buyers that were not already stored.

Check that:

  • the webhook URL is complete
  • the channel still exists
  • the webhook was not deleted
  • the server can reach Discord
  • discord.avatar-url is blank or points to a publicly reachable image

When Discord delivery fails, new sales are not saved as seen, so they can be retried later.

Use test webhook mode to isolate Discord delivery from SpigotMC scraping:

Terminal window
java -jar build/libs/spigot-sales-webhook-1.0.2.jar --test-webhook

With Docker:

Terminal window
docker compose run --rm spigot-sales-webhook --test-webhook

Check that:

  • the cookie is current
  • the cookie belongs to an account with access to that premium resource’s buyer list
  • the buyer-list URL ends with /buyers
  • the resource ID in the URL is correct

Increase:

spigot:
request-delay-ms: 1500

This delay is applied between paginated buyer-list requests.

Before sharing logs or config snippets, remove:

  • Discord webhook URLs
  • xf_session, xf_user, xf_tfa_trust, and other cookie values
  • buyer data if you consider it private

Regenerate the Discord webhook and refresh the SpigotMC session if either value was exposed.