A 2-dimensional multiplayer game with ray tracing.
https://decla.red
Replace inline publish step(s) with the canonical shell-only composite actions in andras/ci-actions. Switches the publish jobs to the registered 'docker' runner. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .devcontainer | ||
| .forgejo/workflows | ||
| .vscode | ||
| backend | ||
| frontend | ||
| media | ||
| shared | ||
| .dockerignore | ||
| .eslintignore | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierrc | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
decla.red
A 2-dimensional multiplayer game utilising ray tracing.
Available at decla.red.
For optimised 2D ray tracing, SDF-2D is used.
Deployment
CI/CD runs on Forgejo Actions (.forgejo/workflows/deploy.yml). On a push to
main it:
- builds the static frontend and rsyncs
frontend/dist/to the/pages/declaredmount on the runner host, and - builds the server image from the root
Dockerfileand pushes it to the Forgejo container registry as<registry>/<owner>/<repo>-server.
The registry job needs a FORGEJO_PACKAGE_TOKEN secret (with package write
scope) and, optionally, a CONTAINER_REGISTRY_HOST variable to override the
registry host.
The website's server list is hardcoded in
frontend/src/scripts/configuration.ts —
edit it to add or remove game-server origins.
Run the server image locally:
docker build -t declared-server .
docker run -p 3000:3000 declared-server --name "My server" --playerLimit 16

