PlayDrop logoPlayDrop Studio
創作互玩賺取學習連接器素材社群支援
PlayDrop logoPlayDrop Studio
創作互玩賺取學習連接器素材社群支援
登入
線上派對與語音
文件

從這裡開始

總覽你的第一款遊戲PlayDrop 遊戲常見問題

用 Cloud 創作

Cloud 創作方案與生成次數

連接你的 AI App

所有連接器ClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

發布與分享

從你的 AI App 發布簡易 HTML 遊戲打包與 .play發布與匯入遊戲檔案可見性與觸及上架圖片與影片類型與標籤在地化即玩遊戲

遊戲體驗

載入、暫停與音訊全螢幕與安全區域雲端存檔本機派對與控制器

一起玩

分享、好友與邀請排行榜成就線上派對與語音即時遊戲伺服器

賺取收益

營利點數與獎勵

素材

遊戲素材AI 素材生成自訂格式與玩家創作

參考資料

用戶端 SDK伺服器 SDKcatalogue.json錯誤與復原疑難排解
文件線上派對與語音
一起玩

PlayDrop 遊戲中的線上派對與語音聊天

讓朋友一起線上玩你的遊戲:宣告派對人數、開啟 PlayDrop 的派對視窗、用 sdk.multiplayer.join 加入預留的房間,並控制房間語音。

PlayDrop 派對是一群一起在遊戲之間移動的朋友。當派對啟動你的遊戲時,PlayDrop 會在你伺服器的某個房間中為成員預留座位,讓朋友進入同一場對戰,而不會被拆散。語音聊天在 PlayDrop 中執行,而不是在你的遊戲中。

你需要什麼

  • 一個即時遊戲伺服器:派對在你的 Colyseus 房間中遊玩。
  • 已登入的玩家:房間會拒絕訪客。
  • catalogue.json 中的這些宣告:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online 列出可以一同加入的確切群組人數,最多 4 人;[2, 4] 會排除 3 人。這是一同加入的群組人數,不是房間容量:兩個四人派對可以共用一個八人房間。party 需要 party 類型,party.online 需要 online。roomVoice: true 會啟用房間語音,並需要 online。

加入正確的房間

js
if (!sdk.me.isLoggedIn) {
  await sdk.me.promptLogin();
}
const room = await sdk.multiplayer.join("game", { mode: "versus" });

PlayDrop 啟動派對時,join 會使用玩家預留的派對座位,否則就獨立加入。若以派對身分加入失敗,呼叫會以錯誤拒絕;絕不會悄悄把玩家放進其他房間。訪客會收到 authentication_required,PlayDrop 會顯示登入畫面;請從 sdk.me.onAuthChange 再次加入。各回合之間請保留同一個房間。

重新載入後,sdk.multiplayer.reconnect(roomName, token) 會用你為這款遊戲、版本和使用者私下儲存的重新連線權杖,恢復預留的座位。遇到 multiplayer_reconnect_expired、multiplayer_reconnect_unavailable 或 party_reconnect_mismatch 時,請捨棄權杖並呼叫 join。

派對視窗

從按鈕呼叫 sdk.social.openParty({ mode: "online" }),會開啟 PlayDrop 的派對視窗,玩家可以在其中邀請朋友,以及開啟或關閉語音。現有的派對會被沿用。openParty() 會開啟派對選單,openParty({ section: "voice" }) 會開啟語音設定;不要同時使用 mode 和 section。視窗關閉時 promise 就會完成,包括取消的情況。

用 sdk.social.getParty() 或 sdk.social.onPartyChange(callback) 讀取派對,後者會先傳送目前的狀態:{ partyId, leaderUserId, revision, members, launch }。派對正在玩這款遊戲時,launch.status 為 joining 或 ready。光是同屬一個派對,不代表玩家共用同一個房間;請使用 join。

派對成員由 PlayDrop 管理:遊戲無法新增或移除派對成員,也無法控制麥克風,玩家要從這個視窗邀請朋友加入派對。遊戲仍可以用 sdk.social.sendMessage 傳送自己的邀請或挑戰卡片給朋友;請參閱分享、好友與邀請。

房間語音

設定 roomVoice: true 後,房間裡的每個人都能交談,不需要伺服器程式碼。若要改變誰能聽到誰,請在你的伺服器上綁定房間並設定語音規則:

js
import { playdrop } from "@playdrop/server";

const platform = playdrop.multiplayer.forRoom(this);
platform.voice.setPolicy("team");
platform.voice.setTeam(client.auth, "red");

規則有 all、team、proximity(附 { range })和 off。setAudience(player, audience) 可覆寫單一玩家的設定,updatePositions([{ player, position: { x, y, z } }]) 則提供距離資料;傳入 null 可清除分隊或覆寫設定。PlayDrop 會強制執行誰能聽到誰。在瀏覽器中,sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) 只會調整音量和聲像。

語音受玩家同意、靜音和封鎖的限制,也取決於主機端的建置版本與開放進度。

暫停

派對膠囊不會暫停遊戲。PlayDrop 的暫停會停止你的用戶端,但房間會保持連線,你的伺服器也會繼續執行。一位玩家暫停,絕不能讓其他人的對戰停下來;任何對戰暫停都請在伺服器上實作。

測試

上傳私人版本,然後在兩個視窗中以 player=1 和 player=2 開啟測試連結,如即時遊戲伺服器中所述。使用控制器的本機派對是另一種模式:請參閱本機派對與控制器。

相關指南

  • 即時遊戲伺服器為你的遊戲執行附帶 MongoDB 資料庫的託管 Colyseus 0.17 伺服器,用 SDK 從瀏覽器連線,用兩位玩家測試,並了解各項限制。
  • 本機派對與控制器透過 sdk.device 讀取實體手把與 PlayDrop 手機控制器,追蹤本機玩家插槽,並宣告控制器支援與本機派對人數。
  • 分享、好友與邀請附圖片或短片分享遊戲、讀取啟動酬載、挑選好友、在 PlayDrop Chat 中傳送邀請與挑戰卡片,並推薦其他遊戲。
上一頁PlayDrop 遊戲的成就下一頁PlayDrop 的即時遊戲伺服器:Colyseus 與 MongoDB
檢視 Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

本頁內容

你需要什麼加入正確的房間派對視窗房間語音暫停測試
檢視 Markdown