-
-
Notifications
You must be signed in to change notification settings - Fork 184
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 p2p #49
Comments
You are correct, it is not yet added in. I do plan to add it along with the server stuff. Unless a contributor gets to it first. What were you trying to achieve? |
Well i want to establish a connection between two clients, so that they can play together. |
You should be able to do that with Godot's high level networking relatively easily. From what I've seen of Steam networking stuff, it's a bit more involved for simple things. The major difference in my experience is that with Godot's, and no central server, needs port forwarding. I believe Steam's has NAT punching to avoid that. That being said, I hope to have the server stuff and networking added sometime in January. |
I also plan on doing a few tutorials for GodotSteam, including everything I've figure out on networking. |
@Gramps Looking forward to it. Appreciate your work on this. It's down the road for me, but definitely interested in the coming year being able to make some simple P2P games through Steam. |
Cheers, sir! Yeah, hopefully by the time you're ready for P2P games I'll have everything added and tested, as well as some tutorials. Unfortunately there are so many hours in a day! |
I certainly hear you on that. X) |
Any news for P2P networking with steam? |
Yep, P2P and Utilities are the next two major updates I'm working on! I should have it out sometime in March; hopefully sooner than later. |
Nice! Do you know if it's possible to create a Godot Steam Lobby currently and combine this with the High Level Networking Api to prevent NAT problems and so on? |
Yeah, was wondering that as well. Would be strange if you could lobby together, and the game fails to launch, and maybe inform the user that they have to setup port forwarding on their router to continue. XD |
@Fischer96 @avencherus Sort of. My last game has a multiplayer component but requires users to port-forward currently. The Steam P2P stuff will get around that, as will Godot 3.1; provided their routers have UPnP (I believe). My game also has a not when hosting that you'll probably need to open the given port. But currently NAT is an issue. I know there is a way to have each client and host connect to a central server then get paired together and remove the central server, but I have no idea how that works. Also Valve is going to start letting games use their servers which will clear up more problems. What I've been doing is a marriage of the high-level networking and Steam stuff, until the Steam P2P stuff is done or 3.1 comes out. I have a host set up a 'lobby":
The server is now accessible through my master server list (have a different node that pulls and displays this for users, and the "lobby" is created in Steam for people to join through the Steam GUI. Some Steam functionality for handling invites and joins:
That's just some bits and pieces of the whole thing. I will definitely do a longer tutorial with full examples soon. Maybe after 3.1 sees stable release so I can cut out some unnecessary stuff. |
Hey all, wanted to update you guys that @Antokolos got P2P working in the GDNative branch and I have moved it into my 3.1 copy with no issues. Going to push that to the repo this weekend and then back-port to 3.0.6 and 2.1.5. |
Nice, looking forward to trying it out in the near future. @Antokolos @Gramps 👍 🎉 |
OK, P2P / Networking functionality has been back-ported to Godot 3.x and Godot 2.x! I'll try to get a tutorial put together this month to help folks integrate it.... after I figure it out myself. |
is there a tutorial out for this yet, if so where? *** OK, P2P / Networking functionality has been back-ported to Godot 3.x and Godot 2.x! I'll try to get a tutorial put together this month to help folks integrate it.... after I figure it out myself. *** |
@drarem It's funny you should ask because I am actually working on it this weekend. I know this topic has been around for a bit but it's been an extremely busy summer over here. That being said, I am working on multiplayer for my current project and was going to tie the tutorial in with that. I hope to have it up by Monday! |
Awesome, which game is this? |
A game called Haulin' Oats, a digital board game about truck driving and oatmeal. I'm hoping to finally get the alpha playable in September! |
Preview looks good, love the art style. |
Cheers! It's been a lot of tinkering up until now and still a ton more to do. I'll report back when that tutorial goes up. |
Did I see some comment about itchio, and if so a way to support your project or efforts? |
Mmm, right now Haulin' Oats is only on Itch.io until I get another Steam app ID. GodotSteam does have a Patreon page. |
Your patreon page is hidden to the world. Please promote that. I think that if i paste the link here (https://www.patreon.com/coaguco) there will be more visible that in the place I find it.... fix that!!!! |
Oh crap, is it not published or something? I think I linked it in the docs page. And thank you, sir! |
Thanks, just became a patreon :) |
Thank you, sir! Added you guys to the contributor page in the docs. I think tomorrow the first part of my tutorial will be ready. The P2P stuff is actually pretty simple, though it is missing some minor things from Godot's (like master/slave stuff). |
Hey guys, wanted to keep you in the loop with the tutorial. So I have a fully working lobby system in pure GodotSteam and GDScript. I can create, join, leave, etc. and am now testing the P2P aspects of passing data back and forth. Not sure I'll get it posted tonight; gotta sleep in about 3 hours. I still have to type it all up in the documentation after testing is done. However, I should have it done tomorrow or the next day. When it is up, it'll be the full tutorial for lobby and P2P networking. I will also update the example repo with the full TSCN file and GD file so you can see the code and even test it out yourselves! Will report back once my testing is done, the tutorial is up, and the example repo is updated! |
OK, wanted to write one more update before I go to sleep. I just pushed an update to the Example branch that contains my code for the tutorial. It has all the stuff I mentioned in my last comment. Tomorrow when I get home and settled, I'll start writing it all up for the tutorial then add that to the documentation and will report back again! |
Alright fellas, the new lobby / P2P tutorial is up in the documentation page! It covers pretty much everything I mentioned above except invite systems. That will be added in the second half of the tutorial that should go up sometime this weekend. I'd like to give a big shout-out to @Antokolos for leading me in the right direction on the P2P stuff. If you guys notice anything weird or poorly explained, please let me know so I can get it fixed up! And part two is coming soon! |
Glad to help :) |
Hey, if im correct the whole steam networking part is not yet supported.
Are there any plans to implement it in the near future?
I realy like godot but i also need the p2p networking from steam and i dont think there is any other way of achieving this in a reasonable easy way, without switching the game engine (Unity, Unreal)
The text was updated successfully, but these errors were encountered: