Closed nehswu closed 1 year ago
Same issue here
Noticed the same thing. Haven't been able to figure out why the data isn't being unpackaged properly. From what I can tell it's still the standard .net BinaryReader, no real changes to the valheim code. Every other field in the RPC package works fine, just not the message :(
I will try to put a hack in until I can get a proper fix.
I put as very unsightly hack in 5af53c043f85ce29182457fc3d66e3b1abe8a6ce which "fixed" the problem for me. Also fixes the map color of Mistland's.
Need to do more testing tomorrow. If it works for others, I'll cut a new release.
Nice! Thanks! Actually, I got another issue, the position of the players is really random, they just jump around the center position and is not related to the in-game position.
I ran into a similar issue with one of my mods, they made a change to the way messages are packed and I believe you will need to update WebMap.cs to reflect this. From the most recent de-compilation of Talker.Say
, messages are now sent like this:
this.m_nview.InvokeRPC(ZNetView.Everybody, nameof (Say), (object) (int) type, (object) UserInfo.GetLocalUser(), (object) text, (object) PrivilegeManager.GetNetworkUserId());
In the middle there is the change, (I think to support Xbox players) they swapped out sending just the player name with the UserInfo
object. De-serializing messages in the following way worked for me:
var package = new ZPackage(data.m_parameters.GetArray());
package.SetPos(0);
int _ = package.ReadInt(); //type of message
var userInfo = new UserInfo();
userInfo.Deserialize(ref package);
string message = package.ReadString() ?? "";
message = message.Trim();
FWIW I noticed no player messages (including pins) show up in the webmap on my server. I think this is the cause. I had the same trouble in another mod (unpacking would fail silently and messages would just be the empty string) until noticing this and unpacking the say messages correctly.
@ben-bartholomew thank you! Exactly what I needed to see.
Player chat messages don't seem to be detected, and as a result the pin commands aren't working.
OS: Windows Version:
WebMap log excerpt: