---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/games/doc/en/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/hi/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/ko/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/ru/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/tr/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/vi/concepts/local-launch.md
  - https://yandex.com/dev/games/doc/zh/concepts/local-launch.md
  - href: hi/concepts/local-launch.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/games/doc/hi/llms.txt

# स्थानीय सर्वर से चलाना

गेम डेवलपमेंट और टेस्टिंग को आसान बनाने के लिए, आप इसे लोकल सर्वर से लॉन्च कर सकते हैं। टेस्टिंग [prod-](#prod-env) और [dev-एनवायरनमेंट](#dev-env) में उपलब्ध है।

लोकल सर्वर से गेम लॉन्च करने के बाद, आप एसडीके की सभी सुविधाओं का उपयोग कर सकते हैं।

## Prod-एनवायरनमेंट {#prod-env}

{% note alert "प्रतिबंध" %}

यांडेक्स गेम्स प्लेटफॉर्म पर [रजिस्ट्रेशन](https://yandex.com/dev/games/doc/hi/console/manage-account.md) और [गेम ड्राफ्ट](https://yandex.com/dev/games/doc/hi/console/add-new-game.md#step-create-draft) बनाना आवश्यक है।

{% endnote %}

मॉडरेशन के लिए गेम सबमिट करने से पहले फाइनल चेक के लिए उपयुक्त। इस मोड में गेम यांडेक्स गेम्स प्लेटफॉर्म के साथ वास्तविक इंटरैक्शन करती है।

विशेषताएँ:

- गेम [yandex.com/games](https://yandex.com/games) पर वास्तविक एड्रेस से खुलती है।
- बाहरी होस्ट्स को रिक्वेस्ट भेजने के लिए, उन्हें CSP नियमों में [जोड़ना](https://yandex.com/dev/games/doc/hi/console/add-new-game.md#step-check-host) होगा।
- वास्तविक विज्ञापन दिखाए जाते हैं।
- खिलाड़ी यांडेक्स पासपोर्ट के माध्यम से ऑथराइज़ होता है।
- खिलाड़ी और लीडरबोर्ड डेटा सर्वर पर सेव होता है।
- आइटम कैटलॉग सर्वर से लोड होता है, खरीदारी सर्वर पर प्रोसेस होती है।
- डिबगिंग के लिए एड्रेस बार में पैरामीटर `&debug-mode=16` का उपयोग कर [डिबग पैनल](https://yandex.com/dev/games/doc/hi/console/debug-panel.md) इस्तेमाल कर सकते हैं।

लोकल वर्जन को prod-एनवायरनमेंट में लॉन्च करने के लिए सेटअप:

- [स्वयं](#self-setup)
- [npm पैकेज की मदद से](#setup-localhost)

### लोकल सर्वर का स्वयं सेटअप {#self-setup}

1. `localhost` सर्वर सेटअप करें।
1. [ड्राफ्ट मोड](https://yandex.com/dev/games/doc/hi/console/test-game.md) में गेम खोलें।
1. एड्रेस में पैरामीटर जोड़ें `?game_url=https://localhost`.

{% note info "नोट" %}

सुरक्षा कारणों से, `game_url` पैरामीटर में केवल `localhost` डोमेन सपोर्टेड है।

{% endnote %}

### npm पैकेज की मदद से लोकल सर्वर सेटअप {#setup-localhost}

1. [Node.JS](https://nodejs.org/en/) साइट पर दिए गए निर्देशों के अनुसार `npm` इंस्टॉल करें।
1. `npm` की मदद से [@yandex-games/sdk-dev-proxy](https://www.npmjs.com/package/@yandex-games/sdk-dev-proxy) पैकेज इंस्टॉल करें:

    ```console
    npm install -g @yandex-games/sdk-dev-proxy
    ```

1. गेम लॉन्च करें। आप कर सकते हैं:

   {% list tabs %}

   - लोकल सर्वर तक प्रॉक्सी करें

      ```console
      npx @yandex-games/sdk-dev-proxy -h <लोकल सर्वर का एड्रेस>
      ```

   - गेम रिसोर्सेज वाली फोल्डर पाथ दें

       ```console
       npx @yandex-games/sdk-dev-proxy -p <गेम फोल्डर का पाथ>
       ```

   {% endlist %}

    पैकेज एसडीके रिसोर्सेज तक रिक्वेस्ट्स को उसी सर्वर पर प्रॉक्सी करता है जहां आपकी गेम होस्ट की जाएगी।

अगर आप `--app-id` पैरामीटर देंगे, तो लॉन्च पर गेम [yandex.com/games](https://yandex.com/games) पर खुलेगी:

```console
npx @yandex-games/sdk-dev-proxy -p <गेम फोल्डर का पाथ> --app-id=<गेम आईडी>
```

अगर `--app-id` नहीं दिया जाए, तो कंसोल में सर्विस पर गेम का टेम्प्लेट लिंक और लोकल सर्वर का लिंक दिखाई देगा।

#### लॉन्च पैरामीटर्स {#start-params}

#|
|| **पैरामीटर** | **विवरण** ||
|| `--help` | हेल्प। ||
|| `--host`, `-h` | वह होस्ट जहां गेम का लोकल सर्वर सेटअप है (जैसे, `webpack-dev-server` के लिए)। ||
|| `--path`, `-p` | गेम रिसोर्सेज वाली फोल्डर का पाथ। ||
|| `--port` | सर्वर जिस पोर्ट पर खुलेगा (डिफॉल्ट 8080)। ||
|| `--app-id`, `-i` | गेम ड्राफ्ट का आईडी। ||
|| `--csp`, `-c` | `Content-Security-Policy` के साथ मेटा टैग जोड़ता है। यह सर्विस पर `index.html` में बनने वाले टैग से मेल खाता है। ||
|| `--log`, `-l` | कंसोल में रिक्वेस्ट्स का लॉगिंग चालू करता है (डिफॉल्ट चालू)। ||
|| `--tld` | `yandex.tld` डोमेन बदलता है, जैसे `yandex.com` (डिफॉल्ट `ru`)। ||
|| `--dev-mode` | अगर `true`, तो गेम dev-एनवायरनमेंट में लॉन्च होगी (डिफॉल्ट `false`, जो prod-एनवायरनमेंट से मेल खाता है)। ||
|#



## Dev-एनवायरनमेंट {#dev-env}

{% note info "नोट" %}

यांडेक्स गेम्स प्लेटफॉर्म पर रजिस्ट्रेशन और गेम ड्राफ्ट की आवश्यकता नहीं है।

{% endnote %}

एक्टिव डेवलपमेंट और गेम लॉजिक डीबगिंग के लिए उपयुक्त। इस मोड में गेम का यांडेक्स गेम्स प्लेटफॉर्म से वास्तविक कनेक्शन नहीं होता, और सभी एसडीके कॉल्स [मॉक्स](*mock) से रिप्लेस होते हैं, जिससे पेज को जल्दी रीलोड कर अपडेट्स देख सकते हैं।

विशेषताएँ:

- गेम सीधे `https://localhost` पर खुलती है।
- CSP की कोई पाबंदी नहीं, किसी भी बाहरी होस्ट को रिक्वेस्ट भेज सकते हैं।
- विज्ञापनों की जगह प्लेसहोल्डर दिखते हैं, सभी कॉलबैक फंक्शन्स prod-एनवायरनमेंट की तरह काम करते हैं।
- खिलाड़ी ऑथराइजेशन ब्राउज़र डायलॉग मॉक के माध्यम से काम करता है।
- खिलाड़ी और लीडरबोर्ड डेटा `localStorage` में सेव होता है।
- आइटम कैटलॉग [लोकल फाइल](#local-catalog-set) से लोड होता है, खिलाड़ी की खरीदारी `localStorage` में सेव होती है।
- डिबगिंग के लिए ब्राउज़र एड्रेस बार में [पैरामीटर्स](#available-params) सेट कर सकते हैं।
- ब्राउज़र कंसोल में स्वतः सभी एसडीके कॉल्स लॉग होती हैं, मॉड्यूल्स के अनुसार अलग-अलग।

Dev-एनवायरनमेंट में लॉन्च npm पैकेज [@yandex-games/sdk-dev-proxy](https://www.npmjs.com/package/@yandex-games/sdk-dev-proxy) के माध्यम से भी उपलब्ध है। सेटअप निर्देश [prod-एनवायरनमेंट](#setup-localhost) के समान हैं, बस लॉन्च पर पैरामीटर `--dev-mode=true` देना होगा।

आप कर सकते हैं:

{% list tabs %}

   - लोकल सर्वर तक प्रॉक्सी करें

      ```console
      npx @yandex-games/sdk-dev-proxy -h <लोकल सर्वर का एड्रेस> --dev-mode=true
      ```

   - गेम रिसोर्सेज वाली फोल्डर पाथ दें

       ```console
       npx @yandex-games/sdk-dev-proxy -p <गेम फोल्डर का पाथ> --dev-mode=true
       ```

{% endlist %}

#### ब्राउज़र एड्रेस बार के लिए उपलब्ध पैरामीटर्स {#available-params}

```ts
export interface SDKMocks {
    /** क्या डेस्कटॉप पर शॉर्टकट जोड़ने की अनुमति है? */
    canShowPrompt?: boolean;
    /** क्या खिलाड़ी ऑथराइज़्ड है? */
    isAuthorized?: boolean;
    /** अगर गेम की ओरिएंटेशन लॉक्ड है। */
    lockedOrientation?: ELockedOrientation;
}

/** मोबाइल स्क्रीन पर गेम की लॉक्ड ओरिएंटेशन। */
export enum ELockedOrientation {
    /** गेम केवल [लैंडस्केप](*landscape) में सपोर्टेड है। */
    LANDSCAPE = 'landscape',
    /** गेम दोनों ओरिएंटेशन में सपोर्टेड है। */
    NONE = 'none',
    /** गेम केवल [पोर्ट्रेट](*portrait) में सपोर्टेड है। */
    PORTRAIT = 'portrait',
}
```

**उदाहरण**

```text
localhost:8080?mocks={"canShowPrompt":true,"isAuthorized":true,"lockedOrientation":"landscape"}
```

#### आइटम कैटलॉग का लोकल सेटअप {#local-catalog-set}

इन-ऐप खरीदारी की एमुलेशन के लिए, प्रोजेक्ट रूट में `purchases-catalog.json` फाइल बनाएं और इसमें खरीदारी की लिस्ट डालें — वैसी ही जैसी आप [डेवलपर कंसोल](https://games.yandex.com/console) में डाल चुके हैं या डालने की योजना बना रहे हैं। एसडीके dev-मोड में इस फाइल से खरीदारी लिस्ट लोड करेगा।

**उदाहरण**

```json
[
    {
        "description": "Well styled modern avatar image",
        "id": "avatar",
        "imageURI": "{path-to-image}",
        "price": "100 RUB",
        "priceCurrencyCode": "RUB",
        "priceValue": "100",
        "title": "Premium avatar",
        "getPriceCurrencyImage": "[return ''](*return)"
    }
]
```

खरीदारी कॉल के समय सक्सेस और कैंसिलेशन ऑप्शन्स वाला मॉक डायलॉग दिखेगा, ताकि आप दोनों सिनारियो टेस्ट कर सकें।

[*landscape]: लैंडस्केप ओरिएंटेशन।
[*portrait]: पोर्ट्रेट ओरिएंटेशन।
[*mock]: मॉक्स — कृत्रिम ऑब्जेक्ट्स या फंक्शन्स जो रियल कंपोनेंट्स की नकल करते हैं। बाहरी रिसोर्सेज या कंपोनेंट्स पर निर्भरता के बिना कोड टेस्ट करने के लिए उपयोगी।
[*return]: `''` में इमेज का पाथ डाल सकते हैं।
