Ragnavik Progress

版本 v1.1.0·更新於 2026-09-16

Server-only boss and EpicMMO milestone reporter with a private configurable HTTP endpoint.

模組介紹 作者原文

Ragnavik Progress

Ragnavik Progress is a server-only Valheim milestone reporter. It sends authenticated progress snapshots to an HTTP endpoint that can publish community messages through Discord or another service.

Features

  • Reports newly defeated world bosses.
  • Records the killing player and nearby participants for future boss defeats.
  • Reports connected characters reaching configurable EpicMMO level intervals.
  • Uses each character's current in-game name in the report.
  • Uses a private stable identifier only for duplicate prevention.
  • Establishes a quiet baseline so installation does not announce old progress.
  • Defaults to disabled with no endpoint or credentials.
  • Does not report ordinary creature kills.

What server administrators need

This mod is the game-side reporter. It does not bundle or require the Ragnavik Discord bot. A server administrator must provide an HTTP receiver that:

  • Is reachable from the dedicated Valheim server.
  • Accepts authenticated JSON POST requests at the configured endpoint.
  • Stores enough state to prevent duplicate announcements across restarts.
  • Routes accepted events to Discord, another chat service, a database, or logs.
  • Returns HTTP 204 No Content after safely accepting a report.

The receiver can run in Docker, as a system service, as a serverless endpoint, or inside an existing community bot. Docker is optional. If Discord is used, the administrator supplies their own bot application or webhook bridge and their own channel IDs.

Configuration

After the first server start, edit BepInEx/config/lostkode.ragnavik.progress.cfg on the server. Set Enabled, Endpoint, and optionally TokenFile and TokenHeader. Boss announcements and EpicMMO level announcements have independent switches. The level interval and nearby participant radius are configurable.

The default EpicMMO milestone interval is 10 levels. EpicMMO is optional; boss reporting still works when it is not installed.

| Setting | Default | Purpose |

| --- | --- | --- |

| Enabled | false | Master switch for all reporting. |

| ReportBossDefeats | true | Enables boss defeat snapshots and attribution. |

| ReportEpicMMOLevels | true | Enables EpicMMO level snapshots. |

| EpicMMOLevelStep | 10 | Level interval used by the receiving service. |

| BossParticipantRadius | 100 | Distance in meters used to identify nearby participants. |

| Endpoint | blank | Private receiving endpoint. |

| TokenFile | blank | Server-only authentication token file. |

| TokenHeader | X-Progress-Token | Authentication header name. |

| ServerName | Valheim | Server name included in reports. |

| CheckSeconds | 30 | Progress polling interval. |

| HeartbeatSeconds | 3600 | Unchanged-state resynchronization interval. |

Endpoint payload

The endpoint receives JSON containing server, instance, bosses, bossKills, players, and milestoneStep. Each player contains an internal id, current in-game name, and EpicMMO level. Each boss kill contains an event ID, world key, boss name, killing player, and nearby participant names. Return HTTP 204 after accepting the snapshot.

Example request body:

{

"server": "Example Server",

"instance": "dedicated-server-1",

"bosses": ["defeated_eikthyr"],

"bossKills": [

{

"id": "boss-event-id",

"key": "defeated_eikthyr",

"boss": "Eikthyr",

"killer": "Astrid",

"participants": ["Astrid", "Bjorn"]

}

],

"players": [

{

"id": "private-character-id",

"name": "Astrid",

"level": 20

}

],

"milestoneStep": 10

}

When TokenFile contains a token, the mod sends its contents in the header named by TokenHeader. The receiver should compare that value securely, reject invalid requests, validate body sizes and fields, and avoid printing tokens or private identifiers in public messages.

Reports are snapshots and may be repeated during heartbeat synchronization. The receiver is responsible for announcing only new boss event IDs, newly added boss keys, and newly crossed player-level thresholds. Character IDs are for private duplicate

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

denikson-BepInExPack_Valheim

檔案與校驗

檔案名稱
Ragnavik_Progress-1.1.0.zip
檔案大小
53.7 KiB