Kembali ke meja dengan satu ketukan
Layar hasil sekarang bisa langsung memulai partai yang sama lagi, dan Partai cepat menempatkanmu di ruangan yang sudah terisi ketimbang membuka ruangan kosong lagi.

Dengan bahasa sederhana
Waktu terbaik memulai partai adalah detik ketika partai sebelumnya berakhir. Buktinya ada di tangan kami dan kami membuangnya: dari pemain yang kembali untuk partai kedua, lebih dari separuh memulainya dalam dua menit setelah partai pertama selesai — dan yang kami tawarkan pada saat itu hanyalah tautan ke lobi, tempat mereka harus memilih mode, memilih jumlah kursi, membuat ruangan, lalu menunggu.
Sekarang layar hasil punya tombol Main lagi. Satu ketukan dan kamu sudah berada di partai baru: mode yang sama, jumlah kursi yang sama, kursi kosong sudah terisi, dan partai sudah berjalan. Tanpa lobi, tanpa ada yang perlu diatur.

Partai cepat adalah separuh lain dari masalah yang sama, di lobi. Dulu ia tombol yang tidak melakukan apa pun. Sekarang ia menempatkanmu di ruangan terbuka terbaik untuk mode yang kamu pilih: yang dibuat orang sungguhan lebih dulu, lalu yang paling dekat untuk dimulai, lalu yang paling lama menunggu. Hanya kalau benar-benar tidak ada yang bisa dimasuki, ia membuka ruangan untukmu.
Untuk yang ingin tahu teknisnya
Rematch tidak menambah satu pun endpoint baru di server. Ia melakukan tepat apa yang dilakukan pemain secara manual — membuat ruangan, mendudukkan bot satu per satu (panggilannya memilih kursi bebas berikutnya, jadi menjalankannya paralel akan memperebutkan kursi yang sama), lalu memulai — dan setiap langkah diotorisasi sebagai pemain itu, sehingga semua aturan untuk ruangan yang kamu buat sendiri juga berlaku di sini.
Ini penting karena siapa yang menekan tombolnya. Sembilan dari sepuluh keluar dari partai pertama adalah menyerah, bukan bangkrut, jadi kasus biasanya adalah pemain meninggalkan partai yang masih berjalan bagi orang lain. Ini berhasil karena pemain yang sudah keluar dari sebuah partai tidak lagi dihitung sedang berada di dalamnya — aturan yang dirilis setahun lalu untuk alasan lain, dan kini justru itu yang membuat tombol rematch sah.
Partai cepat menyimpan keputusannya dalam fungsi murni, jadi bisa diuji tanpa lobi dan tanpa basis data. Mode di sini adalah filter, bukan preferensi: dijatuhkan ke partai Classic setengah jam setelah memilih Blitz akan lebih buruk daripada menunggu sejenak.
// lib/lobby/quickMatch.ts — which open room to try, in order
.sort((a, b) => {
// 1. a human host: pool the people who are actually online
if (a.creator_is_bot !== b.creator_is_bot) return a.creator_is_bot ? 1 : -1;
// 2. fewest free seats: a nearly-full room starts sooner
const freeA = a.max_players - a.player_count;
const freeB = b.max_players - b.player_count;
if (freeA !== freeB) return freeA - freeB;
// 3. oldest: whoever has waited longest gets company first
return Date.parse(a.created_at) - Date.parse(b.created_at);
});Daftar terurut lengkap yang dikembalikan, bukan satu pilihan, karena jumlah kursi hanyalah potret sesaat: pemanggil menyusuri daftar sampai satu upaya masuk benar-benar berhasil — dan itulah yang mencegah dua orang yang memperebutkan kursi terakhir berakhir sendirian masing-masing.
