PlayDrop logoPlayDrop Studio
TạoTrao đổi lượt chơiKiếmHọcConnectorTài nguyênCộng đồngHỗ trợ
PlayDrop logoPlayDrop Studio
TạoTrao đổi lượt chơiKiếmHọcConnectorTài nguyênCộng đồngHỗ trợ
Đăng nhập
Nhóm chơi trực tuyến và thoại
Tài liệu

Bắt đầu tại đây

Tổng quanGame đầu tiên của bạnGame PlayDropFAQ

Tạo với Cloud

Tạo với CloudGói & lượt tạo

Kết nối ứng dụng AI của bạn

Tất cả connectorClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Xuất bản và chia sẻ

Xuất bản từ ứng dụng AIGame HTML đơn giảnĐóng gói và .playXuất bản và nhậpTệp gameChế độ hiển thị và tiếp cậnHình ảnh và video giới thiệuThể loại và thẻBản địa hóaGame Instant

Trải nghiệm chơi game

Tải, tạm dừng và âm thanhToàn màn hình và vùng an toànLưu đám mâyNhóm chơi cục bộ và tay cầm

Chơi cùng nhau

Chia sẻ, bạn bè và lời mờiBảng xếp hạngThành tíchNhóm chơi trực tuyến và thoạiMáy chủ game thời gian thực

Kiếm tiền

Kiếm tiềnCredit & phần thưởng

Tài nguyên

Tài nguyên gameTạo tài nguyên bằng AIĐịnh dạng tùy chỉnh và sáng tạo của người chơi

Tài liệu tham khảo

SDK clientSDK servercatalogue.jsonLỗi và cách khôi phụcKhắc phục sự cố
Tài liệuNhóm chơi trực tuyến và thoại
Chơi cùng nhau

Nhóm chơi trực tuyến và trò chuyện thoại trong game PlayDrop

Cho bạn bè chơi cùng nhau trực tuyến: khai báo quy mô nhóm chơi, mở cửa sổ nhóm chơi của PlayDrop, vào phòng đã giữ chỗ bằng sdk.multiplayer.join, điều khiển thoại phòng.

Nhóm chơi PlayDrop là một nhóm bạn cùng nhau chuyển qua lại giữa các game. Khi một nhóm chơi khởi động game của bạn, PlayDrop giữ chỗ cho các thành viên trong một phòng trên máy chủ của bạn, để bạn bè vào cùng một trận thay vì bị tách ra. Trò chuyện thoại chạy trong PlayDrop, không chạy trong game của bạn.

Những gì bạn cần

  • Một máy chủ game thời gian thực: nhóm chơi chơi trong các phòng Colyseus của bạn.
  • Người chơi đã đăng nhập: phòng từ chối khách.
  • Các khai báo này trong catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online liệt kê chính xác các quy mô nhóm, tối đa 4, có thể cùng vào; [2, 4] loại trừ 3. Đây là quy mô của nhóm cùng vào, không phải sức chứa của phòng: hai nhóm chơi bốn người có thể dùng chung một phòng tám chỗ. party yêu cầu loại party và party.online yêu cầu online. roomVoice: true bật thoại phòng và yêu cầu online.

Vào đúng phòng

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

join dùng chỗ đã giữ cho người chơi trong nhóm chơi khi PlayDrop khởi chạy một nhóm chơi, nếu không thì vào phòng độc lập. Nếu việc vào phòng theo nhóm chơi thất bại, lệnh gọi bị từ chối; nó không bao giờ lặng lẽ đưa người chơi vào một phòng khác. Khách sẽ nhận authentication_required và PlayDrop hiển thị bước đăng nhập; hãy vào phòng lại từ sdk.me.onAuthChange. Giữ cùng một phòng qua các vòng chơi.

Sau khi tải lại trang, sdk.multiplayer.reconnect(roomName, token) khôi phục chỗ đã giữ bằng một token kết nối lại mà bạn đã lưu riêng tư cho game, phiên bản và người dùng này. Hãy bỏ token và gọi join khi gặp multiplayer_reconnect_expired, multiplayer_reconnect_unavailable hoặc party_reconnect_mismatch.

Cửa sổ nhóm chơi

Từ một nút bấm, sdk.social.openParty({ mode: "online" }) mở cửa sổ nhóm chơi của PlayDrop, nơi người chơi mời bạn bè và bật hoặc tắt thoại. Nhóm chơi hiện có sẽ được dùng lại. openParty() mở menu nhóm chơi và openParty({ section: "voice" }) mở cài đặt thoại; đừng kết hợp mode và section. Promise hoàn tất khi cửa sổ đóng lại, kể cả khi người chơi hủy.

Đọc thông tin nhóm chơi bằng sdk.social.getParty() hoặc sdk.social.onPartyChange(callback), hàm này gửi trạng thái hiện tại trước tiên: { partyId, leaderUserId, revision, members, launch }. launch.status là joining hoặc ready khi nhóm chơi đang chơi game này. Chỉ là thành viên thì chưa có nghĩa là người chơi đang ở chung phòng; hãy dùng join.

Thành viên nhóm chơi do PlayDrop quản lý: game không thể thêm hay xóa thành viên nhóm chơi hoặc điều khiển micro, và người chơi mời bạn bè vào nhóm chơi từ cửa sổ này. Game vẫn có thể gửi thẻ mời hoặc thẻ thách đấu riêng cho một người bạn bằng sdk.social.sendMessage; xem chia sẻ, bạn bè và lời mời.

Thoại phòng

Với roomVoice: true, mọi người trong phòng đều nói chuyện được, không cần mã máy chủ. Để thay đổi ai nghe được ai, hãy gắn phòng trên máy chủ của bạn và đặt một chính sách:

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

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

Các chính sách gồm all, team, proximity (kèm { range }) và off. setAudience(player, audience) ghi đè cho một người chơi và updatePositions([{ player, position: { x, y, z } }]) cung cấp vị trí cho chế độ khoảng cách; truyền null để xóa một đội hoặc một ghi đè. PlayDrop thực thi việc ai được nghe ai. Trong trình duyệt, sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) chỉ điều chỉnh âm lượng và panning.

Thoại tuân theo sự đồng ý của người chơi, tắt tiếng và chặn, và phụ thuộc vào bản dựng của host và tiến độ triển khai.

Tạm dừng

Thanh nhóm chơi không làm tạm dừng lối chơi. Việc tạm dừng của PlayDrop dừng client của bạn, nhưng phòng vẫn giữ kết nối và máy chủ của bạn vẫn tiếp tục chạy. Việc một người chơi tạm dừng không được làm dừng trận đấu của những người khác; hãy triển khai mọi cơ chế tạm dừng trận trên máy chủ.

Thử nghiệm

Tải lên một phiên bản riêng tư, rồi mở liên kết thử nghiệm trong hai cửa sổ với player=1 và player=2, như mô tả trong máy chủ game thời gian thực. Nhóm chơi cục bộ với tay cầm là một chế độ riêng: xem nhóm chơi cục bộ và tay cầm.

Hướng dẫn liên quan

  • Máy chủ game thời gian thựcChạy máy chủ Colyseus 0.17 được lưu trữ kèm cơ sở dữ liệu MongoDB cho game, kết nối từ trình duyệt bằng SDK, thử với hai người chơi và nắm rõ giới hạn.
  • Nhóm chơi cục bộ và tay cầmĐọc tay cầm vật lý và tay cầm điện thoại PlayDrop qua sdk.device, theo dõi ô người chơi cục bộ, khai báo hỗ trợ tay cầm và quy mô nhóm chơi cục bộ.
  • Chia sẻ, bạn bè và lời mờiChia sẻ game kèm ảnh hoặc đoạn video, đọc dữ liệu khởi chạy, chọn bạn bè, gửi thẻ mời và thẻ thách đấu trong PlayDrop Chat, và đề xuất game khác.
TrướcThành tích cho game PlayDropTiếpMáy chủ game thời gian thực trên PlayDrop: Colyseus và MongoDB
Xem Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Trong trang này

Những gì bạn cầnVào đúng phòngCửa sổ nhóm chơiThoại phòngTạm dừngThử nghiệm
Xem Markdown