Dashboard guide
Rooms
Rooms let your game's clients send messages to each other as they happen: a lobby, a chat, positions in a small multiplayer game. A client joins one room at a time, and whatever it sends there reaches everyone else in it.
Rooms are served by Scoreboat's socket server, a separate process from the rest of Scoreboat. If the server you use has none configured, the Rooms page says so and rooms are off for every game.
This is an extremely simple service adapted from a previous project of mine. All it does is relay messages between clients. Eventually it'll be replaced by a properly competent socket service.
Settings
| Setting | What it does |
|---|---|
| Rooms on | Clients holding a key with the game's realtime permission may connect. Off by default. |
| Players only | A client must have a player signed in (a guest counts) to connect. |
| Searching | Clients may list and search the rooms that are listed. |
| Making rooms | Clients may make rooms of their own. They last until the last person leaves. |
And the limits, each within a fixed range:
| Setting | Sent to clients as | Default | Allowed |
|---|---|---|---|
| People in a room a client makes | max_room_size |
8 | 2 to 256 |
| Rooms clients may make at once, for the whole game | max_rooms |
50 | 1 to 1000 |
| Largest message (bytes) | max_message_bytes |
4096 | 16 to 65536 |
| Messages one client may send per second | messages_per_second |
10 | 1 to 60 |
Clients read the settings when they connect, so a change reaches a client the next time it connects.
Fixed rooms
Fixed rooms are always there, whether or not anyone is in them. They can be thus act as hard coded rooms known to your game. Give each a name and a size, and choose whether it is listed. A client joins a room by its id; a listed room can also be found by searching for its name, which gives its id. Each fixed room's id is shown in the list.
What a game needs
A key with the game client role may get into the rooms. The game asks
Scoreboat for a ticket, then connects to the socket server with it. See the
rooms API, or use sb_rt_connect in the
GameMaker library.