@oyna360/game-sdk 0.6.0 → 0.7.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/README.md CHANGED
@@ -11,7 +11,7 @@ SDK رسمی اتصال **بازی شما** به **پلتفرم oyna360**.
11
11
 
12
12
  **نسخه:** `0.6.0` · بدون وابستگی runtime · TypeScript داخل پکیج
13
13
 
14
- > این SDK مسئول لابی ۳D نیست. برای لابی از [`@oyna360/lobby-sdk`](https://www.npmjs.com/package/@oyna360/lobby-sdk) استفاده کنید. این دو پکیج را ادغام نکنید.
14
+ > برای لابی ۳D و لود آواتار از [`@oyna360/lobby-babylon`](https://www.npmjs.com/package/@oyna360/lobby-babylon) استفاده کنید؛ `@oyna360/lobby-sdk` فقط Core شبکه و state است. [مرجع استاندارد آواتار و راهنمای AI](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md).
15
15
 
16
16
  ---
17
17
 
@@ -181,7 +181,7 @@ Production از `postMessage` به parent استفاده می‌کند؛ Direct
181
181
 
182
182
  ```ts
183
183
  import { PlatformSDK } from '@oyna360/game-sdk';
184
- import { PlatformLobby } from '@oyna360/lobby-sdk';
184
+ import { PlatformLobby } from '@oyna360/lobby-babylon';
185
185
 
186
186
  const init = await PlatformSDK.init({ /* … */ });
187
187
  const lobby = await PlatformLobby.create({
@@ -194,6 +194,8 @@ const lobby = await PlatformLobby.create({
194
194
 
195
195
  `lobby.wsUrl` را هاردکد نکنید.
196
196
 
197
+ کل `init` را منتقل کنید تا مدل، لباس و اکسسوری کاربر حفظ شود. `PlatformLobby.create` لود GLB، Draco و آواتار دیگران را خودکار انجام می‌دهد. برای رندر در صحنهٔ اختصاصی و محدودیت‌های شخصی‌سازی، [راهنمای آواتار](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md) را بخوانید.
198
+
197
199
  ---
198
200
 
199
201
  ## لایسنس
@@ -20,7 +20,7 @@
20
20
 
21
21
  | کار | کجا |
22
22
  |-----|-----|
23
- | لابی ۳D، آواتار متحرک، چت لابی، WebSocket بازیکنان | `@oyna360/lobby-sdk` |
23
+ | لابی ۳D و آواتار متحرک با شبکه | `@oyna360/lobby-babylon` (بر پایه Core در `@oyna360/lobby-sdk`) |
24
24
  | سرور اختصاصی گیم‌پلی شما | سرور خودتان |
25
25
  | ذخیره پسورد یا توکن دائمی داخل بازی | نباید انجام شود |
26
26
 
@@ -46,7 +46,7 @@
46
46
  │
47
47
  ┌────────────┴────────────┐
48
48
  ▼ ▼
49
- گیم‌پلی / امتیاز @oyna360/lobby-sdk
49
+ گیم‌پلی / امتیاز @oyna360/lobby-babylon
50
50
  (score, wallet, …) (لابی ۳D اختیاری)
51
51
  ```
52
52
 
package/docs/02-init.md CHANGED
@@ -108,6 +108,8 @@ PlatformSDK.getInitPayload(); // SdkInitPayload | null (کامل)
108
108
 
109
109
  ## تحویل به lobby-sdk
110
110
 
111
+ `PlatformLobby` را از `@oyna360/lobby-babylon` import کنید. کل payload را منتقل کنید؛ لود GLB، Draco، لباس و remoteها خودکار است. [راهنمای کامل آواتار](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md).
112
+
111
113
  روش توصیه‌شده:
112
114
 
113
115
  ```ts
@@ -88,7 +88,7 @@ DEV_GAME_ORIGINS=http://localhost:5180,http://127.0.0.1:5173,http://192.168.1.20
88
88
 
89
89
  ```ts
90
90
  import { PlatformSDK } from '@oyna360/game-sdk';
91
- import { PlatformLobby } from '@oyna360/lobby-sdk';
91
+ import { PlatformLobby } from '@oyna360/lobby-babylon';
92
92
 
93
93
  const init = await PlatformSDK.init({
94
94
  platformUrl: 'https://oyna360.ir/api',
@@ -72,6 +72,28 @@ Origin صفحه (مثلاً `http://localhost:5173`) فقط وقتی اجبار
72
72
 
73
73
  ---
74
74
 
75
+ ## تسترها — چند بازیکن با یک پروژه
76
+
77
+ `clientId` برای هر Dev Project **ثابت** است. هر Credential که با گزینهٔ «کاربر تست جدید» صادر شود یک **کاربر تست جدا** دارد، پس هر دستگاه `user.id` متفاوتی می‌گیرد. برای تست چندنفره لازم نیست روی چند اکانت Oyna360 پروژه بسازید.
78
+
79
+ ```env
80
+ # دستگاه ۱
81
+ OYNA_DEV_CLIENT_ID=oy_dev_<project>
82
+ OYNA_DEV_CREDENTIAL=oy_sec_<tester-1>
83
+
84
+ # دستگاه ۲ — همان clientId، credential دیگر
85
+ OYNA_DEV_CLIENT_ID=oy_dev_<project>
86
+ OYNA_DEV_CREDENTIAL=oy_sec_<tester-2>
87
+ ```
88
+
89
+ - همهٔ تسترهای یک پروژه **همان `game.slug`** را دارند (shell همان پروژه).
90
+ - گزینهٔ «هویت خودم» یعنی نشست با حساب صاحب پروژه ساخته می‌شود.
91
+ - حداکثر ۱۰ تستر فعال در هر پروژه. Rotate همان تستر را روی secret جدید نگه می‌دارد؛ Revoke تستر را از کار می‌اندازد.
92
+ - کاربر تست در سایت لاگین نمی‌کند و در لیست کاربران و کاتالوگ دیده نمی‌شود.
93
+ - Credentialهایی که قبل از این قابلیت ساخته شده‌اند با همان `clientId` قبلی‌شان مثل قبل کار می‌کنند و هویت صاحب پروژه را دارند.
94
+
95
+ ---
96
+
75
97
  ## چه چیزی ساخته نمی‌شود
76
98
 
77
99
  - Game در Catalog عمومی
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oyna360/game-sdk",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "oyna360 Game SDK — postMessage bridge, Developer Environment credentials, and Direct Development Mode.",
5
5
  "license": "MIT",
6
6
  "author": "oyna360",