Mydayyy / Valheim-ServerSideMap

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.
38 stars 1 forks source link

ServerSideMap not syncing maps despite plugin being loaded #36

Closed MacND closed 3 years ago

MacND commented 3 years ago

Hey, as per the title I have myself, 1 other player, and a dedicated Ubuntu 18 server running with the plugin and sharing enabled, but the map does not appear to ever sync. Startup logs show no related error that I can see.

Startup Logs

``` [Message: BepInEx] BepInEx 5.4.9.0 - valheim_server [Info : BepInEx] Running under Unity vUnknown (post-2017) [Info : BepInEx] CLR runtime version: 4.0.30319.42000 [Info : BepInEx] Supports SRE: True [Info : BepInEx] System platform: Bits64, Linux [Message: BepInEx] Preloader started [Info : BepInEx] 1 patcher plugin loaded [Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader] [Message: BepInEx] Preloader finished [Info : BepInEx] Detected Unity version: v2019.4.20f1 [Message: BepInEx] Chainloader ready [Message: BepInEx] Chainloader started [Info : BepInEx] 2 plugins to load [Info : BepInEx] Loading [ServerSideMap 1.3.0.0] [Info : BepInEx] Loading [Display BepInEx Info In-Game 1.0.1] [Message: BepInEx] Chainloader startup complete [Info : Unity Log] 04/07/2021 20:25:10: Starting to load scene:start ```

Server config file

``` ## Settings file was created by plugin ServerSideMap v1.3.0.0 ## Plugin GUID: eu.mydayyy.plugins.serversidemap [General] ## Client: Whether or not to participate in sharing the map. Server: Whether or not to allow map sharing # Setting type: Boolean # Default value: true EnableMapShare = true ## Client: Whether or not to participate in sharing markers. Server: Whether or not to allow marker sharing # Setting type: Boolean # Default value: false EnableMarkerShare = true [PinShare] ## A local pin will not be uploaded if a pin exists in the given radius on the server (when using /convertpins removelocaldupes) # Setting type: Single # Default value: 15 DuplicatePinRadius = 15 ```

You mention in the README that DLLs need copied to a libs folder - are you referencing the doorstop_libs folder with this, or some other folder?

Mydayyy commented 3 years ago

Greetings,

the Server startup logs look fine. Did you also install the mod on both clientside machines?

Regarding the copying of dlls: That only refers to if you want to compile this project yourself, not to using it

Cheers Mydayyy

MacND commented 3 years ago

Hey,

Yep the mod is installed client side as well. Here are my output logs (edited to include ServerSideMap relevant messages):

Client Startup Logs

``` [Message: BepInEx] BepInEx 5.4.9.0 - valheim [Info : BepInEx] Running under Unity v2019.4.20.7197120 [Info : BepInEx] CLR runtime version: 4.0.30319.42000 [Info : BepInEx] Supports SRE: True [Info : BepInEx] System platform: Bits64, Windows [Message: BepInEx] Preloader started [Info : BepInEx] 1 patcher plugin loaded [Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader] [Message: BepInEx] Preloader finished [Message: BepInEx] Chainloader ready [Message: BepInEx] Chainloader started [Info : BepInEx] 9 plugins to load [Info : BepInEx] Loading [Clock Mod 1.4.3] [Info : BepInEx] Loading [Craft From Containers 2.1.2] [Info : BepInEx] Loading [Discard Inventory Items 0.3.6] [Info : BepInEx] Loading [Configuration Manager 16.1] [Info : BepInEx] Loading [ServerSideMap 1.3.0.0] [Info : BepInEx] Loading [BetterUI 1.6.4] [Info : BepInEx] Loading [Quick Stack 0.6.5] [Info :Quick Stack] Initializing Quick Stack. [Info : BepInEx] Loading [Display BepInEx Info In-Game 1.0.1] [Info : BepInEx] Loading [Hold Attack 0.4.2] [Message: BepInEx] Chainloader startup complete [Info : Unity Log] 04/07/2021 21:35:28: Starting to load scene:start ... [Info :ServerSideMap] ZNet awake [Info :ServerSideMap] Minimap awake [Info :ServerSideMap] Registered Client Events [Info :ServerSideMap] Client received initial pin data by server. Pins: 0 [Info :ServerSideMap] ClientAppendPins 0 [Info :ServerSideMap] ClientAppendPins 0 ```

The plugin appears to be functioning normally on my friend's machine too, he has similar log output to the above.

Thanks for the clarification on the libs folder!

Mydayyy commented 3 years ago

Greetings,

looking at the logs it indeed seems like the plugin is running on the client as well as on the server. Although the client says it did not receive any pins from the server.

Did you enable pinsharing for both the server as well as the client inside the config?

In case of yes - do the logs contain anything when you create a new pin? On a working instance the plugin should log a pin received message.

Also, just for the protocol: Your friend / other members do have the plugin installed too and can confirm that it is being loaded on their side too?

Cheers Mydayyy

MacND commented 3 years ago

Hey, the logs now look okay, I'm not quite sure what change has caused things to come to life - I really appreciate you taking the time to help me out! And yeah, other member configs and logs were all fine too.