diff --git a/node_modules/@xhayper/discord-rpc/dist/transport/IPC.d.ts b/node_modules/@xhayper/discord-rpc/dist/transport/IPC.d.ts
index 6da3fb1..796344d 100644
--- a/node_modules/@xhayper/discord-rpc/dist/transport/IPC.d.ts
+++ b/node_modules/@xhayper/discord-rpc/dist/transport/IPC.d.ts
@@ -6,7 +6,7 @@ export declare enum IPC_OPCODE {
     PING = 3,
     PONG = 4
 }
-export type FormatFunction = (id: number) => string;
+export type FormatFunction = (id: number) => string | [number, string];
 export type PathData = {
     platform: NodeJS.Platform[];
     format: FormatFunction;
diff --git a/node_modules/@xhayper/discord-rpc/dist/transport/IPC.js b/node_modules/@xhayper/discord-rpc/dist/transport/IPC.js
index 2a9a7b3..074f5bb 100644
--- a/node_modules/@xhayper/discord-rpc/dist/transport/IPC.js
+++ b/node_modules/@xhayper/discord-rpc/dist/transport/IPC.js
@@ -59,9 +59,12 @@ const createSocket = async (path) => {
             socket.removeListener("error", onError);
             resolve(socket);
         };
-        const socket = node_net_1.default.createConnection(path);
+        let socket;
+        if (typeof path === "string") socket = node_net_1.default.createConnection(path);
+        else socket = node_net_1.default.createConnection(path[0], path[1]);
         socket.once("connect", onConnect);
         socket.once("error", onError);
+        socket.setKeepAlive(true, 10000);
     });
 };
 class IPCTransport extends Transport_1.Transport {
@@ -100,14 +103,19 @@ class IPCTransport extends Transport_1.Transport {
                 else
                     for (let i = 0; i < 10; i++)
                         pipeIdList.push(i);
-                for (const pipeId of pipeIdList) {
-                    const socketPath = pat.format(pipeId);
-                    if (process.platform !== "win32" && !node_fs_1.default.existsSync(socketPath))
-                        continue;
-                    useablePath.push(socketPath);
+                const test = pat.format(pipeId);
+                if(Array.isArray(test)) {
+                    useablePath.push(test);
+                } else {
+                    for (const pipeId of pipeIdList) {
+                        const socketPath = pat.format(pipeId);
+                        if (process.platform !== "win32" && typeof socketPath === 'string' && !node_fs_1.default.existsSync(socketPath))
+                            continue;
+                        useablePath.push(socketPath);
+                    }
                 }
             }
-            this.client.emit("debug", `CLIENT | Found ${useablePath.length} Discord client path;\n${useablePath.join("\n")}`);
+            this.client.emit("debug", `CLIENT | Found ${useablePath.length} Discord client path;\n${useablePath.map(x => Array.isArray(x) ? `${x[1]}:${x[0]}` : x).join("\n")}`);
             if (useablePath.length < 0)
                 return reject(new RPCError_1.RPCError(Transport_1.CUSTOM_RPC_ERROR_CODE.COULD_NOT_FIND_CLIENT, "Unable to find any Discord client"));
             for (const path of useablePath) {
@@ -134,11 +142,12 @@ class IPCTransport extends Transport_1.Transport {
                 const chunk = this.socket?.read();
                 if (!chunk)
                     break;
-                this.client.emit("debug", `SERVER => CLIENT | ${chunk
-                    .toString("hex")
-                    .match(/.{1,2}/g)
-                    ?.join(" ")
-                    .toUpperCase()}`);
+                // this.client.emit("debug", `SERVER => CLIENT | ${chunk
+                //     .toString("hex")
+                //     .match(/.{1,2}/g)
+                //     ?.join(" ")
+                //     .toUpperCase()}`);
+                this.client.emit("debug", `SERVER => CLIENT | ${chunk.toString()}`);
                 data = Buffer.concat([data, chunk]);
             } while (true);
             if (data.length < 8) {
@@ -187,6 +196,9 @@ class IPCTransport extends Transport_1.Transport {
             this.socket = undefined;
             this.emit("close", "Closed by Discord");
         });
+        this.socket.on("error", (e) => {
+            this.emit("error", e);
+        });
     }
     send(message, op = IPC_OPCODE.FRAME) {
         this.client.emit("debug", `CLIENT => SERVER | OPCODE.${IPC_OPCODE[op]} |`, message);
