From 52dc0afc0229d2450b07117fe77a035f32f40d6e Mon Sep 17 00:00:00 2001 From: cay Date: Sun, 12 Apr 2026 09:57:37 +0100 Subject: [PATCH] hjlflz --- sockets/arena_socket.js | 12 ++++++++++-- views/1v1-battlefield.ejs | 16 ++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/sockets/arena_socket.js b/sockets/arena_socket.js index b6f2b34..dcadf1c 100644 --- a/sockets/arena_socket.js +++ b/sockets/arena_socket.js @@ -406,8 +406,16 @@ function registerArenaHandlers(io, socket) { // Name aus socket.user (Objekt) oder vom Client mitgesendet const u = socket.user; - room.names[slot] = - (u && (u.ingame_name || u.username || u.name)) || playerName || "Spieler"; + const resolvedName = + (u && (u.ingame_name || u.username || u.name)) || playerName || null; + + // Guten Namen nie mit Fallback überschreiben: + // Nur setzen wenn (a) noch kein Name gespeichert ist, oder (b) neuer Name besser ist + if (!room.names[slot] || room.names[slot] === "Spieler") { + room.names[slot] = resolvedName || "Spieler"; + } else if (resolvedName && resolvedName !== "Spieler") { + room.names[slot] = resolvedName; + } socket.join("arena_" + matchId); diff --git a/views/1v1-battlefield.ejs b/views/1v1-battlefield.ejs index 08b0c7f..45f74df 100644 --- a/views/1v1-battlefield.ejs +++ b/views/1v1-battlefield.ejs @@ -760,10 +760,22 @@ // Sofort emittieren (socket.io puffert bis verbunden) fetchAndJoin(); - // Sicherheits-Retry nach 2s falls connect noch aussteht + // Sicherheits-Retry: nur erneut joinen wenn Name schon bekannt ist + // (verhindert dass ein fehlgeschlagener /arena/me-Fetch den Namen auf "Spieler" überschreibt) socket.on("connect", () => { console.log("[1v1] Socket connected:", socket.id); - fetchAndJoin(); + if (myIngameName && myIngameName !== "Spieler") { + // Name bereits bekannt → direkt arena_join senden, kein erneuter Fetch nötig + socket.emit("arena_join", { + matchId, + slot: mySlot, + accountId: null, + playerName: myIngameName, + }); + } else { + // Name noch unbekannt (erster Connect oder Fetch fehlgeschlagen) → fetch wiederholen + fetchAndJoin(); + } }); socket.on("connect_error", (err) => {