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);
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);