Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Steamworks] Steam Networking Sockets #22

Closed
trungdeveloper199 opened this issue Oct 24, 2020 · 9 comments · Fixed by #179
Closed

[Steamworks] Steam Networking Sockets #22

trungdeveloper199 opened this issue Oct 24, 2020 · 9 comments · Fixed by #179
Labels
contributions welcome Contributions to this issue are welcome. Get in contact with us before you start working. type:feature New feature, request or improvement

Comments

@trungdeveloper199
Copy link

Hi, Old P2P in Steamworks will be removed soon and will be replaced with Steam Networking Sockets. Please let me know! Steamworks transport is using steam networking sockets? if not, can you update with SteamNetworkingSockets? or anyone has this function please share this with me. Thank you

@scriptsengineer
Copy link

I believe that best alternative sockets is facepunch.steamworks, it would be great to have it as transport. I intend to link these two libs but my network level is still low :(.

@furic
Copy link

furic commented Jan 13, 2021

@trungdeveloper199 where do you find the announcement that P2P will be removed?
But yea, if this can be updated (Steam transport seems not being updated for a long while), that will be great!

@trungdeveloper1993
Copy link

@trungdeveloper199 where do you find the announcement that P2P will be removed?
But yea, if this can be updated (Steam transport seems not being updated for a long while), that will be great!

you can find it at the first lines of document.
https://partner.steamgames.com/doc/api/ISteamNetworking
it will be replaced with SteamNetworkingSockets.

"NOTE: This API is deprecated and may be removed in a future Steamworks SDK release. Please use ISteamNetworkingSockets or ISteamNetworkingMessages instead. See the Steam Networking overview for more information."

@trungdeveloper1993
Copy link

Thanks @trungdeveloper1993, have you ever got Steam P2P working by the way? I've been trying that out in last couple days but still no luck. We got the Steam ID already and it should work as told in document.

It works fine on the previous version of MLAPI. but now, I don't know :3, I'm working with Unet before change to Steamworks

@LukeStampfli LukeStampfli added stat:awaiting triage type:feature New feature, request or improvement labels Mar 7, 2021
@LukeStampfli LukeStampfli added contributions welcome Contributions to this issue are welcome. Get in contact with us before you start working. and removed stat:awaiting triage labels Apr 23, 2021
@LukeStampfli
Copy link
Contributor

We currently don't have the resources to implement transport for other steam versions than Steamworks.Net but contributions for a Steam Networking Sockets transport are welcome.

@fghl
Copy link

fghl commented Jun 4, 2021

I'm most of the way through writing a Steam Networking Sockets transport with the latest version of Steamworks.NET. Related issue: #76

I'm blocked on the Steamworks.NET side by this issue.
rlabrecque/Steamworks.NET#424

I'm now going to try Facepunch as they seem to have solved the issue.

@fghl
Copy link

fghl commented Jun 6, 2021

Facepunch was a no-go.

Steamworks.NET segfault bug was fixed. I'm now just working through some MLAPI errors.

If anyone knows about MLAPI internals and can review these errors that would be much appreciated: #77

@JamesMcGhee
Copy link
Contributor

JamesMcGhee commented Nov 25, 2021

We just did an update of SteamP2P transport MLAPI / NetCode to bring it compatable with Steamwroks.NET as installed from its source.

The Mirror transport which we also collaborate on already supports both the classic SteamNetworking and the newer SteamNetworkignSockets APIs you should be able to use it + the new NetCode SteamNetworking transport to get what you need.

Would be happy to help out but dont have the bandwidth to do it our selves from scratch

Here is the Mirror version if you want to see how we went about SteamNetworkingSockets support with there transport ... its also Steamworks.NET compatable now so really you could just port that structure to MLAPI / NetCode and be done.

Have a look at
NextCommon.cs it handles the message processing and send
NextClient.cs and NextServer.cs implament NextCommon and handled connect, disconnect, etc.

If you have any questions you can reach me on our Support Discord server I am listed as Loden | Heathen Engineering there.

@JamesMcGhee
Copy link
Contributor

We have added a pull request for a new Steam Networking Sockets transport that will resolve this see request #179

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributions welcome Contributions to this issue are welcome. Get in contact with us before you start working. type:feature New feature, request or improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants