Files
HSPosition/plugin-repo

My Dalamud Plugin Repository

This repo is a single custom repository for Dalamud. Users add one URL and see all your plugins in the installer.

What users add in Dalamud

  1. Open xlsettings (or Dalamud Settings).

  2. Go to ExperimentalCustom Plugin Repositories.

  3. Add this URL (use the raw URL to pluginmaster.json on your Gitea):

    https://brassnet.ddns.net:33983/Dawnsorrow/DalamudPlugins/raw/main/pluginmaster.json
    
  4. Save. In xlplugins, your repo will appear and list all plugins in pluginmaster.json.


Repo layout

  • pluginmaster.json List of all your plugins. This files raw URL is the “repo link” users add.
  • releases/ Optional: put latest.zip builds here and use raw URLs in pluginmaster (see below).
  • Or use Gitea Releases on this repo for each plugin (recommended).

Adding a new plugin to the repo

  1. Edit pluginmaster.json and add a new object to the array (copy an existing entry and change fields):

    • Author, Name, Description, Punchline, InternalName
    • AssemblyVersion (e.g. "0.0.0.1")
    • RepoUrl link to the plugins source (can be another Gitea repo or same repo folder)
    • ApplicableVersion: "any"
    • DalamudApiLevel: e.g. 14
    • LastUpdate: Unix timestamp (seconds), e.g. 1730000000
    • DownloadLinkInstall and DownloadLinkUpdate: URL to the plugins zip (see below)
  2. Host the plugin zip in one of these ways:

    Option A Releases on this repo (recommended)

    • Create a release (e.g. tag HSPosition-0.0.0.1 or v0.0.0.1).
    • Upload the plugin zip as latest.zip.
    • Use the release download URL in pluginmaster, e.g.
      https://brassnet.ddns.net:33983/Dawnsorrow/DalamudPlugins/releases/download/HSPosition-0.0.0.1/latest.zip

    Option B Raw file in repo

    • Put HSPosition-0.0.0.1.zip in a releases/ folder and commit.
    • Use the raw file URL:
      https://brassnet.ddns.net:33983/Dawnsorrow/DalamudPlugins/raw/main/releases/HSPosition-0.0.0.1.zip

    Option C Separate repo per plugin

    • Build and release each plugin in its own Gitea repo.
    • In pluginmaster, set DownloadLinkInstall / DownloadLinkUpdate to that repos release zip URL.
  3. This repo is configured for brassnet.ddns.net:33983 and user Dawnsorrow. For new plugins, set download URLs to https://brassnet.ddns.net:33983/Dawnsorrow/DalamudPlugins/... (releases or raw).


Building and packaging HSPosition (or any plugin)

  1. From the plugin project directory, build in Release so the packager produces a zip:
    dotnet build HSPosition.sln -c Release
    
  2. The zip is at: HSPosition/bin/x64/Release/HSPosition/latest.zip
  3. Upload that zip to a Gitea Release (e.g. create release tag HSPosition-0.0.0.1, attach latest.zip), or put it in releases/ and use the raw URL.

Updating a plugin

  1. Bump the plugins version (e.g. in .csproj and plugin.json).
  2. Build in Release and upload the new zip (new release or replace file in releases/).
  3. In pluginmaster.json update:
    • AssemblyVersion (and tag/release name if you use it in the URL).
    • LastUpdate (current Unix timestamp: date +%s).
    • DownloadLinkInstall and DownloadLinkUpdate if the zip URL changed (e.g. new release tag).
  4. Commit and push. Users will get the update when they check for updates in the plugin installer.