🌐 API
Lobby Server is a general-purpose WebSocket-based lobby server.
The authentication method used is
JSON Web Token
. The token's payload must contain the sub field with a unique
identifier.
{
sub: username
}
The client must send the token in the connection URL and in each message data object.
wss://localhost:9000/token
Ping
Ping the server.
Message
Field |
Type |
Value |
event |
string |
ping |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
|
Response
Field |
Type |
Value |
event |
string |
pong |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
|
Get Room
Get the user's room.
Message
Field |
Type |
Value |
event |
string |
get_room |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
|
Response
Field |
Type |
Value |
event |
string |
get_room_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
room |
json |
The user's room. |
|
Get Rooms
Get the rooms.
Message
Field |
Type |
Value |
event |
string |
get_rooms |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
|
Response
Field |
Type |
Value |
event |
string |
get_rooms_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
rooms |
json[] |
The lobby's rooms. |
|
Create Room
Create a new room.
Message
Field |
Type |
Value |
event |
string |
create_room |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
name |
string |
The room's name. |
password |
string |
The room's password. |
hidden |
boolean |
Is the room hidden? |
size |
number |
Size of the room. |
icon |
string |
The room's icon. |
|
Response
Field |
Type |
Value |
event |
string |
create_room_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
room |
json |
The created room. |
|
Join Room
Join a room.
Message
Field |
Type |
Value |
event |
string |
join_room |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
name |
string |
The room's name. |
password |
string |
The room's password. |
|
Response
Field |
Type |
Value |
event |
string |
join_room_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
room |
json |
The joined room. |
|
Leave Room
Leave a room.
Message
Field |
Type |
Value |
event |
string |
leave_room |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
|
Response
Field |
Type |
Value |
event |
string |
leave_room_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
room |
json |
The left room. |
|
Kick User
Kick a user from the room
Message
Field |
Type |
Value |
event |
string |
kick_user |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
token |
string |
The access token. |
target |
string |
The user to kick. |
|
Response
Field |
Type |
Value |
event |
string |
kick_user_response |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
user |
json |
The kicked user. |
room |
json |
The kicked room. |
|
Client Authorized
Client has been authorized.
Message
Field |
Type |
Value |
event |
string |
client_authorized |
Pong
Pong the client.
Message
Field |
Type |
Value |
event |
string |
pong |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
|
User Online
A user came online.
Message
Field |
Type |
Value |
event |
string |
user_online |
data |
json |
Field |
Type |
Description |
username |
string |
The user's username. |
|
User Offline
A user went offline.
Message
Field |
Type |
Value |
event |
string |
user_offline |
data |
json |
Field |
Type |
Description |
username |
string |
The user's username. |
|
Room Created
A room was created.
Message
Field |
Type |
Value |
event |
string |
room_created |
data |
json |
Field |
Type |
Description |
room |
json |
The created room. |
|
Room Deleted
A room was deleted.
Message
Field |
Type |
Value |
event |
string |
room_deleted |
data |
json |
Field |
Type |
Description |
room |
json |
The deleted room. |
|
Guest Joined Room
A guest joined a room.
Message
Field |
Type |
Value |
event |
string |
guest_joined_room |
data |
json |
Field |
Type |
Description |
user |
json |
The joined user. |
room |
json |
The joined room. |
|
Guest Left Room
A guest left a room.
Message
Field |
Type |
Value |
event |
string |
guest_left_room |
data |
json |
Field |
Type |
Description |
user |
json |
The left user. |
room |
json |
The left room. |
|
User Rejoined
A user rejoined a room.
Message
Field |
Type |
Value |
event |
string |
user_rejoined |
data |
json |
Field |
Type |
Description |
user |
json |
The rejoined user. |
room |
json |
The rejoined room. |
|
User Kicked
A user was kicked from a room.
Message
Field |
Type |
Value |
event |
string |
user_kicked |
data |
json |
Field |
Type |
Description |
user |
json |
The kicked user. |
room |
json |
The kicked room. |
|
❌ Errors
The server uses the following error schema:
Field |
Type |
Value |
event |
string |
error |
data |
json |
Field |
Type |
Description |
uuid |
string |
The message universally unique identifier. |
code |
string |
The error code. |
message |
string |
The error message. |
|
Code |
Description |
generic_error |
Generic error. |
connection_error |
Connection error. |
validation_error |
Validation error. |
invalid_token |
Invalid token. |
user_not_found |
User not found. |
user_already_exists |
User already exists. |
user_not_in_room |
User not in room. |
user_already_in_room |
User already in room. |
user_not_master |
User is not master. |
room_not_found |
Room not found. |
room_already_exists |
Room already exists. |
room_full |
Room is full. |
invalid_room_password |
Invalid room password. |