Initial commit: HSPosition plugin and plugin-repo for Gitea

Made-with: Cursor
This commit is contained in:
Dawnsorrow
2026-02-26 22:31:19 -06:00
commit 7987076b60
12 changed files with 546 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
# 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.