💑MMO Server
Do you want player interaction inside of your Portal? This can be useful for mini-games that require co-operation or chat features.
Setup
To connect to Sunflower Land MMO server, you must first update your .env
file
VITE_API_URL=https://api-dev.sunflower-land.com
VITE_ROOM_URL=wss://mmo-dev.sunflower-land.com
Next you must ensure that a valid JWT is present from the player, see Setup & Authorisation
Connect to Server
We use colyseus
to manage MMO connections inside of the game. See the example below in portalMachine.ts
as to how the Crop Boom minigame creates a server connection.
// Join the MMO Server
let mmoServer: Room<PlazaRoomState> | undefined;
const serverName = getServer();
const mmoUrl = CONFIG.ROOM_URL;
if (serverName && mmoUrl) {
const client = new Client(mmoUrl);
mmoServer = await client?.joinOrCreate<PlazaRoomState>(serverName, {
jwt: context.jwt,
bumpkin: game?.bumpkin,
farmId,
x: SPAWNS.portal_example.default.x,
y: SPAWNS.portal_example.default.y,
sceneId: "portal_example",
experience: game.bumpkin?.experience ?? 0,
});
}
Once you have established a server connection, you must pass this mmoServer
into your Phaser initialisation.
game.current.registry.set("mmoServer", portalState.context.mmoServer);
Last updated