Axel Meyer d9fa028765
All checks were successful
Build & Release / build (push) Successful in 34s
Fix release JSON parsing: use python3 instead of grep
grep-based JSON parsing broke on Gitea's response format (exit 3:
URL malformat from corrupted release ID). Use python3 json module
for reliable parsing. Also add trap-based token cleanup and upload
status verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:34:46 +00:00

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 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

{
  "Title": "Welcome",
  "WelcomeFile": "welcome.md"
}
  • Title — dialog window title
  • WelcomeFile — path to the Markdown file (relative to server data dir)

WelcomeScreenModCheck.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:

# 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/.

# 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.

Description
No description provided
Readme 918 KiB
2026-02-24 18:34:46 +00:00
Languages
C# 96%
Shell 4%