Как это сделано

Сайт собран на нескольких языках: каждый отвечает за то, что умеет лучше остальных. Данные на этой странице читаются с работающего узла в момент открытия.

Языки и рантаймы

version.json →

PHP

8.3 (FPM)

Страницы, аккаунты, рейтинг, чат-API.

ASP.NET-совместимые страницы

совместимый обработчик .aspx

Разделы, унаследованные от прежней версии сайта.

C → WebAssembly

C 17 -> WebAssembly (clang 18, wasm-ld)

Соперник в «Реверси»: перебор ходов в native-скорости.

Lua

5.4 — правила игровых заданий

Правила заданий и подсказок — меняются без перезапуска сайта.

Python

3.12 — игровой API

Служба, которая запускает Lua и кеширует ответы.

Node.js

18 — служба живой статистики

Служба живой статистики на WebSocket.

Службы на узле

catgroup-realtime

Node.js 18 + ws

WebSocket: счётчик посетителей и лента свежих рекордов.

/rt/ работает · в сети: 0 · без перезапуска 1 день

catgroup-gamesvc

Python 3.12 + Lua 5.4

Задание дня и подсказки. Правила лежат в Lua-скриптах.

/gamesvc/ работает · lua5.4 · в кеше ответов: 3

nginx

nginx 1.30 (HTTP/3, QUIC, Brotli)

Отдаёт страницы и статику, проксирует обе службы, сжимает Brotli.

HTTP/3 · QUIC · TLS 1.3

Узлы доставки

Страница открывается с ближайшего узла: браузер один раз замеряет отклик и запоминает выбор на десять минут. Замер можно отключить параметром ?cdn=off.

Сборка

Версия

2.4.0

Номер меняется, когда меняется поведение сайта.

Сборка

20260904.1

Дата и номер выкладки на узел.

Выложено

2026-09-04

Тот же файл отдаётся машинам по /version.json.