@rpgjs/server 3.3.2 → 4.0.0-beta.1

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.
Files changed (105) hide show
  1. package/LICENSE +19 -0
  2. package/lib/Game/Map.d.ts +58 -5
  3. package/lib/Game/Map.js +185 -80
  4. package/lib/Game/Map.js.map +1 -1
  5. package/lib/Game/WorldMaps.d.ts +3 -2
  6. package/lib/Game/WorldMaps.js +6 -11
  7. package/lib/Game/WorldMaps.js.map +1 -1
  8. package/lib/Gui/DialogGui.d.ts +1 -1
  9. package/lib/Gui/DialogGui.js +12 -13
  10. package/lib/Gui/DialogGui.js.map +1 -1
  11. package/lib/Gui/Gui.js +2 -6
  12. package/lib/Gui/Gui.js.map +1 -1
  13. package/lib/Gui/MenuGui.js +4 -8
  14. package/lib/Gui/MenuGui.js.map +1 -1
  15. package/lib/Gui/NotificationGui.js +4 -8
  16. package/lib/Gui/NotificationGui.js.map +1 -1
  17. package/lib/Gui/ShopGui.js +4 -8
  18. package/lib/Gui/ShopGui.js.map +1 -1
  19. package/lib/Gui/index.js +6 -13
  20. package/lib/Gui/index.js.map +1 -1
  21. package/lib/Interfaces/Gui.js +1 -2
  22. package/lib/Interfaces/StateStore.js +1 -2
  23. package/lib/MatchMaker.js +28 -46
  24. package/lib/MatchMaker.js.map +1 -1
  25. package/lib/Monitor/index.js +3 -5
  26. package/lib/Monitor/index.js.map +1 -1
  27. package/lib/Player/BattleManager.js +17 -16
  28. package/lib/Player/BattleManager.js.map +1 -1
  29. package/lib/Player/ClassManager.js +6 -10
  30. package/lib/Player/ClassManager.js.map +1 -1
  31. package/lib/Player/ComponentManager.d.ts +4 -4
  32. package/lib/Player/ComponentManager.js +37 -24
  33. package/lib/Player/ComponentManager.js.map +1 -1
  34. package/lib/Player/EffectManager.js +8 -12
  35. package/lib/Player/EffectManager.js.map +1 -1
  36. package/lib/Player/ElementManager.js +5 -9
  37. package/lib/Player/ElementManager.js.map +1 -1
  38. package/lib/Player/GoldManager.js +1 -5
  39. package/lib/Player/GoldManager.js.map +1 -1
  40. package/lib/Player/GuiManager.js +17 -15
  41. package/lib/Player/GuiManager.js.map +1 -1
  42. package/lib/Player/ItemFixture.js +1 -5
  43. package/lib/Player/ItemFixture.js.map +1 -1
  44. package/lib/Player/ItemManager.d.ts +3 -3
  45. package/lib/Player/ItemManager.js +29 -31
  46. package/lib/Player/ItemManager.js.map +1 -1
  47. package/lib/Player/MoveManager.d.ts +7 -6
  48. package/lib/Player/MoveManager.js +67 -74
  49. package/lib/Player/MoveManager.js.map +1 -1
  50. package/lib/Player/ParameterManager.js +10 -14
  51. package/lib/Player/ParameterManager.js.map +1 -1
  52. package/lib/Player/Player.d.ts +7 -1
  53. package/lib/Player/Player.js +193 -191
  54. package/lib/Player/Player.js.map +1 -1
  55. package/lib/Player/SkillManager.js +18 -22
  56. package/lib/Player/SkillManager.js.map +1 -1
  57. package/lib/Player/StateManager.js +9 -13
  58. package/lib/Player/StateManager.js.map +1 -1
  59. package/lib/Player/VariableManager.js +1 -5
  60. package/lib/Player/VariableManager.js.map +1 -1
  61. package/lib/Query.d.ts +2 -1
  62. package/lib/Query.js +19 -15
  63. package/lib/Query.js.map +1 -1
  64. package/lib/RpgServer.d.ts +11 -3
  65. package/lib/RpgServer.js +1 -2
  66. package/lib/Scenes/Map.d.ts +27 -4
  67. package/lib/Scenes/Map.js +117 -122
  68. package/lib/Scenes/Map.js.map +1 -1
  69. package/lib/decorators/event.js +4 -7
  70. package/lib/decorators/event.js.map +1 -1
  71. package/lib/decorators/map.d.ts +1 -1
  72. package/lib/decorators/map.js +5 -9
  73. package/lib/decorators/map.js.map +1 -1
  74. package/lib/entry-point.js +59 -65
  75. package/lib/entry-point.js.map +1 -1
  76. package/lib/express/api.d.ts +3 -0
  77. package/lib/express/api.js +105 -0
  78. package/lib/express/api.js.map +1 -0
  79. package/lib/express/errors/NotAuthorized.d.ts +4 -0
  80. package/lib/express/errors/NotAuthorized.js +7 -0
  81. package/lib/express/errors/NotAuthorized.js.map +1 -0
  82. package/lib/express/errors/NotFound.d.ts +4 -0
  83. package/lib/express/errors/NotFound.js +7 -0
  84. package/lib/express/errors/NotFound.js.map +1 -0
  85. package/lib/express/server.js +20 -5
  86. package/lib/express/server.js.map +1 -1
  87. package/lib/index.js +15 -68
  88. package/lib/index.js.map +1 -1
  89. package/lib/logs/index.js +5 -11
  90. package/lib/logs/index.js.map +1 -1
  91. package/lib/logs/item.js +11 -15
  92. package/lib/logs/item.js.map +1 -1
  93. package/lib/logs/log.js +1 -5
  94. package/lib/logs/log.js.map +1 -1
  95. package/lib/logs/skill.js +6 -10
  96. package/lib/logs/skill.js.map +1 -1
  97. package/lib/logs/state.js +5 -9
  98. package/lib/logs/state.js.map +1 -1
  99. package/lib/models/Item.js +1 -2
  100. package/lib/presets/index.js +28 -36
  101. package/lib/presets/index.js.map +1 -1
  102. package/lib/server.d.ts +23 -2
  103. package/lib/server.js +227 -134
  104. package/lib/server.js.map +1 -1
  105. package/package.json +22 -12
