@rpgjs/server 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,50 @@
1
+ import http from 'http';
2
+ import express from 'express';
3
+ import { Server } from 'socket.io';
4
+ import entryPoint from '../entry-point';
5
+ import PrettyError from 'pretty-error';
6
+ export function expressServer(modules, options) {
7
+ return new Promise((resolve, reject) => {
8
+ const dirname = options.basePath;
9
+ const PORT = process.env.PORT || 3000;
10
+ const pe = new PrettyError();
11
+ const app = express();
12
+ const server = http.createServer(app);
13
+ const io = new Server(server, {
14
+ maxHttpBufferSize: 1e10,
15
+ cors: {
16
+ origin: "*",
17
+ methods: ["GET", "POST"]
18
+ }
19
+ });
20
+ app.use(express.json());
21
+ app.use('/', express.static(dirname + '/../dist/client'));
22
+ async function start() {
23
+ const rpgGame = await entryPoint(modules, { io, ...options });
24
+ rpgGame.app = app;
25
+ rpgGame.start();
26
+ console.log(`
27
+ ===> MMORPG is running on http://localhost:${PORT} <===
28
+ `);
29
+ resolve({
30
+ app,
31
+ server,
32
+ game: rpgGame
33
+ });
34
+ }
35
+ server.listen(PORT, start);
36
+ process.on('uncaughtException', function (error) {
37
+ console.log(pe.render(error));
38
+ });
39
+ process.on('unhandledRejection', function (reason) {
40
+ console.log(pe.render(reason));
41
+ });
42
+ if (import.meta.hot) {
43
+ import.meta.hot.on("vite:beforeFullReload", () => {
44
+ console.log("full reload");
45
+ server.close();
46
+ });
47
+ }
48
+ });
49
+ }
50
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/express/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,UAAU,MAAM,gBAAgB,CAAA;AACvC,OAAO,WAAW,MAAM,cAAc,CAAA;AAQtC,MAAM,UAAU,aAAa,CAAC,OAAqB,EAAE,OAA6B;IAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAA;QACrC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE;YAC1B,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE;gBACF,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;aAC3B;SACJ,CAAC,CAAA;QAEF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAA;QAEzD,KAAK,UAAU,KAAK;YAChB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;YAC7D,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA;YACjB,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,OAAO,CAAC,GAAG,CAAC;6DACqC,IAAI;aACpD,CAAC,CAAA;YACF,OAAO,CAAC;gBACJ,GAAG;gBACH,MAAM;gBACN,IAAI,EAAE,OAAO;aAChB,CAAC,CAAA;QACN,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAE1B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,KAAK;YAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,MAAW;YAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAA;AACN,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- import entryPoint from './entry-point';
2
- import { Direction, Input, Control, RpgPlugin, HookServer, HookClient, RpgModule, RpgShape, ShapePositioning } from '@rpgjs/common';
3
- import { RpgServer, RpgPlayerHooks, RpgServerEngineHooks } from './RpgServer';
4
- import { EventData } from './decorators/event';
5
- import { MapData } from './decorators/map';
6
- import { RpgPlayer, RpgEvent, EventMode } from './Player/Player';
7
- import { RpgMap } from './Game/Map';
8
- import { RpgWorldMaps } from './Game/WorldMaps';
9
- import { Query } from './Query';
10
- import Monitor from './Monitor';
11
- import * as Presets from './presets';
12
- import { Move, Frequency, Speed } from './Player/MoveManager';
13
- import { RpgServerEngine } from './server';
14
- import { SceneMap as RpgSceneMap, RpgClassMap } from './Scenes/Map';
15
- import { RpgMatchMaker } from './MatchMaker';
16
- import { IStoreState } from './Interfaces/StateStore';
17
- export { RpgServer, RpgEvent, RpgPlayer, RpgPlugin, RpgMap, RpgSceneMap, MapData, EventData, Query as RpgWorld, Query, entryPoint, Presets, Monitor, Move, EventMode, Direction, Input, Control, HookServer, HookClient, RpgModule, RpgPlayerHooks, RpgServerEngineHooks, RpgServerEngine, RpgShape, ShapePositioning, Frequency, Speed, RpgWorldMaps, RpgClassMap, IStoreState, RpgMatchMaker };
1
+ export { default as entryPoint } from './entry-point';
2
+ export { Direction, Input, Control, RpgPlugin, HookServer, HookClient, RpgModule, RpgShape, ShapePositioning, AbstractObject } from '@rpgjs/common';
3
+ export { RpgServer, RpgPlayerHooks, RpgServerEngineHooks } from './RpgServer';
4
+ export { EventData } from './decorators/event';
5
+ export { MapData } from './decorators/map';
6
+ export { RpgPlayer, RpgEvent, EventMode } from './Player/Player';
7
+ export { RpgMap } from './Game/Map';
8
+ export { RpgWorldMaps } from './Game/WorldMaps';
9
+ export { Query, Query as RpgWorld } from './Query';
10
+ export { default as Monitor } from './Monitor';
11
+ export * as Presets from './presets';
12
+ export { Move, Frequency, Speed } from './Player/MoveManager';
13
+ export { RpgServerEngine } from './server';
14
+ export { SceneMap as RpgSceneMap, RpgClassMap } from './Scenes/Map';
15
+ export { RpgMatchMaker } from './MatchMaker';
16
+ export { IStoreState } from './Interfaces/StateStore';
17
+ export { Components } from './Player/ComponentManager';
package/lib/index.js CHANGED
@@ -22,10 +22,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.RpgMatchMaker = exports.RpgWorldMaps = exports.Speed = exports.Frequency = exports.ShapePositioning = exports.RpgShape = exports.RpgServerEngine = exports.RpgModule = exports.HookClient = exports.HookServer = exports.Control = exports.Input = exports.Direction = exports.EventMode = exports.Move = exports.Monitor = exports.Presets = exports.entryPoint = exports.Query = exports.RpgWorld = exports.EventData = exports.MapData = exports.RpgSceneMap = exports.RpgMap = exports.RpgPlugin = exports.RpgPlayer = exports.RpgEvent = void 0;
26
- const entry_point_1 = __importDefault(require("./entry-point"));
27
- exports.entryPoint = entry_point_1.default;
28
- const common_1 = require("@rpgjs/common");
25
+ exports.Components = exports.RpgMatchMaker = exports.RpgSceneMap = exports.RpgServerEngine = exports.Speed = exports.Frequency = exports.Move = exports.Presets = exports.Monitor = exports.RpgWorld = exports.Query = exports.RpgWorldMaps = exports.RpgMap = exports.EventMode = exports.RpgEvent = exports.RpgPlayer = exports.MapData = exports.EventData = exports.AbstractObject = exports.ShapePositioning = exports.RpgShape = exports.RpgModule = exports.HookClient = exports.HookServer = exports.RpgPlugin = exports.Control = exports.Input = exports.Direction = exports.entryPoint = void 0;
26
+ var entry_point_1 = require("./entry-point");
27
+ Object.defineProperty(exports, "entryPoint", { enumerable: true, get: function () { return __importDefault(entry_point_1).default; } });
28
+ var common_1 = require("@rpgjs/common");
29
29
  Object.defineProperty(exports, "Direction", { enumerable: true, get: function () { return common_1.Direction; } });
