sebastienvercammen / valheim-SebNetCompressionPlugin

2 stars 0 forks source link

How to install this plugin in ValheimPlus server? #4

Closed SahajJain01 closed 3 years ago

SahajJain01 commented 3 years ago

When I install this plugin in a fresh BepInExFull server it works, Then if I extract ValheimPlus UnixServer.zip to the server I get the error

Error : Unity Log] FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.

If I just place ValheimPlus.dll in plugins instead of copying the whole UnixServer.zip, I get incompatible version error when I try to login.

SahajJain01 commented 3 years ago

Log: `[Error : Unity Log] FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.

Stack trace:

ZstdNet.Decompressor.Unwrap (System.Byte[] src, System.Int32 maxDecompressedSize) (at <61667199ca9f4f9f945bead7ed7fdfbe>:0)

SebNetCompressionPlugin.SebNetCompressionPlugin.Decompress (System.Byte[] data) (at <61667199ca9f4f9f945bead7ed7fdfbe>:0)

SebNetCompressionPlugin.SebNetCompressionPlugin.ZSteamSocketRecv (ZPackage& __result) (at <61667199ca9f4f9f945bead7ed7fdfbe>:0)

(wrapper dynamic-method) ZSteamSocket.DMD(ZSteamSocket)

ZRpc.Update (System.Single dt) (at :0)

ZNet.UpdatePeers (System.Single dt) (at :0)

ZNet.Update () (at :0)

FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.

at ZstdNet.Decompressor.Unwrap (System.Byte[] src, System.Int32 maxDecompressedSize) [0x00007] in <61667199ca9f4f9f945bead7ed7fdfbe>:0

at SebNetCompressionPlugin.SebNetCompressionPlugin.Decompress (System.Byte[] data) [0x00000] in <61667199ca9f4f9f945bead7ed7fdfbe>:0

at SebNetCompressionPlugin.SebNetCompressionPlugin.ZSteamSocketRecv (ZPackage& __result) [0x0000d] in <61667199ca9f4f9f945bead7ed7fdfbe>:0

at (wrapper dynamic-method) ZSteamSocket.DMD(ZSteamSocket)

at ZRpc.Update (System.Single dt) [0x0000f] in :0

at ZNet.UpdatePeers (System.Single dt) [0x00063] in :0

at ZNet.Update () [0x00020] in :0

(Filename: <61667199ca9f4f9f945bead7ed7fdfbe> Line: 0)`

sebastienvercammen commented 3 years ago

Hi @SahajJain01, Valheim+ overwrites all files, including BepInEx and doorstop_config.ini, which changes the path dllSearchPathOverride in doorstop_config.ini, which in turn causes missing DLLs like System.Memory because neither the old BepInEx pack nor Valheim+ have a full set of DLLs.

V+ does work with SebNetCompressionPlugin. To fix it, you can do the following, in this order:

1) Install Valheim+ (run the game at least once to make sure modding worked) 2) Install the Full pack, overwriting files that already exist (run the game again to make sure V+ still runs) 3) Install SebNetCompressionPlugin

From our tests, these instructions work when done on both client & server, with all plugins working together perfectly.

There's an update coming to the Full Updater that'll fix all this automatically, including r2modman support.

Let me know if you've got more questions.

Sikksens commented 3 years ago

Also getting this exact same error even after trying step by step.

sebastienvercammen commented 3 years ago

@Sikksens

Sikksens commented 3 years ago

Windows Clients and Linux Server

Here is my doorstop_config.ini

image

sebastienvercammen commented 3 years ago

@Sikksens Thanks. A couple of follow-up questions.

Sikksens commented 3 years ago

System.Memory.dll is present in BepInEx\core_lib Launching client as is, only with Vulcan argument Here is my launch script from Valheim Plus yes that's my current main game folder and attached my server dir image

sebastienvercammen commented 3 years ago

@Sikksens Your launch script points to the wrong DLL folder:

export DOORSTOP_CORLIB_OVERRIDE_PATH=./unstripped_corlib

Valheim+ is known to use its own folder, but V+ is missing a lot of DLLs.

To avoid this problem, I released an update to the Full pack today which includes using the same folder as Valheim+ so you can just install BepInEx Valheim Full over V+ and it'll work together: https://valheim.thunderstore.io/package/1F31A/BepInEx_Valheim_Full/

The Full Updater plugin will receive an update as well later today, but is not required to get it running.

Sikksens commented 3 years ago

oh wow I didn't even notice that, gonna update now, thanks so much for all your help and for this amazing plugin!!