Hi!
Apologies if this isn't the correct forum, but I'm out of options. I'm developing an online game and we use websocket connections for server events like matchmaking, chat etc.
Since the very start, people with a Spectrum router have consistently reported connection drops to the websocket, anywhere from 20 seconds to 2 minutes after establishing it.
After an ungodly amount of debugging we figured out that disabling the IPv6 firewall on the Spectrum router fixes the problem.
Now I see myself helping people fix this issue daily and would love to be able to work around this on our end to stop wasting people's time and opening them up to potential security risks.
The socket connection is made from a native client in C# to a Node.js back-end server, switching out libraries for different ones on either has not resulted in any improvements.
Our Node.js server is behind Cloudflare and a reverse proxy using Nginx. The game is created using the Unity game engine if that matters.
Important to note is that ONLY Spectrum routers are experiencing this so it's not the good old Cloudflare socket timeout. The Node.js server uses an IPv4 address but being behind Cloudflare it resolves an IPv6 address. It is not possible to disable this functionality on Cloudflare and we do not have the option to remove Cloudflare from the equation at the moment.
Any ideas or even crumbs to lead us to a potential solution are greatly appreciated!
Thank you
Apologies if this isn't the correct forum, but I'm out of options. I'm developing an online game and we use websocket connections for server events like matchmaking, chat etc.
Since the very start, people with a Spectrum router have consistently reported connection drops to the websocket, anywhere from 20 seconds to 2 minutes after establishing it.
After an ungodly amount of debugging we figured out that disabling the IPv6 firewall on the Spectrum router fixes the problem.
Now I see myself helping people fix this issue daily and would love to be able to work around this on our end to stop wasting people's time and opening them up to potential security risks.
The socket connection is made from a native client in C# to a Node.js back-end server, switching out libraries for different ones on either has not resulted in any improvements.
Our Node.js server is behind Cloudflare and a reverse proxy using Nginx. The game is created using the Unity game engine if that matters.
Important to note is that ONLY Spectrum routers are experiencing this so it's not the good old Cloudflare socket timeout. The Node.js server uses an IPv4 address but being behind Cloudflare it resolves an IPv6 address. It is not possible to disable this functionality on Cloudflare and we do not have the option to remove Cloudflare from the equation at the moment.
Any ideas or even crumbs to lead us to a potential solution are greatly appreciated!
Thank you