- 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.
- To run it, you'll need the following Ubuntu (or equivalent on your distro) packages:
lz4
,libopus-dev
,libsqlite3-dev
, OpenSSL (by default on most distros), and glibc from GCC 13.
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
liblz4-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: