These docs have been generated using AI. Expect inaccuracies until we remove this banner.

Adding Plugins to Your Repository

Once Troy Server is installed, adding plugins is straightforward. You have three options:

  1. Upload a ZIP file Drag and drop, done
  2. Connect a GitHub repository Automatic releases from tags
  3. Enter a ZIP URL Troy Server fetches and processes it

Adding Your First Plugin

1

Create a New Plugin Entry

In your WordPress admin:

  1. Go to Plugins Add New Plugin (this is Troy Server's interface, not WordPress's)
  2. Enter your plugin's name
  3. Fill in the slug (e.g., my-awesome-plugin)
2

Upload the ZIP

Either:

  • Drag and drop your plugin ZIP into the upload area
  • Enter a URL to a ZIP file (Troy Server will fetch it)

Troy Server automatically extracts:

  • Version number
  • Description
  • Author info
  • Requirements
  • Changelog (from readme.txt)
3

Publish

Click Publish. Your plugin is now available at:

https://your-server.com/plugin/get/zip/my-awesome-plugin

Updating Your Plugin Headers

For users to receive updates from your Troy Server, your plugin needs one header:

/**
 * Plugin Name: My Awesome Plugin
 * Version: 1.2.0
 * Troy: your-server.com
 */

When you release version 1.3.0, upload it to Troy Server, and users with Troy Client will see the update in their dashboard.

Multiple Versions

Troy Server keeps track of all versions you upload. This lets you:

  • Roll back if needed
  • Offer different versions to different users
  • Maintain version history

Plugin Status Options

StatusBehavior
PublicAvailable to everyone with Troy Client
UnlistedOnly serves updates to users who already have it
PendingNot yet available
DisabledBlocked from all requests

Deleting vs Disabling:

If you delete a plugin, its files move to a graveyard directory for potential recovery. If you're unsure, set it to Disabled instead—this blocks access while keeping everything intact. See File Recovery for details.

Instead of manually uploading ZIPs, connect your GitHub repository:

  1. Go to your plugin's edit screen
  2. Find the GitHub Integration panel
  3. Enter your repository (e.g., your-username/your-plugin)
  4. Optionally add a Personal Access Token for private repos
  5. Save

Now when you push a new tag (like v1.3.0), Troy Server can automatically fetch the release ZIP.

See GitHub Integration for details.

Statistics

Troy Server tracks anonymous statistics:

  • Download counts per version
  • Active installations (estimated via rotating IDs)
  • PHP and WordPress version distribution
  • Locale distribution

All data is anonymized. No domain names or personal information is collected.

Distributing Your Plugin

Once your plugin is on Troy Server, tell your users:

  1. Install Troy Client (give them the link or embed it in your plugin)
  2. Install your plugin (either from your site or include the ZIP)
  3. Updates will appear automatically

For a smoother experience, consider using Troy Embed to automatically install Troy Client when users install your plugin.

Next Steps