Skip to content

从 0.6x 或 0.8x 版本迁移至 0.9 版本

服务器端

客户端

colyseus.js

colyseus-unity3d

从 0.4 版本迁移至 0.5 版本

使用 Server#listen 绑定 http 端口.

目前 Server 在底层使用 ClusterServer, 用于自动生成工作线程. 如果您目前使用的是 ClusterServer, 而非直接使用 Server, 那么您应当调用其 listen 方法.

旧版

import { createServer } from 'http';
import { Server } from 'colyseus';
const httpServer = createServer(app);
const gameServer = new Server({ server: httpServer });
httpServer.listen(2567);

新版

import { createServer } from 'http';
import { Server } from 'colyseus';
const httpServer = createServer(app);
const gameServer = new Server({ server: httpServer });
gameServer.listen(2567); // calling 'listen' from gameServer instead of httpServer

constructor 前面已变更,现在使用的是onCreate.

旧版

constructor (options) {
  super(options);
  // ... initialize the room
}

新版

constructor () {
  // room has been constructed. no options available yet!
}

onCreate (options) {
  // ... initialize the room
}

requestJoin - can return type can be either boolean or number (0..1)

旧版

requestJoin (options) {
  // accept connections if this room is not full.
  return this.clients.length < 10;
}

新版

requestJoin (options) {
  // give priority to connect on rooms with fewer clients.
  return 1 - (this.clients.length) / 10;
}

使用 patchRate 属性替代 setPatchRate().

旧版

constructor (options) {
  this.setPatchRate(1000 / 50);
}

新版

class MyRoom extends Room {
  patchRate = 1000 / 50;
}

client.id / client.sessionId

  • client.sessionId - 是用户接入房间的唯一身份标识.
  • client.id - 是用户的唯一身份标识. 若用户重复接入同一房间,您可以通过查看 client.id 看到他发起了 2 次会话. 若您不希望同一用户多次接入同一房间, 可使用 client.sessionId 进行识别.

room.maxClients 新属性.

旧版 - 若要查看 requestJoin 上的 client.length, 您可切换为 maxClients.

requestJoin (options) {
  return this.clients.length < 10;
}

新版

class MyRoom extends Room {
  maxClients = 10;
}

从 0.3x 版本迁移至 0.4 版本

构造函数/补丁率

旧版构造函数/补丁率

class MyRoom extends Room {
  constructor ( options ) {
    super( options, PATH_RATE )
  }
}

新版构造函数/补丁率

class MyRoom extends Room {
  constructor ( options ) {
    super( options )
    this.setPatchRate( PATCH_RATE )
  }
}

Back to top