Initial commit: HSPosition plugin and plugin-repo for Gitea
Made-with: Cursor
This commit is contained in:
@@ -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 file’s 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 plugin’s 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 plugin’s **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 repo’s 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 plugin’s 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.
|
||||
Reference in New Issue
Block a user