Tiny Lobby

Multiplayer C++ Game Server with Lobby Management and Lua scripting. It starts a websocket server and has backend scripting in Luau. Check it on GitHub.

Server - How to use it

Download the tiny_lobby binary for your OS and run create the following folders and files:

tiny_lobby # Binary you downloaded
scripts/
    my_game/
        main.lua

Inside main.lua, write the following:

local main = {}

-- Example of function exported that echoes a message
function main.echo(message: string)
    print("Echo: " .. message)
    -- Return the message back to the caller
    return message
end

return main

Now, run the tiny_lobby binary. You should see the following output:

Starting webserver without SSL
Listening on port 8080
Loading game from world with id my_game

Now the server is up and the echo function can be called.

Next, check out the Documentation.

Godot - How to connect it

Download the Tiny Lobby Client for Godot. Create a node of type ScriptedLobbyClient and set the game_d property to the game folder you created above.

Then, create and run the following script:

class_name Lobby
extends ScriptedLobbyClient

func _ready():
  await connect_to_server().finished
  await create_lobby("lobby_name").finished
  var result = await lobby_call("echo", ["test"]).finished
  print(result.get_result())