I started a project for cross-platform networking (epic, steam, whatnot…) that should unify all those networking code under a more general API providing a vendor-independent implementation of the API as well so you could interchange those platforms before release and allow cross-play between those by using your own servers… Didn’t go over the planning-phase (have some tooling, server, etc… but far from done) and then Steam released steamworks as open-source.
To my knowledge someone now has already done exactly that. If not, the code I have so far is open-source and on github and open for collaboration, but it’s too much to pull off alone.
Server implementation wouldn’t be a problem (docker-based, linux, java-server, REST, MySql DB, Keycloak for user/password management, all running on a machine for like 10$ a month hosting costs for thousands of requests a minute … I already have a framework for that), but the ‘unified’ networking code providing enough convenience for the users is.
So if anyone has information about other approaches to that (cross-play, interchanging networking ‘libs’ for matchmaking, lobbies, achievements and leaderboards) please dm or reply since I’m interested in that kind of thing. And if there is no other approach/implementation, then why don’t we make one?
edit: Here is the link. But it’s currently a mess; I warned you https://github.com/UnterrainerInformatik/Nexus
2nd edit: I just tried to find the posting that mentioned that ready-to-use cross-platform lib… and it seems that I didn’t remember correctly. So to my knowledge there is no such lib. For steam there is https://github.com/Facepunch/Facepunch.Steamworks that seems like the place to go if you went for steam.