package/lib/server.d.ts CHANGED
@@ -3,6 +3,7 @@ import { WorldClass } from 'simple-room';
3
3
  import { RpgCommonGame } from '@rpgjs/common';
4
4
  import { Observable } from 'rxjs';
5
5
  import { Tick } from '@rpgjs/types';
6
+ import { DatabaseTypes } from '@rpgjs/database';
6
7
  export declare class RpgServerEngine {
7
8
  io: any;
8
9
  gameEngine: RpgCommonGame;
@@ -55,10 +56,21 @@ export declare class RpgServerEngine {
55
56
  /**
56
57
  * Adds data to the server's database (in RAM) for later use
57
58
  *
59
+ *
58
60
  * @method server.addInDatabase(id,data)
59
61
  * @title Add in database
60
62
  * @param {number} id resource id
61
- * @param {class} dataClass A class representing the data
63
+ * @param {class | object} dataClass A class representing the data. You can just add a object if you specify the type
64
+ * @enum {string} [type] The type of data
65
+ *
66
+ * item
67
+ * weapon
68
+ * armor
69
+ * skill
70
+ * class
71
+ * state
72
+ * actor
73
+ *
62
74
  * @since 3.0.0-beta.4
63
75
  * @example
64
76
  * ```ts
@@ -70,10 +82,19 @@ export declare class RpgServerEngine {
70
82
  *
71
83
  * server.addInDatabase('dynamic_item', MyItem)
72
84
  * ```
85
+ *
86
+ * or with an object
87
+ *
88
+ * ```ts
89
+ * server.addInDatabase('dynamic_item', {
90
+ * name: 'Potion',
91
+ * description: 'Gives 100 HP',
92
+ * }, 'item')
93
+ *
73
94
  * @returns {void}
74
95
  * @memberof RpgServerEngine
75
96
  */
76
- addInDatabase(id: string, dataClass: any): void;
97
+ addInDatabase(id: string, dataClass: any, type?: DatabaseTypes): void;
77
98
  /**
78
99
  * Start the RPG server
79
100
  *
package/lib/server.js CHANGED
@@ -1,22 +1,17 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
6
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RpgServerEngine = void 0;
13
- const Map_1 = require("./Scenes/Map");
14
- const Player_1 = require("./Player/Player");
15
- const Query_1 = require("./Query");
16
- const presets_1 = require("./presets");
17
- const simple_room_1 = require("simple-room");
18
- const common_1 = require("@rpgjs/common");
19
- class RpgServerEngine {
7
+ import { SceneMap } from './Scenes/Map';
8
+ import { RpgPlayer } from './Player/Player';
9
+ import { Query } from './Query';
10
+ import { DAMAGE_SKILL, DAMAGE_PHYSIC, DAMAGE_CRITICAL, COEFFICIENT_ELEMENTS } from './presets';
11
+ import { World } from 'simple-room';
12
+ import { Utils, RpgPlugin, Scheduler, HookServer, DefaultInput } from '@rpgjs/common';
13
+ import { Actor, Armor, Class, Item, Skill, State, Weapon } from '@rpgjs/database';
14
+ export class RpgServerEngine {
20
15
  /**
21
16
  * Combat formulas
22
17
  *
@@ -50,56 +45,84 @@ class RpgServerEngine {
50
45
  * @memberof RpgServerEngine
51
46
  */
52
47
  this.damageFormulas = {};
53
- this.serverId = process.env.SERVER_ID || common_1.Utils.generateUID();
48
+ this.serverId = process.env.SERVER_ID || Utils.generateUID();
54
49
  this.scenes = new Map();
55
50
  this.totalConnected = 0;
56
- this.scheduler = new common_1.Scheduler();
57
- this.world = simple_room_1.World;
51
+ this.scheduler = new Scheduler();
52
+ this.world = World;
58
53
  if (this.inputOptions.workers) {
59
54
  console.log('workers enabled');
60
55
  this.workers = this.gameEngine.createWorkers(this.inputOptions.workers).load();
61
56
  }
62
57
  }
63
- _init() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- this.damageFormulas = this.inputOptions.damageFormulas || {};
66
- this.damageFormulas = Object.assign({ damageSkill: presets_1.DAMAGE_SKILL, damagePhysic: presets_1.DAMAGE_PHYSIC, damageCritical: presets_1.DAMAGE_CRITICAL, coefficientElements: presets_1.COEFFICIENT_ELEMENTS }, this.damageFormulas);
67
- this.globalConfig = this.inputOptions.globalConfig;
68
- if (this.globalConfig.assetsPath)
69
- this.assetsPath = this.globalConfig.assetsPath;
70
- if (!this.inputOptions.maps)
71
- this.inputOptions.maps = [];
72
- if (!this.inputOptions.worldMaps)
73
- this.inputOptions.worldMaps = [];
74
- this.playerProps = this.inputOptions.playerProps;
75
- this.inputOptions.maps = [
76
- ...common_1.Utils.arrayFlat(yield common_1.RpgPlugin.emit(common_1.HookServer.AddMap, this.inputOptions.maps)) || [],
77
- ...this.inputOptions.maps
78
- ];
79
- this.inputOptions.worldMaps = [
80
- ...common_1.Utils.arrayFlat(yield common_1.RpgPlugin.emit(common_1.HookServer.AddWorldMaps, this.inputOptions.worldMaps)) || [],
81
- ...this.inputOptions.worldMaps
82
- ];
83
- if (!this.inputOptions.database)
84
- this.inputOptions.database = {};
85
- const datas = (yield common_1.RpgPlugin.emit(common_1.HookServer.AddDatabase, this.inputOptions.database)) || [];
86
- for (let plug of datas) {
87
- this.inputOptions.database = Object.assign(Object.assign({}, plug), this.inputOptions.database);
88
- }
89
- for (let key in this.inputOptions.database) {
90
- const data = this.inputOptions.database[key];
91
- this.addInDatabase(data.id, data);
92
- }
93
- this.loadScenes();
94
- });
58
+ async _init() {
59
+ this.damageFormulas = this.inputOptions.damageFormulas || {};
60
+ this.damageFormulas = {
61
+ damageSkill: DAMAGE_SKILL,
62
+ damagePhysic: DAMAGE_PHYSIC,
63
+ damageCritical: DAMAGE_CRITICAL,
64
+ coefficientElements: COEFFICIENT_ELEMENTS,
65
+ ...this.damageFormulas
66
+ };
67
+ this.globalConfig = this.inputOptions.globalConfig;
68
+ if (this.globalConfig.assetsPath !== undefined)
69
+ this.assetsPath = this.globalConfig.assetsPath;
70
+ if (!this.inputOptions.maps)
71
+ this.inputOptions.maps = [];
72
+ if (!this.inputOptions.events)
73
+ this.inputOptions.events = [];
74
+ if (!this.inputOptions.worldMaps)
75
+ this.inputOptions.worldMaps = [];
76
+ this.playerProps = this.inputOptions.playerProps;
77
+ this.inputOptions.maps = [
78
+ ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddMap, this.inputOptions.maps)) || [],
79
+ ...this.inputOptions.maps
80
+ ];
81
+ this.inputOptions.events = [
82
+ ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddEvent, this.inputOptions.events)) || [],
83
+ ...this.inputOptions.events
84
+ ];
85
+ this.inputOptions.worldMaps = [
86
+ ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddWorldMaps, this.inputOptions.worldMaps)) || [],
87
+ ...this.inputOptions.worldMaps
88
+ ];
89
+ this.globalConfig.inputs = {
90
+ ...DefaultInput,
91
+ ...(this.globalConfig.inputs || {})
92
+ };
93
+ if (!this.inputOptions.database)
94
+ this.inputOptions.database = {};
95
+ const datas = await RpgPlugin.emit(HookServer.AddDatabase, this.inputOptions.database) || [];
96
+ for (let plug of datas) {
97
+ this.inputOptions.database = {
98
+ ...plug,
99
+ ...this.inputOptions.database
100
+ };
101
+ }
102
+ for (let key in this.inputOptions.database) {
103
+ const data = this.inputOptions.database[key];
104
+ this.addInDatabase(data.id, data);
105
+ }
106
+ this.loadScenes();
95
107
  }
