Communicating via different AppIDs via ISteamNetworkingMessages
Hi all,
We are building a Steam game and have implemented multiplayer via ISteamNetworkingMessages. Thanks for all your hard work on this new library, we had used ISteamNetworking for a previous game and the new API seems to work much better.
We are making a keyboard mouse version, and also a VR version of our game. The VR version needs to be a separate app because the min spec is different and it needs to appear in a different place in the store.
We want to implement cross-app multiplayer, but when we send messages between different app-ids, the data doesn't seem to go through.
Searching this repo, it looks like this is managed by certificates, and you already support adding multiple app ids to a cert. However, I can't figure out how to do this via the API.
Is it possible to do cross AppID multiplayer with the ISteamNetworkingMessages library?
Many thanks
Dan
It's currently not possible to do this, unfortunately.
I'm trying to think of the best way we could plumb this through. What if we made a special app configuration setting that basically controls the AppID to use for network routing. You would tag one app to use the AppID of the other, for multiplayer purposes. Then, at least as far as the networking routing goes, the different apps would be using the same AppID.
This means the API surface area doesn't change, and there are certain situations we couldn't handle, for example if one player is playing both apps, you wouldn't be able to route a message to a particular app. I suspect this is probably a reasonable constraint.
Let me know what you think. I haven't dug in to confirm there isn't a problem making this work, but I think it might not be too difficult to implement.
@fletcherdvalve thank you for the reply
for my purposes, what you are suggesting is perfect. I had already searched the Steamworks console for such a setting!
From a security standpoint, it might be worth making sure the steam user has developer permission on both apps when saving the setting? It is nice that (by default) developers don't have to consider that data could arrive from (or be sent to) another application.
Many thanks
Dan
OK, I like this idea. I think it will be a rare enough right now that can just make the setting only editable by a Valve employee, so we don't have to worry about security implications.
However, I should be honest and say that I am not sure when I will be able to look into doing this. So please don't plan on it being available by any certain date! I'll let you know if that changes. I might look at it and it turns out to be really simple backend-only fix. But I might realize that it requires client changes, and that would make it take much longer.
BTW, do you have the specific AppIDs involved? I want to see how those are configured.
I'll update this comment when I know more.
Hi @fletcherdvalve
Thanks for your reply. The AppIDs are 1489630 and 1657900
Yes I fully understand that this will happen on it's own timetable! It is very useful just to get your reply and know that we shouldn't keep trying to get it to work, but it is a possibility for the future.
Many thanks
Dan