Files
HSPosition/plugin-repo/README.md
T
2026-02-26 22:31:19 -06:00

81 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 **Experimental****Custom 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:
```bash
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.