96
108
  /**
97
109
  * Adds data to the server's database (in RAM) for later use
98
110
  *
111
+ *
99
112
  * @method server.addInDatabase(id,data)
100
113
  * @title Add in database
101
114
  * @param {number} id resource id
102
- * @param {class} dataClass A class representing the data
115
+ * @param {class | object} dataClass A class representing the data. You can just add a object if you specify the type
116
+ * @enum {string} [type] The type of data
117
+ *
118
+ * item
119
+ * weapon
120
+ * armor
121
+ * skill
122
+ * class
123
+ * state
124
+ * actor
125
+ *
103
126
  * @since 3.0.0-beta.4
104
127
  * @example
105
128
  * ```ts
@@ -111,11 +134,84 @@ class RpgServerEngine {
111
134
  *
112
135
  * server.addInDatabase('dynamic_item', MyItem)
113
136
  * ```
137
+ *
138
+ * or with an object
139
+ *
140
+ * ```ts
141
+ * server.addInDatabase('dynamic_item', {
142
+ * name: 'Potion',
143
+ * description: 'Gives 100 HP',
144
+ * }, 'item')
145
+ *
114
146
  * @returns {void}
115
147
  * @memberof RpgServerEngine
116
148
  */
117
- addInDatabase(id, dataClass) {
118
- this.database[id] = dataClass;
149
+ addInDatabase(id, dataClass, type) {
150
+ if (Utils.isClass(dataClass)) {
151
+ this.database[id] = dataClass;
152
+ return;
153
+ }
154
+ if (!type) {
155
+ throw new Error(`You must specify a type for the database ${id}`);
156
+ }
157
+ switch (type) {
158
+ case 'item':
159
+ let ItemClass = class ItemClass {
160
+ };
161
+ ItemClass = __decorate([
162
+ Item(dataClass)
163
+ ], ItemClass);
164
+ this.database[id] = ItemClass;
165
+ break;
166
+ case 'weapon':
167
+ let WeaponClass = class WeaponClass {
168
+ };
169
+ WeaponClass = __decorate([
170
+ Weapon(dataClass)
171
+ ], WeaponClass);
172
+ this.database[id] = WeaponClass;
173
+ break;
174
+ case 'armor':
175
+ let ArmorClass = class ArmorClass {
176
+ };
177
+ ArmorClass = __decorate([
178
+ Armor(dataClass)
179
+ ], ArmorClass);
180
+ this.database[id] = ArmorClass;
181
+ break;
182
+ case 'skill':
183
+ let SkillClass = class SkillClass {
184
+ };
185
+ SkillClass = __decorate([
186
+ Skill(dataClass)
187
+ ], SkillClass);
188
+ this.database[id] = SkillClass;
189
+ break;
190
+ case 'class':
191
+ let ClassClass = class ClassClass {
192
+ };
193
+ ClassClass = __decorate([
194
+ Class(dataClass)
195
+ ], ClassClass);
196
+ this.database[id] = ClassClass;
197
+ break;
198
+ case 'state':
199
+ let StateClass = class StateClass {
200
+ };
201
+ StateClass = __decorate([
202
+ State(dataClass)
203
+ ], StateClass);
204
+ this.database[id] = StateClass;
205
+ break;
206
+ case 'actor':
207
+ let ActorClass = class ActorClass {
208
+ };
209
+ ActorClass = __decorate([
210
+ Actor(dataClass)
211
+ ], ActorClass);
212
+ this.database[id] = ActorClass;
213
+ break;
214
+ }
119
215
  }
120
216
  /**
121
217
  * Start the RPG server
@@ -125,32 +221,30 @@ class RpgServerEngine {
125
221
  * @returns {void}
126
222
  * @memberof RpgServerEngine
127
223
  */
128
- start(inputOptions, scheduler = true) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (inputOptions)
131
- this.inputOptions = inputOptions;
132
- yield this._init();
133
- this.tick.subscribe(({ timestamp, deltaTime }) => {
134
- this.step(timestamp, deltaTime);
135
- });
136
- if (scheduler)
137
- this.scheduler.start({
138
- fps: (inputOptions === null || inputOptions === void 0 ? void 0 : inputOptions.fps) || 60
139
- });
140
- this.gameEngine.start({
141
- getObject(id) {
142
- return Query_1.Query.getPlayer(id);
143
- },
144
- getObjectsOfGroup(groupId, player) {
145
- return Query_1.Query._getObjectsOfMap(groupId, player);
146
- },
147
- getShapesOfGroup(map) {
148
- return Query_1.Query._getShapesOfMap(map);
149
- }
224
+ async start(inputOptions, scheduler = true) {
225
+ if (inputOptions)
226
+ this.inputOptions = inputOptions;
227
+ await this._init();
228
+ this.tick.subscribe(({ timestamp, deltaTime }) => {
229
+ this.step(timestamp, deltaTime);
230
+ });
231
+ if (scheduler)
232
+ this.scheduler.start({
233
+ fps: inputOptions?.fps || 60
150
234
  });
151
- this.io.on('connection', this.onPlayerConnected.bind(this));
152
- yield common_1.RpgPlugin.emit(common_1.HookServer.Start, this);
235
+ this.gameEngine.start({
236
+ getObject(id) {
237
+ return Query.getPlayer(id);
238
+ },
239
+ getObjectsOfGroup(groupId, player) {
240
+ return Query._getObjectsOfMap(groupId, player);
241
+ },
242
+ getShapesOfGroup(map) {
243
+ return Query._getShapesOfMap(map);
244
+ }
153
245
  });
246
+ this.io.on('connection', this.onPlayerConnected.bind(this));
247
+ await RpgPlugin.emit(HookServer.Start, this);
154
248
  }
155
249
  get tick() {
156
250
  return this.scheduler.tick;
@@ -166,52 +260,49 @@ class RpgServerEngine {
166
260
  send() {
167
261
  this.world.send();
168
262
  }
169
- updatePlayersMove(deltaTimeInt) {
170
- var _a;
171
- return __awaiter(this, void 0, void 0, function* () {
172
- const players = this.world.getUsers();
173
- const obj = [];
174
- let p = [];
175
- for (let playerId in players) {
176
- const playerInstance = players[playerId]['proxy'];
177
- if (!playerInstance)
178
- continue;
179
- const player = (_a = playerInstance.otherPossessedPlayer) !== null && _a !== void 0 ? _a : playerInstance;
180
- if (player.pendingMove.length > 0) {
181
- const lastFrame = player.pendingMove[player.pendingMove.length - 1];
182
- if (this.inputOptions.workers)
183
- obj.push(player.toObject());
184
- else {
185
- p.push(this.gameEngine.processInput(player.playerId, this.globalConfig.inputs).then((val) => {
186
- player.pendingMove = [];
187
- player._lastFramePositions = {
188
- frame: lastFrame.frame,
189
- position: Object.assign({}, player.position)
190
- };
191
- return player;
192
- }));
193
- }
263
+ async updatePlayersMove(deltaTimeInt) {
264
+ const players = this.world.getUsers();
265
+ const obj = [];
266
+ let p = [];
267
+ for (let playerId in players) {
268
+ const playerInstance = players[playerId]['proxy'];
269
+ if (!playerInstance)
270
+ continue;
271
+ const player = playerInstance.otherPossessedPlayer ?? playerInstance;
272
+ if (player.pendingMove.length > 0) {
273
+ const lastFrame = player.pendingMove[player.pendingMove.length - 1];
274
+ if (this.inputOptions.workers)
275
+ obj.push(player.toObject());
276
+ else {
277
+ p.push(this.gameEngine.processInput(player.playerId, this.globalConfig.inputs).then((val) => {
278
+ player.pendingMove = [];
279
+ player._lastFramePositions = {
280
+ frame: lastFrame.frame,
281
+ position: { ...player.position }
282
+ };
283
+ return player;
284
+ }));
194
285
  }
195
286
  }
196
- // TODO
197
- if (this.inputOptions.workers) {
198
- this.workers.call('movePlayers', obj).then((players) => {
199
- for (let playerId in players) {
200
- const player = this.world.getUser(playerId);
201
- const data = players[playerId];
202
- if (player) {
203
- player.position = data.position;
204
- player.direction = data.direction;
205
- }
206
- common_1.RpgPlugin.emit('Server.onInput', [player, {
207
- input: data.direction,
208
- moving: true
209
- }], true);
287
+ }
288
+ // TODO
289
+ if (this.inputOptions.workers) {
290
+ this.workers.call('movePlayers', obj).then((players) => {
291
+ for (let playerId in players) {
292
+ const player = this.world.getUser(playerId);
293
+ const data = players[playerId];
294
+ if (player) {
295
+ player.position = data.position;
296
+ player.direction = data.direction;
210
297
  }
211
- });
212
- }
213
- return Promise.all(p);
214
- });
298
+ RpgPlugin.emit('Server.onInput', [player, {
299
+ input: data.direction,
300
+ moving: true
301
+ }], true);
302
+ }
303
+ });
304
+ }
305
+ return Promise.all(p);
215
306
  }
216
307
  nextTick(timestamp) {
217
308
  this.scheduler.nextTick(timestamp);
@@ -221,10 +312,14 @@ class RpgServerEngine {
221
312
  if (this.scheduler.frame % 4 === 0) {
222
313
  this.send();
223
314
  }
224
- common_1.RpgPlugin.emit(common_1.HookServer.Step, this);
315
+ RpgPlugin.emit(HookServer.Step, this);
225
316
  }
226
317
  loadScenes() {
227
- this.scenes.set(Map_1.SceneMap.id, new Map_1.SceneMap(this.inputOptions.maps, this.inputOptions.worldMaps, this));
318
+ this.scenes.set(SceneMap.id, new SceneMap({
319
+ maps: this.inputOptions.maps,
320
+ events: this.inputOptions.events,
321
+ worldMaps: this.inputOptions.worldMaps
322
+ }, this));
228
323
  }
229
324
  getScene(name) {
230
325
  return this.scenes.get(name);
@@ -236,19 +331,18 @@ class RpgServerEngine {
236
331
  * @memberof RpgServerEngine
237
332
  */
238
333
  get sceneMap() {
239
- return this.getScene(Map_1.SceneMap.id);
334
+ return this.getScene(SceneMap.id);
240
335
  }
241
336
  sendToPlayer(currentPlayer, eventName, data) {
242
337
  currentPlayer._socket.emit(eventName, data);
243
338
  }
244
339
  onPlayerConnected(socket) {
245
340
  const { token } = socket.handshake.auth;
246
- const playerId = common_1.Utils.generateUID();
247
- const player = new Player_1.RpgPlayer(this.gameEngine, playerId);
341
+ const playerId = Utils.generateUID();
342
+ const player = new RpgPlayer(this.gameEngine, playerId);
248
343
  player.session = token;
249
344
  socket.on('move', (data) => {
250
- var _a;
251
- const controlPlayer = (_a = player.otherPossessedPlayer) !== null && _a !== void 0 ? _a : player;
345
+ const controlPlayer = player.otherPossessedPlayer ?? player;
252
346
  if (!controlPlayer.canMove) {
253
347
  return;
254
348
  }
@@ -266,7 +360,7 @@ class RpgServerEngine {
266
360
  player.server = this;
267
361
  player._init();
268
362
  if (!token) {
269
- const newToken = common_1.Utils.generateUID() + '-' + common_1.Utils.generateUID() + '-' + common_1.Utils.generateUID();
363
+ const newToken = Utils.generateUID() + '-' + Utils.generateUID() + '-' + Utils.generateUID();
270
364
  player.session = newToken;
271
365
  }
272
366
  socket.emit('playerJoined', { playerId, session: player.session });
@@ -274,7 +368,7 @@ class RpgServerEngine {
274
368
  player.execMethod('onConnected');
275
369
  }
276
370
  else {
277
- common_1.RpgPlugin.emit(common_1.HookServer.ScalabilityPlayerConnected, player);
371
+ RpgPlugin.emit(HookServer.ScalabilityPlayerConnected, player);
278
372
  }
279
373
  }
280
374
  /**
@@ -283,10 +377,9 @@ class RpgServerEngine {
283
377
  * @param {string} playerId - The playerId of the player that disconnected
284
378
  */
285
379
  onPlayerDisconnected(socketId, playerId) {
286
- const player = simple_room_1.World.getUser(playerId);
380
+ const player = World.getUser(playerId);
287
381
  player.execMethod('onDisconnected');
288
382
  this.world.disconnectUser(playerId);
289
383
  }
290
384
  }
291
- exports.RpgServerEngine = RpgServerEngine;
292
385
  //# sourceMappingURL=server.js.map
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAwC;AACxC,4CAA2C;AAC3C,mCAA+B;AAC/B,uCAA8F;AAC9F,6CAA+C;AAC/C,0CAAsF;AAItF,MAAa,eAAe;IA+CxB;;;;;OAKG;IACH,YAAmB,EAAE,EAAS,UAAyB,EAAS,YAAY;QAAzD,OAAE,GAAF,EAAE,CAAA;QAAS,eAAU,GAAV,UAAU,CAAe;QAAS,iBAAY,GAAZ,YAAY,CAAA;QA3C5E;;;;;WAKG;QACI,aAAQ,GAAQ,EAAE,CAAA;QAEzB;;;;;;aAMK;QACE,iBAAY,GAAQ,EAAE,CAAA;QAEtB,eAAU,GAAW,QAAQ,CAAA;QAEpC;;;;;WAKG;QACI,mBAAc,GAAQ,EAAE,CAAA;QAExB,aAAQ,GAAW,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,cAAK,CAAC,WAAW,EAAE,CAAA;QAE9D,WAAM,GAAqB,IAAI,GAAG,EAAE,CAAA;QAClC,mBAAc,GAAW,CAAC,CAAA;QAC5B,cAAS,GAAe,IAAI,kBAAS,EAAE,CAAA;QAG/C,UAAK,GAAe,mBAAK,CAAA;QAUrB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;SACjF;IACL,CAAC;IAEa,KAAK;;YACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAA;YAC5D,IAAI,CAAC,cAAc,mBACf,WAAW,EAAE,sBAAY,EACzB,YAAY,EAAE,uBAAa,EAC3B,cAAc,EAAE,yBAAe,EAC/B,mBAAmB,EAAE,8BAAoB,IACtC,IAAI,CAAC,cAAc,CACzB,CAAA;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAA;YAClD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAA;YAEhF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI;gBAAE,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,CAAA;YAClE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAA;YAEhD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG;gBACrB,GAAG,cAAK,CAAC,SAAS,CAAC,MAAM,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;gBACzF,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;aAC5B,CAAA;YAED,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG;gBAC1B,GAAG,cAAK,CAAC,SAAS,CAAC,MAAM,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;gBACpG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS;aACjC,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ;gBAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAA;YAEhE,MAAM,KAAK,GAAG,CAAA,MAAM,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAI,EAAE,CAAA;YAE5F,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,mCACnB,IAAI,GACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAChC,CAAA;aACJ;YAED,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;aACpC;YAED,IAAI,CAAC,UAAU,EAAE,CAAA;QACrB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAU,EAAE,SAAc;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;IACjC,CAAC;IAED;;;;;;;MAOE;IACI,KAAK,CAAC,YAAa,EAAE,SAAS,GAAG,IAAI;;YACvC,IAAI,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;YAClD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;YACF,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBAChC,GAAG,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,KAAI,EAAE;iBAC/B,CAAC,CAAA;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAClB,SAAS,CAAC,EAAE;oBACR,OAAO,aAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBAC9B,CAAC;gBACD,iBAAiB,CAAC,OAAe,EAAE,MAAiB;oBAChD,OAAO,aAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAClD,CAAC;gBACD,gBAAgB,CAAC,GAAW;oBACxB,OAAO,aAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBACrC,CAAC;aACJ,CAAC,CAAA;YACF,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3D,MAAM,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;KAAA;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAW,CAAA;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,IAAI;QACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IAEa,iBAAiB,CAAC,YAAoB;;;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;YACrC,MAAM,GAAG,GAAQ,EAAE,CAAA;YACnB,IAAI,CAAC,GAAyB,EAAE,CAAA;YAChC,KAAK,IAAI,QAAQ,IAAI,OAAO,EAAE;gBAC1B,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAc,CAAA;gBAC9D,IAAI,CAAC,cAAc;oBAAE,SAAQ;gBAC7B,MAAM,MAAM,GAAG,MAAA,cAAc,CAAC,oBAAoB,mCAAI,cAAc,CAAA;gBACpE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBACnE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;yBACrD;wBACD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;4BACxF,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;4BACvB,MAAM,CAAC,mBAAmB,GAAG;gCACzB,KAAK,EAAE,SAAS,CAAC,KAAK;gCACtB,QAAQ,oBAAO,MAAM,CAAC,QAAQ,CAAE;6BACnC,CAAA;4BACD,OAAO,MAAM,CAAA;wBACjB,CAAC,CAAC,CAAC,CAAA;qBACN;iBACJ;aACJ;YACD,OAAO;YACP,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBACnD,KAAK,IAAI,QAAQ,IAAI,OAAO,EAAE;wBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAc,CAAA;wBACxD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;wBAC9B,IAAI,MAAM,EAAE;4BACR,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;4BAC/B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;yBACpC;wBACD,kBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE;gCACtC,KAAK,EAAE,IAAI,CAAC,SAAS;gCACrB,MAAM,EAAE,IAAI;6BACf,CAAC,EAAE,IAAI,CAAC,CAAA;qBACZ;gBACL,CAAC,CAAC,CAAA;aACL;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;;KACxB;IAED,QAAQ,CAAC,SAAiB;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,EAAU;QACtB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,EAAE,CAAA;SACd;QACD,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAQ,CAAC,EAAE,EAAE,IAAI,cAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACzG,CAAC;IAED,QAAQ,CAAI,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,QAAQ,CAAW,cAAQ,CAAC,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI;QACvC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAEO,iBAAiB,CAAC,MAAM;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAA;QACvC,MAAM,QAAQ,GAAG,cAAK,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,MAAM,GAAc,IAAI,kBAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;QAEtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAwC,EAAE,EAAE;;YAC3D,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,oBAAoB,mCAAI,MAAM,CAAA;YAC3D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;gBACxB,OAAM;aACT;YACD,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC1B,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC3B,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAA;aACL;QACL,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAElC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,MAAM,CAAC,KAAK,EAAE,CAAA;QAEd,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,QAAQ,GAAG,cAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,cAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,cAAK,CAAC,WAAW,EAAE,CAAA;YAC5F,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;SAC5B;QAED,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAElE,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;SACnC;aACI;YACD,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;SAChE;IACL,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,QAAQ,EAAE,QAAgB;QACnD,MAAM,MAAM,GAAc,mBAAK,CAAC,OAAO,CAAC,QAAQ,CAAc,CAAA;QAC9D,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;CACJ;AArTD,0CAqTC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@rpgjs/server",
3
- "version": "3.3.2",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
- "types": "./lib/index.d.ts",
6
+ "types": "./lib/express/index.d.ts",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -11,6 +11,10 @@
11
11
  "build": "tsc",
12
12
  "watch": "tsc -w"
13
13
  },
14
+ "exports": {
15
+ ".": "./lib/index.js",
16
+ "./express": "./lib/express/server.js"
17
+ },
14
18
  "files": [
15
19
  "lib"
16
20
  ],
@@ -18,19 +22,25 @@
18
22
  "author": "Samuel Ronce",
19
23
  "license": "MIT",
20
24
  "dependencies": {
21
- "@rpgjs/common": "^3.3.2",
22
- "@rpgjs/database": "^3.1.0",
23
- "@rpgjs/tiled": "^3.2.0",
24
- "@rpgjs/types": "^3.3.0",
25
- "axios": "^0.27.1",
25
+ "@rpgjs/common": "^4.0.0-beta.1",
26
+ "@rpgjs/database": "^4.0.0-beta.1",
27
+ "@rpgjs/tiled": "^4.0.0-beta.1",
28
+ "@rpgjs/types": "^4.0.0-beta.1",
29
+ "axios": "^1.3.6",
30
+ "express": "^4.18.2",
26
31
  "lodash.merge": "^4.6.2",
27
32
  "pathfinding": "^0.4.18",
28
- "rxjs": "7.5.5",
29
- "sat": "^0.8.0",
30
- "simple-room": "^1.0.2"
33
+ "pretty-error": "^4.0.0",
34
+ "rxjs": "7.8.0",
35
+ "sat": "^0.9.0",
36
+ "simple-room": "^2.0.2",
37
+ "socket.io": "^4.6.1"
31
38
  },
32
- "gitHead": "7bb0326cc3216764a4bfc86f53e7b24464a2040f",
39
+ "gitHead": "b12826ef87716da2691da3bae02d7d7c66772789",
33
40
  "devDependencies": {
34
- "typescript": "^4.3.5"
41
+ "typescript": "^5.0.4"
42
+ },
43
+ "alias": {
44
+ "express": "./lib/express/server"
35
45
  }
36
46
  }