Add README and fix CI/CD pipeline for release builds
Some checks failed
Build & Release / build (push) Failing after 39s

- README with features, config docs, build instructions, project structure
- Pipeline: add Docker CLI install step, fix DinD volume pattern,
  fix token generation flags (--user git -u calic --raw), proper
  token cleanup by name instead of fragile ID grep
- .gitignore: add dist/ and *.zip

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Axel Meyer
2026-02-24 18:23:13 +00:00
parent 253ec52411
commit 173d674f9c
3 changed files with 130 additions and 23 deletions

97
README.md Normal file
View File

@@ -0,0 +1,97 @@
# Welcome Screen — Vintage Story Mod
Server-side configurable welcome dialog that opens automatically when players join. Displays Markdown content rendered as VTML (Vintage Text Markup Language) in a scrollable GUI window.
## Features
- **Auto-open on join** — dialog appears when a player connects
- **Markdown content** — write `welcome.md` in the server data directory, rendered as rich text (headings, bold, italic, links, lists, blockquotes, code)
- **Mod checker** — server compares client's installed mods against a recommended/blacklisted list and shows the result in the dialog
- **Reopen with HOME** — players can press HOME to reopen the dialog at any time
## Installation
Download the latest `welcomescreen_x.x.x.zip` from [Releases](../../releases) and place it in your server's `Mods/` directory. Do **not** extract the ZIP.
This is a **universal** mod — it must be installed on both server and client.
## Configuration
All config files are auto-generated on first run in the server's `ModConfig/` directory.
### `WelcomeScreenConfig.json`
```json
{
"Title": "Welcome",
"WelcomeFile": "welcome.md"
}
```
- `Title` — dialog window title
- `WelcomeFile` — path to the Markdown file (relative to server data dir)
### `WelcomeScreenModCheck.json`
```json
{
"Enabled": true,
"RecommendedMods": [
{ "ModId": "rpvoicechat", "DisplayName": "RPVoiceChat", "Reason": "Proximity voice chat" }
],
"BlacklistedMods": []
}
```
- `RecommendedMods` — mods the server suggests clients should have
- `BlacklistedMods` — mods the server disallows (shown as warning)
### `welcome.md`
Place this file in the server's data directory. Standard Markdown syntax is supported:
```markdown
# Server Name
Welcome to our server!
## Rules
1. Be respectful
2. No griefing
**Have fun!**
```
## Building
Requires .NET 8 SDK and the Vintage Story API DLLs in `lib/`.
```bash
# Build locally
./build.sh
# Build and install to server
./build.sh --install
```
## Project Structure
```
src/
WelcomeScreenMod.cs Main mod — server/client logic, network packets, config
WelcomeScreenDialog.cs GUI dialog with scrollable VTML content
MarkdownToVtml.cs Markdown → VTML converter
resources/
modinfo.json Mod metadata (version, dependencies)
lib/
VintagestoryAPI.dll VS API reference (not distributed)
protobuf-net.dll Protobuf serialization (not distributed)
```
## CI/CD
Push a tag (`v*`) to trigger the build pipeline, which compiles the mod, packages the ZIP, and creates a Gitea release with the artifact attached.
## License
Private mod — not publicly distributed.