connectbase-client 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/dist/connect-base.umd.js +3 -3
- package/dist/index.d.mts +118 -82
- package/dist/index.d.ts +118 -82
- package/dist/index.js +160 -519
- package/dist/index.mjs +160 -519
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,61 @@
|
|
|
3
3
|
본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
|
|
4
4
|
버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
|
|
5
5
|
|
|
6
|
+
## [3.0.0] - 2026-04-28 — BREAKING
|
|
7
|
+
|
|
8
|
+
게임 서버 mechanism-only 재설계. ConnectBase 가 박아두던 게임 룰 (파티/로비/랭킹/매치메이킹/
|
|
9
|
+
killcam/highlight) 을 모두 제거하고, primitive (`cb.game.matchqueue`, `cb.game.leaderboard`,
|
|
10
|
+
`cb.game.scripts`) + 사용자 Lua 로 대체. 1:1 마이그레이션은 [MIGRATION_v3.md](../../../docs/sdk/MIGRATION_v3.md).
|
|
11
|
+
|
|
12
|
+
### Removed (BREAKING)
|
|
13
|
+
|
|
14
|
+
- **Lobby**: `listLobbies`, `createLobby`, `getLobby`, `joinLobby`, `leaveLobby`, `toggleReady`,
|
|
15
|
+
`startGame`, `kickPlayer`, `updateLobby`, `sendLobbyChat`, `invitePlayer`, `acceptInvite`,
|
|
16
|
+
`declineInvite`, `getPlayerInvites` 메서드 + 관련 타입 (`LobbyInfo`, `CreateLobbyRequest`,
|
|
17
|
+
`UpdateLobbyRequest`, `LobbyInvite`)
|
|
18
|
+
- **Party**: `createParty`, `joinParty`, `acceptPartyInvite`, `declinePartyInvite`,
|
|
19
|
+
`leaveParty`, `kickFromParty`, `inviteToParty`, `getParty`, `getMyParties`, `setReady`,
|
|
20
|
+
`setPartyMetadata`, `getPartyInvites`, `sendPartyChat` + `PartyInfo`, `PartyInvite`
|
|
21
|
+
- **Matchmaking**: `joinQueue`, `leaveQueue`, `getMatchStatus` + `JoinQueueRequest`,
|
|
22
|
+
`MatchmakingTicket`
|
|
23
|
+
- **Ranking**: `getLeaderboard`, `getPlayerStats`, `getPlayerRank` + `LeaderboardEntry` (구
|
|
24
|
+
player_id/rating/tier/wins/losses 시그니처. 신규 `LeaderboardScoreEntry` 가 대체).
|
|
25
|
+
- **Killcam/Highlight**: `cb.game.replay.killcam(...)`, `cb.game.replay.highlights(...)`
|
|
26
|
+
관련 endpoint 가 백엔드에서 제거되어 SDK 호출 시 404. 사용자가 `cb.game.replay.download`
|
|
27
|
+
로 raw frame 받아 클라/Lua 에서 직접 처리.
|
|
28
|
+
|
|
29
|
+
### Added — v3 primitive
|
|
30
|
+
|
|
31
|
+
- **Matchqueue** (`cb.game.matchqueue.*` → `enqueueMatch / listMatchqueue / cancelMatch`):
|
|
32
|
+
rating/region 등 attributes 는 free-form. 매칭 알고리즘은 사용자 Lua 가 list → notify.
|
|
33
|
+
- **Leaderboard** (`submitScore / getTopScores / getMemberRank / getRankAround / resetLeaderboard / removeFromLeaderboard`):
|
|
34
|
+
ELO/티어/시즌 박지 않음. 시즌은 key suffix (`ranks:2026q2`) 로 분리, 점수 공식은 Lua.
|
|
35
|
+
- **Scripts** (`uploadScript / listScripts / getScript / listScriptVersions /
|
|
36
|
+
activateScript / rollbackScript / disableScript`): Lua 스크립트 영속 메타 + 버전 + hot reload.
|
|
37
|
+
- 신규 타입: `MatchqueueTicket`, `MatchqueueListResponse`, `LeaderboardScoreEntry`,
|
|
38
|
+
`LeaderboardListResponse`, `ScriptMeta`, `ScriptVersion`, `ScriptListResponse`,
|
|
39
|
+
`ScriptVersionListResponse`, `ScriptDetailResponse`.
|
|
40
|
+
|
|
41
|
+
### Backend 영향
|
|
42
|
+
|
|
43
|
+
- game-server v3 부터 `/v1/game/:appID/matchqueue/:key/*`, `/leaderboards/:key/*`,
|
|
44
|
+
`/scripts/*` 라우트가 유일한 게임 메커니즘 endpoint. lobby/party/ranking/matchmaking
|
|
45
|
+
엔드포인트는 모두 404.
|
|
46
|
+
- 자세한 변경: [`docs/sdk/MIGRATION_v3.md`](../../../docs/sdk/MIGRATION_v3.md),
|
|
47
|
+
[`docs/game-server/RECIPES.md`](../../../docs/game-server/RECIPES.md).
|
|
48
|
+
|
|
49
|
+
### Migration 요약
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
// Before (v2.x)
|
|
53
|
+
await cb.game.matchmaking.join({ mode: "ranked", rating: 1500 })
|
|
54
|
+
await cb.game.ranking.submit({ leaderboard: "elo", score: 2150 })
|
|
55
|
+
|
|
56
|
+
// After (v3.0)
|
|
57
|
+
await cb.game.enqueueMatch(appId, "ranked", userId, { rating: 1500 })
|
|
58
|
+
await cb.game.submitScore(appId, "elo", userId, 32, "incr")
|
|
59
|
+
```
|
|
60
|
+
|
|
6
61
|
## [2.0.0] - 2026-04-27 — BREAKING
|
|
7
62
|
|
|
8
63
|
Realtime presence/typing 단일화의 최종 단계. 1.13 deprecation 단계를 건너뛰고 즉시
|