@rpgjs/server 4.2.2 → 5.0.0-alpha.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.
Files changed (219) hide show
  1. package/{lib → dist}/Gui/DialogGui.d.ts +1 -2
  2. package/{lib → dist}/Gui/Gui.d.ts +1 -2
  3. package/dist/Player/BattleManager.d.ts +22 -0
  4. package/dist/Player/ClassManager.d.ts +18 -0
  5. package/dist/Player/Event.d.ts +0 -0
  6. package/dist/Player/ItemManager.d.ts +17 -0
  7. package/dist/Player/MoveManager.d.ts +177 -0
  8. package/dist/Player/ParameterManager.d.ts +42 -0
  9. package/dist/Player/Player.d.ts +73 -0
  10. package/dist/Player/SkillManager.d.ts +23 -0
  11. package/dist/Player/StateManager.d.ts +39 -0
  12. package/{lib → dist}/RpgServer.d.ts +34 -17
  13. package/dist/RpgServerEngine.d.ts +5 -0
  14. package/dist/core/context.d.ts +2 -0
  15. package/dist/core/inject.d.ts +5 -0
  16. package/dist/core/setup.d.ts +6 -0
  17. package/dist/index.d.ts +9 -0
  18. package/dist/index.js +29673 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/module.d.ts +2 -0
  21. package/dist/rooms/lobby.d.ts +6 -0
  22. package/dist/rooms/map.d.ts +110 -0
  23. package/package.json +16 -38
  24. package/src/Gui/DialogGui.ts +3 -4
  25. package/src/Gui/Gui.ts +4 -6
  26. package/src/Player/BattleManager.ts +108 -99
  27. package/src/Player/ClassManager.ts +47 -46
  28. package/src/Player/ComponentManager.ts +26 -535
  29. package/src/Player/EffectManager.ts +44 -59
  30. package/src/Player/ElementManager.ts +70 -72
  31. package/src/Player/Event.ts +0 -0
  32. package/src/Player/GoldManager.ts +24 -6
  33. package/src/Player/GuiManager.ts +106 -97
  34. package/src/Player/ItemFixture.ts +22 -17
  35. package/src/Player/ItemManager.ts +234 -225
  36. package/src/Player/MoveManager.ts +1047 -457
  37. package/src/Player/ParameterManager.ts +59 -37
  38. package/src/Player/Player.ts +272 -1058
  39. package/src/Player/SkillManager.ts +146 -137
  40. package/src/Player/StateManager.ts +124 -98
  41. package/src/Player/VariableManager.ts +23 -3
  42. package/src/RpgServer.ts +38 -14
  43. package/src/RpgServerEngine.ts +7 -0
  44. package/src/core/context.ts +3 -0
  45. package/src/core/inject.ts +17 -0
  46. package/src/core/setup.ts +20 -0
  47. package/src/index.ts +9 -31
  48. package/src/module.ts +32 -0
  49. package/src/presets/index.ts +1 -3
  50. package/src/rooms/lobby.ts +24 -0
  51. package/src/rooms/map.ts +311 -0
  52. package/tsconfig.json +26 -23
  53. package/vite.config.ts +21 -0
  54. package/CHANGELOG.md +0 -163
  55. package/LICENSE +0 -19
  56. package/browser/manifest.json +0 -7
  57. package/browser/rpg.server.js +0 -22372
  58. package/browser/rpg.server.umd.cjs +0 -22403
  59. package/lib/Game/EventManager.d.ts +0 -54
  60. package/lib/Game/EventManager.js +0 -107
  61. package/lib/Game/EventManager.js.map +0 -1
  62. package/lib/Game/Map.d.ts +0 -191
  63. package/lib/Game/Map.js +0 -414
  64. package/lib/Game/Map.js.map +0 -1
  65. package/lib/Game/WorldMaps.d.ts +0 -17
  66. package/lib/Game/WorldMaps.js +0 -28
  67. package/lib/Game/WorldMaps.js.map +0 -1
  68. package/lib/Gui/DialogGui.js +0 -57
  69. package/lib/Gui/DialogGui.js.map +0 -1
  70. package/lib/Gui/Gui.js +0 -37
  71. package/lib/Gui/Gui.js.map +0 -1
  72. package/lib/Gui/MenuGui.js +0 -23
  73. package/lib/Gui/MenuGui.js.map +0 -1
  74. package/lib/Gui/NotificationGui.js +0 -8
  75. package/lib/Gui/NotificationGui.js.map +0 -1
  76. package/lib/Gui/ShopGui.js +0 -40
  77. package/lib/Gui/ShopGui.js.map +0 -1
  78. package/lib/Gui/index.js +0 -7
  79. package/lib/Gui/index.js.map +0 -1
  80. package/lib/Interfaces/Gui.d.ts +0 -4
  81. package/lib/Interfaces/Gui.js +0 -2
  82. package/lib/Interfaces/Gui.js.map +0 -1
  83. package/lib/Interfaces/StateStore.d.ts +0 -5
  84. package/lib/Interfaces/StateStore.js +0 -2
  85. package/lib/Interfaces/StateStore.js.map +0 -1
  86. package/lib/MatchMaker.d.ts +0 -24
  87. package/lib/MatchMaker.js +0 -42
  88. package/lib/MatchMaker.js.map +0 -1
  89. package/lib/Monitor/index.d.ts +0 -17
  90. package/lib/Monitor/index.js +0 -72
  91. package/lib/Monitor/index.js.map +0 -1
  92. package/lib/Player/BattleManager.d.ts +0 -36
  93. package/lib/Player/BattleManager.js +0 -101
  94. package/lib/Player/BattleManager.js.map +0 -1
  95. package/lib/Player/ClassManager.d.ts +0 -47
  96. package/lib/Player/ClassManager.js +0 -65
  97. package/lib/Player/ClassManager.js.map +0 -1
  98. package/lib/Player/ComponentManager.d.ts +0 -397
  99. package/lib/Player/ComponentManager.js +0 -505
  100. package/lib/Player/ComponentManager.js.map +0 -1
  101. package/lib/Player/EffectManager.d.ts +0 -46
  102. package/lib/Player/EffectManager.js +0 -75
  103. package/lib/Player/EffectManager.js.map +0 -1
  104. package/lib/Player/ElementManager.d.ts +0 -108
  105. package/lib/Player/ElementManager.js +0 -120
  106. package/lib/Player/ElementManager.js.map +0 -1
  107. package/lib/Player/GoldManager.d.ts +0 -17
  108. package/lib/Player/GoldManager.js +0 -27
  109. package/lib/Player/GoldManager.js.map +0 -1
  110. package/lib/Player/GuiManager.d.ts +0 -247
  111. package/lib/Player/GuiManager.js +0 -291
  112. package/lib/Player/GuiManager.js.map +0 -1
  113. package/lib/Player/ItemFixture.d.ts +0 -7
  114. package/lib/Player/ItemFixture.js +0 -19
  115. package/lib/Player/ItemFixture.js.map +0 -1
  116. package/lib/Player/ItemManager.d.ts +0 -331
  117. package/lib/Player/ItemManager.js +0 -475
  118. package/lib/Player/ItemManager.js.map +0 -1
  119. package/lib/Player/MoveManager.d.ts +0 -333
  120. package/lib/Player/MoveManager.js +0 -450
  121. package/lib/Player/MoveManager.js.map +0 -1
  122. package/lib/Player/ParameterManager.d.ts +0 -316
  123. package/lib/Player/ParameterManager.js +0 -408
  124. package/lib/Player/ParameterManager.js.map +0 -1
  125. package/lib/Player/Player.d.ts +0 -828
  126. package/lib/Player/Player.js +0 -927
  127. package/lib/Player/Player.js.map +0 -1
  128. package/lib/Player/SkillManager.d.ts +0 -163
  129. package/lib/Player/SkillManager.js +0 -223
  130. package/lib/Player/SkillManager.js.map +0 -1
  131. package/lib/Player/StateManager.d.ts +0 -185
  132. package/lib/Player/StateManager.js +0 -228
  133. package/lib/Player/StateManager.js.map +0 -1
  134. package/lib/Player/VariableManager.d.ts +0 -46
  135. package/lib/Player/VariableManager.js +0 -52
  136. package/lib/Player/VariableManager.js.map +0 -1
  137. package/lib/Query.d.ts +0 -127
  138. package/lib/Query.js +0 -159
  139. package/lib/Query.js.map +0 -1
  140. package/lib/RpgServer.js +0 -2
  141. package/lib/RpgServer.js.map +0 -1
  142. package/lib/Scenes/Map.d.ts +0 -136
  143. package/lib/Scenes/Map.js +0 -273
  144. package/lib/Scenes/Map.js.map +0 -1
  145. package/lib/decorators/event.d.ts +0 -43
  146. package/lib/decorators/event.js +0 -13
  147. package/lib/decorators/event.js.map +0 -1
  148. package/lib/decorators/map.d.ts +0 -178
  149. package/lib/decorators/map.js +0 -43
  150. package/lib/decorators/map.js.map +0 -1
  151. package/lib/entry-point.d.ts +0 -34
  152. package/lib/entry-point.js +0 -70
  153. package/lib/entry-point.js.map +0 -1
  154. package/lib/express/api.d.ts +0 -3
  155. package/lib/express/api.js +0 -105
  156. package/lib/express/api.js.map +0 -1
  157. package/lib/express/errors/NotAuthorized.d.ts +0 -4
  158. package/lib/express/errors/NotAuthorized.js +0 -7
  159. package/lib/express/errors/NotAuthorized.js.map +0 -1
  160. package/lib/express/errors/NotFound.d.ts +0 -4
  161. package/lib/express/errors/NotFound.js +0 -7
  162. package/lib/express/errors/NotFound.js.map +0 -1
  163. package/lib/express/server.d.ts +0 -16
  164. package/lib/express/server.js +0 -65
  165. package/lib/express/server.js.map +0 -1
  166. package/lib/index.d.ts +0 -20
  167. package/lib/index.js +0 -19
  168. package/lib/index.js.map +0 -1
  169. package/lib/inject.d.ts +0 -22
  170. package/lib/inject.js +0 -29
  171. package/lib/inject.js.map +0 -1
  172. package/lib/logs/index.js +0 -6
  173. package/lib/logs/index.js.map +0 -1
  174. package/lib/logs/item.js +0 -34
  175. package/lib/logs/item.js.map +0 -1
  176. package/lib/logs/log.js +0 -7
  177. package/lib/logs/log.js.map +0 -1
  178. package/lib/logs/skill.js +0 -19
  179. package/lib/logs/skill.js.map +0 -1
  180. package/lib/logs/state.js +0 -13
  181. package/lib/logs/state.js.map +0 -1
  182. package/lib/models/Item.d.ts +0 -10
  183. package/lib/models/Item.js +0 -2
  184. package/lib/models/Item.js.map +0 -1
  185. package/lib/presets/index.js +0 -65
  186. package/lib/presets/index.js.map +0 -1
  187. package/lib/server.d.ts +0 -137
  188. package/lib/server.js +0 -443
  189. package/lib/server.js.map +0 -1
  190. package/rpg.toml +0 -14
  191. package/src/Game/EventManager.ts +0 -125
  192. package/src/Game/Map.ts +0 -495
  193. package/src/Game/WorldMaps.ts +0 -45
  194. package/src/Interfaces/Gui.ts +0 -4
  195. package/src/Interfaces/StateStore.ts +0 -5
  196. package/src/MatchMaker.ts +0 -65
  197. package/src/Monitor/index.ts +0 -78
  198. package/src/Query.ts +0 -172
  199. package/src/Scenes/Map.ts +0 -310
  200. package/src/decorators/event.ts +0 -58
  201. package/src/decorators/map.ts +0 -226
  202. package/src/entry-point.ts +0 -111
  203. package/src/express/api.ts +0 -118
  204. package/src/express/errors/NotAuthorized.ts +0 -6
  205. package/src/express/errors/NotFound.ts +0 -6
  206. package/src/express/server.ts +0 -87
  207. package/src/inject.ts +0 -33
  208. package/src/models/Item.ts +0 -11
  209. package/src/server.ts +0 -459
  210. /package/{lib → dist}/Gui/MenuGui.d.ts +0 -0
  211. /package/{lib → dist}/Gui/NotificationGui.d.ts +0 -0
  212. /package/{lib → dist}/Gui/ShopGui.d.ts +0 -0
  213. /package/{lib → dist}/Gui/index.d.ts +0 -0
  214. /package/{lib → dist}/logs/index.d.ts +0 -0
  215. /package/{lib → dist}/logs/item.d.ts +0 -0
  216. /package/{lib → dist}/logs/log.d.ts +0 -0
  217. /package/{lib → dist}/logs/skill.d.ts +0 -0
  218. /package/{lib → dist}/logs/state.d.ts +0 -0
  219. /package/{lib → dist}/presets/index.d.ts +0 -0
