You are viewing a potentially older version of this package. View all versions.
EVOLVEDS-ServerSideMapReborn-0.1.1 icon

ServerSideMapReborn

Share explored areas and optional map pins through your server. Experimental Valheim 1.0.12 fork with a live-sync fix. Required on server and clients; multiplayer validation pending.

Date uploaded 3 weeks ago
Version 0.1.1
Download link EVOLVEDS-ServerSideMapReborn-0.1.1.zip
Downloads 562
Dependency string EVOLVEDS-ServerSideMapReborn-0.1.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

ServerSideMapReborn

Share explored areas and map pins through your Valheim server. ServerSideMapReborn is an independent, experimental fork of Mydayyy/Valheim-ServerSideMap, adapted against Valheim 1.0.12.

Install this mod on the server and every participating client. Despite its name, it is not a server-only mod. Map sharing is enabled by default; pin sharing is optional and disabled by default.

Features

  • Share newly explored areas with connected players.
  • Merge explored areas when players connect.
  • Optionally share newly created map pins, including checked state and removal.
  • Save shared exploration and pins alongside the world.
  • Import existing local pins using chat commands.

Installation

  1. Install the required BepInExPack Valheim dependency.
  2. Disable or uninstall the original ServerSideMap, including the earlier experimental ServerSideMap.dll. This fork declares the original plugin incompatible to prevent overlapping patches.
  3. Install ServerSideMapReborn on the server and every participating client, using the same mod version.
  4. Start the server and clients to generate the configuration file.

For manual installation, place ServerSideMapReborn.dll in BepInEx/plugins/ServerSideMapReborn/. Use the installation ZIP, not the source-code ZIP.

Configuration

Configuration file: BepInEx/config/local.valheim.serversidemapreborn.cfg.

[General]
EnableMapShare = true
EnableMarkerShare = false

To share pins, set EnableMarkerShare = true on the server and each participating client, then restart them. Existing local pins are not uploaded automatically. Create a new pin to test sharing, or use one of these chat commands:

  • /convertpins: upload existing local pins to the server.
  • /convertpins ignorelocaldupes: upload existing local pins while skipping nearby duplicates.
  • /downloadpins: convert shared pins into locally saved pins.

The duplicate-detection radius is controlled by DuplicatePinRadius in the configuration file.

Upgrading and migrating

When upgrading from ServerSideMapReborn 0.1.0, stop the server and clients, replace the DLL, and restart. Keep the existing configuration and exploration files. Do not leave multiple copies of the plugin installed.

When migrating from the original ServerSideMap, you can copy eu.mydayyy.plugins.serversidemap.cfg to local.valheim.serversidemapreborn.cfg while the game and server are stopped to preserve settings.

The original .mod.serversidemap.explored save suffix is retained to reuse existing shared exploration and pins. Back up this file before testing an update. Do not run both plugins against the same world.

Version 0.1.1: live map synchronization fix

Version 0.1.0 could discard live exploration updates because it looked for the removed private field Minimap.m_instance. Reconnecting used a different synchronization path, which could make the missing exploration appear after logging in again.

Version 0.1.1 uses the public Minimap.instance accessor, uploads pending map texture changes at the end of the frame, and restores temporary exploration suppression even if map loading throws an exception.

To check the fix, connect two players. Have one explore an unknown area while the other watches the map without moving or reconnecting. The newly explored area should appear during the session.

Compatibility and validation

  • Compiled against Valheim 1.0.12 game assemblies.
  • All 24 Harmony patch targets were verified through assembly metadata.
  • An isolated regression test reproduces the live-update failure in 0.1.0 and passes with the 0.1.1 correction.
  • Tests use Unity and network substitutes; this update still needs validation in a real multiplayer session.
  • Crossplay/PlayFab support has not been fixed or verified.
  • Compatibility with other map-changing mods has not been established.

Package identity

  • Package, assembly and namespace: ServerSideMapReborn.
  • Plugin and Harmony ID: local.valheim.serversidemapreborn.
  • Package/plugin version: 0.1.1.
  • Assembly/file version: 0.1.1.0.
  • Network RPC prefix: ServerSideMapReborn..

Building from source

Use PowerShell 7, a portable .NET SDK, and isolated copies of the reference DLLs from valheim_Data/Managed and BepInEx/core:

./build.ps1 -DotnetPath /path/to/dotnet -LibsPath /path/to/references
./test.ps1 -LibsPath /path/to/references
./tests/test-live-map.ps1

The compiled plugin is written to build/ServerSideMapReborn.dll. Run python package.py to generate the installation and source archives. The distributed package contains neither the SDK nor proprietary game DLLs.

Credits and license

Based on Mydayyy/Valheim-ServerSideMap. This is an independent fork, not an official upstream release. Original attribution and licenses are preserved in README-UPSTREAM.md, LICENSE-MIT, and LICENSE-UNLICENSE.

Thunderstore package

CHANGELOG

0.1.1

  • Fix live exploration updates being discarded because the plugin looked for the removed Minimap.m_instance field. Use the public Minimap.instance accessor instead.
  • Apply pending map texture changes at the end of the frame, independently of local exploration.
  • Restore temporary exploration suppression when SetMapData fails or is called recursively.
  • Add a regression test that fails against 0.1.0 and passes against 0.1.1 using Unity and network substitutes, plus metadata checks for the compiled DLL.
  • Preserve existing configuration, plugin identity, RPC names, and save format.
  • Provide package documentation in English, including setup, migration, troubleshooting, and validation limits.
  • Real multiplayer validation of this update remains pending.

0.1.0

  • Introduce an independent experimental fork adapted against Valheim 1.0.12.
  • Support BitArray exploration storage and update the pin-removal patch target.
  • Add file replacement with backup and coordinate/chunk bounds checks.
  • Introduce separate package, DLL, assembly, namespace, BepInEx, Harmony, configuration, and RPC identities.
  • Declare incompatibility with the original ServerSideMap plugin.