hjlflz
This commit is contained in:
parent
ed5d27b1b7
commit
52dc0afc02
@ -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);
|
||||
|
||||
|
||||
@ -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) => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user