Kayıt
Maçları tekrar dosyaları olarak kaydedin ve odanın sizin için tamamladığı kayıtları alın.
Bir kayıt, bir maçı tekrar oynatmak için gereken her şeyi yakalar: stadyum, her girdi ve komut, ve oynatmayı doğrulamak için kontrol noktaları. Kayıtlar ikili .ball2drep dosyalarıdır; bunları readReplay() ile çözün.
Bir kayıt en fazla bir saat ve 30 MB sürebilir. Bir sınıra ulaştığında, stadyum değiştiğinde veya oda kapandığında, oda kaydı sizin için tamamlar ve onRecordingComplete olayına iletir.
startRecording()
room.startRecording(): voidKaydı hemen, herhangi bir aşamada başlatır. Eşzamanlıdır ve bir kayıt sürüyorsa Recording is already active hatasını fırlatır.
room.onGameStart = () => room.startRecording();stopRecording()
room.stopRecording(): Blob | nullKaydı durdurur ve dosyayı döndürür. Kendinizin durdurduğu bir kayıt yalnızca burada döndürülür: onRecordingComplete olayını tetiklemez veya lastRecording'ı güncellemez.
Döndürür
Blob | nullKaydı bir Blob olarak, ya da hiçbir şey kaydedilmiyorsa null.
import { writeFile } from 'node:fs/promises';
room.onTeamVictory = async () => {
const blob = room.stopRecording();
if (blob)
await writeFile(
`match-${Date.now()}.ball2drep`,
Buffer.from(await blob.arrayBuffer()),
);
};lastRecording
room.lastRecording: Blob | nullOdanın kendiliğinden tamamladığı son kayıt; bir sınır, bir stadyum değişikliği veya kapanma nedeniyle. Henüz böyle bir kayıt olmadıysa null. stopRecording() tarafından döndürülen kayıtlar burada saklanmaz.