Skip to content

Construct 3 SDK

Installation

Attention! You need a server to use Colyseus!

Construct has well-known existing features to "host" a multiplayer session from the client-side. This is not possible when using Colyseus. Colyseus is an authoritative server, written in Node.js. You can't let your client-side host the game sessions directly.

Construct 3 SDK: Source code

You can find the source code of the Construct SDK's here: Construct 3 (compatible with C3 and C2 runtime from Construct3) / Construct 2 (not up-to-date - compatible with server 0.9.x)

Example project

The example project has a similar result as the TypeScript (pixijs-boilerplate).

Handling messages

An important note when sending messages from the server to the clients: you need to provide an object with a "type" field, in order for the client to be able to parse it.

Server-side

this.broadcast("foo", "bar");

Client-side

Use the On Message condition, with "foo" as argument. The expression CurrentValue will have the value "bar".

Properties

Default Endpoint

Default Endpoint to use on "Connect" action.

Actions

Set endpoint to

Format: wss://example.com

Join room {0} with options {1}.

Join a room by name

Join room {0} with options {1}.

Join a room by name

Create room {0} with options {1}.

Create a room by name

Join room {0} with options {1}.

Join an existing room by its ID

Reconnect into room {0} with sessionId {1}.

Reconnect using a previously connected room

Send {0} with

Send message to a room

Leave from the room

Disconnect client from the room.

Get available {0} rooms.

Get available rooms by name, OnGetAvailableRooms triggered when data is available. Data returned as JSON string in expression CurrentValue

Conditions

On Join

Triggered when joined successfully into a room.

On Leave

Triggered when left from a room.

On Error

Triggered when an error happened on the server.

On Message ({0})

Triggered when the room broadcasts a message, or sends a message directly to this client.

On State Change

Triggered when the state of the room changes.

On Get Available Rooms

Triggers when available rooms data is ready in the CurrentValue expresssion.

On add at

Triggers when an item is added to ArraySchema or MapSchema.

On field change at

Triggers when a field is changed inside a Schema instance. Need to use

On change at

Triggers when an item is changed inside ArraySchema or MapSchema.

On remove at

Triggers when an item is removed from ArraySchema or MapSchema.

Is index

Only available for Arrays and Maps. Check if index of current item is equals to provided value.

Is field

Only available during "On change" of a direct object. Checks if a field name has changed.

Expressions

JSON

Declare a JSON value.

CurrentValue

Get value from current item

PreviousValue

Get previous value from current field. Only available during "On change" on an instance variable. Not avaialble for arrays and maps.

CurrentValueAt

Get nested value from current item

CurrentIndex

Get index of current item. Available during "On Add", "On Change" or "On Remove"

CurrentField

Get current field being changed. Available during "On field change"

State

Get a value from room's state

SessionId

Unique sessionId of the current user

ErrorCode

Get last error code

ErrorMessage

Get last error message

Back to top