Cant get player's ip when use colyseus/proxy
-
I use colyseus/proxy for my game.
If I use this code to get ip. I only get ip of proxy of cloud. Not client's ip.async onAuth(client: Client, options: any, request: http.IncomingMessage) { const ip = request.headers['x-forwarded-for'] || request.connection.remoteAddress; }
Anyone has same problem ? And how to solve this problem ?
-
Hi @ttcong194, thanks for pointing out!
Can you upgrade
@colyseus/proxy
to version0.12.4
? I've just pushed a fix for this, now forwarding properly the"x-forwarded-for"
header: https://github.com/colyseus/proxy/commit/7137237311709b47f138607334a4ce4e81c8501dPlease let me know if that works for you! Cheers!
-
@endel thanks for replying me.
I update new proxy use this command npm i @colyseus/proxy@latest. And make sure last version is 0.12.4.
But when I check file proxy.js again at /node_modules/@colyseus/proxy/proxy.js, I cant find line req.headers['x-forwarded-for'] = req.connection.remoteAddress;server.on('upgrade', function (req, socket, head) { var proxy = getProxy(req.url); if (proxy) { proxy.ws(req, socket, head); } else { console.error("No proxy available!", processIds); } });
is that any wrong with me ?
-
Oops, you're right @ttcong194, for some reason the pre-publishing script did not run before publishing the NPM package... It has been fixed now on 0.12.5! Sorry about that
-
@endel . it's done and work for me. thanks for your support. You're so nice.