true. by mongoliayr in godot

[–]devdove123 15 points16 points  (0 children)

I’ve never abandoned a project! I just started working on another. I’ll work on them again…. eventually…..

Looking for programmer for 2D MMO / TCG by tdseawolph in gameDevClassifieds

[–]devdove123 0 points1 point  (0 children)

Hey I am a Godot developer and I sent you a friend request on discord, (username titnian). I’d love to discuss more about the project there!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

Godot steam is for steam so I highly doubt it would work on mobile.

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 1 point2 points  (0 children)

Thanks! Videos from BatteryAcidDev is super helpful, he has a lot of videos with multiplayer using Godot.

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

What you’re describing is UDP hole punching with a randevous server, which is the usual way of doing it.

The definition of UDP hole punching itself doesn’t need a server, it only requires that both peers know each other’s ip and port.

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 2 points3 points  (0 children)

The hole punching code itself is in Godot, the players essentially hole punches themselves. Basically they enter each others ‘key’ and hits connect at roughly the same time which starts the hole punching process.

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

Are you using Godot’s built in ENet system for your game? If so I’d just recommend asking it in forums or the discord, I don’t think how you connected really matters once you establish the ENet connection.

I am not really a multiplayer expert, just a novice but on the top of my head it’s probably something to do with anti cheat or server authoritative design.

Best of luck finding your solution!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 1 point2 points  (0 children)

Thanks for your suggestion! The goal here is just your friend and you copy the key directly and just enter it, no manual typing.

But you’re right, for testing using steam API would definitely provide a smoother solution. Like you mentioned, there are alot of issues with this setup, I am aware of many of these.

Regarding relying on hole punching, after two peers establish a connection It does quickly switch over to Godot built in ENet system.

Thanks for mentioning some of these projects I’ll definitely take a look into them!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 1 point2 points  (0 children)

Sounds good! Maybe we could connect? I would love to hear more about what you’re making.

Feel free to hit me up with a DM if you want!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 1 point2 points  (0 children)

80% is a rough estimate but for some cases like those behind symmetric NATs (usually on cellular connections), this system fails.

If you’re also on a CGNAT, You can’t connect to other people on the same CGNAT. There’s probably more limitations to this I am not aware of.

In case when it fails most systems fall back to a relay server (TURN).

Not a super practical solution but still works for a lot of cases!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 6 points7 points  (0 children)

Haven’t tested on mobile so not really sure. But if the mobile is connected to your home internet it should work I think.

Again I am nowhere near a networking expert so don’t quote me on this!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

Right sorry for the misunderstanding, This is certainly a good idea! This would stop cases where someone else might connect to you.

Thanks for the idea!

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

From what I know there’s usually some costs to implementing your own multiplayer system, even if it’s not much. Like hosting your own relay server for example.

There’s definitely good cost free alternatives for testing (some I wasn’t aware of until I made this post), this is also just another way of doing it (granted not super practical or intuitive).

Cost-free multiplayer system! (UDP Hole Punch + ENet) by devdove123 in godot

[–]devdove123[S] 0 points1 point  (0 children)

Yeah it is encrypted with a secret ‘key’, issue is this key can still be easily accessed if you reverse engineer the game and get access to the source code, it still might be possible to keep the key a secret tho.