Skip to content

Engine builds CDN (Datacamp) unreachable from Russia — needs Russian-hosted fallback #274

@Wylabb

Description

@Wylabb

Problem

Russian players frequently get stuck on "Загрузка контента сервера…" when connecting to any server. This is a universal problem across all servers, not server-specific. VPN resolves it.

Root cause

robust-builds.cdn.spacestation14.com resolves to 185.93.3.244 (Datacamp/AS60068, Madrid). This IP is being blocked or throttled by Russian ISP-level filtering (TSPU). launcher-data.cdn.spacestation14.com resolves to the same IP and is equally affected.

The existing fallback (robust-builds.fallback.cdn.spacestation14.com, Contabo 156.67.24.95) works for some Russian ISPs but not all.

Evidence

Tested via check-host.net from 3 Russian nodes on 2025-02-25:

robust-builds.cdn.spacestation14.com (primary, Datacamp):

Node ISP Result
ru1, Moscow AS14576 Connection timed out (25s)
ru2, Moscow AS210644 Connection timed out (20s)
ru3, St. Petersburg AS210644 OK, 2.15s

robust-builds.fallback.cdn.spacestation14.com (fallback, Contabo):

Node ISP Result
ru1, Moscow AS14576 Connection timed out (25s)
ru2, Moscow AS210644 OK, 0.78s
ru3, St. Petersburg AS210644 OK, 0.62s

For comparison, Cloudflare-hosted endpoints (hub, auth) work from all 3 nodes. The v0.31.0 auth/hub fallback is working. The problem is specifically the Datacamp IP.

Suggested fix

Add a Russian-hosted mirror (e.g. Selectel, Yandex Cloud) as an additional fallback in ConfigConstants.cs for RobustBuildsBaseUrl and LauncherDataBaseUrl. The UrlFallbackSet mechanism already supports this — it just needs a third URL.

Side note (localization)

In the Russian locale, both connecting-update-status-downloading-engine and connecting-update-status-downloading-content are translated to the same string "Загрузка контента сервера…", making it impossible for players to tell which step is actually hanging.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions