This plugin completely moves the explored map and created pins to the server. As clients explore, they will send their explored areas to the server who will then distribute it to all connected clients. When a client joins, the server will synchronize the currently explored areas to the client. Pins are shared as well but default to false and need to be enabled. When pin sharing is used, all newly created pins are send to the server who saves them along with the explored area.
Due to an unknown reason, the .explored file got wipe and set to zero bytes. If you were using the pin system, you will need to restore a backup of the file. Otherwise, no action is required as it will be regenerated and the explored progress from players will be synchronized when they log back in again.
- This mod requires BepinEx
- Place the ServerSideMap.dll inside your BepInX plugin folder on your server and client
- Restart Server and Client
- MARKERS DEFAULT TO FALSE AND NEED TO BE ENABLED IF YOU WANT TO USE THAT FEATURE
- The config file will be created after your first launch with the new version. You can edit the config files inside BepInEx/config/eu.mydayyy.plugins.serversidemap.cfg
- YOU NEED TO RESTART AFTER EDITING THE CONFIG
- Existing markers from clients are not synced to the server
- Every newly created marker will only exist on the server, not on the client
- When a client connects, he downloads all markers from the server
- When the client disables the sharing of markers, he will opt out of it, others on the server continue to share their markers
- When the server turns off marker share, no client will be able to share their markers no matter what they set inside their config file
- As usual, existing explored areas are synced to the server and merged
- The server sends the current map exploration to the client and the client merged it
- When the client disables the sharing of map data, he will opt of it, others on the server continue to share their map exploration
- When the server turns off map share, no client will be able to share their map exploration no matter what they set inside their config file
The pin and exploration data is saved along with the map in a new file.
You can toggle marker and map share separately, refer to Marker Share 2&3 for instruction
Currently there are three available chat commands:
- /convertpins: Uploads all pins which are currently clientside to the server.
- /convertpins ignorelocaldupes: Uploads all pins which are currently clientside to the server. Pins which have a pin on the server near them are not uploaded. Default radius 15.0, can be adjusted in the config.
- /deletealllocalpins: DELETES all local pins. Those will not be recoverable, use it when you are absolutely sure you want to do that.
- /downloadpins: Downloads all pins from the server and converts them to local pins again. The reverse process of convertpins.
You can enable hotkeys for the convertpins and 'convertpins ignorelocaldupes'. To enable, adjust the Hotkeys section in the config accordingly. A list of valid strings can be found here: https://docs.unity3d.com/ScriptReference/KeyCode.html. Leave empty for no hotkey (default) Example:
[Hotkeys]
## Hotkey to run /convertpins
# Setting type: String
# Default value:
KeyConvertAll = F10
## Hotkey to run /convertpins ignorelocaldupes
# Setting type: String
# Default value:
KeyConvertIgnoreDupes = F11
Currently, the mod is incompatible with crossplay/PlayFab. PR's are welcome if someone wants to look into this.
Please use Github for bug reports and feedback.
Development takes place on github: https://github.com/Mydayyy/Valheim-ServerSideMap
You need to copy the following dlls into the Libs folder:
- 0Harmony.dll
- assembly_utils.dll
- assembly_valheim.dll
- BepInEx.dll
- BepInEx.Harmony.dll
- UnityEngine.CoreModule.dll
- UnityEngine.dll
- UnityEngine.ImageConversionModule.dll
- UnityEngine.UI.dll
- UnityEngine.InputLegacyModule.dll
- Unity.TextMeshPro.dll
My kofi can be found here