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

Steam network api #26

Closed
Ismoh opened this issue May 13, 2022 · 13 comments
Closed

Steam network api #26

Ismoh opened this issue May 13, 2022 · 13 comments

Comments

@Ismoh
Copy link

Ismoh commented May 13, 2022

I had a look on your documentation and wasnt able to see network functions.

Does your wrapper provide steam network api stuff like https://github.com/ValveSoftware/GameNetworkingSockets ( https://partner.steamgames.com/doc/features/multiplayer/networking ) ?

If I would be able to use C++, I would create a PR, but I never worked with C++

@yancouto
Copy link
Collaborator

No, we do not have those functions currently. I don't plan on working on those personally, but we accept PRs.

@Ismoh
Copy link
Author

Ismoh commented May 16, 2022

Yea, if you can somehow provide an example, I am interested in creating a PR, but I am not fimiliar with C++ that much.
Would be nice to have an example to get used to it.

@yancouto
Copy link
Collaborator

Take a look at Contributing.md and the previously closed pull requests, there are a few examples of people adding new methods.

@pakeke-constructor
Copy link

Hi @Ismoh, I think we can use luaJIT's FFI to access the GameNetworkingSockets directly from lua.
If I have trouble with that, I might try adding the functionality directly to luasteam, (in which case i'll open a PR.)

@Ismoh
Copy link
Author

Ismoh commented May 23, 2022

Yea, I think so too, but I am really bad in lua, luaJIT FFI and C++. Still learning. Would be awesome, if you can give me a shout, after your research.
Thanks a lot!

@pakeke-constructor
Copy link

Unfortunetely, I don't think that GameNetworkingSockets have C bindings, which means they won't be accessible to luaJIT's FFI. :(

@pakeke-constructor
Copy link

Nevermind!!!
@Ismoh We're saved!! steam does have C bindings for their SDK.

Everything is defined in steam_api_flat.h:
https://github.com/Facepunch/Facepunch.Steamworks/blob/master/Generator/steam_sdk/steam_api_flat.h

@Ismoh
Copy link
Author

Ismoh commented May 24, 2022

Can you provide an example?
We may should dont missuse this issue, maybe?

For further chatting, you can use this:
Ismoh/NoitaMP#58

Thanks for the help, I really appreciate it. Much Love!

@zorfmorf
Copy link
Contributor

zorfmorf commented Mar 4, 2023

@Ismoh If you are still interested in it, I'm making good progress. I'm not planning to implement every single function and so far I'm only doing the Sockets API for a client/server architecture, so no NetworkingMessages or P2P functions, but if you need more, it should be easy to add and you're welcome to contribute.

@Ismoh
Copy link
Author

Ismoh commented Mar 4, 2023

@Ismoh If you are still interested in it, I'm making good progress. I'm not planning to implement every single function and so far I'm only doing the Sockets API for a client/server architecture, so no NetworkingMessages or P2P functions, but if you need more, it should be easy to add and you're welcome to contribute.

Awesome!
I am currently pretty busy, but I am still interested in. Will get back to this for sure!

@zorfmorf
Copy link
Contributor

zorfmorf commented Mar 14, 2023

I implemented nearly everything aside from some debugging and datacenter connectivity measurement related methods. I'm using it for my own server/client based project and was able to use it as a drop-in replacement for enet and it seems to work completely fine so far. Please let me know if anybody finds any issues.
#27

@pakeke-constructor
Copy link

Thanks a tonne for this!!!

@yancouto
Copy link
Collaborator

Closing as #27 is merged and soon will be released

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants