otavepto / gbe_fork

Fork of https://gitlab.com/Mr_Goldberg/goldberg_emulator
https://gitlab.com/Mr_Goldberg/goldberg_emulator
GNU Lesser General Public License v3.0
193 stars 56 forks source link

Is there any way to create like broadcast server? #55

Open turusudiro opened 5 months ago

turusudiro commented 5 months ago

Is there a way to set up a broadcast server so that when I want to play multiplayer with my friends, I don't have to open the game and forward ports, especially since my friends are behind CGNAT? This would allow them to play with each other without me.

Currently, I am port forwarding, and my friends are using custom broadcasts with my public IP. Thanks!.

otavepto commented 5 months ago

I'm not sure about the setup but you usually need to forward ports when you're hosting a game/server to allow incoming external traffic on a specific port. Not sure if something like RadminVPN would help.

turusudiro commented 4 months ago

My current setup is vpn server with L2 on vps, so it can send broadcast. But i want to a simpler solution like run Goldberg Server to receive broadcast/packet (?) on vps so the client who wants to play together behind cgnat is possible to create a connection between each other.

otavepto commented 4 months ago

You probably already know this but I'll mention it just in case, the emu could send a broadcast to a custom list of your own. This could be done by creating a file custom_broadcasts.txt inside the steam_settings folder, each IP/name on a separate line.

https://github.com/otavepto/gbe_fork/blob/018d4aa2c10dac12a6913ad01230bd3320a05f96/z_original_repo_files/Readme_release.txt#L87

I'll keep this open if someone with better knowledge can help with this

SeasonPhan commented 4 months ago

i think we will need something like a master server to manage and connect all clients together?

turusudiro commented 4 months ago

i think we will need something like a master server to manage and connect all clients together?

yeah i mean like this, it kinda sucks if other people on cgnat want to play together without a person who had a Public IP. Zerotier and Tailscale is a big no for us lol because the latency is crazy since my friends behind strict nat so its kinda impossible to hole punching NAT. Maybe we need some Master server that handle packets to clients that use custom_broadcast and set it to Master server?

M4RCK5 commented 3 months ago

i think we will need something like a master server to manage and connect all clients together?

yeah i mean like this, it kinda sucks if other people on cgnat want to play together without a person who had a Public IP. Zerotier and Tailscale is a big no for us lol because the latency is crazy since my friends behind strict nat so its kinda impossible to hole punching NAT. Maybe we need some Master server that handle packets to clients that use custom_broadcast and set it to Master server?

What about Lanemu, its an decentralized vpn, you need at least one of u guys to open ports so that client can work as an relay server too.

Here is how to set it up: Lanemu

Vlxst commented 2 months ago

i think we will need something like a master server to manage and connect all clients together?

yeah i mean like this, it kinda sucks if other people on cgnat want to play together without a person who had a Public IP. Zerotier and Tailscale is a big no for us lol because the latency is crazy since my friends behind strict nat so its kinda impossible to hole punching NAT. Maybe we need some Master server that handle packets to clients that use custom_broadcast and set it to Master server?

What about Lanemu, its an decentralized vpn, you need at least one of u guys to open ports so that client can work as an relay server too.

Here is how to set it up: Lanemu

Interesting, I'd like to see how this actually behaves

LuKeSt0rm commented 2 weeks ago

Could be interesting for this topic: https://github.com/otavepto/gbe_fork/issues/233

elyashivhazan commented 2 weeks ago

@turusudiro

i think we will need something like a master server to manage and connect all clients together?

yeah i mean like this, it kinda sucks if other people on cgnat want to play together without a person who had a Public IP. Zerotier and Tailscale is a big no for us lol because the latency is crazy since my friends behind strict nat so its kinda impossible to hole punching NAT. Maybe we need some Master server that handle packets to clients that use custom_broadcast and set it to Master server?

if ur friends under cgnat then they cant talk ptp they must go under a central server (what u suggested or at least what i understand from that suggestion) and ur setup is already doing it with zt1/tailscale. considering ur the one who set this up when ur offline ur friends can still play. this is what my group of friends r doing. i setup zt1 and they connect, im not even using custom_broadcasts because in windows (any os) u can just set the if's mtu to lets say 1 and all broadcast go to that vpn (considering the vpn supports L2 and zt1 dose)

qwertysmosh commented 2 weeks ago

i think we will need something like a master server to manage and connect all clients together?

yeah i mean like this, it kinda sucks if other people on cgnat want to play together without a person who had a Public IP. Zerotier and Tailscale is a big no for us lol because the latency is crazy since my friends behind strict nat so its kinda impossible to hole punching NAT. Maybe we need some Master server that handle packets to clients that use custom_broadcast and set it to Master server?

What about Lanemu, its an decentralized vpn, you need at least one of u guys to open ports so that client can work as an relay server too.

Here is how to set it up: Lanemu

If my network is under CGNAT and I want to run it through playit.gg tunneling, what should I put into Known Hosts? Do I put 127.0.0.1:port, localhost:port or the IP Address provided by playit.gg?

Edit: Okay, I managed to make it work through tunneling!