Server to host lean games. https://adam.math.hhu.de
Find a file
2026-03-04 18:02:36 +01:00
.github/workflows feat: add CI for windows and macos (#458) 2026-03-04 18:02:36 +01:00
.vscode Fix minor typos 2024-01-20 16:15:15 -05:00
client Update strings concerning server performance (#450) 2026-02-27 11:39:39 +01:00
cypress chore: bump Lean to v4.28 (#456) 2026-03-03 22:52:22 +01:00
doc Add note on Mathlib cache (#442) 2026-03-03 22:41:30 +01:00
relay feat: add CI for windows and macos (#458) 2026-03-04 18:02:36 +01:00
server chore: bump Lean to v4.28 (#456) 2026-03-03 22:52:22 +01:00
.gitignore Update .gitignore 2025-09-05 16:15:05 +02:00
cypress.config.ts add cypress test 2025-06-27 14:54:51 +02:00
ecosystem.config.cjs Add env variable for CPU usage script location 2025-05-27 17:07:11 +02:00
env.d.ts fix redirect from landing page in dev container #145 2023-11-09 15:26:53 +01:00
index.html fix(server/GameServer/Commands): allow non-Prop levels (#362) 2025-08-29 15:45:06 +02:00
LICENSE Create LICENSE 2023-07-19 02:10:01 +02:00
NOTES.md remove docker isntructions 2023-10-31 15:35:20 +01:00
NOTES_SUBDOMAIN.md notes subdomain 2022-11-15 11:22:19 +01:00
package-lock.json feat: add CI for windows and macos (#458) 2026-03-04 18:02:36 +01:00
package.json feat: add CI for windows and macos (#458) 2026-03-04 18:02:36 +01:00
README.md doc: Fix incorrect section numbering in create_game.md (#361) 2025-08-26 09:00:01 +02:00
TODO-skipped-commits.txt fix(server/GameServer/Commands): allow non-Prop levels (#362) 2025-08-29 15:45:06 +02:00
tsconfig.json Allow compilation of project with several tsconfig files 2025-04-04 17:20:05 +02:00
vite.config.ts refactor: replace dependency gitpkg.vercel.app dependencies (#431) 2026-01-08 13:19:04 +01:00

Lean 4 Game

This is the source code for a Lean game platform hosted at adam.math.hhu.de.

Creating a Game

Please follow the tutorial Creating a Game. In particular, the following steps might be of interest:

Documentation

The documentation is very much work in progress but the linked documentation here should be up-to-date:

Game creation API

Frontend API

Backend

not fully written yet.

  • Server: describes the server part (i.e. the content of server/ und relay/).

Contributing

Contributions to lean4game are always welcome!

Translation

The interface can be translated to various languages. For adding a translation, one needs to do the following:

  1. In client/src/config.json, add your new language. The "iso" key is the ISO language code, i.e. it should be accepted by "i18next" and "GNU gettext"; the "flag" key is once accepted by react-country-flag.
  2. Run npm run translate. This should create a new file client/public/locales/{language}/translation.json. (alternatively you can copy-paste client/public/locales/en/translation.json)
  3. Add all translations.
  4. Commit the changes you made to config.json together with the new translation.json.

For translating games, see Translating a game.

Security

Providing the use access to a Lean instance running on the server is a severe security risk. That is why we start the Lean server with bubblewrap.

Contact

In case of technical problems with adam.math.hhu.de please contact us via e-mail.

Credits

The project has primarily been developed by Alexander Bentkamp and Jon Eugster.

It is based on ideas from the Lean Game Maker and the Natural Number Game (NNG) by Kevin Buzzard and Mohammad Pedramfar, and on Patrick Massot's prototype: NNG4.