Skip to content

Scripting Overview

Selene utilizes the Lua scripting language to provide a powerful and flexible scripting environment for your server.

Scripts are contained within resource bundles that are loaded from the bundles folder. These bundles can also contain any additional assets, such as models, textures, and user interfaces.

Bundles to be loaded are configured in the server.lua file, which is a lua script itself and acts as an entrypoint for everything else. Read the server configuration reference for more information on how to setup your server.

Script Bindings

Selene provides custom script bindings that allow you to interact with the game world, players, react to inputs, and more.

Standard Lua Libraries

Selene currently uses Lua 5.4 and exposes the following lua libraries:

The libraries io, os, debug, and package are not available for security reasons. However, you will still be able to use the require function to load and reference other lua files, and alternative functions are provided for some of the common tasks those libraries would normally be used for.