@rpgjs/server 3.0.0-beta.7 → 3.0.0-beta.9.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.
package/lib/Scenes/Map.js CHANGED
@@ -18,13 +18,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.SceneMap = void 0;
19
19
  const common_1 = require("@rpgjs/common");
20
20
  const sync_server_1 = require("@rpgjs/sync-server");
21
+ const tiled_1 = require("@rpgjs/tiled");
21
22
  const map_1 = require("../decorators/map");
22
23
  const Map_1 = require("../Game/Map");
24
+ const WorldMaps_1 = require("../Game/WorldMaps");
25
+ const Player_1 = require("../Player/Player");
23
26
  class SceneMap {
24
- constructor(maps, server) {
27
+ constructor(maps, worldMaps, server) {
25
28
  this.maps = maps;
26
29
  this.server = server;
27
30
  this.mapsById = {};
31
+ this.worldMaps = new Map();
28
32
  this.mapsById = {};
29
33
  common_1.RpgCommonMap.buffer.clear();
30
34
  if (this.maps) {
@@ -32,12 +36,16 @@ class SceneMap {
32
36
  this.createDynamicMap(map);
33
37
  }
34
38
  }
39
+ if (this.worldMaps) {
40
+ for (let worldMap of worldMaps) {
41
+ this.createDynamicWorldMaps(worldMap);
42
+ }
43
+ }
35
44
  }
36
45
  getMapBydId(id) {
37
46
  let mapClass = this.mapsById[id];
38
47
  if (!mapClass) {
39
- console.log(`Map ${id} not exists`);
40
- return false;
48
+ return null;
41
49
  }
42
50
  if (!common_1.Utils.isClass(mapClass))
43
51
  mapClass = common_1.Utils.createConstructor(mapClass);
@@ -46,27 +54,97 @@ class SceneMap {
46
54
  loadMap(id) {
47
55
  return __awaiter(this, void 0, void 0, function* () {
48
56
  const mapClass = this.getMapBydId(id);
57
+ if (!mapClass) {
58
+ console.log(`Map ${id} not exists`);
59
+ return;
60
+ }
49
61
  let mapInstance;
50
- if (mapClass.buffer.has(id)) {
51
- return mapClass.buffer.get(id);
62
+ if (mapClass['buffer'].has(id)) {
63
+ return mapClass['buffer'].get(id);
52
64
  }
53
65
  if (common_1.RpgCommonMap.buffer.has(id)) {
54
66
  mapInstance = common_1.RpgCommonMap.buffer.get(id);
55
67
  }
56
68
  else {
57
- mapInstance = sync_server_1.World.addRoom(id, new mapClass(this.server));
69
+ const room = new mapClass(this.server);
70
+ room.$schema.users = [
71
+ Object.assign(Object.assign({}, Player_1.RpgPlayer.schemas), this.server['playerProps'])
72
+ ];
73
+ mapInstance = sync_server_1.World.addRoom(id, room);
58
74
  yield mapInstance.load();
59
75
  }
60
76
  return mapInstance;
61
77
  });
62
78
  }
79
+ /**
80
+ * Loads the content of a `.world` file from Tiled Map Editor into the map scene
81
+ *
82
+ * > Note, that if the map already exists (i.e. you have already defined an RpgMap), the world will retrieve the already existing map. Otherwise it will create a new map
83
+ *
84
+ * @title Create worlds dynamically
85
+ * @method sceneMap.createDynamicWorldMaps(world)
86
+ * @param {object} world
87
+ * object is
88
+ * ```ts
89
+ * {
90
+ * id?: string
91
+ * maps: {
92
+ * id?: string
93
+ * properties?: object
94
+ * fileName: string;
95
+ height: number;
96
+ width: number;
97
+ x: number;
98
+ y: number;
99
+ * }[],
100
+ onlyShowAdjacentMaps: boolean, // only for Tiled Map Editor
101
+ type: 'world' // only for Tiled Map Editor
102
+ * }
103
+ * ```
104
+ *
105
+ * @since 3.0.0-beta.8
106
+ * @memberof SceneMap
107
+ */
108
+ createDynamicWorldMaps(world) {
109
+ world.id = world.id || common_1.Utils.generateUID();
110
+ const worldMap = new WorldMaps_1.RpgWorldMaps(world.id).load(world, this);
111
+ this.worldMaps.set(world.id, worldMap);
112
+ return worldMap;
113
+ }
114
+ /**
115
+ * Recover a world
116
+ *
117
+ * @title Recover a world
118
+ * @method sceneMap.getWorldMaps(id)
119
+ * @param {string} id world id
120
+ * @return { RpgWorldMaps | undefined }
121
+ * @since 3.0.0-beta.8
122
+ * @memberof SceneMap
123
+ */
124
+ getWorldMaps(id) {
125
+ return this.worldMaps.get(id);
126
+ }
127
+ /**
128
+ * Delete a world
129
+ *
130
+ * @title Delete a world
131
+ * @method sceneMap.deleteWorldMaps(id)
132
+ * @param {string} id world id
133
+ * @since 3.0.0-beta.8
134
+ * @memberof SceneMap
135
+ */
136
+ deleteWorldMaps(id) {
137
+ this.worldMaps.delete(id);
138
+ }
63
139
  /**
64
140
  * Create a dynamic map
65
141
  *
142
+ * Since version 3.0.0-beta.8, you can just pass the path to the file. The identifier will then be the name of the file
143
+ *
66
144
  * @method sceneMap.createDynamicMap(mapData)
67
145
  * @title Create a dynamic map
68
- * @param {object | RpgMap} mapData The same property as [@MapData decorator](https://docs.rpgjs.dev/classes/map.html#mapdata-decorator)
69
- * @returns {void}
146
+ * @param {object | RpgMap | string} mapData The same property as [@MapData decorator](https://docs.rpgjs.dev/classes/map.html#mapdata-decorator)
147
+ * @returns {RpgMap}
70
148
  * @since 3.0.0-beta.4
71
149
  * @memberof SceneMap
72
150
  * @example
@@ -82,8 +160,34 @@ class SceneMap {
82
160
  * ```ts
83
161
  * player.changeMap('myid')
84
162
  * ```
163
+ *
164
+ * ---
165
+ *
166
+ * since beta.8
167
+ *
168
+ * ```ts
169
+ * sceneMap.createDynamicMap(require('./tmx/mymap.tmx')) // id is "mymap"
170
+ * ```
85
171
  */
86
172
  createDynamicMap(mapData) {
173
+ if (common_1.Utils.isString(mapData)) {
174
+ const id = common_1.Utils.extractId(mapData);
175
+ if (!id) {
176
+ throw new Error('Unable to extract the file identifier. Check that the file has only the following characters: [a-zA-Z0-9-_$!]+');
177
+ }
178
+ mapData = {
179
+ id: id[1],
180
+ file: mapData
181
+ };
182
+ }
183
+ if (tiled_1.isTiledFormat(mapData)) {
184
+ const tiledData = mapData;
185
+ mapData = {
186
+ file: Object.assign({}, tiledData)
187
+ };
188
+ }
189
+ if (!mapData.id)
190
+ mapData.id = common_1.Utils.generateUID();
87
191
  if (!common_1.Utils.isClass(mapData)) {
88
192
  let DynamicMap = class DynamicMap extends Map_1.RpgMap {
89
193
  };
@@ -92,19 +196,33 @@ class SceneMap {
92
196
  ], DynamicMap);
93
197
  mapData = DynamicMap;
94
198
  }
95
- mapData['id'] = mapData['id'] || common_1.Utils.generateUID();
96
- this.mapsById[mapData['id']] = mapData;
199
+ const map = mapData;
200
+ this.mapsById[map.id] = map;
201
+ return map;
97
202
  }
98
203
  changeMap(mapId, player, positions) {
99
204
  return __awaiter(this, void 0, void 0, function* () {
205
+ const boolArray = yield common_1.RpgPlugin.emit(common_1.HookServer.PlayerCanChangeMap, [player, this.getMapBydId(mapId)], true);
206
+ if (boolArray.some(el => el === false)) {
207
+ return null;
208
+ }
209
+ player.emit('preLoadScene', mapId);
100
210
  player.prevMap = player.map;
101
211
  if (player.prevMap) {
102
- player.execMethod('onLeaveMap', [player.getCurrentMap()]);
212
+ yield player.execMethod('onLeaveMap', [player.getCurrentMap()]);
103
213
  sync_server_1.World.leaveRoom(player.prevMap, player.id);
104
214
  }
105
215
  player.map = mapId;
106
216
  player.events = {};
217
+ player.tmpPositions = positions;
218
+ const scalabilityArray = yield common_1.RpgPlugin.emit(common_1.HookServer.ScalabilityChangeServer, player);
219
+ if (scalabilityArray.some(el => el === true)) {
220
+ return true;
221
+ }
222
+ player.tmpPositions = null;
107
223
  const mapInstance = yield this.loadMap(mapId);
224
+ if (!mapInstance)
225
+ return null;
108
226
  if (!player.height)
109
227
  player.height = mapInstance.tileHeight;
110
228
  if (!player.width)
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { TiledMap } from '@rpgjs/tiled';
1
2
  export interface MapOptions {
2
3
  /**
3
4
  * Map identifier. Allows to go to the map (for example with player.changeMap())
@@ -23,7 +24,7 @@ export interface MapOptions {
23
24
  * @prop {string} file
24
25
  * @memberof MapData
25
26
  * */
26
- file: string;
27
+ file: string | TiledMap;
27
28
  /**
28
29
  * The name of the map.
29
30
  * @prop {string} [name]
@@ -131,8 +132,10 @@ export interface MapOptions {
131
132
  * import { MapData, RpgMap, RpgPlayer } from '@rpgjs/server'
132
133
  *
133
134
  *
134
- * export class Player extends RpgPlayer {
135
- * customProp: string = 'test'
135
+ * declare module '@rpgjs/server' {
136
+ * export interface RpgPlayer {
137
+ * customProp: string
138
+ * }
136
139
  * }
137
140
  *
138
141
  * @MapData({
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/decorators/map.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAmK5C,SAAgB,OAAO,CAAC,OAAmB;IACvC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;QACnB,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAChC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAExC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;QAE7B,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;SAChD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG;gBAC9B;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACJ,GAAG,EAAE;4BACD,CAAC,EAAE,MAAM;4BACT,CAAC,EAAE,MAAM;yBACZ;wBACD,CAAC,EAAE,MAAM;wBACT,CAAC,EAAE,MAAM;qBACZ;oBACD,UAAU,EAAE;wBACR,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ,CAAA;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;YACjC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,kBAAS,CAAC,OAAO,CAAC,CAAA;SACvD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,kBAAS,CAAC,OAAO,CAAC,CAAA;SACxD;QAED,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7C,CAAC,CAAA;AACL,CAAC;AA5CD,0BA4CC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/decorators/map.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAqK5C,SAAgB,OAAO,CAAC,OAAmB;IACvC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;QACnB,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAChC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAExC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;QAE7B,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;SAChD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG;gBAC9B;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE;wBACJ,GAAG,EAAE;4BACD,CAAC,EAAE,MAAM;4BACT,CAAC,EAAE,MAAM;yBACZ;wBACD,CAAC,EAAE,MAAM;wBACT,CAAC,EAAE,MAAM;qBACZ;oBACD,UAAU,EAAE;wBACR,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ,CAAA;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;YACjC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,kBAAS,CAAC,OAAO,CAAC,CAAA;SACvD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,kBAAS,CAAC,OAAO,CAAC,CAAA;SACxD;QAED,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7C,CAAC,CAAA;AACL,CAAC;AA5CD,0BA4CC"}
@@ -29,5 +29,5 @@ interface RpgServerEntryPointOptions {
29
29
  globalConfig?: any;
30
30
  workers?: any;
31
31
  }
32
- export default function (modules: ModuleType[], options: RpgServerEntryPointOptions): RpgServerEngine;
32
+ export default function (modules: ModuleType[], options: RpgServerEntryPointOptions): Promise<RpgServerEngine>;
33
33
  export {};
@@ -1,36 +1,70 @@
1
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
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  const common_1 = require("@rpgjs/common");
4
13
  const server_1 = require("./server");
14
+ const MatchMaker_1 = require("./MatchMaker");
5
15
  function default_1(modules, options) {
6
- const gameEngine = new common_1.RpgCommonGame(common_1.GameSide.Server);
7
- if (!options.globalConfig)
8
- options.globalConfig = {};
9
- const relations = {
10
- onConnected: common_1.HookServer.PlayerConnected,
11
- onInput: common_1.HookServer.PlayerInput,
12
- onJoinMap: common_1.HookServer.PlayerJoinMap,
13
- onLeaveMap: common_1.HookServer.PlayerLeaveMap,
14
- onLevelUp: common_1.HookServer.PlayerLevelUp,
15
- onDead: common_1.HookServer.PlayerDead,
16
- onDisconnected: common_1.HookServer.PlayerDisconnected,
17
- onInShape: common_1.HookServer.PlayerInShape,
18
- onOutShape: common_1.HookServer.PlayerOutShape,
19
- onMove: common_1.HookServer.PlayerMove
20
- };
21
- const relationsEngine = {
22
- onStart: common_1.HookServer.Start,
23
- onStep: common_1.HookServer.Step
24
- };
25
- common_1.loadModules(modules, {
26
- side: 'server',
27
- relations: {
28
- player: relations,
29
- engine: relationsEngine
30
- }
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const gameEngine = new common_1.RpgCommonGame(common_1.GameSide.Server);
18
+ if (!options.globalConfig)
19
+ options.globalConfig = {};
20
+ const relations = {
21
+ onConnected: common_1.HookServer.PlayerConnected,
22
+ onInput: common_1.HookServer.PlayerInput,
23
+ onJoinMap: common_1.HookServer.PlayerJoinMap,
24
+ onLeaveMap: common_1.HookServer.PlayerLeaveMap,
25
+ onLevelUp: common_1.HookServer.PlayerLevelUp,
26
+ onDead: common_1.HookServer.PlayerDead,
27
+ onDisconnected: common_1.HookServer.PlayerDisconnected,
28
+ onInShape: common_1.HookServer.PlayerInShape,
29
+ onOutShape: common_1.HookServer.PlayerOutShape,
30
+ onMove: common_1.HookServer.PlayerMove,
31
+ canChangeMap: common_1.HookServer.PlayerCanChangeMap
32
+ };
33
+ const relationsEngine = {
34
+ onStart: common_1.HookServer.Start,
35
+ onStep: common_1.HookServer.Step
36
+ };
37
+ const { playerProps } = yield common_1.loadModules(modules, {
38
+ side: 'server',
39
+ relations: {
40
+ player: relations,
41
+ engine: relationsEngine,
42
+ scalability: {
43
+ onConnected: common_1.HookServer.ScalabilityPlayerConnected,
44
+ doChangeServer: common_1.HookServer.ScalabilityChangeServer
45
+ }
46
+ }
47
+ }, (mod) => {
48
+ const { scalability } = mod;
49
+ if (scalability) {
50
+ const { hooks, stateStore, matchMaker } = scalability;
51
+ const matchMakerInstance = new MatchMaker_1.RpgMatchMaker(matchMaker);
52
+ common_1.RpgPlugin.on(common_1.HookServer.Start, () => {
53
+ return stateStore.connect();
54
+ });
55
+ mod.scalability._hooks = {};
56
+ for (let hookName in hooks) {
57
+ let originalHook = mod.scalability.hooks[hookName];
58
+ mod.scalability._hooks[hookName] = function (player) {
59
+ return originalHook(stateStore, matchMakerInstance, player);
60
+ };
61
+ }
62
+ }
63
+ return mod;
64
+ });
65
+ const serverEngine = new server_1.RpgServerEngine(options.io, gameEngine, Object.assign({ debug: {}, updateRate: 10, stepRate: 60, timeoutInterval: 0, countConnections: false, playerProps }, options));
66
+ return serverEngine;
31
67
  });
32
- const serverEngine = new server_1.RpgServerEngine(options.io, gameEngine, Object.assign({ debug: {}, updateRate: 10, stepRate: 60, timeoutInterval: 0, countConnections: false }, options));
33
- return serverEngine;
34
68
  }
35
69
  exports.default = default_1;
36
70
  //# sourceMappingURL=entry-point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":";;AAAA,0CAA4F;AAC5F,qCAA0C;AAmC1C,mBAAwB,OAAqB,EAAE,OAAmC;IAC9E,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,iBAAQ,CAAC,MAAM,CAAC,CAAA;IAErD,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;IAEpD,MAAM,SAAS,GAAG;QACd,WAAW,EAAE,mBAAU,CAAC,eAAe;QACvC,OAAO,EAAE,mBAAU,CAAC,WAAW;QAC/B,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;QACrC,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,MAAM,EAAE,mBAAU,CAAC,UAAU;QAC7B,cAAc,EAAE,mBAAU,CAAC,kBAAkB;QAC7C,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;QACrC,MAAM,EAAE,mBAAU,CAAC,UAAU;KAChC,CAAA;IAED,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,mBAAU,CAAC,KAAK;QACzB,MAAM,EAAE,mBAAU,CAAC,IAAI;KAC1B,CAAA;IAED,oBAAW,CAAC,OAAO,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SAC1B;KACJ,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,kBAC3D,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,EAAE,EACZ,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,KAAK,IACpB,OAAO,EACZ,CAAA;IACF,OAAO,YAAY,CAAA;AACvB,CAAC;AAxCD,4BAwCC"}
1
+ {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0CAAuG;AACvG,qCAA0C;AAE1C,6CAA4C;AAmC5C,mBAA8B,OAAqB,EAAE,OAAmC;;QACpF,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,iBAAQ,CAAC,MAAM,CAAC,CAAA;QAErD,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;QAEpD,MAAM,SAAS,GAAG;YACd,WAAW,EAAE,mBAAU,CAAC,eAAe;YACvC,OAAO,EAAE,mBAAU,CAAC,WAAW;YAC/B,SAAS,EAAE,mBAAU,CAAC,aAAa;YACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;YACrC,SAAS,EAAE,mBAAU,CAAC,aAAa;YACnC,MAAM,EAAE,mBAAU,CAAC,UAAU;YAC7B,cAAc,EAAE,mBAAU,CAAC,kBAAkB;YAC7C,SAAS,EAAE,mBAAU,CAAC,aAAa;YACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;YACrC,MAAM,EAAE,mBAAU,CAAC,UAAU;YAC7B,YAAY,EAAE,mBAAU,CAAC,kBAAkB;SAC9C,CAAA;QAED,MAAM,eAAe,GAAG;YACpB,OAAO,EAAE,mBAAU,CAAC,KAAK;YACzB,MAAM,EAAE,mBAAU,CAAC,IAAI;SAC1B,CAAA;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAW,CAAC,OAAO,EAAE;YAC/C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE;gBACP,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE;oBACT,WAAW,EAAE,mBAAU,CAAC,0BAA0B;oBAClD,cAAc,EAAE,mBAAU,CAAC,uBAAuB;iBACrD;aACJ;SACJ,EAAE,CAAC,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;YAC3B,IAAI,WAAW,EAAE;gBACb,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,CAAA;gBACrD,MAAM,kBAAkB,GAAG,IAAI,0BAAa,CAAC,UAAU,CAAC,CAAA;gBACxD,kBAAS,CAAC,EAAE,CAAC,mBAAU,CAAC,KAAK,EAAE,GAAG,EAAE;oBAChC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAA;gBAC/B,CAAC,CAAC,CAAA;gBACF,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAA;gBAC3B,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;oBACxB,IAAI,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAClD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAS,MAAiB;wBACzD,OAAO,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;oBAC/D,CAAC,CAAA;iBACJ;aACJ;YACD,OAAO,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,kBAC3D,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,EAAE,EACZ,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,KAAK,EACvB,WAAW,IACR,OAAO,EACZ,CAAA;QACF,OAAO,YAAY,CAAA;IACvB,CAAC;CAAA;AA/DD,4BA+DC"}
package/lib/index.d.ts CHANGED
@@ -5,9 +5,13 @@ import { EventData } from './decorators/event';
5
5
  import { MapData } from './decorators/map';
6
6
  import { RpgPlayer, RpgEvent, EventMode } from './Player/Player';
7
7
  import { RpgMap } from './Game/Map';
8
+ import { RpgWorldMaps } from './Game/WorldMaps';
8
9
  import { Query } from './Query';
9
10
  import Monitor from './Monitor';
10
11
  import * as Presets from './presets';
11
12
  import { Move, Frequency, Speed } from './Player/MoveManager';
12
13
  import { RpgServerEngine } from './server';
13
- export { RpgServer, RpgEvent, RpgPlayer, RpgPlugin, RpgMap, MapData, EventData, Query as RpgWorld, Query, entryPoint, Presets, Monitor, Move, EventMode, Direction, Input, Control, HookServer, HookClient, RpgModule, RpgPlayerHooks, RpgServerEngineHooks, RpgServerEngine, RpgShape, ShapePositioning, Frequency, Speed };
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 };
package/lib/index.js CHANGED
@@ -22,7 +22,7 @@ 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.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.RpgMap = exports.RpgPlugin = exports.RpgPlayer = exports.RpgEvent = void 0;
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
26
  const entry_point_1 = __importDefault(require("./entry-point"));
27
27
  exports.entryPoint = entry_point_1.default;
28
28
  const common_1 = require("@rpgjs/common");
@@ -45,6 +45,8 @@ Object.defineProperty(exports, "RpgEvent", { enumerable: true, get: function ()
45
45
  Object.defineProperty(exports, "EventMode", { enumerable: true, get: function () { return Player_1.EventMode; } });
46
46
  const Map_1 = require("./Game/Map");
47
47
  Object.defineProperty(exports, "RpgMap", { enumerable: true, get: function () { return Map_1.RpgMap; } });
48
+ const WorldMaps_1 = require("./Game/WorldMaps");
49
+ Object.defineProperty(exports, "RpgWorldMaps", { enumerable: true, get: function () { return WorldMaps_1.RpgWorldMaps; } });
48
50
  const Query_1 = require("./Query");
49
51
  Object.defineProperty(exports, "RpgWorld", { enumerable: true, get: function () { return Query_1.Query; } });
50
52
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return Query_1.Query; } });
@@ -58,4 +60,8 @@ Object.defineProperty(exports, "Frequency", { enumerable: true, get: function ()
58
60
  Object.defineProperty(exports, "Speed", { enumerable: true, get: function () { return MoveManager_1.Speed; } });
59
61
  const server_1 = require("./server");
60
62
  Object.defineProperty(exports, "RpgServerEngine", { enumerable: true, get: function () { return server_1.RpgServerEngine; } });
63
+ const Map_2 = require("./Scenes/Map");
64
+ Object.defineProperty(exports, "RpgSceneMap", { enumerable: true, get: function () { return Map_2.SceneMap; } });
65
+ const MatchMaker_1 = require("./MatchMaker");
66
+ Object.defineProperty(exports, "RpgMatchMaker", { enumerable: true, get: function () { return MatchMaker_1.RpgMatchMaker; } });
61
67
  //# 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;AAiClC,qBAjCG,qBAAU,CAiCH;AAhCd,0CAUsB;AA2BlB,0FApCA,kBAAS,OAoCA;AACT,sFApCA,cAAK,OAoCA;AACL,wFApCA,gBAAO,OAoCA;AAbP,0FAtBA,kBAAS,OAsBA;AAcT,2FAnCA,mBAAU,OAmCA;AACV,2FAnCA,mBAAU,OAmCA;AACV,0FAnCA,kBAAS,OAmCA;AAIT,yFAtCA,iBAAQ,OAsCA;AACR,iGAtCA,yBAAgB,OAsCA;AAnCpB,8CAA8C;AAiB1C,0FAjBK,iBAAS,OAiBL;AAhBb,0CAA0C;AAetC,wFAfK,aAAO,OAeL;AAdX,4CAAgE;AAW5D,0FAXK,kBAAS,OAWL;AADT,yFAVgB,iBAAQ,OAUhB;AAYR,0FAtB0B,kBAAS,OAsB1B;AArBb,oCAAmC;AAY/B,uFAZK,YAAM,OAYL;AAXV,mCAA+B;AAclB,yFAdJ,aAAK,OAcO;AACjB,sFAfK,aAAK,OAeL;AAdT,wDAA+B;AAiB3B,kBAjBG,iBAAO,CAiBH;AAhBX,mDAAoC;AAehC,0BAAO;AAdX,sDAA6D;AAgBzD,qFAhBK,kBAAI,OAgBL;AAaJ,0FA7BW,uBAAS,OA6BX;AACT,sFA9BsB,mBAAK,OA8BtB;AA7BT,qCAA0C;AAyBtC,gGAzBK,wBAAe,OAyBL"}
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"}
package/lib/server.d.ts CHANGED
@@ -34,10 +34,12 @@ export declare class RpgServerEngine {
34
34
  * @memberof RpgServerEngine
35
35
  */
36
36
  damageFormulas: any;
37
+ serverId: string;
37
38
  private scenes;
38
39
  protected totalConnected: number;
39
40
  private scheduler;
40
41
  private tick;
42
+ private playerProps;
41
43
  world: WorldClass;
42
44
  workers: any;
43
45
  /**
package/lib/server.js CHANGED
@@ -49,6 +49,7 @@ class RpgServerEngine {
49
49
  * @memberof RpgServerEngine
50
50
  */
51
51
  this.damageFormulas = {};
52
+ this.serverId = process.env.SERVER_ID || common_1.Utils.generateUID();
52
53
  this.scenes = new Map();
53
54
  this.totalConnected = 0;
54
55
  this.tick = 0;
@@ -65,10 +66,17 @@ class RpgServerEngine {
65
66
  this.globalConfig = this.inputOptions.globalConfig;
66
67
  if (!this.inputOptions.maps)
67
68
  this.inputOptions.maps = [];
69
+ if (!this.inputOptions.worldMaps)
70
+ this.inputOptions.worldMaps = [];
71
+ this.playerProps = this.inputOptions.playerProps;
68
72
  this.inputOptions.maps = [
69
73
  ...common_1.Utils.arrayFlat(yield common_1.RpgPlugin.emit(common_1.HookServer.AddMap, this.inputOptions.maps)) || [],
70
74
  ...this.inputOptions.maps
71
75
  ];
76
+ this.inputOptions.worldMaps = [
77
+ ...common_1.Utils.arrayFlat(yield common_1.RpgPlugin.emit(common_1.HookServer.AddWorldMaps, this.inputOptions.worldMaps)) || [],
78
+ ...this.inputOptions.worldMaps
79
+ ];
72
80
  if (!this.inputOptions.database)
73
81
  this.inputOptions.database = {};
74
82
  const datas = (yield common_1.RpgPlugin.emit(common_1.HookServer.AddDatabase, this.inputOptions.database)) || [];
@@ -135,7 +143,7 @@ class RpgServerEngine {
135
143
  }
136
144
  });
137
145
  this.io.on('connection', this.onPlayerConnected.bind(this));
138
- common_1.RpgPlugin.emit(common_1.HookServer.Start, this);
146
+ yield common_1.RpgPlugin.emit(common_1.HookServer.Start, this);
139
147
  });
140
148
  }
141
149
  /**
@@ -195,7 +203,7 @@ class RpgServerEngine {
195
203
  common_1.RpgPlugin.emit(common_1.HookServer.Step, this);
196
204
  }
197
205
  loadScenes() {
198
- this.scenes.set(Map_1.SceneMap.id, new Map_1.SceneMap(this.inputOptions.maps, this));
206
+ this.scenes.set(Map_1.SceneMap.id, new Map_1.SceneMap(this.inputOptions.maps, this.inputOptions.worldMaps, this));
199
207
  }
200
208
  getScene(name) {
201
209
  return this.scenes.get(name);
@@ -213,8 +221,10 @@ class RpgServerEngine {
213
221
  currentPlayer._socket.emit(eventName, data);
214
222
  }
215
223
  onPlayerConnected(socket) {
224
+ const { token } = socket.handshake.auth;
216
225
  const playerId = common_1.Utils.generateUID();
217
226
  const player = new Player_1.RpgPlayer(this.gameEngine, playerId);
227
+ player.session = token;
218
228
  socket.on('move', (data) => {
219
229
  for (let input of data.input) {
220
230
  player.pendingMove.push({
@@ -227,10 +237,19 @@ class RpgServerEngine {
227
237
  this.onPlayerDisconnected(socket.id, playerId);
228
238
  });
229
239
  this.world.setUser(player, socket);
230
- socket.emit('playerJoined', { playerId });
231
240
  player.server = this;
232
241
  player._init();
233
- player.execMethod('onConnected');
242
+ if (!token) {
243
+ const newToken = common_1.Utils.generateUID() + '-' + common_1.Utils.generateUID() + '-' + common_1.Utils.generateUID();
244
+ player.session = newToken;
245
+ }
246
+ socket.emit('playerJoined', { playerId, session: player.session });
247
+ if (!token) {
248
+ player.execMethod('onConnected');
249
+ }
250
+ else {
251
+ common_1.RpgPlugin.emit(common_1.HookServer.ScalabilityPlayerConnected, player);
252
+ }
234
253
  }
235
254
  /**
236
255
  *
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.0.0-beta.7",
3
+ "version": "3.0.0-beta.9.1",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,14 +18,17 @@
18
18
  "author": "Samuel Ronce",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@rpgjs/common": "^3.0.0-beta.7",
22
- "@rpgjs/database": "^3.0.0-beta.7",
23
- "@rpgjs/sync-server": "^3.0.0-beta.7",
21
+ "@rpgjs/common": "^3.0.0-beta.9",
22
+ "@rpgjs/database": "^3.0.0-beta.9",
23
+ "@rpgjs/sync-server": "^3.0.0-beta.9",
24
+ "@rpgjs/tiled": "^3.0.0-beta.9",
25
+ "axios": "^0.27.1",
24
26
  "lodash.merge": "^4.6.2",
25
27
  "pathfinding": "^0.4.18",
28
+ "rxjs": "^7.5.5",
26
29
  "sat": "^0.8.0"
27
30
  },
28
- "gitHead": "c7017c71e58e83b54d85d8b41bd530eb69cd4d8f",
31
+ "gitHead": "7bb0326cc3216764a4bfc86f53e7b24464a2040f",
29
32
  "devDependencies": {
30
33
  "typescript": "^4.3.5"
31
34
  }
package/LICENSE DELETED
@@ -1,19 +0,0 @@
1
- Copyright (C) 2020 by Samuel Ronce
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in
11
- all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.