Upload a game

Video tutorial. How do I add a game to the Console?

Watch the video

Yandex Games is a free platform for publishing browser games. You can host a game in any supported language — both a new one and one already published on other platforms. We will take care of hosting and player acquisition.

Before you start

Step 1. Create a draft

  1. Access the Games Console with your developer account.
  2. In the upper-right corner, click Add app — the Draft tab will open with fields to fill in.

Keep in mind that each game is associated with:

  • A unique ID. Do not upload a new game to a draft where another game was previously published (item 1.24).
  • The developer account that created the draft. You cannot transfer a game to another account on your own — to do so, write to the support chat.

Step 2. Upload the game archive

  1. Place all versions of the game for all platforms and localization languages in a single ZIP archive. Requirements for the archive:

    • The uncompressed contents of the archive weigh no more than 100 MB (item 1.21).
    • There is one index.html file at the root (item 1.22).
    • File and folder names contain no spaces or Cyrillic characters (item 1.22).
  2. In the General → Archive field, upload the resulting game archive.

We recommend storing games on the Yandex server. If your game needs complex server architecture (for example, for multiplayer), you can connect it via iframe. To do this, write to the support chat and specify:

  • Game name.
  • Developer account.
  • A link to the game in https format.
  • The reason why uploading via an archive is not suitable.

Step 3. Fill in the draft

Fill in the remaining fields on the Draft tab. They are divided into two sections:

  • General — technical parameters, metadata, and publication settings. Fields are shared across all languages.

  • Description and promotion — text descriptions, images, and videos for promotion. The fields must be filled in separately for each localization language, including translating text and logos on all media materials. To simplify the task:

    • Enable AI descriptions: the system will automatically create descriptions in other languages based on the English version.
    • Create media materials without text — then they can be used for all languages.

For a detailed description of all fields, see the Filling out the draft page.

The more fields you fill in, the higher the chance of the game being featured in thematic selections and getting more traffic.

Step 4. Configure hosts and distribution

This step is optional: complete it if your game requires external hosts or you want to restrict distribution by country.

Allowed hosts

If your game needs an external host (for example, for dynamically loaded content), go to the CSP tab, specify the hosts and the reason for their use — we will review your request. The game must comply with Content Security Policy. For more information about CSP and allowed hosts, see the article New rules for host access and Content Security Policy.

Additional requirements for hosts
  • Address format: you cannot specify paths in the host address field (https://host.example.com/path), ports after a colon, or IP addresses.
  • Protocols: you don't need to specify the host protocol — https and wss are used by default. Hosts with insecure http or ws protocols are not allowed.
  • Error handling: the game must correctly notify the user about host connection errors and offer a solution (for example, a retry button or a page reload).
  • Data volume: almost all game data must not be loaded from an external host — it should be placed in the archive or iframe. iframe will require separate approval.

Distribution countries

By default, the game is displayed to users from all countries. If you want to limit the availability of your game:

  1. Go to the Countries and regions tab.
  2. Click a region — the list of countries will expand.
  3. Uncheck the countries where the game should not be displayed.
  4. Click Save.

Step 5. Go through moderation

Test the game

Before submitting for review, test the game on your own.

Common reasons for rejection of publication

Game requirements item

Category

Violation

Explanation

1.6.1.8, 1.6.2.7

UI / Interface

Context menu on interaction

A system browser context menu appears on right-click or long press — it must be disabled in the game area.

1.6.1.6, 1.6.2.5

System player (desktop and mobile)

Video content is played via the system player instead of the built-in game player — this disrupts interface integrity. More info.

4.7

Sound is not paused during ad display

During an ad playback, the game audio continues playing. Audio must be paused for the duration of the ad.

1.3

Sound continues when switching tabs

Game music or sounds do not stop when leaving the tab. The game must respond to page focus loss. More info.

1.19.2

SDK / Game Ready

Game Ready is not working correctly

Game Ready is connected, but the ysdk.features.LoadingAPI.ready() method is called incorrectly or at the wrong moment in the game lifecycle. More info.

2.14

Automatic language detection via SDK is not implemented

The interface language is set manually instead of using ysdk.environment.i18n.lang. The game must automatically adapt to the user's language. More info.

1.19.2

Game Ready is not used at all

Game Ready is not integrated, even though it is required for publication in the catalog. More info.

1.1

SDK is not embedded or is embedded incorrectly

The SDK script is missing, connected from an unofficial source, or initializes with errors. More info.

1.9

Technical issues

Progress is not saved

Results, levels, or settings are not saved between sessions. Use the Player object to store data. More info.

1.14

Game does not launch

The loading screen freezes or the game does not reach gameplay. Check the console for initialization errors. More info.

1.14

Error at startup or during actions

JS errors appear in the browser console at startup or during gameplay that affect functionality. More info.

1.15

Game freezes or lags

Noticeable freezes or performance drops make the game uncomfortable for the user. More info.

2.3

Compliance with description

Game does not match the declared genre

The gameplay contradicts the category selected in the Draft tab. The genre and description must accurately reflect the game's content.

8.2.2

Game title

Misleading title

The title contains words that mislead the user about the game's terms: "free", "top", "best", "бесплатно", "бесплатный", etc.

Submit for moderation

On the Draft tab, click Submit for moderation — the game will move to Waiting for moderation status. If you want to choose the release time yourself, enable the Postpone publication option in advance.

The game will be reviewed for compliance with the requirements. Moderation usually takes 3–5 working days.

About moderation results

You will see the review results in the Console:

  • If moderation approves the game, the status will change to:

    • Published: the game will be published automatically.
    • Verified, if the Postpone publication option is enabled. The Publish button will appear on the Draft tab.
  • If publication is rejected, the status will change to Rejected. The reasons will be sent to the email specified in the developer profile.

You can submit no more than two requests to publish new games at a time. To send a third game for moderation, wait for a decision on one of your current requests, or withdraw one of them yourself.

This limit does not apply to updates of already published games.

After publication, the game will appear in the catalog. For further development, see the Operations section.

Frequently asked questions

Why did the error "Access denied" appear in the game draft?

The error may occur due to loss of authorization (for example, if you logged into another account in another browser tab) or due to an incorrect link.

Solutions:

  • Change the account:

    1. Log out of the developer account.
    2. Log in to the Yandex Games Console again.
    3. Refresh the page.
    4. In the upper-left corner, click the Console logo or the Games section several times.
    5. Select the desired game from the list.
  • Make sure VPN is disabled and try logging into the Console in incognito mode.

  • Contact the support chat.

How long are games stored on the Yandex server?

All materials on the Draft tab are stored indefinitely on the Yandex server. However, when fully deleting a game draft, they are deleted permanently. It is impossible to restore the game after that.

Can I restore a previously deleted game?

Yes, if the game draft was not deleted. For more details, see the Restoration section.

Can I add a game with a server-side component?

Yes. For example, using the server-side component, you can:

Can I add a game that only runs through Flash Player?

No.

However, the Yandex Games team is constantly working on improving the service and plans to implement this feature.

Does the Yandex Games platform support WebGL technology?

Yes. However, the WebGL library must be enabled in the player's browser (in most browsers, this option is called Use hardware acceleration).

If WebGL is unavailable, there should be no notifications about it when opening the game (item 1.6.1.7). You can test WebGL technology in Yandex Browser in advance by testing the game.

Do I need to use Service Worker in the game?

No, using Service Worker is not mandatory. Requirement 1.6.4 about the correct operation of Service Worker was removed from the list of game requirements in December 2022.