30
30
  Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return common_1.Input; } });
31
31
  Object.defineProperty(exports, "Control", { enumerable: true, get: function () { return common_1.Control; } });
@@ -35,33 +35,35 @@ Object.defineProperty(exports, "HookClient", { enumerable: true, get: function (
35
35
  Object.defineProperty(exports, "RpgModule", { enumerable: true, get: function () { return common_1.RpgModule; } });
36
36
  Object.defineProperty(exports, "RpgShape", { enumerable: true, get: function () { return common_1.RpgShape; } });
37
37
  Object.defineProperty(exports, "ShapePositioning", { enumerable: true, get: function () { return common_1.ShapePositioning; } });
38
- const event_1 = require("./decorators/event");
38
+ Object.defineProperty(exports, "AbstractObject", { enumerable: true, get: function () { return common_1.AbstractObject; } });
39
+ var event_1 = require("./decorators/event");
39
40
  Object.defineProperty(exports, "EventData", { enumerable: true, get: function () { return event_1.EventData; } });
40
- const map_1 = require("./decorators/map");
41
+ var map_1 = require("./decorators/map");
41
42
  Object.defineProperty(exports, "MapData", { enumerable: true, get: function () { return map_1.MapData; } });
42
- const Player_1 = require("./Player/Player");
43
+ var Player_1 = require("./Player/Player");
43
44
  Object.defineProperty(exports, "RpgPlayer", { enumerable: true, get: function () { return Player_1.RpgPlayer; } });
44
45
  Object.defineProperty(exports, "RpgEvent", { enumerable: true, get: function () { return Player_1.RpgEvent; } });
45
46
  Object.defineProperty(exports, "EventMode", { enumerable: true, get: function () { return Player_1.EventMode; } });
46
- const Map_1 = require("./Game/Map");
47
+ var Map_1 = require("./Game/Map");
47
48
  Object.defineProperty(exports, "RpgMap", { enumerable: true, get: function () { return Map_1.RpgMap; } });
48
- const WorldMaps_1 = require("./Game/WorldMaps");
49
+ var WorldMaps_1 = require("./Game/WorldMaps");
49
50
  Object.defineProperty(exports, "RpgWorldMaps", { enumerable: true, get: function () { return WorldMaps_1.RpgWorldMaps; } });
50
- const Query_1 = require("./Query");
51
- Object.defineProperty(exports, "RpgWorld", { enumerable: true, get: function () { return Query_1.Query; } });
51
+ var Query_1 = require("./Query");
52
52
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return Query_1.Query; } });
53
- const Monitor_1 = __importDefault(require("./Monitor"));
54
- exports.Monitor = Monitor_1.default;
55
- const Presets = __importStar(require("./presets"));
56
- exports.Presets = Presets;
57
- const MoveManager_1 = require("./Player/MoveManager");
53
+ Object.defineProperty(exports, "RpgWorld", { enumerable: true, get: function () { return Query_1.Query; } });
54
+ var Monitor_1 = require("./Monitor");
55
+ Object.defineProperty(exports, "Monitor", { enumerable: true, get: function () { return __importDefault(Monitor_1).default; } });
56
+ exports.Presets = __importStar(require("./presets"));
57
+ var MoveManager_1 = require("./Player/MoveManager");
58
58
  Object.defineProperty(exports, "Move", { enumerable: true, get: function () { return MoveManager_1.Move; } });
