Multiplayer networking library for DragonRuby Game Toolkit with LAN, Steam, and GOG¹ support. Built on Unet and OSSP.
- Enabled by default, can be disabled when launching OService from your app.
- Add
UNET_MODULE_STEAM=ONto build-unix or pass it to CMake². - Add
STEAM_APP_ID=(your app id)the same way.
- Use MSVC. GCC/MSYS2 may work but hasn’t been tested recently.
- Run
build-unix. - Sign the extension if you plan to distribute it³.
- Run
build-unix. - Run
patchelf --set-rpath $ORIGIN oservice.soso the Steam library is loaded from the same directory.
See documentation.
Place libraries as shown below.
steam_api64.dll must be in the game root.
- "game root directory"
- "game executable"
- steam_api64.dll
- native
- linux-amd64
- libsteam_api.so
- oservice.so
- macos
- libsteam_api.dylib
- oservice.dylib
- windows-amd64
- oservice.dll
- On macOS, resign the DragonRuby app to allow attaching a debugger.
- On Linux, use
LD_DEBUG=libs ./dragonruby dr-socket-unetto list missing dependencies.
¹ GOG support exists, but is untested (I do not have a dev account).
² Requires a Steamworks account.
³ Requires an Apple certificate.