It took most of January this year, but I was able to integrate Luau into Tilemap Town, where you can create a "gadget" type item and then put a script on it, and it will automatically start and run and the script can react to events. Scripts currently cannot modify the map or go to other maps, and cannot create or delete entities, but you can implement NPCs and minigames. Entities in Tilemap Town can request your keys and also show a little screen, and this is available to scripts too, with a little library to help manage screens.

The scripting service runs as a separate process that the main server runs as a subprocess, and the main server starts/stops scripts and sends messages into it as needed. This was done because it's a lot easier to have C++ interface with the Luau API than it is to just directly do that in Python, and also it's good for security to have some process isolation in there.

There's documentation in the repository, containing both a scripting API and some examples. You will need a permission in order to use scripts, so let me know if you want it.

Previous Post