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

Developer want to add Steam API / integration #58

Open
Ismoh opened this issue May 17, 2022 · 16 comments
Open

Developer want to add Steam API / integration #58

Ismoh opened this issue May 17, 2022 · 16 comments
Labels
enhancement New feature or request. This will increase MINOR version number, when merged into develop. help_wanted Extra attention is needed

Comments

@Ismoh
Copy link
Owner

Ismoh commented May 17, 2022

  • invite
  • lobby
  • kick
  • ban
  • lobby invite code for non steam
  • hide ip:port and lobby id for streamer

TBC

@Ismoh Ismoh added the enhancement New feature or request. This will increase MINOR version number, when merged into develop. label May 17, 2022
@pakeke-constructor
Copy link

Hello- I hope you're doing well.
I've written up a really quick and dirty C wrapper for the SteamNetworkSockets functions.
It requires the steam SDK, and all of it is really untested.

I just thought I'd let you know since you have shown interest in it
https://github.com/pakeke-constructor/steam_api_wrap

@Ismoh
Copy link
Owner Author

Ismoh commented May 25, 2022

Thanks a ton! I really appreciate it a lot! I am still not quite sure, how to use it, but I'll give you a shout, when I am working on it. Anything I can help you with?

@pakeke-constructor
Copy link

pakeke-constructor commented May 25, 2022

No- I think I'll be fine for the moment. I'm having trouble getting it working actually- I'm not very well-versed in c++, especially when it comes to ABIs and linking and stuff.

I also found someone else's implementation which seems a lot more complete than mine (And it looks like it actually works; although it doesn't have the sockets, it's a step in the correct direction)
https://github.com/EvilPudding/steam.candle/blob/master/steam_api_c.h
So maybe you could try check this out.
Friendly reminder to also check out this page on FFI: https://luajit.org/ext_ffi.html

@Ismoh
Copy link
Owner Author

Ismoh commented May 25, 2022

Steam.Candle does only provide depricated networking api.
ISteamNetworkingSocket is the new, but the deprecated one is still available. Better than nothing.
Did you tried the deprecated one yourself (in your repo)? @pakeke-constructor

Deprecated one:
https://partner.steamgames.com/doc/api/ISteamNetworking

New one:
https://partner.steamgames.com/doc/api/ISteamNetworkingSockets

@Ismoh Ismoh added this to the Features or nice-to-have milestone Sep 2, 2022
@Ismoh Ismoh added the help_wanted Extra attention is needed label Oct 30, 2022
@Ismoh Ismoh added this to NoitaMP Nov 22, 2022
@Ismoh Ismoh moved this to 📋 Backlog in NoitaMP Nov 22, 2022
@Ismoh
Copy link
Owner Author

Ismoh commented Mar 4, 2023

There is hope!
uspgamedev/luasteam#26 (comment)

@Ismoh
Copy link
Owner Author

Ismoh commented Oct 1, 2023

On hold until #67 and #133 was merged into develop.

@Furrior
Copy link
Contributor

Furrior commented Nov 23, 2023

Isnt this exactly what you want?
https://github.com/EvaisaDev/noita-online

@Ismoh
Copy link
Owner Author

Ismoh commented Nov 23, 2023

no, doesn't fit to NoitaMP.

We might be able to reuse stuff, but plain integration won't work.

@Ismoh
Copy link
Owner Author

Ismoh commented Nov 23, 2023

Isnt this exactly what you want? https://github.com/EvaisaDev/noita-online

https://luasteam.readthedocs.io/en/stable/networking_sockets.html#isteamnetworkingsockets

As I am having issues with eNet and people need to forward ports, Steam would be a good replacement, but then it's only working with steam, what I don't really like.

Both implementations would be awesome, but would need yet another rework :uff:

@Myzumi
Copy link

Myzumi commented Nov 24, 2023

Steam is something that kinda works, or it just dosen't. When their servers are down then what? You need to wait for then to get then back up (and their weekly maintanance)

I like the idea of making a own way to connect, that way you could even introduce somekind of server software (which i planned to do) to allow even more members if possible or somekind of optimizing server sideded

@Ismoh
Copy link
Owner Author

Ismoh commented Nov 24, 2023

That's true!
Steam should be an alternative, no replacement.

Unfortunately NoitaMP is hardcoded P2P. You still have a server and clients, but if you want to host a server, you need to run Noita, because of hardcoded Noita API functions. I am sure there won't be a cli NoitaMP version :(

Unless you reverse engineer Noita and rework API functions, but hf gl!

@Myzumi
Copy link

Myzumi commented Nov 24, 2023

Unfortunately NoitaMP is hardcoded P2P. You still have a server and clients, but if you want to host a server, you need to run Noita, because of hardcoded Noita API functions. I am sure there won't be a cli NoitaMP version :(

Thats Sad, might would have allowed for some fun gamemodes or anything server sided that dosent need any extra mods etc. but oh well.

Unless you reverse engineer Noita and rework API functions, but hf gl!

I mean its possible for me, but i don't think anyone wants to "extra" mod their game and kinda break other mod support etc.

@Ismoh
Copy link
Owner Author

Ismoh commented Nov 24, 2023

I mean its possible for me, but i don't think anyone wants to "extra" mod their game and kinda break other mod support etc.

I have no time for that! :D

@Myzumi
Copy link

Myzumi commented Nov 24, 2023

I mean its possible for me, but i don't think anyone wants to "extra" mod their game and kinda break other mod support etc.

I have no time for that! :D

I have plenty of time, but reverse engineering something isn't really worth it, so if you need anything other, i have time ;)

@JamesGamesALot
Copy link

https://github.com/EvaisaDev/noita-online
hope this helps

@Ismoh
Copy link
Owner Author

Ismoh commented May 12, 2024

no, doesn't fit to NoitaMP.

We might be able to reuse stuff, but plain integration won't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request. This will increase MINOR version number, when merged into develop. help_wanted Extra attention is needed
Projects
Status: 📋 Backlog
Development

No branches or pull requests

5 participants