59
59
  Object.defineProperty(exports, "Frequency", { enumerable: true, get: function () { return MoveManager_1.Frequency; } });
60
60
  Object.defineProperty(exports, "Speed", { enumerable: true, get: function () { return MoveManager_1.Speed; } });
61
- const server_1 = require("./server");
61
+ var server_1 = require("./server");
62
62
  Object.defineProperty(exports, "RpgServerEngine", { enumerable: true, get: function () { return server_1.RpgServerEngine; } });
63
- const Map_2 = require("./Scenes/Map");
63
+ var Map_2 = require("./Scenes/Map");
64
64
  Object.defineProperty(exports, "RpgSceneMap", { enumerable: true, get: function () { return Map_2.SceneMap; } });
65
- const MatchMaker_1 = require("./MatchMaker");
65
+ var MatchMaker_1 = require("./MatchMaker");
66
66
  Object.defineProperty(exports, "RpgMatchMaker", { enumerable: true, get: function () { return MatchMaker_1.RpgMatchMaker; } });
67
+ var ComponentManager_1 = require("./Player/ComponentManager");
68
+ Object.defineProperty(exports, "Components", { enumerable: true, get: function () { return ComponentManager_1.Components; } });
67
69
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAsC;AAsClC,qBAtCG,qBAAU,CAsCH;AArCd,0CAUsB;AAgClB,0FAzCA,kBAAS,OAyCA;AACT,sFAzCA,cAAK,OAyCA;AACL,wFAzCA,gBAAO,OAyCA;AAdP,0FA1BA,kBAAS,OA0BA;AAeT,2FAxCA,mBAAU,OAwCA;AACV,2FAxCA,mBAAU,OAwCA;AACV,0FAxCA,kBAAS,OAwCA;AAIT,yFA3CA,iBAAQ,OA2CA;AACR,iGA3CA,yBAAgB,OA2CA;AAxCpB,8CAA8C;AAsB1C,0FAtBK,iBAAS,OAsBL;AArBb,0CAA0C;AAoBtC,wFApBK,aAAO,OAoBL;AAnBX,4CAAgE;AAe5D,0FAfK,kBAAS,OAeL;AADT,yFAdgB,iBAAQ,OAchB;AAaR,0FA3B0B,kBAAS,OA2B1B;AA1Bb,oCAAmC;AAgB/B,uFAhBK,YAAM,OAgBL;AAfV,gDAA+C;AAuC3C,6FAvCK,wBAAY,OAuCL;AAtChB,mCAA+B;AAkBlB,yFAlBJ,aAAK,OAkBO;AACjB,sFAnBK,aAAK,OAmBL;AAlBT,wDAA+B;AAqB3B,kBArBG,iBAAO,CAqBH;AApBX,mDAAoC;AAmBhC,0BAAO;AAlBX,sDAA6D;AAoBzD,qFApBK,kBAAI,OAoBL;AAaJ,0FAjCW,uBAAS,OAiCX;AACT,sFAlCsB,mBAAK,OAkCtB;AAjCT,qCAA0C;AA6BtC,gGA7BK,wBAAe,OA6BL;AA5BnB,sCAAmE;AAU/D,4FAViB,cAAW,OAUjB;AATf,6CAA4C;AAmCxC,8FAnCK,0BAAa,OAmCL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAqD;AAA5C,0HAAA,OAAO,OAAc;AAC9B,wCAWsB;AAVlB,mGAAA,SAAS,OAAA;AACT,+FAAA,KAAK,OAAA;AACL,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,kGAAA,QAAQ,OAAA;AACR,0GAAA,gBAAgB,OAAA;AAChB,wGAAA,cAAc,OAAA;AAGlB,4CAA8C;AAArC,kGAAA,SAAS,OAAA;AAClB,wCAA0C;AAAjC,8FAAA,OAAO,OAAA;AAChB,0CAAgE;AAAvD,mGAAA,SAAS,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AACvC,kCAAmC;AAA1B,6FAAA,MAAM,OAAA;AACf,8CAA+C;AAAtC,yGAAA,YAAY,OAAA;AACrB,iCAAkD;AAAzC,8FAAA,KAAK,OAAA;AAAE,iGAAA,KAAK,OAAY;AACjC,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,qDAAoC;AACpC,oDAA6D;AAApD,mGAAA,IAAI,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,oGAAA,KAAK,OAAA;AAC/B,mCAA0C;AAAjC,yGAAA,eAAe,OAAA;AACxB,oCAAmE;AAA1D,kGAAA,QAAQ,OAAe;AAChC,2CAA4C;AAAnC,2GAAA,aAAa,OAAA;AAEtB,8DAAsD;AAA7C,8GAAA,UAAU,OAAA"}
package/lib/server.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { SceneMap } from './Scenes/Map';
2
2
  import { WorldClass } from 'simple-room';
