diff --git a/sockets/arena_socket.js b/sockets/arena_socket.js index d94a546..fa8a415 100644 --- a/sockets/arena_socket.js +++ b/sockets/arena_socket.js @@ -404,22 +404,18 @@ function registerArenaHandlers(io, socket) { const room = io._arenaRooms.get(matchId); room.sockets[slot] = socket.id; - // Name bestimmen: playerName vom Client hat Vorrang (kommt direkt aus /arena/me), - // socket.user nur als Fallback (kann Default-Wert "Spieler" o.ä. enthalten) - const u = socket.user; - const serverName = u && (u.ingame_name || u.username); // u.name bewusst NICHT, oft Default-Wert - const resolvedName = - (playerName && playerName !== "Spieler" ? playerName : null) || - serverName || - playerName || // playerName als letzter Versuch (auch wenn "Spieler") - "Spieler"; - - // Guten Namen nie mit Fallback überschreiben - if (!room.names[slot] || room.names[slot] === "Spieler") { - room.names[slot] = resolvedName; - } else if (resolvedName && resolvedName !== "Spieler") { - room.names[slot] = resolvedName; + // Name: direkt vom Client (kommt aus /arena/me), socket.user wird ignoriert + // da es oft Default-Werte enthält die den echten Namen überschreiben würden + if (playerName && playerName !== "Spieler") { + // Guter Name vom Client → immer übernehmen + room.names[slot] = playerName; + } else if (!room.names[slot] || room.names[slot] === "Spieler") { + // Kein guter Name bekannt → Fallback + room.names[slot] = playerName || "Spieler"; } + // Sonst: bereits guter Name gespeichert → nicht überschreiben + + console.log(`[1v1] Name gesetzt: slot=${slot}, name=${room.names[slot]}, playerName=${playerName}`); socket.join("arena_" + matchId);