From 71de758bfb2d1e0dd9c540d8c1cbcb701deb8fce Mon Sep 17 00:00:00 2001 From: ItsCharaHere Date: Fri, 27 Jun 2025 00:51:37 -0700 Subject: [PATCH] we gettin symmetrical up in this bitch --- apps/server/reflector/src/index.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/server/reflector/src/index.ts b/apps/server/reflector/src/index.ts index 69f8ade..834f900 100644 --- a/apps/server/reflector/src/index.ts +++ b/apps/server/reflector/src/index.ts @@ -116,9 +116,23 @@ class UdpClass { this.Client = udp.createSocket('udp4') console.log("Opening Socket on Port " + port) this.Client.bind(port) - this.Client.on('message', async function (msg, info) { + this.Client.on('message', async (msg, info) => { //console.log(mappedUDP.get(info.port)) - mappedUDP.get(info.port)!.sendPacket(ip, port, msg, `${e.PUBLIC_IP}:${info.port}`) + var clientmap = mappedUDP.get(info.port) + if (clientmap != undefined) { + clientmap.sendPacket(ip, this.port, msg, `${e.PUBLIC_IP}:${info.port}`) + } else { + console.log(`Detected Symmetrical NAT, Old Port ${port} New Port ${info.port}`) + mappedUDP.forEach((entry: any, index: number) => { + if (entry.ip == info.address) { + let oldentry = entry.port + entry.port = info.port + mappedUDP.set(oldentry, entry) + mappedUDP.set(info.port, entry) + } + }) + } + }) }