Open-source web player for Rublox games, dual-licensed under AGPL-3.0 + Commercial. Highlights: - Babylon.js 7 + React 18 + Vite 5 stack - Self-contained engine (~46k lines): BlockManager, ModelManager, PlayerController, ScriptSandboxWorker, MultiplayerSync, 30+ GD gamemodes - Configurable backend via VITE_API_BASE and friends — works against staging (dev-api.rublox.pro) out of the box - Standalone mode (VITE_STANDALONE=true) loads a bundled sample game for first-run without any backend - Full docs: README, ARCHITECTURE, CONTRIBUTING, SECURITY, CHANGELOG - Lint + format scaffolding (ESLint + Prettier + EditorConfig) - Legal: LICENSE (AGPL-3.0), LICENSE-COMMERCIAL.md, CLA.md, COPYRIGHT.md - Issue templates: bug_report, feature_request, security_disclosure Removed before public release: - frontend_deploy.py (contained production SSH credentials) - ~27 admin endpoints (kept in private repo) - Hard-coded internal URLs and IPs - All previous git history (clean repo init)
66 lines
1.7 KiB
JSON
66 lines
1.7 KiB
JSON
{
|
|
"name": "rublox-player",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"description": "Open-source web player for Rublox games — a Roblox-like creator platform. Babylon.js 7 + React 18 + Vite 5.",
|
|
"keywords": [
|
|
"rublox",
|
|
"game-player",
|
|
"babylonjs",
|
|
"3d",
|
|
"webgl",
|
|
"react",
|
|
"vite",
|
|
"multiplayer",
|
|
"colyseus"
|
|
],
|
|
"homepage": "https://rublox.pro",
|
|
"bugs": {
|
|
"url": "https://git.rublox.pro/rublox/player/issues",
|
|
"email": "security@rublox.pro"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+ssh://git@git.rublox.pro:2222/rublox/player.git"
|
|
},
|
|
"license": "AGPL-3.0-or-later",
|
|
"author": {
|
|
"name": "Иванкова Виктория Сергеевна (ИП)",
|
|
"email": "maksimivankov26@yandex.ru",
|
|
"url": "https://rublox.pro"
|
|
},
|
|
"scripts": {
|
|
"start": "vite",
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --ext .js,.jsx --max-warnings 200",
|
|
"format": "prettier --write \"src/**/*.{js,jsx,json,md,css}\"",
|
|
"format:check": "prettier --check \"src/**/*.{js,jsx,json,md,css}\""
|
|
},
|
|
"dependencies": {
|
|
"@babylonjs/core": "7.54.3",
|
|
"@babylonjs/loaders": "7.54.3",
|
|
"axios": "1.8.4",
|
|
"colyseus.js": "0.16.22",
|
|
"jwt-decode": "4.0.0",
|
|
"react": "18.3.1",
|
|
"react-dom": "18.3.1",
|
|
"react-router-dom": "7.4.0",
|
|
"socket.io-client": "^4.8.3"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "18.3.12",
|
|
"@types/react-dom": "18.3.1",
|
|
"@vitejs/plugin-react": "4.3.3",
|
|
"eslint": "^8.57.0",
|
|
"eslint-plugin-react": "^7.34.0",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"prettier": "^3.2.5",
|
|
"vite": "5.4.10"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
}
|