fix game3

This commit is contained in:
2026-06-29 17:15:00 +00:00
parent 080053135e
commit 9589b26aa4
19 changed files with 201510 additions and 41 deletions
+15 -15
View File
@@ -51,9 +51,9 @@
"providerUserId": "p_1775109142385_wq7wfy1p32j",
"notes": "auto: player-coins",
"blocked": false,
"coins": 2482,
"coins": 2536,
"createdAt": "2026-04-02T05:52:21+00:00",
"updatedAt": "2026-06-29T15:18:44+00:00",
"updatedAt": "2026-06-29T17:14:36+00:00",
"daily": {
"anchorMs": 1781197200000,
"claimedDays": [
@@ -67,23 +67,23 @@
],
"lockUntilMs": 0
},
"score": 408,
"score": 462,
"scoreByCase": {
"1": 26,
"10": 696,
"10": 724,
"8": 296,
"11": 20,
"13": 324,
"14": 30,
"9": 40,
"12": 456,
"12": 466,
"15": 20,
"4": 20,
"5": 32,
"7": 6,
"3": 142,
"3": 150,
"6": 44,
"2": 130
"2": 138
},
"lbName": "Q",
"achievements": {
@@ -924,20 +924,20 @@
"providerUserId": "p_1782376007927_lpt9m4xge9",
"notes": "auto: player-coins",
"blocked": false,
"coins": 166,
"coins": 220,
"createdAt": "2026-06-25T08:26:49+00:00",
"updatedAt": "2026-06-29T15:18:44+00:00",
"score": 166,
"updatedAt": "2026-06-29T17:14:36+00:00",
"score": 220,
"scoreByCase": {
"12": 70,
"12": 78,
"8": 20,
"3": 10,
"2": 50,
"10": 16
"3": 20,
"2": 60,
"10": 42
},
"lbName": "MONE",
"achievements": {
"d1_minigame_solver": 17
"d1_minigame_solver": 20
}
},
{
+2 -2
View File
@@ -95,9 +95,9 @@
"balloonBossPlayerBalloonFallbackUrl": "/Game/img/MegaVirus/Artboard%209.png",
"balloonBossBalloonsPerPlayer": 3,
"forcedMinigameKeys": [
"quiz_carry",
"gauntlet",
"space_shooter",
"balloon_boss"
"stack"
],
"testSpecialCardByMap": {},
"troublesomeForceOffer": false,
+48 -11
View File
@@ -697,6 +697,9 @@
/* server-auth swing: extrapolate phase จาก sample ล่าสุดของ server (กัน drift → บล็อกวาปตอนปล่อย) */
let stackSrvPhaseAnchor = 0;
let stackSrvPhaseAnchorAt = 0;
/* freeze เฟสที่เห็น ณ ตอนกดวาง ไว้จน echo ดรอปกลับมา → บล็อกไม่แกว่งต่อแล้วเด้งกลับช่วงรอ RTT */
let stackLocalSwingFrozen = false;
let stackLocalSwingFrozenAt = 0;
/** MG3 = + id / (shared tower)
(เด [human=วเอง seat1 + bots] อเครอง แตละเครองมองตวเองเปนคนเดยว เลยแยกตกก) */
@@ -11335,7 +11338,8 @@
const order = stackPreviewTurnOrder;
let entry = null;
if (order && order.length) entry = order.find((e) => e.seat === seat) || null;
if (!entry || entry.kind === 'human') {
/* ตัวเรา (ตาเรา หรือไม่มี entry) → หน้าตัวเอง */
if (!entry || (entry.kind === 'human' && myId != null && String(entry.id) === String(myId))) {
return {
id: myId,
characterId: me.characterId || getPlayCharacterId(),
@@ -11343,6 +11347,17 @@
playTint: me.playTint || resolvePlayTintForPeer(String(myId != null ? myId : 'me')),
};
}
/* ตาคนจริง "คนอื่น" → หน้า/สีของเขา (เดิม bug: คืน me เสมอ → ตาคนอื่นโชว์หน้าเราเอง) */
if (entry.kind === 'human') {
const oh = entry.id != null ? (others.get(entry.id) || others.get(String(entry.id))) : null;
return {
id: entry.id,
characterId: oh ? oh.characterId : null,
isMe: false,
playTint: (oh && (oh.playTint || resolvePlayTintForPeer(String(entry.id)))) || resolvePlayTintForPeer(String(entry.id)),
};
}
/* ตาบอท → หน้า/สีบอท */
const o = entry.botId ? others.get(entry.botId) : null;
return {
id: entry.botId,
@@ -12097,6 +12112,8 @@
stackServerAuthPlay = false; /* re-arm: server จะเปิดใหม่ผ่าน stack-state(srv) เมื่อรอบใหม่เริ่ม */
stackSrvPhaseAnchor = 0;
stackSrvPhaseAnchorAt = 0;
stackLocalSwingFrozen = false;
stackLocalSwingFrozenAt = 0;
if (!mapData || !isStack()) return;
const w = mapData.width || 20, h = mapData.height || 15;
const land = getStackAreaBoundsPlay(mapData.stackLandArea, w, h);
@@ -12457,8 +12474,9 @@
const actorHeavy = !!m.pendingDropHeavy;
const actorTheme = m.pendingDropTheme || null; /* remote drop = สีจาก host; local = null (resolve เอง) */
const tw = m.widthTiles * tileSize * getStackTowerBlockWorldScalePlay();
/* server-auth: offset server (landOffsetTiles) =
(เดมเรมจาก m.phase client อาจคลาดจาก server บลอกเรมคนละจดกบท) */
/* release = server (landOffsetTiles) "" ( server-time sync teleport )
landing = placedCx absolute จาก server ตรงก layer settle เป ไมสแนปตอนลงโดนบลอกล
(เดมใช m.phase[displayed-now] เปนจดปลอยแตลงท placedCx[drop-phase] = ไถลเฉยงตาม echo-delay) */
const swingReleaseOff = (stackServerAuthPlay && Number.isFinite(hit.landOffsetTiles))
? hit.landOffsetTiles
: (m.swingAmp * Math.sin(m.phase));
@@ -12469,7 +12487,9 @@
let y1 = m.floorWorldY - (m.layers.length + 1) * lh;
if (y1 <= swingAttachY) y1 = swingAttachY + lh * 0.55;
const landOff = hit.landOffsetTiles || 0;
const landCxWorld = (m.topCenterX + landOff) * tileSize;
const landCxWorld = (stackServerAuthPlay && Number.isFinite(hit.placedCx))
? hit.placedCx * tileSize
: (m.topCenterX + landOff) * tileSize;
const xLeft0 = swingXW - tw / 2;
const xLeft1 = landCxWorld - tw / 2;
const offN = Math.min(1, Math.abs(landOff) / Math.max(0.01, m.swingAmp));
@@ -12506,6 +12526,8 @@
actorHeavy,
actorTheme,
};
/* ดรอปเริ่ม → ล้าง anchor swing: ตาถัดไปจะ re-anchor ใหม่จาก packet แรก (ไม่ให้ free-run สะสมเวลาช่วงบล็อกร่ว) */
stackSrvPhaseAnchorAt = 0;
return true;
}
@@ -12524,9 +12546,12 @@
function tryHumanStackDrop() {
if (!stackHumanDropGateOkPlay()) return false;
if (stackServerAuthPlay) {
/* server-auth: ส่งเจตนากดวาง → server คำนวณ ณ เฟสปัจจุบัน แล้ว emit stack-drop กลับมาทุกเครื่อง (รวมเรา) */
try { socket.emit('stack-drop-req'); } catch (e) { /* ignore */ }
/* server-auth: ส่งเจตนากดวาง + เฟสที่เราเห็น ณ ตอนนี้ → server วางตรงจุดที่เราเห็นแกว่ง (ไม่เยื้องตาม half-RTT) */
try { socket.emit('stack-drop-req', { phase: stackMini.phase }); } catch (e) { /* ignore */ }
stackMini.lastDropAt = Date.now(); /* กัน double-tap (server มี busyUntil อยู่แล้ว) */
/* freeze เฟสที่เห็น ณ ตอนกด ไว้จนดรอปกลับมา → ไม่แกว่งต่อแล้วเด้งกลับช่วงรอ echo */
stackLocalSwingFrozen = true;
stackLocalSwingFrozenAt = Date.now();
if (specialQuizIcon) sendSpecialQuizCollide();
return true;
}
@@ -12698,8 +12723,10 @@
let advancePhase = true;
let emitSwing = false;
if (stackServerAuthPlay) {
if (!stackFall && !stackMini.settling && stackSrvPhaseAnchorAt > 0) {
const elapsed = (Date.now() - stackSrvPhaseAnchorAt) / 1000;
if (stackLocalSwingFrozen && Date.now() - stackLocalSwingFrozenAt > 1600) stackLocalSwingFrozen = false; /* safety: echo หาย → ปลดเอง */
if (!stackLocalSwingFrozen && !stackFall && !stackMini.settling && stackSrvPhaseAnchorAt > 0) {
/* extrapolate จาก anchor (เวลา server) ด้วย serverNow() → เฟสที่แสดง = เฟส server ปัจจุบัน (ลื่น+ตรง) */
const elapsed = (serverNow() - stackSrvPhaseAnchorAt) / 1000;
stackMini.phase = stackSrvPhaseAnchor + elapsed * stackMini.phaseSpeed * Math.PI * 2;
}
advancePhase = false;
@@ -20903,6 +20930,7 @@
/* MG3 stack (shared tower): รับผลการวางจากเจ้าของตา → เข้าคิว แล้วทยอย apply ทีละอัน (กันทิ้งดรอปตอนบล็อกกำลังร่วง = ตึก/% ต่างกัน) */
socket.on('stack-drop', (d) => {
if (!d || !mapData || !isStack() || !stackMini || !(detectiveCaseFillBots || stackServerAuthPlay)) return;
stackLocalSwingFrozen = false; /* echo ดรอปมาถึง → ปลด freeze (บล็อกกำลังจะร่วง) */
const hit = {
miss: !!d.miss, perfect: !!d.perfect, pts: Number(d.pts) || 0, progressDelta: Number(d.progressDelta) || 0,
landOffsetTiles: Number(d.landOffsetTiles) || 0,
@@ -20944,9 +20972,18 @@
const ph = Number(d.phase);
if (Number.isFinite(ph)) {
if (stackServerAuthPlay && !stackFall && !stackMini.settling) {
stackSrvPhaseAnchor = ph;
stackSrvPhaseAnchorAt = Date.now();
stackMini.phase = ph;
if (stackLocalSwingFrozen) {
/* เพิ่งกดวาง รอ echo → คงเฟสที่ค้างไว้ ไม่ให้ swing จาก server มากระตุก */
} else {
/* anchor " server" (d.t) render extrapolate serverNow() = server
(ไมใชเฟสเกาคาง half-RTT). re-anchor packet "ลื่นไม่กระตุก" เพราะ (ph,t) อยบนเสนเวลา-เฟสเดยวก
extrapolate อเนอง; และ "ไม่วาป/ไม่ไถลตอนปล่อย" เพราะจดทเห = ดท server วาง (placedCx) */
const sp2 = (Number.isFinite(stackMini.phaseSpeed) && stackMini.phaseSpeed > 0) ? stackMini.phaseSpeed : 0.6;
const srvT = Number(d.t);
stackSrvPhaseAnchor = ph;
stackSrvPhaseAnchorAt = Number.isFinite(srvT) ? srvT : serverNow(); /* เก็บเป็น "เวลา server" */
stackMini.phase = ph + ((serverNow() - stackSrvPhaseAnchorAt) / 1000) * sp2 * Math.PI * 2;
}
} else {
stackMini.phase = ph;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -5438,7 +5438,7 @@
<script src="/app-base.js?v=2"></script>
<script src="/Game/socket.io/socket.io.js"></script>
<script src="js/version.js?v=0.0306"></script>
<script src="js/play.js?v=0.006291620"></script>
<script src="js/play.js?v=0.006300035"></script>
<div class="version-tag">v —</div>
<style id="qc-howto-mg2-fix">
/* HOW TO PLAY ของ quiz_carry (Minigame-4) -> ให้เหมือน Minigame-2 (gch-mg2-mock)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+37 -12
View File
@@ -7766,6 +7766,7 @@ const STACK_DROP_BUSY_MS = 1500; /* รอแอนิเมชันบล็
const STACK_BOT_THINK_MIN_MS = 560;
const STACK_BOT_THINK_MAX_MS = 1180;
const STACK_SEATS = 6;
const STACK_DROP_PHASE_TOL = 1.2; /* เฟส client (ตอนกดวาง) ต้องใกล้เฟส server ไม่เกินนี้ (rad) ถึงจะใช้ — กันโกง */
function stackBoundsServer(area, w, h) {
let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity, any = false;
@@ -7832,9 +7833,12 @@ function newStackSessionState(space, md) {
timerId: null,
};
}
/* port computeStackDropResult (gameplay-only) */
function stackComputeDropServer(s, md) {
const raw = s.swingAmp * Math.sin(s.phase);
/* port computeStackDropResult (gameplay-only)
phaseOverride: ตา "คนจริง" งเฟสทเหนตอนกดมาดวย (client phase) คำนวณจดลงตามทเลนเห
ไมใชเฟส server ตอน req มาถ (ากว half-RTT = บลอกลงเยอง). บอท/fallback ใช s.phase */
function stackComputeDropServer(s, md, phaseOverride) {
const dropPhase = (typeof phaseOverride === 'number' && Number.isFinite(phaseOverride)) ? phaseOverride : s.phase;
const raw = s.swingAmp * Math.sin(dropPhase);
const w = md.width || 20, h = md.height || 15;
const land = stackBoundsServer(md.stackLandArea, w, h);
const fallW = Math.max(0.85, Math.min(3.2, s.widthTiles != null ? s.widthTiles : s.initialWidthTiles));
@@ -7963,15 +7967,31 @@ function stackBotComputeAimPhaseServer(s, md, tier) {
}
return Number.isFinite(best) ? best : s.phase + twoPi * 0.5;
}
/* block "" = lobbyColorThemeIndex (1-8) avatar
(เดมโค stack ใช p.lobbyThemeIndex ไมเคยถกเซ null เสมอ; และ (x%8)+1 บนค 1-based = เลอนส 1 อง) */
function normStackTheme8(n) {
const v = Math.floor(Number(n));
return Number.isFinite(v) ? ((v - 1) % 8 + 8) % 8 + 1 : null;
}
function stackHumanThemeServer(p) {
return p ? normStackTheme8(p.lobbyColorThemeIndex) : null;
}
/* สี block ของบอท AI = สี avatar บอท slot นั้น (lobbyBotThemeBySlot[slot].themeIndex) ไม่ใช่ (slot%8)+1 */
function stackBotThemeServer(space, slot) {
const m = space && space.lobbyBotThemeBySlot;
const t = m && m[slot] ? normStackTheme8(m[slot].themeIndex) : null;
return t || (((Math.floor(Number(slot)) % 8) + 8) % 8 + 1);
}
/* สร้างลำดับตา: humans (เรียง spawnJoinOrder) + bots เติมที่ว่าง ≤ 6 ที่นั่ง */
function buildStackTurnOrderServer(space, s) {
try { syncLobbyBotThemeSlots(space); } catch (_e) { /* ให้ lobbyBotThemeBySlot ตรงกับสีที่ client ได้รับ → สี block บอทตรง avatar */ }
const humans = [...space.peers.entries()].filter(([id]) => !isBannedPeerForRun(space, id));
humans.sort((a, b) => (((a[1].spawnJoinOrder || 0) - (b[1].spawnJoinOrder || 0)) || (String(a[0]) < String(b[0]) ? -1 : 1)));
const order = [];
let seat = 1;
for (const [id, p] of humans) {
if (seat > STACK_SEATS) break;
order.push({ kind: 'human', seat, id, botId: null, theme: (p.lobbyThemeIndex != null ? (Number(p.lobbyThemeIndex) % 8) + 1 : null) });
order.push({ kind: 'human', seat, id, botId: null, theme: stackHumanThemeServer(p) });
seat++;
}
/* บอท takeover (คนหลุดช่วง how-to) ได้ seat ต่อจากคน ก่อนบอท AI — คง avatar/ตำแหน่งลำดับเดิมไว้ */
@@ -7994,7 +8014,7 @@ function buildStackTurnOrderServer(space, s) {
if (slot === bannedBotSlot) { slot++; continue; }
const botId = GAUNTLET_BOT_PREFIX + slot;
if (!s.bots.has(botId)) s.bots.set(botId, { tier: gauntletBotTierForSlot(slot), score: 0 });
order.push({ kind: 'bot', seat, id: null, botId, theme: ((slot % 8) + 1) });
order.push({ kind: 'bot', seat, id: null, botId, theme: stackBotThemeServer(space, slot) });
created++; slot++; seat++;
}
s.turnOrder = order;
@@ -8077,7 +8097,7 @@ function runStackTick(sid, space) {
/* เลื่อนเฟสตามเวลา (ให้ client เห็นแกว่ง) */
s.phase += s.phaseSpeed * (STACK_TICK_MS / 1000) * Math.PI * 2;
/* ส่ง swingAmp+topCenterX ด้วย → client วาดบล็อกที่ห้อยตรงกับโมเดล server เป๊ะ (drop landOffset = swingAmp*sin(phase)) ไม่วาปตอนปล่อย */
if (now - s.lastSwingEmit > 50) { s.lastSwingEmit = now; io.to(sid).emit('stack-swing', { phase: s.phase, speed: s.phaseSpeed, swingAmp: s.swingAmp, topCenterX: s.topCenterX }); }
if (now - s.lastSwingEmit > 50) { s.lastSwingEmit = now; io.to(sid).emit('stack-swing', { phase: s.phase, speed: s.phaseSpeed, swingAmp: s.swingAmp, topCenterX: s.topCenterX, t: now }); }
if (now >= s.botThinkUntil) {
/* ""
(ไมสแนปเฟส = ไมกระต) ปลอยเมอถงเป หรอเลย deadline นคาง */
@@ -8110,7 +8130,7 @@ function runStackTick(sid, space) {
} else {
/* ตาคนจริง — server แกว่งให้ + emit ให้ทุกเครื่อง (รวมเจ้าของตา) เห็นเฟสเดียวกัน รอ stack-drop-req */
s.phase += s.phaseSpeed * (STACK_TICK_MS / 1000) * Math.PI * 2;
if (now - s.lastSwingEmit > 50) { s.lastSwingEmit = now; io.to(sid).emit('stack-swing', { phase: s.phase, speed: s.phaseSpeed, swingAmp: s.swingAmp, topCenterX: s.topCenterX }); }
if (now - s.lastSwingEmit > 50) { s.lastSwingEmit = now; io.to(sid).emit('stack-swing', { phase: s.phase, speed: s.phaseSpeed, swingAmp: s.swingAmp, topCenterX: s.topCenterX, t: now }); }
}
/* broadcast stack-state เป็นระยะ (กัน late-join / desync) */
if (now - s.lastStateEmit > 700) { s.lastStateEmit = now; emitStackStateServer(sid, space); }
@@ -8127,7 +8147,7 @@ function startStackTicker(sid, space) {
drainPendingMissionTakeovers(space, 'stack', (rec) => {
s3.bots.set(rec.id, {
tier: 'avg', score: 0, takeover: true, takeoverPlayerKey: rec.playerKey || '',
theme: Number.isFinite(rec.themeIdx) ? (rec.themeIdx % 8) + 1 : null,
theme: normStackTheme8(rec.themeIdx),
});
});
}
@@ -10798,7 +10818,7 @@ io.on('connection', (socket) => {
});
/* MG3 stack (server-auth) — รับ "เจตนากดวาง" จากผู้เล่นจริง → server คำนวณ ณ เฟสปัจจุบัน + emit ผลให้ทุกเครื่อง */
socket.on('stack-drop-req', () => {
socket.on('stack-drop-req', (data) => {
const sid = socket.data.spaceId;
const space = sid ? spaces.get(sid) : null;
if (!space) return;
@@ -10809,17 +10829,22 @@ io.on('connection', (socket) => {
if (!entry || entry.kind !== 'human' || String(entry.id) !== String(socket.id)) return; /* ต้องเป็นตาของคนนี้ */
const md = (space.mapId && maps.get(space.mapId)) || space.mapData;
if (!md || md.gameType !== 'stack') return;
const hit = stackComputeDropServer(s, md);
/* (client ) half-RTT.
clamp นโกง: องใกลเฟส server ( latency ได ~±1.2rad 300ms@0.6Hz); เกนน = ใช s.phase */
let dropPhase = s.phase;
const cph = data && Number(data.phase);
if (Number.isFinite(cph) && Math.abs(cph - s.phase) <= STACK_DROP_PHASE_TOL) dropPhase = cph;
const hit = stackComputeDropServer(s, md, dropPhase);
stackApplyHitServer(s, hit, { id: entry.id });
const peer = space.peers.get(socket.id);
const theme = peer && peer.lobbyThemeIndex != null ? (Number(peer.lobbyThemeIndex) % 8) + 1 : (entry.theme || null);
const theme = stackHumanThemeServer(peer) || (entry.theme || null);
io.to(sid).emit('stack-drop', {
placedCx: hit.placedCx, placedW: hit.placedW, miss: hit.miss, perfect: hit.perfect,
pts: hit.pts, progressDelta: hit.progressDelta, landOffsetTiles: hit.landOffsetTiles,
overlap: hit.overlap, supportRatio: hit.supportRatio, delta: hit.delta,
seat: entry.seat, heavy: false, theme,
actorId: entry.id, isBot: false,
phase: s.phase,
phase: dropPhase,
teamMissesLeft: s.teamMissesLeft,
});
s.busyUntil = Date.now() + STACK_DROP_BUSY_MS;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+607
View File
@@ -3459,3 +3459,610 @@
{"t":1782747508985,"cat":"MG2","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782747508986,"cat":"MG2","room":"aa","who":"Q","ev":"leave","detail":"หลุด MG2 → บอทแทนในเกม (สี/ตำแหน่งเดิม) · เหลือคน 1","src":"server"}
{"t":1782747518987,"cat":"MG2","room":"aa","who":"Q","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (ตกรอบแล้ว ไม่ spawn)","src":"server"}
{"t":1782749955939,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782749955986,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"preload-start","detail":" [+47ms]","src":"client"}
{"t":1782749956036,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"manifest-done","detail":" [+132ms]","src":"client"}
{"t":1782749956066,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"colors-resolved","detail":" [+133ms]","src":"client"}
{"t":1782749956075,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"socket-connect","detail":" [+142ms]","src":"client"}
{"t":1782749956081,"cat":"LobbyA","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782749957593,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+1682ms]","src":"client"}
{"t":1782749959949,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782749959988,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-start","detail":" [+25ms]","src":"client"}
{"t":1782749960012,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"manifest-done","detail":" [+26ms]","src":"client"}
{"t":1782749960022,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"colors-resolved","detail":" [+26ms]","src":"client"}
{"t":1782749960026,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+26ms]","src":"client"}
{"t":1782749960027,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-ready(occupants)","detail":" [+27ms]","src":"client"}
{"t":1782749960029,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-occupants-done","detail":" [+26ms]","src":"client"}
{"t":1782749960118,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"socket-connect","detail":" [+165ms]","src":"client"}
{"t":1782749960115,"cat":"LobbyA","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782749960891,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+942ms]","src":"client"}
{"t":1782749960924,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+942ms]","src":"client"}
{"t":1782749964681,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+8773ms]","src":"client"}
{"t":1782749964882,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+8970ms]","src":"client"}
{"t":1782749977248,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"preload-ready(occupants)","detail":" [+21341ms]","src":"client"}
{"t":1782749977252,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"preload-occupants-done","detail":" [+21340ms]","src":"client"}
{"t":1782749986806,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+26840ms]","src":"client"}
{"t":1782749986806,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+30881ms]","src":"client"}
{"t":1782749990030,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+34124ms]","src":"client"}
{"t":1782749994394,"cat":"MG3","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782749994515,"cat":"MG3","room":"aa","who":"MONE","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782749994765,"cat":"MG3","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782749994973,"cat":"MG3","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782749998870,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[MONE(self)] :: s1:MONE blk=3 av=3 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5","src":"client"}
{"t":1782749999517,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5","src":"client"}
{"t":1782750007375,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-mismatch","detail":"บอท 3 (ฉลาด) seat5 avatar#4 แต่ block#3 (srvnull\/bc3) | บอท 4 (พลาดบ่อย) seat6 avatar#5 แต่ block#4 (srvnull\/bc4)","src":"client"}
{"t":1782750007375,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750007376,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750007380,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-mismatch","detail":"บอท 3 (ฉลาด) seat5 avatar#4 แต่ block#3 (srvnull\/bc3) | บอท 4 (พลาดบ่อย) seat6 avatar#5 แต่ block#4 (srvnull\/bc4)","src":"client"}
{"t":1782750012874,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750012880,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750019384,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750019389,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750025902,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750025908,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750032406,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782750032407,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782750040062,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782750040062,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782750047224,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782750047225,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(2)=[1:7,3:1]","src":"client"}
{"t":1782750053010,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(2)=[1:7,3:1]","src":"client"}
{"t":1782750053011,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:7,3:1,5:3]","src":"client"}
{"t":1782750059529,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:7,3:1,5:3]","src":"client"}
{"t":1782750059530,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:7,3:1,5:3]","src":"client"}
{"t":1782750066100,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:7,3:1,5:3]","src":"client"}
{"t":1782750066100,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:7,3:1,5:3]","src":"client"}
{"t":1782750073681,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:7,3:1,5:3,2:3]","src":"client"}
{"t":1782750073683,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:7,3:1,5:3,2:3]","src":"client"}
{"t":1782750079700,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:7,3:1,5:3,2:3]","src":"client"}
{"t":1782750079700,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:7,3:1,5:3,2:3]","src":"client"}
{"t":1782750086020,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(5)=[1:7,3:1,5:3,2:3,4:2]","src":"client"}
{"t":1782750086020,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(5)=[1:7,3:1,5:3,2:3,4:2]","src":"client"}
{"t":1782750091266,"cat":"MG3","room":"aa-1782749952910","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(6)=[1:7,3:1,5:3,2:3,4:2,5:3]","src":"client"}
{"t":1782750091269,"cat":"MG3","room":"aa-1782749952910","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(6)=[1:7,3:1,5:3,2:3,4:2,5:3]","src":"client"}
{"t":1782750122980,"cat":"LobbyB","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782750122980,"cat":"LobbyB","room":"aa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750123404,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782750123446,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"preload-start","detail":" [+23ms]","src":"client"}
{"t":1782750123506,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"manifest-done","detail":" [+105ms]","src":"client"}
{"t":1782750123511,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"colors-resolved","detail":" [+106ms]","src":"client"}
{"t":1782750123548,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"socket-connect","detail":" [+134ms]","src":"client"}
{"t":1782750123585,"cat":"LobbyB","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750123844,"cat":"LobbyB","room":"aa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750124246,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782750124293,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-start","detail":" [+23ms]","src":"client"}
{"t":1782750124307,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"manifest-done","detail":" [+23ms]","src":"client"}
{"t":1782750124340,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"colors-resolved","detail":" [+24ms]","src":"client"}
{"t":1782750124350,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+24ms]","src":"client"}
{"t":1782750124350,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-occupants-done","detail":" [+24ms]","src":"client"}
{"t":1782750124363,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-ready(occupants)","detail":" [+24ms]","src":"client"}
{"t":1782750124513,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"socket-connect","detail":" [+257ms]","src":"client"}
{"t":1782750124551,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"join-ok","detail":"peers=2 host=me map=mn8nx46h bots=4 [+1129ms]","src":"client"}
{"t":1782750124605,"cat":"LobbyB","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782750125414,"cat":"LobbyB","room":"aa-1782749952910","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+1165ms]","src":"client"}
{"t":1782750125415,"cat":"LobbyB","room":"aa-1782749952910","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1165ms]","src":"client"}
{"t":1782750129359,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5953ms]","src":"client"}
{"t":1782750152401,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"preload-occupants-done","detail":" [+28996ms]","src":"client"}
{"t":1782750152402,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"preload-ready(occupants)","detail":" [+28996ms]","src":"client"}
{"t":1782750152404,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+28999ms]","src":"client"}
{"t":1782750170125,"cat":"MG2","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-2 วิ่งหลบสิ่งกีดขวาง (การ์ด 2)","src":"server"}
{"t":1782750170241,"cat":"MG2","room":"aa","who":"MONE","ev":"leave","detail":"หลุด MG2 → บอทแทนในเกม (สี/ตำแหน่งเดิม) · เหลือคน 1","src":"server"}
{"t":1782750170544,"cat":"MG2","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782750170633,"cat":"MG2","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750286667,"cat":"LobbyB","room":"aa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750287048,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782750287123,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-start","detail":" [+44ms]","src":"client"}
{"t":1782750287132,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"colors-resolved","detail":" [+45ms]","src":"client"}
{"t":1782750287134,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"manifest-done","detail":" [+44ms]","src":"client"}
{"t":1782750287136,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+45ms]","src":"client"}
{"t":1782750287141,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-occupants-done","detail":" [+45ms]","src":"client"}
{"t":1782750287151,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"preload-ready(occupants)","detail":" [+45ms]","src":"client"}
{"t":1782750287224,"cat":"LobbyA","room":"aa-1782749952910","who":"MONE","ev":"socket-connect","detail":" [+174ms]","src":"client"}
{"t":1782750287263,"cat":"LobbyB","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782750288084,"cat":"LobbyB","room":"aa-1782749952910","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+999ms]","src":"client"}
{"t":1782750288088,"cat":"LobbyB","room":"aa-1782749952910","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+999ms]","src":"client"}
{"t":1782750289013,"cat":"LobbyB","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782750289014,"cat":"LobbyB","room":"aa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750289468,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"lobby-open","detail":"space=aa-1782749952910 [+0ms]","src":"client"}
{"t":1782750289506,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"preload-start","detail":" [+21ms]","src":"client"}
{"t":1782750289560,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"manifest-done","detail":" [+125ms]","src":"client"}
{"t":1782750289561,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"socket-connect","detail":" [+123ms]","src":"client"}
{"t":1782750289563,"cat":"LobbyA","room":"aa-1782749952910","who":"Q","ev":"colors-resolved","detail":" [+126ms]","src":"client"}
{"t":1782750289601,"cat":"LobbyB","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750290539,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"join-ok","detail":"peers=2 host=me map=mn8nx46h bots=4 [+1074ms]","src":"client"}
{"t":1782750295580,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+6140ms]","src":"client"}
{"t":1782750308886,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"preload-occupants-done","detail":" [+19444ms]","src":"client"}
{"t":1782750308887,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+19445ms]","src":"client"}
{"t":1782750308889,"cat":"LobbyB","room":"aa-1782749952910","who":"Q","ev":"preload-ready(occupants)","detail":" [+19445ms]","src":"client"}
{"t":1782750310794,"cat":"MG2","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-2 วิ่งหลบสิ่งกีดขวาง (การ์ด 2)","src":"server"}
{"t":1782750310906,"cat":"MG2","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782750310906,"cat":"MG2","room":"aa","who":"Q","ev":"leave","detail":"หลุด MG2 → บอทแทนในเกม (สี/ตำแหน่งเดิม) · เหลือคน 1","src":"server"}
{"t":1782750311182,"cat":"MG2","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750312364,"cat":"MG2","room":"aa","who":"MONE","ev":"leave","detail":"หลุด MG2 → บอทแทนในเกม (สี/ตำแหน่งเดิม) · เหลือคน 1","src":"server"}
{"t":1782750313196,"cat":"MG2","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782750352264,"cat":"MG2","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782750352264,"cat":"MG2","room":"aa","who":"Q","ev":"leave","detail":"หลุด MG2 → บอทแทนในเกม (สี/ตำแหน่งเดิม) · เหลือคน 1","src":"server"}
{"t":1782750362265,"cat":"MG2","room":"aa","who":"Q","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (ตกรอบแล้ว ไม่ spawn)","src":"server"}
{"t":1782750568818,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"lobby-open","detail":"space=aa-1782750565802 [+1ms]","src":"client"}
{"t":1782750568857,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"preload-start","detail":" [+38ms]","src":"client"}
{"t":1782750568858,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"colors-resolved","detail":" [+39ms]","src":"client"}
{"t":1782750568859,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"mychar-tinted","detail":"roomJoinReady=false [+39ms]","src":"client"}
{"t":1782750568860,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"manifest-done","detail":" [+38ms]","src":"client"}
{"t":1782750568876,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"preload-ready(occupants)","detail":" [+39ms]","src":"client"}
{"t":1782750568878,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"preload-occupants-done","detail":" [+39ms]","src":"client"}
{"t":1782750568968,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"socket-connect","detail":" [+151ms]","src":"client"}
{"t":1782750568977,"cat":"LobbyA","room":"aa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 1 + บอท 3","src":"server"}
{"t":1782750569682,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=3 [+878ms]","src":"client"}
{"t":1782750569699,"cat":"LobbyA","room":"aa-1782750565802","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+879ms]","src":"client"}
{"t":1782750585132,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"lobby-open","detail":"space=aa-1782750582219 [+0ms]","src":"client"}
{"t":1782750585179,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-start","detail":" [+14ms]","src":"client"}
{"t":1782750585182,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"manifest-done","detail":" [+14ms]","src":"client"}
{"t":1782750585183,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"colors-resolved","detail":" [+15ms]","src":"client"}
{"t":1782750585185,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"mychar-tinted","detail":"roomJoinReady=false [+15ms]","src":"client"}
{"t":1782750585192,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-occupants-done","detail":" [+15ms]","src":"client"}
{"t":1782750585196,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-ready(occupants)","detail":" [+15ms]","src":"client"}
{"t":1782750585300,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"socket-connect","detail":" [+148ms]","src":"client"}
{"t":1782750585307,"cat":"LobbyA","room":"aa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782750586014,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+882ms]","src":"client"}
{"t":1782750586016,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+882ms]","src":"client"}
{"t":1782750600601,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"lobby-open","detail":"space=aa-1782750582219 [+0ms]","src":"client"}
{"t":1782750600640,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"preload-start","detail":" [+46ms]","src":"client"}
{"t":1782750600728,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"colors-resolved","detail":" [+112ms]","src":"client"}
{"t":1782750600729,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"manifest-done","detail":" [+111ms]","src":"client"}
{"t":1782750600734,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"socket-connect","detail":" [+138ms]","src":"client"}
{"t":1782750600745,"cat":"LobbyA","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750601765,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+1154ms]","src":"client"}
{"t":1782750606184,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5584ms]","src":"client"}
{"t":1782750618665,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+33535ms]","src":"client"}
{"t":1782750622052,"cat":"LobbyB","room":"aa-1782750582219","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+36927ms]","src":"client"}
{"t":1782750622498,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"preload-occupants-done","detail":" [+21903ms]","src":"client"}
{"t":1782750622504,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+21903ms]","src":"client"}
{"t":1782750622505,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"preload-ready(occupants)","detail":" [+21903ms]","src":"client"}
{"t":1782750623120,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+22515ms]","src":"client"}
{"t":1782750625565,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+24966ms]","src":"client"}
{"t":1782750637168,"cat":"MG3","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782750637288,"cat":"MG3","room":"aa","who":"ผู้เล่น","ev":"host-change","detail":"host ใหม่ → Q","src":"server"}
{"t":1782750637288,"cat":"MG3","room":"aa","who":"ผู้เล่น","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782750637524,"cat":"MG3","room":"aa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782750637828,"cat":"MG3","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750641684,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[ผู้เล่น(self)] :: s1:ผู้เล blk=3 av=3 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5","src":"client"}
{"t":1782750649146,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782750649486,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-mismatch","detail":"บอท 3 (พลาดบ่อย) seat5 avatar#4 แต่ block#3 (srvnull\/bc3) | บอท 4 (กลาง) seat6 avatar#5 แต่ block#4 (srvnull\/bc4)","src":"client"}
{"t":1782750649486,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(0)=[]","src":"client"}
{"t":1782750651393,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-mismatch","detail":"บอท 3 (พลาดบ่อย) seat5 avatar#4 แต่ block#3 (srvnull\/bc3) | บอท 4 (กลาง) seat6 avatar#5 แต่ block#4 (srvnull\/bc4)","src":"client"}
{"t":1782750655299,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:3]","src":"client"}
{"t":1782750656021,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(1)=[1:3]","src":"client"}
{"t":1782750661766,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(2)=[1:3,2:7]","src":"client"}
{"t":1782750662492,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(2)=[1:3,2:7]","src":"client"}
{"t":1782750667445,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(2)=[1:3,2:7]","src":"client"}
{"t":1782750670338,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:3,2:7,4:2]","src":"client"}
{"t":1782750674085,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(3)=[1:3,2:7,4:2]","src":"client"}
{"t":1782750676311,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:3,2:7,4:2,5:3]","src":"client"}
{"t":1782750679269,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:3,2:7,4:2,5:3]","src":"client"}
{"t":1782750681503,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:3,2:7,4:2,5:3]","src":"client"}
{"t":1782750685845,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(4)=[1:3,2:7,4:2,5:3]","src":"client"}
{"t":1782750689222,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(5)=[1:3,2:7,4:2,5:3,1:3]","src":"client"}
{"t":1782750691396,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(5)=[1:3,2:7,4:2,5:3,1:3]","src":"client"}
{"t":1782750696101,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(6)=[1:3,2:7,4:2,5:3,1:3,2:7]","src":"client"}
{"t":1782750699780,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(6)=[1:3,2:7,4:2,5:3,1:3,2:7]","src":"client"}
{"t":1782750702008,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(6)=[1:3,2:7,4:2,5:3,1:3,2:7]","src":"client"}
{"t":1782750707611,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(7)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2]","src":"client"}
{"t":1782750707613,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(7)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2]","src":"client"}
{"t":1782750714656,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750714657,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750721160,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750721161,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750727658,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750727658,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750734182,"cat":"MG3","room":"aa-1782750582219","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750734185,"cat":"MG3","room":"aa-1782750582219","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=3 av=4 | s6:บอท 4 blk=4 av=5 || layers(8)=[1:3,2:7,4:2,5:3,1:3,2:7,4:2,6:4]","src":"client"}
{"t":1782750747598,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"host-change","detail":"host ใหม่ → Q","src":"server"}
{"t":1782750747598,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750748015,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"lobby-open","detail":"space=aa-1782750582219 [+0ms]","src":"client"}
{"t":1782750748082,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-start","detail":" [+42ms]","src":"client"}
{"t":1782750748084,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"manifest-done","detail":" [+42ms]","src":"client"}
{"t":1782750748091,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"colors-resolved","detail":" [+43ms]","src":"client"}
{"t":1782750748093,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"mychar-tinted","detail":"roomJoinReady=false [+43ms]","src":"client"}
{"t":1782750748115,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-ready(occupants)","detail":" [+43ms]","src":"client"}
{"t":1782750748116,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"preload-occupants-done","detail":" [+43ms]","src":"client"}
{"t":1782750748193,"cat":"LobbyA","room":"aa-1782750582219","who":"ผู้เล่น","ev":"socket-connect","detail":" [+174ms]","src":"client"}
{"t":1782750748254,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782750748688,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"lobby-open","detail":"space=aa-1782750582219 [+0ms]","src":"client"}
{"t":1782750748731,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"preload-start","detail":" [+38ms]","src":"client"}
{"t":1782750748810,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"colors-resolved","detail":" [+100ms]","src":"client"}
{"t":1782750748813,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"manifest-done","detail":" [+99ms]","src":"client"}
{"t":1782750748824,"cat":"LobbyA","room":"aa-1782750582219","who":"Q","ev":"socket-connect","detail":" [+129ms]","src":"client"}
{"t":1782750748872,"cat":"LobbyB","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782750749762,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+1064ms]","src":"client"}
{"t":1782750749782,"cat":"LobbyB","room":"aa-1782750582219","who":"ผู้เล่น","ev":"join-ok","detail":"peers=1 host=me map=mn8nx46h bots=4 [+1764ms]","src":"client"}
{"t":1782750749810,"cat":"LobbyB","room":"aa-1782750582219","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1764ms]","src":"client"}
{"t":1782750754089,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"host-change","detail":"host ใหม่ → Q","src":"server"}
{"t":1782750754089,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782750756096,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+7406ms]","src":"client"}
{"t":1782750763988,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"preload-occupants-done","detail":" [+15295ms]","src":"client"}
{"t":1782750763990,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+15295ms]","src":"client"}
{"t":1782750763990,"cat":"LobbyB","room":"aa-1782750582219","who":"Q","ev":"preload-ready(occupants)","detail":" [+15295ms]","src":"client"}
{"t":1782750764089,"cat":"LobbyB","room":"aa","who":"ผู้เล่น","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (สีตามคนออก)","src":"server"}
{"t":1782751068923,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"lobby-open","detail":"space=aaa-1782751065879 [+0ms]","src":"client"}
{"t":1782751068968,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-start","detail":" [+19ms]","src":"client"}
{"t":1782751068981,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"manifest-done","detail":" [+20ms]","src":"client"}
{"t":1782751068985,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"colors-resolved","detail":" [+20ms]","src":"client"}
{"t":1782751068990,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-occupants-done","detail":" [+20ms]","src":"client"}
{"t":1782751068991,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"mychar-tinted","detail":"roomJoinReady=false [+20ms]","src":"client"}
{"t":1782751069002,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-ready(occupants)","detail":" [+21ms]","src":"client"}
{"t":1782751069092,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"socket-connect","detail":" [+160ms]","src":"client"}
{"t":1782751069111,"cat":"LobbyA","room":"aaa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782751069896,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+968ms]","src":"client"}
{"t":1782751069898,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+969ms]","src":"client"}
{"t":1782751075832,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"lobby-open","detail":"space=aaa-1782751065879 [+0ms]","src":"client"}
{"t":1782751075907,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"preload-start","detail":" [+55ms]","src":"client"}
{"t":1782751075959,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"socket-connect","detail":" [+128ms]","src":"client"}
{"t":1782751075987,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"manifest-done","detail":" [+132ms]","src":"client"}
{"t":1782751075987,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"colors-resolved","detail":" [+133ms]","src":"client"}
{"t":1782751075980,"cat":"LobbyA","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782751076773,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+938ms]","src":"client"}
{"t":1782751081976,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+6145ms]","src":"client"}
{"t":1782751096184,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"preload-occupants-done","detail":" [+20351ms]","src":"client"}
{"t":1782751096185,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+20351ms]","src":"client"}
{"t":1782751096188,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"preload-ready(occupants)","detail":" [+20351ms]","src":"client"}
{"t":1782751100198,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+24368ms]","src":"client"}
{"t":1782751100199,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+31275ms]","src":"client"}
{"t":1782751103464,"cat":"LobbyB","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+34547ms]","src":"client"}
{"t":1782751106677,"cat":"MG3","room":"aaa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782751106790,"cat":"MG3","room":"aaa","who":"ผู้เล่น","ev":"host-change","detail":"host ใหม่ → Q","src":"server"}
{"t":1782751106790,"cat":"MG3","room":"aaa","who":"ผู้เล่น","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782751107088,"cat":"MG3","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782751107258,"cat":"MG3","room":"aaa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782751112834,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[Q(self)] :: s1:Q blk=7 av=7 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5","src":"client"}
{"t":1782751113159,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5","src":"client"}
{"t":1782751121004,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782751121287,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782751127821,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:3]","src":"client"}
{"t":1782751127821,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:3]","src":"client"}
{"t":1782751134631,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:3,2:7]","src":"client"}
{"t":1782751134632,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:3,2:7]","src":"client"}
{"t":1782751140007,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:3,2:7,4:2]","src":"client"}
{"t":1782751140008,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:3,2:7,4:2]","src":"client"}
{"t":1782751146039,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751146040,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751151413,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751151414,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751157927,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751157929,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751164438,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751164439,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:3,2:7,4:2,5:4]","src":"client"}
{"t":1782751171425,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:3,2:7,4:2,5:4,1:3]","src":"client"}
{"t":1782751171426,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:3,2:7,4:2,5:4,1:3]","src":"client"}
{"t":1782751179378,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:3,2:7,4:2,5:4,1:3,2:7]","src":"client"}
{"t":1782751179400,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:3,2:7,4:2,5:4,1:3,2:7]","src":"client"}
{"t":1782751187379,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2]","src":"client"}
{"t":1782751187382,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2]","src":"client"}
{"t":1782751194302,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5]","src":"client"}
{"t":1782751194302,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5]","src":"client"}
{"t":1782751201038,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5,1:3,2:7]","src":"client"}
{"t":1782751201039,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5,1:3,2:7]","src":"client"}
{"t":1782751208094,"cat":"MG3","room":"aaa-1782751065879","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[ผู้เล่น(self),Q] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5,1:3,2:7,4:2]","src":"client"}
{"t":1782751208096,"cat":"MG3","room":"aaa-1782751065879","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),ผู้เล่น] :: s1:ผู้เล blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:3,2:7,4:2,5:4,1:3,2:7,4:2,6:5,1:3,2:7,4:2]","src":"client"}
{"t":1782751275045,"cat":"LobbyB","room":"aaa","who":"ผู้เล่น","ev":"host-change","detail":"host ใหม่ → Q","src":"server"}
{"t":1782751275045,"cat":"LobbyB","room":"aaa","who":"ผู้เล่น","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782751275475,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"lobby-open","detail":"space=aaa-1782751065879 [+0ms]","src":"client"}
{"t":1782751275519,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-start","detail":" [+33ms]","src":"client"}
{"t":1782751275521,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"manifest-done","detail":" [+33ms]","src":"client"}
{"t":1782751275552,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"colors-resolved","detail":" [+34ms]","src":"client"}
{"t":1782751275553,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"mychar-tinted","detail":"roomJoinReady=false [+34ms]","src":"client"}
{"t":1782751275556,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-ready(occupants)","detail":" [+34ms]","src":"client"}
{"t":1782751275557,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"preload-occupants-done","detail":" [+34ms]","src":"client"}
{"t":1782751275642,"cat":"LobbyA","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"socket-connect","detail":" [+163ms]","src":"client"}
{"t":1782751275716,"cat":"LobbyB","room":"aaa","who":"ผู้เล่น","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782751275769,"cat":"LobbyB","room":"aaa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782751276168,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"lobby-open","detail":"space=aaa-1782751065879 [+0ms]","src":"client"}
{"t":1782751276208,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"preload-start","detail":" [+21ms]","src":"client"}
{"t":1782751276284,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"manifest-done","detail":" [+93ms]","src":"client"}
{"t":1782751276289,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"colors-resolved","detail":" [+93ms]","src":"client"}
{"t":1782751276319,"cat":"LobbyA","room":"aaa-1782751065879","who":"Q","ev":"socket-connect","detail":" [+122ms]","src":"client"}
{"t":1782751276332,"cat":"LobbyB","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782751277279,"cat":"LobbyB","room":"aaa-1782751065879","who":"Q","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+1103ms]","src":"client"}
{"t":1782751277681,"cat":"LobbyB","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"join-ok","detail":"peers=2 host=me map=mn8nx46h bots=4 [+2204ms]","src":"client"}
{"t":1782751277682,"cat":"LobbyB","room":"aaa-1782751065879","who":"ผู้เล่น","ev":"loading-hide","detail":"เริ่มเล่นได้ [+2205ms]","src":"client"}
{"t":1782751283631,"cat":"LobbyB","room":"aaa-1782751065879","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+7448ms]","src":"client"}
{"t":1782751294693,"cat":"LobbyB","room":"aaa-1782751065879","who":"Q","ev":"preload-occupants-done","detail":" [+18522ms]","src":"client"}
{"t":1782751294695,"cat":"LobbyB","room":"aaa-1782751065879","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+18523ms]","src":"client"}
{"t":1782751294696,"cat":"LobbyB","room":"aaa-1782751065879","who":"Q","ev":"preload-ready(occupants)","detail":" [+18522ms]","src":"client"}
{"t":1782751294699,"cat":"LobbyB","room":"aaa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782751304701,"cat":"LobbyB","room":"aaa","who":"Q","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (สีตามคนออก)","src":"server"}
{"t":1782751818862,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"lobby-open","detail":"space=aa-1782751815889 [+0ms]","src":"client"}
{"t":1782751818898,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"preload-start","detail":" [+31ms]","src":"client"}
{"t":1782751818968,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"manifest-done","detail":" [+106ms]","src":"client"}
{"t":1782751818976,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"colors-resolved","detail":" [+106ms]","src":"client"}
{"t":1782751818999,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"socket-connect","detail":" [+134ms]","src":"client"}
{"t":1782751819017,"cat":"LobbyA","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782751819857,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+1004ms]","src":"client"}
{"t":1782751824561,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5709ms]","src":"client"}
{"t":1782751826687,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"lobby-open","detail":"space=aa-1782751815889 [+0ms]","src":"client"}
{"t":1782751826735,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-start","detail":" [+42ms]","src":"client"}
{"t":1782751826741,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"manifest-done","detail":" [+43ms]","src":"client"}
{"t":1782751826749,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"colors-resolved","detail":" [+43ms]","src":"client"}
{"t":1782751826750,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+43ms]","src":"client"}
{"t":1782751826751,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-occupants-done","detail":" [+43ms]","src":"client"}
{"t":1782751826757,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-ready(occupants)","detail":" [+44ms]","src":"client"}
{"t":1782751826837,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"socket-connect","detail":" [+166ms]","src":"client"}
{"t":1782751826846,"cat":"LobbyA","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782751827858,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1191ms]","src":"client"}
{"t":1782751827862,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+1190ms]","src":"client"}
{"t":1782751835800,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"preload-occupants-done","detail":" [+16949ms]","src":"client"}
{"t":1782751835802,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+16949ms]","src":"client"}
{"t":1782751835802,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"preload-ready(occupants)","detail":" [+16949ms]","src":"client"}
{"t":1782751849354,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+30509ms]","src":"client"}
{"t":1782751849360,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+22689ms]","src":"client"}
{"t":1782751852209,"cat":"LobbyB","room":"aa-1782751815889","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+25535ms]","src":"client"}
{"t":1782751853839,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+34983ms]","src":"client"}
{"t":1782751857721,"cat":"MG3","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782751857846,"cat":"MG3","room":"aa","who":"MONE","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782751858187,"cat":"MG3","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782751858289,"cat":"MG3","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782751862738,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[MONE(self)] :: s1:MONE blk=3 av=3 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5","src":"client"}
{"t":1782751863232,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:MONE blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5","src":"client"}
{"t":1782751870186,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:MONE blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782751870437,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:MONE blk=3 av=3 | s2:Q blk=7 av=7 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782751876755,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782751876755,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782751883259,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782751883262,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782751888977,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782751888977,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782751895538,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782751895539,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782751902640,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,5:4,6:5]","src":"client"}
{"t":1782751902641,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,5:4,6:5]","src":"client"}
{"t":1782751908298,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,5:4,6:5,1:7]","src":"client"}
{"t":1782751908300,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,5:4,6:5,1:7]","src":"client"}
{"t":1782751915699,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3]","src":"client"}
{"t":1782751915699,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3]","src":"client"}
{"t":1782751924392,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2]","src":"client"}
{"t":1782751924392,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2]","src":"client"}
{"t":1782751929707,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751929709,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751936216,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751936216,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751942733,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751942733,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751948337,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751948337,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782751954243,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5,3:1]","src":"client"}
{"t":1782751954244,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5,3:1]","src":"client"}
{"t":1782751959613,"cat":"MG3","room":"aa-1782751815889","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5,3:1,4:2]","src":"client"}
{"t":1782751959613,"cat":"MG3","room":"aa-1782751815889","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:7,2:3,4:2,5:4,6:5,1:7,2:3,4:2,6:5,3:1,4:2]","src":"client"}
{"t":1782752037082,"cat":"LobbyB","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782752037082,"cat":"LobbyB","room":"aa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782752037524,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"lobby-open","detail":"space=aa-1782751815889 [+0ms]","src":"client"}
{"t":1782752037565,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"preload-start","detail":" [+27ms]","src":"client"}
{"t":1782752037618,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"manifest-done","detail":" [+122ms]","src":"client"}
{"t":1782752037640,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"colors-resolved","detail":" [+123ms]","src":"client"}
{"t":1782752037643,"cat":"LobbyA","room":"aa-1782751815889","who":"Q","ev":"socket-connect","detail":" [+149ms]","src":"client"}
{"t":1782752037647,"cat":"LobbyB","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782752038230,"cat":"LobbyB","room":"aa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782752038451,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"join-ok","detail":"peers=2 host=me map=mn8nx46h bots=4 [+956ms]","src":"client"}
{"t":1782752038780,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"lobby-open","detail":"space=aa-1782751815889 [+0ms]","src":"client"}
{"t":1782752038826,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-start","detail":" [+22ms]","src":"client"}
{"t":1782752038835,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"manifest-done","detail":" [+22ms]","src":"client"}
{"t":1782752038857,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"colors-resolved","detail":" [+22ms]","src":"client"}
{"t":1782752038858,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+23ms]","src":"client"}
{"t":1782752038866,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-occupants-done","detail":" [+23ms]","src":"client"}
{"t":1782752038872,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"preload-ready(occupants)","detail":" [+23ms]","src":"client"}
{"t":1782752038937,"cat":"LobbyA","room":"aa-1782751815889","who":"MONE","ev":"socket-connect","detail":" [+159ms]","src":"client"}
{"t":1782752039027,"cat":"LobbyB","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782752040439,"cat":"LobbyB","room":"aa-1782751815889","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+1652ms]","src":"client"}
{"t":1782752040442,"cat":"LobbyB","room":"aa-1782751815889","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1653ms]","src":"client"}
{"t":1782752043646,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+6068ms]","src":"client"}
{"t":1782752055552,"cat":"LobbyB","room":"aa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782752057880,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"preload-ready(occupants)","detail":" [+20384ms]","src":"client"}
{"t":1782752057881,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"preload-occupants-done","detail":" [+20383ms]","src":"client"}
{"t":1782752057883,"cat":"LobbyB","room":"aa-1782751815889","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+20388ms]","src":"client"}
{"t":1782752065553,"cat":"LobbyB","room":"aa","who":"MONE","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (สีตามคนออก)","src":"server"}
{"t":1782752541102,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"lobby-open","detail":"space=aa-1782752538067 [+1ms]","src":"client"}
{"t":1782752541142,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"preload-start","detail":" [+32ms]","src":"client"}
{"t":1782752541195,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"manifest-done","detail":" [+111ms]","src":"client"}
{"t":1782752541208,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"colors-resolved","detail":" [+111ms]","src":"client"}
{"t":1782752541229,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"socket-connect","detail":" [+139ms]","src":"client"}
{"t":1782752541240,"cat":"LobbyA","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782752542575,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+1484ms]","src":"client"}
{"t":1782752547384,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+6293ms]","src":"client"}
{"t":1782752551490,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"lobby-open","detail":"space=aa-1782752538067 [+0ms]","src":"client"}
{"t":1782752551504,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-start","detail":" [+22ms]","src":"client"}
{"t":1782752551530,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"manifest-done","detail":" [+22ms]","src":"client"}
{"t":1782752551530,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"colors-resolved","detail":" [+23ms]","src":"client"}
{"t":1782752551543,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-occupants-done","detail":" [+23ms]","src":"client"}
{"t":1782752551543,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+23ms]","src":"client"}
{"t":1782752551552,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-ready(occupants)","detail":" [+23ms]","src":"client"}
{"t":1782752551635,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"socket-connect","detail":" [+153ms]","src":"client"}
{"t":1782752551640,"cat":"LobbyA","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782752552391,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+914ms]","src":"client"}
{"t":1782752552416,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+914ms]","src":"client"}
{"t":1782752554113,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"preload-occupants-done","detail":" [+13029ms]","src":"client"}
{"t":1782752554117,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"preload-ready(occupants)","detail":" [+13029ms]","src":"client"}
{"t":1782752554117,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+13030ms]","src":"client"}
{"t":1782752567455,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+15985ms]","src":"client"}
{"t":1782752567460,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+26368ms]","src":"client"}
{"t":1782752580518,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+39434ms]","src":"client"}
{"t":1782752582227,"cat":"MG3","room":"aa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782752582339,"cat":"MG3","room":"aa","who":"MONE","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782752582643,"cat":"MG3","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782752582838,"cat":"MG3","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782752588644,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[Q(self)] :: s1:Q blk=7 av=7 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5","src":"client"}
{"t":1782752588680,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=5seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752595984,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752596202,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752602674,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752602675,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752609190,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752609197,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752615689,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752615690,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752622201,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752622201,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782752628715,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782752628716,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782752637264,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782752637266,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782752642271,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782752642273,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782752647931,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782752647933,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782752654618,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782752654618,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782752661667,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,6:5,1:7]","src":"client"}
{"t":1782752661668,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,6:5,1:7]","src":"client"}
{"t":1782752667085,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782752667085,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782752674987,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,3:1,4:2]","src":"client"}
{"t":1782752674989,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,3:1,4:2]","src":"client"}
{"t":1782752681453,"cat":"MG3","room":"aa-1782752538067","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,6:5,1:7,2:3,3:1,4:2,5:4,6:5]","src":"client"}
{"t":1782752681453,"cat":"MG3","room":"aa-1782752538067","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,6:5,1:7,2:3,3:1,4:2,5:4,6:5]","src":"client"}
{"t":1782752737107,"cat":"LobbyB","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782752737107,"cat":"LobbyB","room":"aa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782752737878,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"lobby-open","detail":"space=aa-1782752538067 [+0ms]","src":"client"}
{"t":1782752737919,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"preload-start","detail":" [+30ms]","src":"client"}
{"t":1782752737972,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"manifest-done","detail":" [+91ms]","src":"client"}
{"t":1782752737974,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"colors-resolved","detail":" [+92ms]","src":"client"}
{"t":1782752738001,"cat":"LobbyA","room":"aa-1782752538067","who":"Q","ev":"socket-connect","detail":" [+120ms]","src":"client"}
{"t":1782752738077,"cat":"LobbyB","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782752738390,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"lobby-open","detail":"space=aa-1782752538067 [+0ms]","src":"client"}
{"t":1782752738406,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-start","detail":" [+21ms]","src":"client"}
{"t":1782752738434,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"manifest-done","detail":" [+22ms]","src":"client"}
{"t":1782752738438,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-occupants-done","detail":" [+23ms]","src":"client"}
{"t":1782752738438,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"colors-resolved","detail":" [+22ms]","src":"client"}
{"t":1782752738439,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+22ms]","src":"client"}
{"t":1782752738444,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"preload-ready(occupants)","detail":" [+23ms]","src":"client"}
{"t":1782752738522,"cat":"LobbyA","room":"aa-1782752538067","who":"MONE","ev":"socket-connect","detail":" [+142ms]","src":"client"}
{"t":1782752738563,"cat":"LobbyB","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782752739388,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mn8nx46h bots=4 [+1506ms]","src":"client"}
{"t":1782752739939,"cat":"LobbyB","room":"aa-1782752538067","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+1553ms]","src":"client"}
{"t":1782752739941,"cat":"LobbyB","room":"aa-1782752538067","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1553ms]","src":"client"}
{"t":1782752742458,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+4581ms]","src":"client"}
{"t":1782752754098,"cat":"LobbyB","room":"aa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782752761563,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+23684ms]","src":"client"}
{"t":1782752761565,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"preload-ready(occupants)","detail":" [+23684ms]","src":"client"}
{"t":1782752761566,"cat":"LobbyB","room":"aa-1782752538067","who":"Q","ev":"preload-occupants-done","detail":" [+23683ms]","src":"client"}
{"t":1782752764098,"cat":"LobbyB","room":"aa","who":"MONE","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (สีตามคนออก)","src":"server"}
{"t":1782752793847,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"lobby-open","detail":"space=ss-1782752790939 [+0ms]","src":"client"}
{"t":1782752793895,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"preload-start","detail":" [+27ms]","src":"client"}
{"t":1782752793948,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"manifest-done","detail":" [+96ms]","src":"client"}
{"t":1782752793958,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"colors-resolved","detail":" [+97ms]","src":"client"}
{"t":1782752793987,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"socket-connect","detail":" [+138ms]","src":"client"}
{"t":1782752794000,"cat":"LobbyA","room":"ss","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782752794855,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+1008ms]","src":"client"}
{"t":1782752799193,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5348ms]","src":"client"}
{"t":1782752810395,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"preload-occupants-done","detail":" [+16550ms]","src":"client"}
{"t":1782752810397,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"preload-ready(occupants)","detail":" [+16550ms]","src":"client"}
{"t":1782752810400,"cat":"LobbyA","room":"ss-1782752790939","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+16551ms]","src":"client"}
{"t":1782753054488,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"lobby-open","detail":"space=aa-1782753051410 [+0ms]","src":"client"}
{"t":1782753054530,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"preload-start","detail":" [+15ms]","src":"client"}
{"t":1782753054598,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"manifest-done","detail":" [+110ms]","src":"client"}
{"t":1782753054600,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"colors-resolved","detail":" [+110ms]","src":"client"}
{"t":1782753054632,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"socket-connect","detail":" [+139ms]","src":"client"}
{"t":1782753054635,"cat":"LobbyA","room":"aa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782753055439,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+948ms]","src":"client"}
{"t":1782753059257,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"lobby-open","detail":"space=aa-1782753051410 [+0ms]","src":"client"}
{"t":1782753059300,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"preload-start","detail":" [+21ms]","src":"client"}
{"t":1782753059302,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"manifest-done","detail":" [+21ms]","src":"client"}
{"t":1782753059304,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"colors-resolved","detail":" [+22ms]","src":"client"}
{"t":1782753059321,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+22ms]","src":"client"}
{"t":1782753059334,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"preload-occupants-done","detail":" [+22ms]","src":"client"}
{"t":1782753059339,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"preload-ready(occupants)","detail":" [+22ms]","src":"client"}
{"t":1782753059400,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"socket-connect","detail":" [+142ms]","src":"client"}
{"t":1782753059439,"cat":"LobbyA","room":"aa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782753059907,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5417ms]","src":"client"}
{"t":1782753060276,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+1022ms]","src":"client"}
{"t":1782753060283,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+1022ms]","src":"client"}
{"t":1782753071995,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"preload-ready(occupants)","detail":" [+17505ms]","src":"client"}
{"t":1782753071996,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+17505ms]","src":"client"}
{"t":1782753071997,"cat":"LobbyA","room":"aa-1782753051410","who":"Q","ev":"preload-occupants-done","detail":" [+17504ms]","src":"client"}
{"t":1782753076231,"cat":"LobbyA","room":"aa-1782753051410","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+16978ms]","src":"client"}
{"t":1782753081547,"cat":"LobbyB","room":"aa-1782753051410","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+22295ms]","src":"client"}
{"t":1782753092653,"cat":"LobbyB","room":"aa-1782753051410","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+38161ms]","src":"client"}
{"t":1782753094979,"cat":"LobbyB","room":"aa-1782753051410","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+40489ms]","src":"client"}
{"t":1782753125272,"cat":"LobbyB","room":"aa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782753125273,"cat":"LobbyB","room":"aa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782753131910,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"lobby-open","detail":"space=aaa-1782753128923 [+0ms]","src":"client"}
{"t":1782753131925,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"preload-start","detail":" [+18ms]","src":"client"}
{"t":1782753132001,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"colors-resolved","detail":" [+117ms]","src":"client"}
{"t":1782753132001,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"manifest-done","detail":" [+116ms]","src":"client"}
{"t":1782753132049,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"socket-connect","detail":" [+144ms]","src":"client"}
{"t":1782753132039,"cat":"LobbyA","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 1 + บอท 4","src":"server"}
{"t":1782753132739,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"join-ok","detail":"peers=1 host=me map=mlsbbxfe bots=4 [+850ms]","src":"client"}
{"t":1782753134165,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"lobby-open","detail":"space=aaa-1782753128923 [+0ms]","src":"client"}
{"t":1782753134201,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-start","detail":" [+25ms]","src":"client"}
{"t":1782753134226,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"colors-resolved","detail":" [+25ms]","src":"client"}
{"t":1782753134228,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"manifest-done","detail":" [+25ms]","src":"client"}
{"t":1782753134228,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+26ms]","src":"client"}
{"t":1782753134234,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-occupants-done","detail":" [+26ms]","src":"client"}
{"t":1782753134236,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-ready(occupants)","detail":" [+26ms]","src":"client"}
{"t":1782753134331,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"socket-connect","detail":" [+154ms]","src":"client"}
{"t":1782753134355,"cat":"LobbyA","room":"aaa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782753135108,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mlsbbxfe bots=4 [+944ms]","src":"client"}
{"t":1782753135144,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+944ms]","src":"client"}
{"t":1782753135273,"cat":"LobbyB","room":"aa","who":"Q","ev":"bot-takeover","detail":"หลุดเกิน 10วิ → บอทแทน (สีตามคนออก)","src":"server"}
{"t":1782753137843,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+5954ms]","src":"client"}
{"t":1782753151880,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"preload-occupants-done","detail":" [+19992ms]","src":"client"}
{"t":1782753151880,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"preload-ready(occupants)","detail":" [+19992ms]","src":"client"}
{"t":1782753151885,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+19992ms]","src":"client"}
{"t":1782753157647,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+23484ms]","src":"client"}
{"t":1782753160079,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+28196ms]","src":"client"}
{"t":1782753162661,"cat":"LobbyB","room":"aaa-1782753128923","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+30772ms]","src":"client"}
{"t":1782753166152,"cat":"MG3","room":"aaa","who":"","ev":"game-start","detail":"เริ่มมินิเกม: Minigame-3 Tower block (การ์ด 3)","src":"server"}
{"t":1782753166266,"cat":"MG3","room":"aaa","who":"MONE","ev":"leave","detail":"หลุดช่วง how-to → บอทรับช่วงตอนเกมเริ่ม · เหลือคน 1","src":"server"}
{"t":1782753166589,"cat":"MG3","room":"aaa","who":"MONE","ev":"join","detail":"สี#3 · คน 1 + บอท 4","src":"server"}
{"t":1782753166803,"cat":"MG3","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782753171345,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=5seat othHumans=[MONE(self)] :: s1:บอท 1 blk=1 av=1 | s2:บอท 2 blk=2 av=2 | s3:บอท 3 blk=4 av=4 | s4:บอท 4 blk=5 av=5 | s5:MONE blk=3 av=3","src":"client"}
{"t":1782753173338,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5 | s6:MONE blk=3 av=3","src":"client"}
{"t":1782753179183,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:บอท 1 blk=1 av=1 | s3:บอท 2 blk=2 av=2 | s4:บอท 3 blk=4 av=4 | s5:บอท 4 blk=5 av=5 | s6:MONE blk=3 av=3 || layers(0)=[]","src":"client"}
{"t":1782753179408,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(0)=[]","src":"client"}
{"t":1782753184192,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782753186370,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(1)=[1:7]","src":"client"}
{"t":1782753190601,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782753194401,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782753198077,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(2)=[1:7,2:3]","src":"client"}
{"t":1782753202901,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782753206039,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(3)=[1:7,2:3,4:2]","src":"client"}
{"t":1782753208267,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(4)=[1:7,2:3,4:2,6:5]","src":"client"}
{"t":1782753213336,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,6:5,1:7]","src":"client"}
{"t":1782753213338,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(5)=[1:7,2:3,4:2,6:5,1:7]","src":"client"}
{"t":1782753219907,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782753219907,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782753225749,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782753225749,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(6)=[1:7,2:3,4:2,6:5,1:7,2:3]","src":"client"}
{"t":1782753232491,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2]","src":"client"}
{"t":1782753232491,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(7)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2]","src":"client"}
{"t":1782753237847,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4]","src":"client"}
{"t":1782753237847,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4]","src":"client"}
{"t":1782753244410,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4]","src":"client"}
{"t":1782753244411,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(8)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4]","src":"client"}
{"t":1782753249828,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7]","src":"client"}
{"t":1782753249828,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(9)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7]","src":"client"}
{"t":1782753257357,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7,2:3]","src":"client"}
{"t":1782753257358,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(10)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7,2:3]","src":"client"}
{"t":1782753262842,"cat":"MG3","room":"aaa-1782753128923","who":"host","ev":"color-snap","detail":"order=6seat othHumans=[Q(self),MONE] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7,2:3,4:2]","src":"client"}
{"t":1782753262843,"cat":"MG3","room":"aaa-1782753128923","who":"client","ev":"color-snap","detail":"order=6seat othHumans=[MONE(self),Q] :: s1:Q blk=7 av=7 | s2:MONE blk=3 av=3 | s3:บอท 1 blk=1 av=1 | s4:บอท 2 blk=2 av=2 | s5:บอท 3 blk=4 av=4 | s6:บอท 4 blk=5 av=5 || layers(11)=[1:7,2:3,4:2,6:5,1:7,2:3,4:2,5:4,1:7,2:3,4:2]","src":"client"}
{"t":1782753289044,"cat":"LobbyB","room":"aaa","who":"MONE","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782753289445,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"lobby-open","detail":"space=aaa-1782753128923 [+0ms]","src":"client"}
{"t":1782753289484,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-start","detail":" [+11ms]","src":"client"}
{"t":1782753289514,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"manifest-done","detail":" [+11ms]","src":"client"}
{"t":1782753289518,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"colors-resolved","detail":" [+11ms]","src":"client"}
{"t":1782753289519,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"mychar-tinted","detail":"roomJoinReady=false [+12ms]","src":"client"}
{"t":1782753289521,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-occupants-done","detail":" [+12ms]","src":"client"}
{"t":1782753289524,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"preload-ready(occupants)","detail":" [+12ms]","src":"client"}
{"t":1782753289616,"cat":"LobbyA","room":"aaa-1782753128923","who":"MONE","ev":"socket-connect","detail":" [+162ms]","src":"client"}
{"t":1782753289652,"cat":"LobbyB","room":"aaa","who":"MONE","ev":"join","detail":"สี#3 · คน 2 + บอท 4","src":"server"}
{"t":1782753290356,"cat":"LobbyB","room":"aaa","who":"Q","ev":"host-change","detail":"host ใหม่ → MONE","src":"server"}
{"t":1782753290356,"cat":"LobbyB","room":"aaa","who":"Q","ev":"leave","detail":"ออกจากห้อง · เหลือคน 1","src":"server"}
{"t":1782753290400,"cat":"LobbyB","room":"aaa-1782753128923","who":"MONE","ev":"join-ok","detail":"peers=2 host=other map=mn8nx46h bots=4 [+951ms]","src":"client"}
{"t":1782753290405,"cat":"LobbyB","room":"aaa-1782753128923","who":"MONE","ev":"loading-hide","detail":"เริ่มเล่นได้ [+951ms]","src":"client"}
{"t":1782753290710,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"lobby-open","detail":"space=aaa-1782753128923 [+0ms]","src":"client"}
{"t":1782753290752,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"preload-start","detail":" [+27ms]","src":"client"}
{"t":1782753290801,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"manifest-done","detail":" [+89ms]","src":"client"}
{"t":1782753290803,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"colors-resolved","detail":" [+90ms]","src":"client"}
{"t":1782753290841,"cat":"LobbyA","room":"aaa-1782753128923","who":"Q","ev":"socket-connect","detail":" [+107ms]","src":"client"}
{"t":1782753290862,"cat":"LobbyB","room":"aaa","who":"Q","ev":"join","detail":"สี#7 · คน 2 + บอท 4","src":"server"}
{"t":1782753291621,"cat":"LobbyB","room":"aaa-1782753128923","who":"Q","ev":"join-ok","detail":"peers=2 host=me map=mn8nx46h bots=4 [+912ms]","src":"client"}
{"t":1782753297314,"cat":"LobbyB","room":"aaa-1782753128923","who":"Q","ev":"mychar-tinted","detail":"roomJoinReady=true [+6598ms]","src":"client"}
{"t":1782753299326,"cat":"LobbyB","room":"aaa-1782753128923","who":"Q","ev":"loading-hide","detail":"เริ่มเล่นได้ [+8613ms]","src":"client"}