3
3
  import { RpgCommonGame } from '@rpgjs/common';
4
+ import { Observable } from 'rxjs';
5
+ import { Tick } from '@rpgjs/types';
4
6
  export declare class RpgServerEngine {
5
7
  io: any;
6
8
  gameEngine: RpgCommonGame;
@@ -39,7 +41,6 @@ export declare class RpgServerEngine {
39
41
  private scenes;
40
42
  protected totalConnected: number;
41
43
  private scheduler;
42
- private tick;
43
44
  private playerProps;
44
45
  world: WorldClass;
45
46
  workers: any;
@@ -82,6 +83,7 @@ export declare class RpgServerEngine {
82
83
  * @memberof RpgServerEngine
83
84
  */
84
85
  start(inputOptions?: any, scheduler?: boolean): Promise<void>;
86
+ get tick(): Observable<Tick>;
85
87
  /**
86
88
  * Sends all packages to clients. The sending is done automatically but you can decide to send yourself by calling this method (for example, for unit tests)
87
89
  *
@@ -92,6 +94,7 @@ export declare class RpgServerEngine {
92
94
  */
93
95
  send(): void;
94
96
  private updatePlayersMove;
97
+ nextTick(timestamp: number): void;
95
98
  step(t: number, dt: number): void;
96
99
  private loadScenes;
97
100
  getScene<T>(name: string): T;
package/lib/server.js CHANGED
@@ -53,7 +53,7 @@ class RpgServerEngine {
53
53
  this.serverId = process.env.SERVER_ID || common_1.Utils.generateUID();
54
54
  this.scenes = new Map();
55
55
  this.totalConnected = 0;
56
- this.tick = 0;
56
+ this.scheduler = new common_1.Scheduler();
57
57
  this.world = simple_room_1.World;
58
58
  if (this.inputOptions.workers) {
59
59
  console.log('workers enabled');
@@ -130,13 +130,13 @@ class RpgServerEngine {
130
130
  if (inputOptions)
131
131
  this.inputOptions = inputOptions;
132
132
  yield this._init();
133
- this.scheduler = new common_1.Scheduler({
134
- tick: this.step.bind(this),
135
- period: 1000 / this.inputOptions.stepRate,
136
- delay: 4
133
+ this.tick.subscribe(({ timestamp, deltaTime }) => {
134
+ this.step(timestamp, deltaTime);
137
135
  });
138
136
  if (scheduler)
139
- this.scheduler.start();
137
+ this.scheduler.start({
138
+ fps: (inputOptions === null || inputOptions === void 0 ? void 0 : inputOptions.fps) || 60
139
+ });
140
140
  this.gameEngine.start({
141
141
  getObject(id) {
142
142
  return Query_1.Query.getPlayer(id);
@@ -145,13 +145,16 @@ class RpgServerEngine {
145
145
  return Query_1.Query._getObjectsOfMap(groupId, player);
146
146
  },
147
147
  getShapesOfGroup(map) {
148
- return Query_1.Query._getShapesOfGroup(map);
148
+ return Query_1.Query._getShapesOfMap(map);
149
149
  }
150
150
  });
151
151
  this.io.on('connection', this.onPlayerConnected.bind(this));
152
152
  yield common_1.RpgPlugin.emit(common_1.HookServer.Start, this);
153
153
  });
154
154
  }
155
+ get tick() {
156
+ return this.scheduler.tick;
157
+ }
155
158
  /**
156
159
  * Sends all packages to clients. The sending is done automatically but you can decide to send yourself by calling this method (for example, for unit tests)
157
160
  *
@@ -169,19 +172,22 @@ class RpgServerEngine {
169
172
  const obj = [];
170
173
  let p = [];
171
174
  for (let playerId in players) {
172
- const playerInstance = players[playerId];
175
+ const playerInstance = players[playerId]['proxy'];
176
+ if (!playerInstance)
177
+ continue;
173
178
  const player = (_a = playerInstance.otherPossessedPlayer) !== null && _a !== void 0 ? _a : playerInstance;
174
179
  if (player.pendingMove.length > 0) {
175
180
  const lastFrame = player.pendingMove[player.pendingMove.length - 1];
176
181
  if (this.inputOptions.workers)
177
182
  obj.push(player.toObject());
178
183
  else {
179
- p.push(this.gameEngine.processInput(player.playerId).then(() => {
184
+ p.push(this.gameEngine.processInput(player.playerId, this.globalConfig.inputs).then(() => {
180
185
  player.pendingMove = [];
181
186
  player._lastFramePositions = {
182
187
  frame: lastFrame.frame,
183
188
  position: Object.assign({}, player.position)
184
189
  };
190
+ return player;
185
191
  }));
186
192
  }
187
193
  }
@@ -205,10 +211,12 @@ class RpgServerEngine {
205
211
  }
206
212
  return Promise.all(p);
207
213
  }
214
+ nextTick(timestamp) {
215
+ this.scheduler.nextTick(timestamp);
216
+ }
208
217
  step(t, dt) {
209
- this.tick++;
210
218
  this.updatePlayersMove(1);
211
- if (this.tick % 4 === 0) {
219
+ if (this.scheduler.frame % 4 === 0) {
212
220
  this.send();
213
221
  }
214
222
  common_1.RpgPlugin.emit(common_1.HookServer.Step, this);
@@ -239,6 +247,9 @@ class RpgServerEngine {
239
247
  socket.on('move', (data) => {
240
248
  var _a;
241
249
  const controlPlayer = (_a = player.otherPossessedPlayer) !== null && _a !== void 0 ? _a : player;
250
+ if (!controlPlayer.canMove) {
251
+ return;
252
+ }
242
253
  for (let input of data.input) {
243
254
  controlPlayer.pendingMove.push({
244
255
  input,
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgjs/server",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,17 +18,18 @@
18
18
  "author": "Samuel Ronce",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@rpgjs/common": "^3.1.0",
22
- "@rpgjs/database": "^3.1.0",
23
- "@rpgjs/tiled": "^3.1.0",
21
+ "@rpgjs/common": "^3.3.0",
22
+ "@rpgjs/database": "^3.3.0",
23
+ "@rpgjs/tiled": "^3.3.0",
24
+ "@rpgjs/types": "^3.3.0",
24
25
  "axios": "^0.27.1",
25
26
  "lodash.merge": "^4.6.2",
26
27
  "pathfinding": "^0.4.18",
27
- "rxjs": "^7.5.5",
28
+ "rxjs": "7.5.5",
28
29
  "sat": "^0.8.0",
29
30
  "simple-room": "^1.0.1"
30
31
  },
31
- "gitHead": "5cb678ae427df465799b75d3d9ae4ef7efa4c4b7",
32
+ "gitHead": "076ac72a11bd90c004a3fe0659e9e2fa886db401",
32
33
  "devDependencies": {
33
34
  "typescript": "^4.3.5"
34
35
  }