A linux server scripting API for Sub Rosa.
⚠ Early in development, APIs can change at any time.
RosaServer uses LuaJIT/moonjit; this means there's no hit to performance while being able to create anything from moderation tools to complex custom games with easy-to-write version agnostic code.
- Build the library or download the latest Release.
- Your directory should contain
libluajit.so
,librosaserver.so
,subrosadedicated.x64
, and thedata
folder (the last two can be found with your game install).- You will also need the
rosaserversatellite
binary if you plan to use the ChildProcess API. Make sure it has execute permissions.
- You will also need the
- There's a 99% chance you'll also want to use RosaServerCore.
LD_PRELOAD="$(pwd)/libluajit.so $(pwd)/librosaserver.so" ./subrosadedicated.x64
The server will start as normal and main/init.lua
will be executed.
For complete reference on using the Lua API, go to the wiki.
Make sure all submodules are cloned, and run ./build.sh
build-essential
on Debian/Ubuntucmake
libssl-dev
libsqlite3-dev
libopus-dev
Here's a basic script I use to copy the required files after they're compiled. For example, ./build.sh && ./postbuild.sh
#!/bin/bash
DEST=../RosaServerCore/
cp ./moonjit/src/libluajit.so "$DEST"
cp ./release/RosaServer/librosaserver.so "$DEST"
cp ./release/RosaServerSatellite/rosaserversatellite "$DEST"
Thanks to these open source libraries: