This commit is contained in:
cay 2026-04-12 10:05:39 +01:00
parent ac9358e400
commit 755965ba2b

View File

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