@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 +4 -2
- package/docs/00-overview.md +2 -2
- package/docs/02-init.md +2 -0
- package/docs/09-direct-development.md +1 -1
- package/docs/10-developer-environment.md +22 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ SDK رسمی اتصال **بازی شما** به **پلتفرم oyna360**.
|
|
|
11
11
|
|
|
12
12
|
**نسخه:** `0.6.0` · بدون وابستگی runtime · TypeScript داخل پکیج
|
|
13
13
|
|
|
14
|
-
>
|
|
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-
|
|
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
|
## لایسنس
|
package/docs/00-overview.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
| کار | کجا |
|
|
22
22
|
|-----|-----|
|
|
23
|
-
| لابی ۳D
|
|
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-
|
|
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-
|
|
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