Add README and fix CI/CD pipeline for release builds
Some checks failed
Build & Release / build (push) Failing after 39s
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:
97
README.md
Normal file
97
README.md
Normal 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.
|
||||
Reference in New Issue
Block a user