@@ -1,65 +0,0 @@
1
- import { Utils } from '@rpgjs/common';
2
- const { random } = Utils;
3
- export const MAXHP = 'maxHp';
4
- export const MAXSP = 'maxSp';
5
- export const ATK = 'atk';
6
- export const PDEF = 'pdef';
7
- export const SDEF = 'sdef';
8
- export const STR = 'str';
9
- export const AGI = 'agi';
10
- export const INT = 'int';
11
- export const DEX = 'dex';
12
- export const MAXHP_CURVE = {
13
- start: 741,
14
- end: 7467
15
- };
16
- export const MAXSP_CURVE = {
17
- start: 534,
18
- end: 5500
19
- };
20
- export const STR_CURVE = {
21
- start: 67,
22
- end: 635
23
- };
24
- export const AGI_CURVE = {
25
- start: 58,
26
- end: 582
27
- };
28
- export const INT_CURVE = {
29
- start: 36,
30
- end: 7318
31
- };
32
- export const DEX_CURVE = {
33
- start: 54,
34
- end: 564
35
- };
36
- export const DAMAGE_CRITICAL = function (damage, a, b) {
37
- if (random(0, 100) < 4 * a[DEX] / b[AGI]) {
38
- damage *= 2;
39
- }
40
- return damage;
41
- };
42
- export const DAMAGE_PHYSIC = function (a, b) {
43
- let damage = Math.round((a[ATK] - b[PDEF] / 2) * ((20 + a[STR]) / 20));
44
- if (damage < 0)
45
- damage = 0;
46
- return damage;
47
- };
48
- export const DAMAGE_GUARD = function (damage) {
49
- return damage / 2;
50
- };
51
- export const COEFFICIENT_ELEMENTS = function (a, b, bDef) {
52
- return ((a.rate + 1) * (b.rate + 1)) / (bDef.rate == 0 ? bDef.rate * 4 : 1);
53
- };
54
- export const DAMAGE_SKILL = function (a, b, skill) {
55
- let power = skill.power + (a[ATK] * (skill.coefficient[ATK] || 0));
56
- if (power > 0) {
57
- power -= b[PDEF] * (skill.coefficient[PDEF] || 0) / 2;
58
- power -= b[SDEF] * (skill.coefficient[SDEF] || 0) / 2;
59
- power = Math.max(power, 0);
60
- }
61
- let rate = 20;
62
- [STR, DEX, AGI, INT].forEach(val => rate += a[val] * (skill.coefficient[val] || 0));
63
- return Math.round(power * rate / 20);
64
- };
65
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;AAExB,MAAM,CAAC,MAAM,KAAK,GAAW,OAAO,CAAA;AACpC,MAAM,CAAC,MAAM,KAAK,GAAW,OAAO,CAAA;AACpC,MAAM,CAAC,MAAM,GAAG,GAAW,KAAK,CAAA;AAChC,MAAM,CAAC,MAAM,IAAI,GAAW,MAAM,CAAA;AAClC,MAAM,CAAC,MAAM,IAAI,GAAW,MAAM,CAAA;AAClC,MAAM,CAAC,MAAM,GAAG,GAAW,KAAK,CAAA;AAChC,MAAM,CAAC,MAAM,GAAG,GAAW,KAAK,CAAA;AAChC,MAAM,CAAC,MAAM,GAAG,GAAW,KAAK,CAAA;AAChC,MAAM,CAAC,MAAM,GAAG,GAAW,KAAK,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,IAAI;CACZ,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,IAAI;CACZ,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,GAAG;CACX,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,GAAG;CACX,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,IAAI;CACZ,CAAA;AACD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,GAAG;CACX,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,UAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAChD,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;QACtC,MAAM,IAAI,CAAC,CAAA;KACd;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACtE,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,GAAG,CAAC,CAAA;IAC1B,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,UAAS,MAAM;IACvC,OAAO,MAAM,GAAG,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAS,CAAC,EAAE,CAAC,EAAE,IAAI;IACnD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,UAAS,CAAC,EAAE,CAAC,EAAE,KAAK;IAC5C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClE,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;KAC7B;IACD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA"}
package/lib/server.d.ts DELETED
@@ -1,137 +0,0 @@
1
- import { SceneMap } from './Scenes/Map';
2
- import { WorldClass } from 'simple-room';
3
- import { RpgCommonGame } from '@rpgjs/common';
4
- import { Observable } from 'rxjs';
5
- import { Tick } from '@rpgjs/types';
6
- import { DatabaseTypes } from '@rpgjs/database';
7
- export declare class RpgServerEngine {
8
- /**
9
- * Express App Instance. If you have assigned this variable before starting the game, you can get the instance of Express
10
- *
11
- * @prop {Express App} [app]
12
- * @memberof RpgServerEngine
13
- */
14
- app: any;
15
- /**
16
- * List of the data
17
- *
18
- * @prop {object} [database]
19
- * @memberof RpgServerEngine
20
- */
21
- database: any;
22
- /**
23
- * retrieve the global configurations assigned at the entry point
24
- *
25
- * @prop {object} [globalConfig]
26
- * @readonly
27
- * @memberof RpgServerEngine
28
- * */
29
- globalConfig: any;
30
- /**
31
- * Combat formulas
32
- *
33
- * @prop {object} [damageFormulas]
34
- * @memberof RpgServerEngine
35
- */
36
- damageFormulas: any;
37
- serverId: string;
38
- private scenes;
39
- protected totalConnected: number;
40
- private scheduler;
41
- private playerProps;
42
- gameEngine: RpgCommonGame;
43
- world: WorldClass;
44
- workers: any;
45
- envs: any;
46
- io: any;
47
- inputOptions: any;
48
- /**
49
- * Combat formulas
50
- *
51
- * @prop {Socket Io Server} [io]
52
- * @memberof RpgServerEngine
53
- */
54
- initialize(io: any, inputOptions: any): void;
55
- private _init;
56
- /**
57
- * Adds data to the server's database (in RAM) for later use
58
- *
59
- *
60
- * @method server.addInDatabase(id,data)
61
- * @title Add in database
62
- * @param {number} id resource id
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
- * @since 3.0.0-beta.4
74
- * @example
75
- * ```ts
76
- * @Item({
77
- * name: 'Potion',
78
- * description: 'Gives 100 HP',
79
- * })
80
- * class MyItem() {}
81
- *
82
- * server.addInDatabase('dynamic_item', MyItem)
83
- * ```
84
- *
85
- * or with an object
86
- *
87
- * ```ts
88
- * server.addInDatabase('dynamic_item', {
89
- * name: 'Potion',
90
- * description: 'Gives 100 HP',
91
- * }, 'item')
92
- * ```
93
- *
94
- * @returns {void}
95
- * @memberof RpgServerEngine
96
- */
97
- addInDatabase(id: string, dataClass: any, type?: DatabaseTypes): void;
98
- /**
99
- * Start the RPG server
100
- *
101
- * @method server.start()
102
- * @title Start Server
103
- * @returns {void}
104
- * @memberof RpgServerEngine
105
- */
106
- start(inputOptions?: any, scheduler?: boolean): Promise<void>;
107
- private transport;
108
- get tick(): Observable<Tick>;
109
- /**
110
- * 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)
111
- *
112
- * @method server.send()
113
- * @title Send All Packets
114
- * @returns {void}
115
- * @memberof RpgServerEngine
116
- */
117
- send(): Promise<void>;
118
- private updatePlayersMove;
119
- nextTick(timestamp: number): void;
120
- step(t: number, dt: number): void;
121
- private loadScenes;
122
- getScene<T>(name: string): T;
123
- /**
124
- * Return the scene that manages the maps of the game
125
- * @prop {SceneMap} [sceneMap]
126
- * @since 3.0.0-beta.4
127
- * @memberof RpgServerEngine
128
- */
129
- get sceneMap(): SceneMap;
130
- get module(): import("@rpgjs/common/lib/Plugin").PluginSystem;
131
- get assetsPath(): string;
132
- sendToPlayer(currentPlayer: any, eventName: any, data: any): void;
133
- private getPlayerBySession;
134
- private onPlayerConnected;
135
- private onPlayerDisconnected;
136
- stop(): void;
137
- }
package/lib/server.js DELETED
@@ -1,443 +0,0 @@
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;
6
- };
7
- import { SceneMap } from './Scenes/Map.js';
8
- import { RpgPlayer } from './Player/Player.js';
9
- import { Query } from './Query.js';
10
- import { DAMAGE_SKILL, DAMAGE_PHYSIC, DAMAGE_CRITICAL, COEFFICIENT_ELEMENTS } from './presets/index.js';
11
- import { World, Transport } from 'simple-room';
12
- import { Utils, RpgPlugin, Scheduler, HookServer, RpgCommonGame, DefaultInput } from '@rpgjs/common';
13
- import { Actor, Armor, Class, Item, Skill, State, Weapon } from '@rpgjs/database';
14
- import { inject } from './inject.js';
15
- export class RpgServerEngine {
16
- constructor() {
17
- /**
18
- * List of the data
19
- *
20
- * @prop {object} [database]
21
- * @memberof RpgServerEngine
22
- */
23
- this.database = {};
24
- /**
25
- * retrieve the global configurations assigned at the entry point
26
- *
27
- * @prop {object} [globalConfig]
28
- * @readonly
29
- * @memberof RpgServerEngine
30
- * */
31
- this.globalConfig = {};
32
- /**
33
- * Combat formulas
34
- *
35
- * @prop {object} [damageFormulas]
36
- * @memberof RpgServerEngine
37
- */
38
- this.damageFormulas = {};
39
- this.serverId = process.env.SERVER_ID || Utils.generateUID();
40
- this.scenes = new Map();
41
- this.totalConnected = 0;
42
- this.scheduler = new Scheduler();
43
- this.gameEngine = inject(RpgCommonGame);
44
- this.world = World;
45
- this.envs = {};
46
- this.inputOptions = {};
47
- }
48
- /**
49
- * Combat formulas
50
- *
51
- * @prop {Socket Io Server} [io]
52
- * @memberof RpgServerEngine
53
- */
54
- initialize(io, inputOptions) {
55
- this.io = io;
56
- this.inputOptions = inputOptions;
57
- this.envs = inputOptions.envs || {};
58
- if (this.inputOptions.workers) {
59
- console.log('workers enabled');
60
- this.workers = this.gameEngine.createWorkers(this.inputOptions.workers).load();
61
- }
62
- }
63
- async _init() {
64
- this.damageFormulas = this.inputOptions.damageFormulas || {};
65
- this.damageFormulas = {
66
- damageSkill: DAMAGE_SKILL,
67
- damagePhysic: DAMAGE_PHYSIC,
68
- damageCritical: DAMAGE_CRITICAL,
69
- coefficientElements: COEFFICIENT_ELEMENTS,
70
- ...this.damageFormulas
71
- };
72
- this.globalConfig = this.inputOptions.globalConfig;
73
- if (!this.inputOptions.maps)
74
- this.inputOptions.maps = [];
75
- if (!this.inputOptions.events)
76
- this.inputOptions.events = [];
77
- if (!this.inputOptions.worldMaps)
78
- this.inputOptions.worldMaps = [];
79
- this.playerProps = this.inputOptions.playerProps;
80
- this.inputOptions.maps = [
81
- ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddMap, this.inputOptions.maps)) || [],
82
- ...this.inputOptions.maps
83
- ];
84
- this.inputOptions.events = [
85
- ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddEvent, this.inputOptions.events)) || [],
86
- ...this.inputOptions.events
87
- ];
88
- this.inputOptions.worldMaps = [
89
- ...Utils.arrayFlat(await RpgPlugin.emit(HookServer.AddWorldMaps, this.inputOptions.worldMaps)) || [],
90
- ...this.inputOptions.worldMaps
91
- ];
92
- this.globalConfig.inputs = {
93
- ...DefaultInput,
94
- ...(this.globalConfig.inputs || {})
95
- };
96
- if (!this.inputOptions.database)
97
- this.inputOptions.database = {};
98
- /**
99
- * data is array with object or array
100
- */
101
- const datas = await RpgPlugin.emit(HookServer.AddDatabase, this.inputOptions.database) || [];
102
- for (let element of datas) {
103
- if (Array.isArray(element)) {
104
- for (let data of element) {
105
- this.addInDatabase(data.id, data);
106
- }
107
- }
108
- else {
109
- for (let id in element) {
110
- this.addInDatabase(element[id].id ?? id, element[id]);
111
- }
112
- }
113
- }
114
- this.loadScenes();
115
- }
116
- /**
117
- * Adds data to the server's database (in RAM) for later use
118
- *
119
- *
120
- * @method server.addInDatabase(id,data)
121
- * @title Add in database
122
- * @param {number} id resource id
123
- * @param {class | object} dataClass A class representing the data. You can just add a object if you specify the type
124
- * @enum {string} [type] The type of data
125
- *
126
- * item
127
- * weapon
128
- * armor
129
- * skill
130
- * class
131
- * state
132
- * actor
133
- * @since 3.0.0-beta.4
134
- * @example
135
- * ```ts
136
- * @Item({
137
- * name: 'Potion',
138
- * description: 'Gives 100 HP',
139
- * })
140
- * class MyItem() {}
141
- *
142
- * server.addInDatabase('dynamic_item', MyItem)
143
- * ```
144
- *
145
- * or with an object
146
- *
147
- * ```ts
148
- * server.addInDatabase('dynamic_item', {
149
- * name: 'Potion',
150
- * description: 'Gives 100 HP',
151
- * }, 'item')
152
- * ```
153
- *
154
- * @returns {void}
155
- * @memberof RpgServerEngine
156
- */
157
- addInDatabase(id, dataClass, type) {
158
- if (Utils.isClass(dataClass)) {
159
- this.database[id] = dataClass;
160
- return;
161
- }
162
- if (!type) {
163
- throw new Error(`You must specify a type for the database ${id}`);
164
- }
165
- switch (type) {
166
- case 'item':
167
- let ItemClass = class ItemClass {
168
- };
169
- ItemClass = __decorate([
170
- Item(dataClass)
171
- ], ItemClass);
172
- this.database[id] = ItemClass;
173
- break;
174
- case 'weapon':
175
- let WeaponClass = class WeaponClass {
176
- };
177
- WeaponClass = __decorate([
178
- Weapon(dataClass)
179
- ], WeaponClass);
180
- this.database[id] = WeaponClass;
181
- break;
182
- case 'armor':
183
- let ArmorClass = class ArmorClass {
184
- };
185
- ArmorClass = __decorate([
186
- Armor(dataClass)
187
- ], ArmorClass);
188
- this.database[id] = ArmorClass;
189
- break;
190
- case 'skill':
191
- let SkillClass = class SkillClass {
192
- };
193
- SkillClass = __decorate([
194
- Skill(dataClass)
195
- ], SkillClass);
196
- this.database[id] = SkillClass;
197
- break;
198
- case 'class':
199
- let ClassClass = class ClassClass {
200
- };
201
- ClassClass = __decorate([
202
- Class(dataClass)
203
- ], ClassClass);
204
- this.database[id] = ClassClass;
205
- break;
206
- case 'state':
207
- let StateClass = class StateClass {
208
- };
209
- StateClass = __decorate([
210
- State(dataClass)
211
- ], StateClass);
212
- this.database[id] = StateClass;
213
- break;
214
- case 'actor':
215
- let ActorClass = class ActorClass {
216
- };
217
- ActorClass = __decorate([
218
- Actor(dataClass)
219
- ], ActorClass);
220
- this.database[id] = ActorClass;
221
- break;
222
- }
223
- }
224
- /**
225
- * Start the RPG server
226
- *
227
- * @method server.start()
228
- * @title Start Server
229
- * @returns {void}
230
- * @memberof RpgServerEngine
231
- */
232
- async start(inputOptions, scheduler = true) {
233
- if (inputOptions)
234
- this.inputOptions = inputOptions;
235
- await this._init();
236
- this.tick.subscribe(({ timestamp, deltaTime }) => {
237
- this.step(timestamp, deltaTime);
238
- });
239
- if (scheduler)
240
- this.scheduler.start({
241
- fps: inputOptions?.fps || 60
242
- });
243
- this.gameEngine.start({
244
- getObject(id) {
245
- return Query.getPlayer(id);
246
- },
247
- getObjectsOfGroup(groupId, player) {
248
- return Query._getObjectsOfMap(groupId, player);
249
- },
250
- getShapesOfGroup(map) {
251
- return Query._getShapesOfMap(map);
252
- }
253
- });
254
- //this.io.on('connection', this.onPlayerConnected.bind(this))
255
- this.transport(this.io);
256
- await RpgPlugin.emit(HookServer.Start, this);
257
- }
258
- transport(io) {
259
- const timeoutDisconnect = this.globalConfig.timeoutDisconnect ?? 0;
260
- const auth = this.globalConfig.disableAuth ? () => Utils.generateUID() :
261
- async (socket) => {
262
- const val = await RpgPlugin.emit(HookServer.Auth, [this, socket], true);
263
- if (val.length == 0) {
264
- return Utils.generateUID();
265
- }
266
- return val[val.length - 1];
267
- };
268
- const transport = new Transport(io, {
269
- timeoutDisconnect,
270
- auth
271
- });
272
- this.world.timeoutDisconnect = timeoutDisconnect;
273
- transport.onConnected(this.onPlayerConnected.bind(this));
274
- transport.onDisconnected(this.onPlayerDisconnected.bind(this));
275
- return transport;
276
- }
277
- get tick() {
278
- return this.scheduler.tick;
279
- }
280
- /**
281
- * 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)
282
- *
283
- * @method server.send()
284
- * @title Send All Packets
285
- * @returns {void}
286
- * @memberof RpgServerEngine
287
- */
288
- send() {
289
- return this.world.send();
290
- }
291
- async updatePlayersMove(deltaTimeInt) {
292
- const players = this.world.getUsers();
293
- const obj = [];
294
- let p = [];
295
- for (let playerId in players) {
296
- const playerInstance = players[playerId]['proxy'];
297
- if (!playerInstance)
298
- continue;
299
- const player = playerInstance.otherPossessedPlayer ?? playerInstance;
300
- if (player.pendingMove.length > 0) {
301
- const lastFrame = player.pendingMove[player.pendingMove.length - 1];
302
- if (this.inputOptions.workers)
303
- obj.push(player.toObject());
304
- else {
305
- p.push(this.gameEngine.processInput(player.playerId, this.globalConfig.inputs).then((val) => {
306
- player.pendingMove = [];
307
- player.moving = false;
308
- player._lastFramePositions = {
309
- frame: lastFrame.frame,
310
- position: { ...player.position }
311
- };
312
- return player;
313
- }));
314
- }
315
- }
316
- }
317
- // TODO
318
- if (this.inputOptions.workers) {
319
- this.workers.call('movePlayers', obj).then((players) => {
320
- for (let playerId in players) {
321
- const player = this.world.getUser(playerId);
322
- const data = players[playerId];
323
- if (player) {
324
- player.position = data.position;
325
- player.direction = data.direction;
326
- }
327
- RpgPlugin.emit('Server.onInput', [player, {
328
- input: data.direction,
329
- moving: true
330
- }], true);
331
- }
332
- });
333
- }
334
- return Promise.all(p);
335
- }
336
- nextTick(timestamp) {
337
- this.scheduler.nextTick(timestamp);
338
- }
339
- step(t, dt) {
340
- this.updatePlayersMove(1);
341
- if (this.scheduler.frame % 4 === 0) {
342
- this.send();
343
- }
344
- RpgPlugin.emit(HookServer.Step, this);
345
- }
346
- loadScenes() {
347
- this.scenes.set(SceneMap.id, new SceneMap({
348
- maps: this.inputOptions.maps,
349
- events: this.inputOptions.events,
350
- worldMaps: this.inputOptions.worldMaps
351
- }));
352
- }
353
- getScene(name) {
354
- return this.scenes.get(name);
355
- }
356
- /**
357
- * Return the scene that manages the maps of the game
358
- * @prop {SceneMap} [sceneMap]
359
- * @since 3.0.0-beta.4
360
- * @memberof RpgServerEngine
361
- */
362
- get sceneMap() {
363
- return this.getScene(SceneMap.id);
364
- }
365
- get module() {
366
- return RpgPlugin;
367
- }
368
- get assetsPath() {
369
- return this.envs?.['VITE_ASSETS_PATH'] || 'assets';
370
- }
371
- sendToPlayer(currentPlayer, eventName, data) {
372
- currentPlayer._socket.emit(eventName, data);
373
- }
374
- getPlayerBySession(session) {
375
- const users = this.world.getUsers();
376
- for (let userId in users) {
377
- const user = users[userId];
378
- if (user.session === session) {
379
- return user;
380
- }
381
- }
382
- return null;
383
- }
384
- onPlayerConnected(socket, playerId) {
385
- const existingUser = this.world.getUser(playerId, false);
386
- this.world.connectUser(socket, playerId);
387
- let player;
388
- if (!existingUser) {
389
- const { token } = socket.handshake.auth;
390
- player = new RpgPlayer(playerId);
391
- player.session = token;
392
- this.world.setUser(player, socket);
393
- player._init();
394
- if (!token) {
395
- const newToken = Utils.generateUID() + '-' + Utils.generateUID() + '-' + Utils.generateUID();
396
- player.session = newToken;
397
- }
398
- if (!token) {
399
- player.execMethod('onConnected');
400
- }
401
- else {
402
- RpgPlugin.emit(HookServer.ScalabilityPlayerConnected, player);
403
- }
404
- }
405
- else {
406
- player = existingUser;
407
- if (player.map) {
408
- player.emit('preLoadScene', {
409
- reconnect: true,
410
- id: player.map
411
- });
412
- player.emitSceneMap();
413
- this.world.joinRoom(player.map, playerId);
414
- }
415
- }
416
- socket.emit('playerJoined', { playerId, session: player.session });
417
- socket.on('move', (data) => {
418
- if (!data?.input)
419
- return;
420
- if (!Array.isArray(data.input))
421
- return;
422
- const controlPlayer = player.otherPossessedPlayer ?? player;
423
- if (!controlPlayer.canMove) {
424
- return;
425
- }
426
- for (let input of data.input) {
427
- controlPlayer.pendingMove.push({
428
- input,
429
- frame: data.frame
430
- });
431
- }
432
- });
433
- }
434
- onPlayerDisconnected(playerId) {
435
- const player = World.getUser(playerId);
436
- player.execMethod('onDisconnected');
437
- this.world.disconnectUser(playerId);
438
- }
439
- stop() {
440
- this.scheduler.stop();
441
- }
442
- }
443
- //# sourceMappingURL=server.js.map
package/lib/server.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/rpg.toml DELETED
@@ -1,14 +0,0 @@
1
- [compilerOptions.build]
2
- pwaEnabled = false
3
- outputDir = "./browser"
4
-
5
- [vite.build.lib]
6
- entry = "src/index.ts"
7
- name = "RpgServer"
8
- fileName = "rpg.server"
9
-
10
- [vite.build.rollupOptions.output]
11
- format = "umd"
12
-
13
- [vite.build.rollupOptions]
14
- external = ["@rpgjs/common", "@rpgjs/database"]