Made-with: Cursor
3.4 KiB
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
-
Open xlsettings (or Dalamud Settings).
-
Go to Experimental → Custom Plugin Repositories.
-
Add this URL (use the raw URL to
pluginmaster.jsonon your Gitea):https://brassnet.ddns.net:33983/Dawnsorrow/DalamudPlugins/raw/main/pluginmaster.json -
Save. In xlplugins, your repo will appear and list all plugins in
pluginmaster.json.
Repo layout
- pluginmaster.json – List of all your plugins. This file’s raw URL is the “repo link” users add.
- releases/ – Optional: put
latest.zipbuilds 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
-
Edit
pluginmaster.jsonand add a new object to the array (copy an existing entry and change fields):Author,Name,Description,Punchline,InternalNameAssemblyVersion(e.g."0.0.0.1")RepoUrl– link to the plugin’s source (can be another Gitea repo or same repo folder)ApplicableVersion:"any"DalamudApiLevel: e.g.14LastUpdate: Unix timestamp (seconds), e.g.1730000000DownloadLinkInstallandDownloadLinkUpdate: URL to the plugin’s zip (see below)
-
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.1orv0.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.zipin areleases/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/DownloadLinkUpdateto that repo’s release zip URL.
- Create a release (e.g. tag
-
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)
- From the plugin project directory, build in Release so the packager produces a zip:
dotnet build HSPosition.sln -c Release - The zip is at:
HSPosition/bin/x64/Release/HSPosition/latest.zip - Upload that zip to a Gitea Release (e.g. create release tag
HSPosition-0.0.0.1, attachlatest.zip), or put it inreleases/and use the raw URL.
Updating a plugin
- Bump the plugin’s version (e.g. in
.csprojandplugin.json). - Build in Release and upload the new zip (new release or replace file in
releases/). - In
pluginmaster.jsonupdate:AssemblyVersion(and tag/release name if you use it in the URL).LastUpdate(current Unix timestamp:date +%s).DownloadLinkInstallandDownloadLinkUpdateif the zip URL changed (e.g. new release tag).
- Commit and push. Users will get the update when they check for updates in the plugin installer.