https://github.com/chmodsayshello/luanti32
A WIP Luanti Client libary for the ES32
https://github.com/chmodsayshello/luanti32
esp32 luanti minetest
Last synced: 10 months ago
JSON representation
A WIP Luanti Client libary for the ES32
- Host: GitHub
- URL: https://github.com/chmodsayshello/luanti32
- Owner: chmodsayshello
- License: gpl-3.0
- Created: 2024-12-06T20:02:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T20:55:48.000Z (over 1 year ago)
- Last Synced: 2025-04-05T22:05:30.228Z (about 1 year ago)
- Topics: esp32, luanti, minetest
- Language: C
- Homepage: https://forum.luanti.org/viewtopic.php?t=31241
- Size: 492 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Luanti32
Luanti Clients... ON AN ESP32!
Note: While even old WROOM-boards can handle can handle small minetest-game servers, I recommend you use an ESP32-S3. This essentially becomes a requirement once you wish to connect to Mineclonia servers.
# DISCLAIMER
This project is in a VERY early stage of development! Some, if not most portions of the code are extremly ugly and need a revamp (i.e. I made a mistake while parsing the SRP_S_B bytes and hardcoded size s to temporaily make this work).
## Build Instructions
1. Install ESP-IDF on your system. Refer to [Espressif's manual](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#installation).
2. Open a shell in which you can execute `idf.py` in whatever directory you cloned this repository into
3. run `idf.py build`
4. (to flash, run `idf.py flash` afterwards)
## Usage
- Connect your esp32 to your network
- Make an instance of the `LuantiClient` struct and overwrite it completly with 0.
- Setting the fields you want/need:
- Run LuantiClient_connect
- Run LuantiClient_tick as often as possible while your ESP32 is connected to the Luanti-Server
I recommend you look at [the example](https://github.com/chmodsayshello/Luanti32/blob/main/main/example/main.c) provided.
## Credits
- Espressif for providing the public domain wifi code
- est31 and Tom Cocagne for [implementing a minimal](https://github.com/est31/csrp-gmp) version of SRP, a tiny adjustment had been made to make this run on an ESP-32 (it tries to use /dev/urandom for filling a buffer if not on Windows)
- chfast for [their minimal implementation of GMP](https://github.com/chfast/mini-gmp) (dependency of the SRP-libary)