Skip to main content
This guide covers everything you need to know about installing and configuring plugins for your Lavalink server.

Installation Methods

There are two ways to install plugins in Lavalink: Configure plugins in your application.yml file to have Lavalink download them automatically on startup.
1

Open your configuration file

Edit your application.yml file
2

Add plugin dependencies

Add plugins under the lavalink.plugins section:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.0.0"
    - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.0.0"
3

Restart Lavalink

Restart your Lavalink server to download and load the plugins
Plugins are downloaded once and cached in the plugins directory. They won’t be re-downloaded on subsequent restarts unless the version changes.

Method 2: Manual Installation

Download and place plugin .jar files manually in the plugins directory.
1

Create plugins directory

Create a plugins directory in the same location as your Lavalink.jar file if it doesn’t exist:
mkdir plugins
2

Download plugin JAR files

Download the plugin .jar files from their respective repositories or release pages
3

Place JARs in plugins directory

Move the downloaded .jar files into the plugins directory:
lavalink/
├── application.yml
├── Lavalink.jar
└── plugins/
    └── youtube-plugin-1.0.0.jar
4

Restart Lavalink

Restart your Lavalink server to load the plugins

Advanced Configuration

Using Custom Repositories

If a plugin is hosted on a custom Maven repository, specify it in the configuration:
lavalink:
  plugins:
    - dependency: "com.example:custom-plugin:1.0.0"
      repository: "https://maven.example.com/releases"

Using Snapshot Versions

For development or testing with snapshot builds:
lavalink:
  plugins:
    - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.0.0-SNAPSHOT"
      snapshot: true
Snapshot versions are development builds and may be unstable. Use them only for testing purposes.

Changing Default Repositories

Override the default Maven repositories used for all plugins:
lavalink:
  defaultPluginRepository: "https://maven.example.com/releases"
  defaultPluginSnapshotRepository: "https://maven.example.com/snapshots"
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.0.0"
      # Will use the custom default repository above

Custom Plugin Directory

Change where Lavalink stores and loads plugins:
lavalink:
  pluginsDir: "./lavalink-plugins" # defaults to "./plugins"

Plugin Configuration

Many plugins have their own configuration options. Add plugin-specific settings in your application.yml:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.0.0"

plugins:
  youtube:
    enabled: true
    # Plugin-specific configuration here
Refer to each plugin’s documentation for available configuration options. Most plugins have their configuration documented in their GitHub repository README.

Verifying Plugin Installation

When Lavalink starts, it logs information about loaded plugins:
INFO 1234 --- [main] lavalink.server.Launcher: Loaded plugin: youtube-plugin v1.0.0
INFO 1234 --- [main] lavalink.server.Launcher: Loaded plugin: lavasrc-plugin v4.0.0

Updating Plugins

Automatic Method

Update the version number in your application.yml:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.1.0" # Updated version
Restart Lavalink to download the new version.

Manual Method

  1. Delete the old plugin .jar file from the plugins directory
  2. Download the new version and place it in the plugins directory
  3. Restart Lavalink

Removing Plugins

Automatic Method

Remove the plugin entry from your application.yml:
lavalink:
  plugins:
    # Removed plugin entry
    - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.0.0"
Optionally, delete the plugin .jar file from the plugins directory for cleanup.

Manual Method

  1. Delete the plugin .jar file from the plugins directory
  2. Restart Lavalink

Troubleshooting

  • Verify the .jar file is in the correct plugins directory
  • Check the Lavalink logs for error messages
  • Ensure the plugin is compatible with your Lavalink version
  • Verify the dependency coordinates are correct (for automatic download)
  • Ensure all plugins are compatible with your Lavalink version
  • Check for conflicting dependencies between plugins
  • Update or downgrade plugins as needed
  • Verify your internet connection
  • Check if the repository URL is correct and accessible
  • Ensure the dependency coordinates (group:artifact:version) are correct
  • Check Lavalink logs for specific error messages
  • Verify your YAML syntax is correct (indentation matters!)
  • Check the plugin’s documentation for the correct configuration format
  • Ensure you’ve restarted Lavalink after making configuration changes

Best Practices

Use Automatic Download

Prefer automatic download over manual installation for easier version management

Pin Versions

Always specify exact version numbers to ensure consistent deployments

Test Updates

Test plugin updates in a development environment before updating production

Monitor Logs

Check Lavalink logs during startup to verify plugins load correctly

Next Steps

Browse Available Plugins

Explore the list of available plugins and their features

Build docs developers (and LLMs) love