I currently have to configure Cloudflare so that my clients can connect to my game server let me explain.
At first the game client will first look for files hosted on my site (dynastie.online/dofus/) then the client connects via port 844 in order to be able to access the game server, however I find myself stuck when my game client tries to fetch files from dynasty.online/dofus/
I provide you with a screenshot of the error on my game client
i’ve tried with putting the IP adress of my machine rather than the domain name and it works but i want it to be with domainname please …
Cloudflare’s proxy is only for HTTP & HTTPS traffic.
If you want to do anything else, like hosting a gameserver, you’ll need to use Cloudflare Tunnels which requires a client on every user who will be joining (https://developers.cloudflare.com/cloudflare-one/applications/non-http/arbitrary-tcp/) or Cloudflare Spectrum (https://www.cloudflare.com/products/cloudflare-spectrum/)
If you’re not worried about people knowing the IP, just set that DNS record to DNS Only/grey cloud and port
844 will work.
I have a perfect example below, my game client requested the ‘versions.swf’ file from the server via port 80 and it receives in response a 301 Moved Permanently whereas if I go to a browser I can download it .
Here is a screenshot of the request sent
Some more infos regarding the problem, a friend did some sniffing of the where the dns in the client is going, and it seems to not reach the IP of the server but other things, so it never get to dynastie.online/dofus but ends up somewhere else …
Port 80 is HTTP - you will have been redirected to 443 which is HTTPS.
That’s how Cloudflare’s proxy works - it’ll replace the IP in DNS lookups with Cloudflare so that traffic hits Cloudflare and then Cloudflare fetches your origin.
But like discussed previously, this is purely for HTTP/HTTPS - gameservers won’t work with it.
I’ve found the problem, it was the version of the used browser (BIC - Browser Integrity Check) (HTTP 1.1) so i made a new rule juste for a specific folder in my website, but now i’ve a last problem, i can’t connect my client with the port 2052, the Cloudflare protection block my access
2052 will only work with HTTP.
If you’re using
2052 to connect to something that isn’t HTTP then like mentioned before, it won’t work.
I tried 2053 (HTTPS) but nothing, the client can’t reach the server, can’t it be that is the same problem ? (BIC)
What is ‘the client’ though - are you trying to download a file or connect to a WebSocket?
It’s a game, the game will connect to a Java WebSocket
And will exchange packet with the socket
Make sure WebSockets are enabled in https://dash.cloudflare.com/?to=/:account/:zone/network
I can’t speak to if your use-case is allowed though - Cloudflare’s proxy is intended for websites and whatnot, the bandwidth used for the purpose of a gameserver might fall foul of that.
If it can help you, it’s an old game who use Flash
If Cloudflare are blocking the requests, you’ll see them in the firewall event log - available at https://dash.cloudflare.com/?to=/:account/:zone/security towards the bottom of the page.
If you can’t see them in there then unfortunately I’m not sure what else you could check, I haven’t used WebSockets with Cloudflare myself.
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.