// API-эндпоинты плеера Рублокса. // // Все URL бэкенда настраиваются через Vite environment variables: // VITE_API_BASE — базовый URL HTTP-API (дефолт: '' для localhost+vite-proxy) // VITE_REALTIME_HTTP — Colyseus matchmaking HTTP-эндпоинт // VITE_REALTIME_WS — Colyseus WebSocket-эндпоинт // VITE_RUBLOX_HOME — главный сайт Рублокса (редирект если нет JWT) // // См. .env.example с готовыми дефолтами на публичный staging // (https://dev-api.rublox.pro). // // В dev (vite на localhost) BASE пустой и запросы идут на относительные // /api-* пути, которые vite.config.js проксирует на staging/prod. const ENV = (typeof import.meta !== 'undefined' && import.meta.env) || {}; const IS_DEV = typeof window !== 'undefined' && (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'); // Пустой BASE в dev → vite-proxy роутит сам. // В prod → либо env-настроенный бэкенд, либо текущий origin. const BASE = ENV.VITE_API_BASE ?? (IS_DEV ? '' : (typeof window !== 'undefined' ? window.location.origin : '')); export const USER_addres = BASE + '/api-user'; export const STORYS_addres = BASE + '/api-storys'; // Эндпоинты realtime (Colyseus). По умолчанию используем HTTPS-relative // для HTTPS-страницы (vite-proxy обрабатывает /api-game), иначе берём // env-настроенные прямые URL. const IS_HTTPS = typeof window !== 'undefined' && window.location.protocol === 'https:'; // 2026-06-05: realtime теперь прямо на game.rublox.pro (S1 NPM → S1 VM 110), // не через minecraftia-school.ru/api-game (лишний hop S2 NPM → S1 NAT // давал разрывы WebSocket каждую секунду). export const REALTIME_HTTP = ENV.VITE_REALTIME_HTTP ?? (IS_HTTPS ? 'https://game.rublox.pro' : 'http://localhost:8685'); export const REALTIME_WS = ENV.VITE_REALTIME_WS ?? (IS_HTTPS ? 'wss://game.rublox.pro' : 'ws://localhost:8685'); // Главный сайт Рублокса — куда редиректить юзеров без ticket/JWT. export const RUBLOX_HOME = ENV.VITE_RUBLOX_HOME ?? 'https://rublox.pro/app'; // Папки ассетов для фото профиля и скинов (раздают user/storys-микросервисы). export const FOLDER_PROFILE = USER_addres + '/assets/profile/'; export const FOLDER_STORYS = STORYS_addres + '/assets/skin/';