This is an old revision of the document!
Shinsekai, as many games, use lua for scripting. You can learn it here.
Scripting in Shinsekai is about creating entities, so each lua script define one or multiple EntityScript class. Due to the nature of the object oriented and multithreaded of shinsekai, entity scripts can't access each others data, and added properties to tables can't travel through the contexts.
Each entity is independent, they need to communicate horizontally (server-side or client-side) and vertically (server ↔ clients). Entity scripts are also objects synced over the network (transform only). Each entity can also read/write data in a private space defined by its persist_id.
The goal is to create functional and isolated entities that can be added in any server through the repository system.
The API lua doc is here.