omegga 1.2.9 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/README.md +20 -1
  2. package/dist/brickadia/config.js +26 -90
  3. package/dist/brickadia/config.js.map +1 -1
  4. package/dist/brickadia/server.js +294 -293
  5. package/dist/brickadia/server.js.map +1 -1
  6. package/dist/cli/auth.js +149 -177
  7. package/dist/cli/auth.js.map +1 -1
  8. package/dist/cli/config.js +64 -66
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +14 -14
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/installer.js +37 -43
  13. package/dist/cli/installer.js.map +1 -1
  14. package/dist/cli/plugin.js +651 -682
  15. package/dist/cli/plugin.js.map +1 -1
  16. package/dist/cli/terminal.js +811 -733
  17. package/dist/cli/terminal.js.map +1 -1
  18. package/dist/config/formats/format_js.js +6 -6
  19. package/dist/config/formats/format_js.js.map +1 -1
  20. package/dist/config/formats/format_yml.js +7 -10
  21. package/dist/config/formats/format_yml.js.map +1 -1
  22. package/dist/config/index.js +46 -68
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/config/reader.js +16 -27
  25. package/dist/config/reader.js.map +1 -1
  26. package/dist/config/validator.js +23 -25
  27. package/dist/config/validator.js.map +1 -1
  28. package/dist/config/writer.js +11 -21
  29. package/dist/config/writer.js.map +1 -1
  30. package/dist/index.js +18 -64
  31. package/dist/index.js.map +1 -1
  32. package/dist/info/default_commands.json.js +39 -0
  33. package/dist/info/default_commands.json.js.map +1 -0
  34. package/dist/logger.js +61 -60
  35. package/dist/logger.js.map +1 -1
  36. package/dist/main.js +424 -471
  37. package/dist/main.js.map +1 -1
  38. package/dist/omegga/auth.js +101 -148
  39. package/dist/omegga/auth.js.map +1 -1
  40. package/dist/omegga/commandInjector.js +261 -251
  41. package/dist/omegga/commandInjector.js.map +1 -1
  42. package/dist/omegga/index.js +14 -52
  43. package/dist/omegga/index.js.map +1 -1
  44. package/dist/omegga/logWrangler.js +224 -275
  45. package/dist/omegga/logWrangler.js.map +1 -1
  46. package/dist/omegga/matchers/auth.js +36 -50
  47. package/dist/omegga/matchers/auth.js.map +1 -1
  48. package/dist/omegga/matchers/chat.js +49 -71
  49. package/dist/omegga/matchers/chat.js.map +1 -1
  50. package/dist/omegga/matchers/command.js +25 -36
  51. package/dist/omegga/matchers/command.js.map +1 -1
  52. package/dist/omegga/matchers/exit.js +15 -18
  53. package/dist/omegga/matchers/exit.js.map +1 -1
  54. package/dist/omegga/matchers/index.js +26 -40
  55. package/dist/omegga/matchers/index.js.map +1 -1
  56. package/dist/omegga/matchers/init.js +20 -23
  57. package/dist/omegga/matchers/init.js.map +1 -1
  58. package/dist/omegga/matchers/interact.js +58 -64
  59. package/dist/omegga/matchers/interact.js.map +1 -1
  60. package/dist/omegga/matchers/join.js +74 -95
  61. package/dist/omegga/matchers/join.js.map +1 -1
  62. package/dist/omegga/matchers/leave.js +43 -56
  63. package/dist/omegga/matchers/leave.js.map +1 -1
  64. package/dist/omegga/matchers/mapChange.js +26 -35
  65. package/dist/omegga/matchers/mapChange.js.map +1 -1
  66. package/dist/omegga/matchers/minigameJoin.js +24 -31
  67. package/dist/omegga/matchers/minigameJoin.js.map +1 -1
  68. package/dist/omegga/matchers/version.js +42 -49
  69. package/dist/omegga/matchers/version.js.map +1 -1
  70. package/dist/omegga/player.js +527 -527
  71. package/dist/omegga/player.js.map +1 -1
  72. package/dist/omegga/plugin/interface.js +91 -98
  73. package/dist/omegga/plugin/interface.js.map +1 -1
  74. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +524 -429
  75. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
  76. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +282 -294
  77. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -1
  78. package/dist/omegga/plugin/plugin_node_safe.js +365 -393
  79. package/dist/omegga/plugin/plugin_node_safe.js.map +1 -1
  80. package/dist/omegga/plugin/plugin_node_unsafe.js +119 -179
  81. package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -1
  82. package/dist/omegga/plugin.js +402 -347
  83. package/dist/omegga/plugin.js.map +1 -1
  84. package/dist/omegga/server.js +742 -774
  85. package/dist/omegga/server.js.map +1 -1
  86. package/dist/omegga/wrapper.js +64 -91
  87. package/dist/omegga/wrapper.js.map +1 -1
  88. package/dist/plugin.js +11 -31
  89. package/dist/plugin.js.map +1 -1
  90. package/dist/softconfig.js +121 -100
  91. package/dist/softconfig.js.map +1 -1
  92. package/dist/updater/steam.js +97 -112
  93. package/dist/updater/steam.js.map +1 -1
  94. package/dist/util/brdb.js +496 -528
  95. package/dist/util/brdb.js.map +1 -1
  96. package/dist/util/brick/checkBounds.js +11 -15
  97. package/dist/util/brick/checkBounds.js.map +1 -1
  98. package/dist/util/brick/constants.js +723 -174
  99. package/dist/util/brick/constants.js.map +1 -1
  100. package/dist/util/brick/displayName.js +204 -211
  101. package/dist/util/brick/displayName.js.map +1 -1
  102. package/dist/util/brick/getBounds.js +29 -41
  103. package/dist/util/brick/getBounds.js.map +1 -1
  104. package/dist/util/brick/getBrickSize.js +6 -7
  105. package/dist/util/brick/getBrickSize.js.map +1 -1
  106. package/dist/util/brick/getScaleAxis.js +24 -30
  107. package/dist/util/brick/getScaleAxis.js.map +1 -1
  108. package/dist/util/brick/index.js +8 -29
  109. package/dist/util/brick/index.js.map +1 -1
  110. package/dist/util/brick/rotate.js +29 -34
  111. package/dist/util/brick/rotate.js.map +1 -1
  112. package/dist/util/brick/setOwnership.js +13 -19
  113. package/dist/util/brick/setOwnership.js.map +1 -1
  114. package/dist/util/chat.js +53 -44
  115. package/dist/util/chat.js.map +1 -1
  116. package/dist/util/color.js +112 -124
  117. package/dist/util/color.js.map +1 -1
  118. package/dist/util/file.js +54 -98
  119. package/dist/util/file.js.map +1 -1
  120. package/dist/util/index.js +84 -106
  121. package/dist/util/index.js.map +1 -1
  122. package/dist/util/map.js +18 -20
  123. package/dist/util/map.js.map +1 -1
  124. package/dist/util/pattern.js +6 -9
  125. package/dist/util/pattern.js.map +1 -1
  126. package/dist/util/time.js +31 -34
  127. package/dist/util/time.js.map +1 -1
  128. package/dist/util/uuid.js +10 -8
  129. package/dist/util/uuid.js.map +1 -1
  130. package/dist/util/wsl.js +19 -25
  131. package/dist/util/wsl.js.map +1 -1
  132. package/dist/version.js +7 -9
  133. package/dist/version.js.map +1 -1
  134. package/dist/webserver/backend/api.js +784 -874
  135. package/dist/webserver/backend/api.js.map +1 -1
  136. package/dist/webserver/backend/calendar.js +14 -17
  137. package/dist/webserver/backend/calendar.js.map +1 -1
  138. package/dist/webserver/backend/database.js +563 -613
  139. package/dist/webserver/backend/database.js.map +1 -1
  140. package/dist/webserver/backend/index.js +153 -191
  141. package/dist/webserver/backend/index.js.map +1 -1
  142. package/dist/webserver/backend/metrics.js +219 -248
  143. package/dist/webserver/backend/metrics.js.map +1 -1
  144. package/dist/webserver/backend/util.js +47 -68
  145. package/dist/webserver/backend/util.js.map +1 -1
  146. package/dist/worker.js +322 -0
  147. package/dist/worker.js.map +1 -0
  148. package/package.json +14 -10
  149. package/templates/safe-ts/omegga.d.ts +1 -1
  150. package/vite.backend.config.mts +46 -0
  151. package/vite.frontend.config.mts +58 -0
  152. package/vitest.backend.config.mts +7 -0
  153. package/dist/brickadia/config.d.ts +0 -3
  154. package/dist/brickadia/presets.d.ts +0 -65
  155. package/dist/brickadia/presets.js +0 -3
  156. package/dist/brickadia/presets.js.map +0 -1
  157. package/dist/brickadia/server.d.ts +0 -36
  158. package/dist/brickadia/types.d.ts +0 -45
  159. package/dist/brickadia/types.js +0 -3
  160. package/dist/brickadia/types.js.map +0 -1
  161. package/dist/cli/auth.d.ts +0 -26
  162. package/dist/cli/config.d.ts +0 -10
  163. package/dist/cli/index.d.ts +0 -30
  164. package/dist/cli/installer.d.ts +0 -1
  165. package/dist/cli/plugin.d.ts +0 -22
  166. package/dist/cli/terminal.d.ts +0 -25
  167. package/dist/config/authorizer.d.ts +0 -2
  168. package/dist/config/authorizer.js +0 -38
  169. package/dist/config/authorizer.js.map +0 -1
  170. package/dist/config/formats/format_js.d.ts +0 -3
  171. package/dist/config/formats/format_yml.d.ts +0 -3
  172. package/dist/config/index.d.ts +0 -18
  173. package/dist/config/reader.d.ts +0 -3
  174. package/dist/config/types.d.ts +0 -50
  175. package/dist/config/types.js +0 -3
  176. package/dist/config/types.js.map +0 -1
  177. package/dist/config/validator.d.ts +0 -6
  178. package/dist/config/writer.d.ts +0 -3
  179. package/dist/index.d.ts +0 -22
  180. package/dist/info/default_commands.json +0 -29
  181. package/dist/logger.d.ts +0 -41
  182. package/dist/main.d.ts +0 -1
  183. package/dist/omegga/auth.d.ts +0 -9
  184. package/dist/omegga/commandInjector.d.ts +0 -35
  185. package/dist/omegga/index.d.ts +0 -7
  186. package/dist/omegga/logWrangler.d.ts +0 -32
  187. package/dist/omegga/matchers/auth.d.ts +0 -10
  188. package/dist/omegga/matchers/chat.d.ts +0 -10
  189. package/dist/omegga/matchers/command.d.ts +0 -7
  190. package/dist/omegga/matchers/exit.d.ts +0 -3
  191. package/dist/omegga/matchers/index.d.ts +0 -3
  192. package/dist/omegga/matchers/init.d.ts +0 -3
  193. package/dist/omegga/matchers/interact.d.ts +0 -4
  194. package/dist/omegga/matchers/join.d.ts +0 -4
  195. package/dist/omegga/matchers/leave.d.ts +0 -4
  196. package/dist/omegga/matchers/mapChange.d.ts +0 -3
  197. package/dist/omegga/matchers/minigameJoin.d.ts +0 -9
  198. package/dist/omegga/matchers/types.d.ts +0 -5
  199. package/dist/omegga/matchers/types.js +0 -3
  200. package/dist/omegga/matchers/types.js.map +0 -1
  201. package/dist/omegga/matchers/version.d.ts +0 -3
  202. package/dist/omegga/player.d.ts +0 -81
  203. package/dist/omegga/plugin/interface.d.ts +0 -30
  204. package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +0 -23
  205. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +0 -145
  206. package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +0 -1
  207. package/dist/omegga/plugin/plugin_node_safe/worker.js +0 -367
  208. package/dist/omegga/plugin/plugin_node_safe/worker.js.map +0 -1
  209. package/dist/omegga/plugin/plugin_node_safe.d.ts +0 -23
  210. package/dist/omegga/plugin/plugin_node_unsafe.d.ts +0 -13
  211. package/dist/omegga/plugin.d.ts +0 -63
  212. package/dist/omegga/server.d.ts +0 -166
  213. package/dist/omegga/types.d.ts +0 -49
  214. package/dist/omegga/types.js +0 -3
  215. package/dist/omegga/types.js.map +0 -1
  216. package/dist/omegga/wrapper.d.ts +0 -32
  217. package/dist/plugin.d.ts +0 -916
  218. package/dist/softconfig.d.ts +0 -67
  219. package/dist/tsconfig.tsbuildinfo +0 -1
  220. package/dist/updater/index.d.ts +0 -1
  221. package/dist/updater/index.js +0 -10
  222. package/dist/updater/index.js.map +0 -1
  223. package/dist/updater/steam.d.ts +0 -52
  224. package/dist/util/brdb.d.ts +0 -31
  225. package/dist/util/brick/checkBounds.d.ts +0 -8
  226. package/dist/util/brick/constants.d.ts +0 -18
  227. package/dist/util/brick/displayName.d.ts +0 -7
  228. package/dist/util/brick/getBounds.d.ts +0 -5
  229. package/dist/util/brick/getBrickSize.d.ts +0 -3
  230. package/dist/util/brick/getScaleAxis.d.ts +0 -3
  231. package/dist/util/brick/index.d.ts +0 -14
  232. package/dist/util/brick/rotate.d.ts +0 -16
  233. package/dist/util/brick/setOwnership.d.ts +0 -12
  234. package/dist/util/chat.d.ts +0 -23
  235. package/dist/util/color.d.ts +0 -13
  236. package/dist/util/file.d.ts +0 -5
  237. package/dist/util/index.d.ts +0 -183
  238. package/dist/util/map.d.ts +0 -6
  239. package/dist/util/pattern.d.ts +0 -1
  240. package/dist/util/time.d.ts +0 -39
  241. package/dist/util/uuid.d.ts +0 -3
  242. package/dist/util/wsl.d.ts +0 -2
  243. package/dist/version.d.ts +0 -2
  244. package/dist/webserver/backend/api.d.ts +0 -115
  245. package/dist/webserver/backend/calendar.d.ts +0 -5
  246. package/dist/webserver/backend/database.d.ts +0 -150
  247. package/dist/webserver/backend/index.d.ts +0 -30
  248. package/dist/webserver/backend/metrics.d.ts +0 -3
  249. package/dist/webserver/backend/types.d.ts +0 -114
  250. package/dist/webserver/backend/types.js +0 -3
  251. package/dist/webserver/backend/types.js.map +0 -1
  252. package/dist/webserver/backend/util.d.ts +0 -2
  253. package/dist/webserver/index.d.ts +0 -2
  254. package/dist/webserver/index.js +0 -9
  255. package/dist/webserver/index.js.map +0 -1
@@ -1,35 +1,28 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // LogBrickadia: Ruleset My Minigame no saved checkpoint for player BrickadiaPlayer (00000000-0000-0000-0000-000000000000)
4
- // LogBrickadia: Ruleset My Minigame loading saved checkpoint for player BrickadiaPlayer (00000000-0000-0000-0000-000000000000)
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
5
3
  const minigameJoinRegExp = /^Ruleset (?<minigame>.+?) (loading|no) saved checkpoint for player (?<name>.+) \((?<id>.+)\)$/;
6
- const minigameJoin = omegga => {
7
- return {
8
- // listen for commands messages
9
- pattern(_line, logMatch) {
10
- // line is not generic console log
11
- if (!logMatch)
12
- return;
13
- const { generator, data } = logMatch.groups;
14
- // check if log is a world log
15
- if (generator !== 'LogBrickadia')
16
- return;
17
- // match the log to the map change finish pattern
18
- const matchChange = data.match(minigameJoinRegExp);
19
- if (matchChange) {
20
- const { minigame, name, id } = matchChange.groups;
21
- return {
22
- player: { name, id },
23
- minigameName: minigame === 'GLOBAL' ? null : minigame,
24
- };
25
- }
26
- return null;
27
- },
28
- // when there's a match, emit the event
29
- callback(result) {
30
- omegga.emit('minigamejoin', result);
31
- },
32
- };
4
+ const minigameJoin = (omegga) => {
5
+ return {
6
+ // listen for commands messages
7
+ pattern(_line, logMatch) {
8
+ if (!logMatch) return;
9
+ const { generator, data } = logMatch.groups;
10
+ if (generator !== "LogBrickadia") return;
11
+ const matchChange = data.match(minigameJoinRegExp);
12
+ if (matchChange) {
13
+ const { minigame, name, id } = matchChange.groups;
14
+ return {
15
+ player: { name, id },
16
+ minigameName: minigame === "GLOBAL" ? null : minigame
17
+ };
18
+ }
19
+ return null;
20
+ },
21
+ // when there's a match, emit the event
22
+ callback(result) {
23
+ omegga.emit("minigamejoin", result);
24
+ }
25
+ };
33
26
  };
34
27
  exports.default = minigameJoin;
35
- //# sourceMappingURL=minigameJoin.js.map
28
+ //# sourceMappingURL=minigameJoin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minigameJoin.js","sourceRoot":"","sources":["../../../src/omegga/matchers/minigameJoin.ts"],"names":[],"mappings":";;AAEA,0HAA0H;AAC1H,+HAA+H;AAC/H,MAAM,kBAAkB,GACtB,+FAA+F,CAAC;AAElG,MAAM,YAAY,GAGb,MAAM,CAAC,EAAE;IACZ,OAAO;QACL,+BAA+B;QAC/B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5C,8BAA8B;YAC9B,IAAI,SAAS,KAAK,cAAc;gBAAE,OAAO;YAEzC,iDAAiD;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;gBAElD,OAAO;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;oBACpB,YAAY,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;iBACtD,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,uCAAuC;QACvC,QAAQ,CAAC,MAAM;YACb,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"minigameJoin.js","sources":["../../../src/omegga/matchers/minigameJoin.ts"],"sourcesContent":["import { MatchGenerator } from './types';\n\n// LogBrickadia: Ruleset My Minigame no saved checkpoint for player BrickadiaPlayer (00000000-0000-0000-0000-000000000000)\n// LogBrickadia: Ruleset My Minigame loading saved checkpoint for player BrickadiaPlayer (00000000-0000-0000-0000-000000000000)\nconst minigameJoinRegExp =\n /^Ruleset (?<minigame>.+?) (loading|no) saved checkpoint for player (?<name>.+) \\((?<id>.+)\\)$/;\n\nconst minigameJoin: MatchGenerator<{\n player: { name: string; id: string };\n minigameName: string;\n}> = omegga => {\n return {\n // listen for commands messages\n pattern(_line, logMatch) {\n // line is not generic console log\n if (!logMatch) return;\n\n const { generator, data } = logMatch.groups;\n // check if log is a world log\n if (generator !== 'LogBrickadia') return;\n\n // match the log to the map change finish pattern\n const matchChange = data.match(minigameJoinRegExp);\n if (matchChange) {\n const { minigame, name, id } = matchChange.groups;\n\n return {\n player: { name, id },\n minigameName: minigame === 'GLOBAL' ? null : minigame,\n };\n }\n\n return null;\n },\n // when there's a match, emit the event\n callback(result) {\n omegga.emit('minigamejoin', result);\n },\n };\n};\n\nexport default minigameJoin;\n"],"names":[],"mappings":";;AAIA,MAAM,qBACJ;AAEF,MAAM,eAGD,CAAA,WAAU;AACb,SAAO;AAAA;AAAA,IAEL,QAAQ,OAAO,UAAU;AAEvB,UAAI,CAAC,SAAU;AAEf,YAAM,EAAE,WAAW,KAAA,IAAS,SAAS;AAErC,UAAI,cAAc,eAAgB;AAGlC,YAAM,cAAc,KAAK,MAAM,kBAAkB;AACjD,UAAI,aAAa;AACf,cAAM,EAAE,UAAU,MAAM,GAAA,IAAO,YAAY;AAE3C,eAAO;AAAA,UACL,QAAQ,EAAE,MAAM,GAAA;AAAA,UAChB,cAAc,aAAa,WAAW,OAAO;AAAA,QAAA;AAAA,MAEjD;AAEA,aAAO;AAAA,IACT;AAAA;AAAA,IAEA,SAAS,QAAQ;AACf,aAAO,KAAK,gBAAgB,MAAM;AAAA,IACpC;AAAA,EAAA;AAEJ;;"}
@@ -1,53 +1,46 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const logger_1 = __importDefault(require("../../logger"));
7
- const path_1 = __importDefault(require("path"));
8
- const fs_1 = require("fs");
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const logger = require("../../logger.js");
4
+ const path = require("path");
5
+ const fs = require("node:fs");
9
6
  const versionRegExp = /Brickadia (?<branchName>.+?) \(.+-CL(?<version>\d+)\), Engine (?<engineVersion>.+)/;
10
- const version = omegga => {
11
- const LOG_PATH = path_1.default.join(omegga.dataPath, 'Saved/Logs/Brickadia.log');
12
- return {
13
- pattern(line, _logMatch) {
14
- if (!line.startsWith('LogPakFile'))
15
- return;
16
- if (line !== 'LogPakFile: Initializing PakPlatformFile')
17
- return;
18
- // The version line
19
- // Brickadia Release-EA1 (PC-Shipping-CL11633), Engine 444a09f18f48
20
- // is not printed in the game logs.. only the log file...
21
- if (!(0, fs_1.existsSync)(LOG_PATH)) {
22
- logger_1.default.warnp('Log file not found', LOG_PATH.yellow + '. Cannot check version.');
23
- return;
24
- }
25
- // Read the first 100 characters of the log file to find the version
26
- const stream = (0, fs_1.createReadStream)(LOG_PATH, {
27
- encoding: 'utf8',
28
- start: 0,
29
- end: 100,
30
- });
31
- (async () => {
32
- var _a;
33
- let data = '';
34
- for await (const chunk of stream) {
35
- data += chunk;
36
- }
37
- for (const line of data.split('\n')) {
38
- const match = line.match(versionRegExp);
39
- if (!match)
40
- continue;
41
- const version = Number((_a = match.groups) === null || _a === void 0 ? void 0 : _a.version);
42
- omegga.emit('version', version);
43
- logger_1.default.verbose('Brickadia Version', version);
44
- omegga.version = version;
45
- }
46
- })();
47
- return 1;
48
- },
49
- callback(_version) { },
50
- };
7
+ const version = (omegga) => {
8
+ const LOG_PATH = path.join(omegga.dataPath, "Saved/Logs/Brickadia.log");
9
+ return {
10
+ pattern(line, _logMatch) {
11
+ if (!line.startsWith("LogPakFile")) return;
12
+ if (line !== "LogPakFile: Initializing PakPlatformFile") return;
13
+ if (!fs.existsSync(LOG_PATH)) {
14
+ logger.default.warnp(
15
+ "Log file not found",
16
+ LOG_PATH.yellow + ". Cannot check version."
17
+ );
18
+ return;
19
+ }
20
+ const stream = fs.createReadStream(LOG_PATH, {
21
+ encoding: "utf8",
22
+ start: 0,
23
+ end: 100
24
+ });
25
+ (async () => {
26
+ let data = "";
27
+ for await (const chunk of stream) {
28
+ data += chunk;
29
+ }
30
+ for (const line2 of data.split("\n")) {
31
+ const match = line2.match(versionRegExp);
32
+ if (!match) continue;
33
+ const version2 = Number(match.groups?.version);
34
+ omegga.emit("version", version2);
35
+ logger.default.verbose("Brickadia Version", version2);
36
+ omegga.version = version2;
37
+ }
38
+ })();
39
+ return 1;
40
+ },
41
+ callback(_version) {
42
+ }
43
+ };
51
44
  };
52
45
  exports.default = version;
53
- //# sourceMappingURL=version.js.map
46
+ //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/omegga/matchers/version.ts"],"names":[],"mappings":";;;;;AAAA,0DAA8B;AAE9B,gDAAwB;AACxB,2BAAkD;AAElD,MAAM,aAAa,GACjB,oFAAoF,CAAC;AAEvF,MAAM,OAAO,GAA2B,MAAM,CAAC,EAAE;IAC/C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAExE,OAAO;QACL,OAAO,CAAC,IAAI,EAAE,SAAS;YACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO;YAC3C,IAAI,IAAI,KAAK,0CAA0C;gBAAE,OAAO;YAEhE,mBAAmB;YACnB,mEAAmE;YACnE,yDAAyD;YAEzD,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,gBAAM,CAAC,KAAK,CACV,oBAAoB,EACpB,QAAQ,CAAC,MAAM,GAAG,yBAAyB,CAC5C,CAAC;gBACF,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,MAAM,MAAM,GAAG,IAAA,qBAAgB,EAAC,QAAQ,EAAE;gBACxC,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC;gBACR,GAAG,EAAE,GAAG;aACT,CAAC,CAAC;YAEH,CAAC,KAAK,IAAI,EAAE;;gBACV,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBAErB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC;oBAE9C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAChC,gBAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;oBAC7C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO,CAAC,CAAC;QACX,CAAC;QACD,QAAQ,CAAC,QAAQ,IAAG,CAAC;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sources":["../../../src/omegga/matchers/version.ts"],"sourcesContent":["import Logger from '@/logger';\nimport { MatchGenerator } from './types';\nimport path from 'path';\nimport { createReadStream, existsSync } from 'node:fs';\n\nconst versionRegExp =\n /Brickadia (?<branchName>.+?) \\(.+-CL(?<version>\\d+)\\), Engine (?<engineVersion>.+)/;\n\nconst version: MatchGenerator<number> = omegga => {\n const LOG_PATH = path.join(omegga.dataPath, 'Saved/Logs/Brickadia.log');\n\n return {\n pattern(line, _logMatch) {\n if (!line.startsWith('LogPakFile')) return;\n if (line !== 'LogPakFile: Initializing PakPlatformFile') return;\n\n // The version line\n // Brickadia Release-EA1 (PC-Shipping-CL11633), Engine 444a09f18f48\n // is not printed in the game logs.. only the log file...\n\n if (!existsSync(LOG_PATH)) {\n Logger.warnp(\n 'Log file not found',\n LOG_PATH.yellow + '. Cannot check version.',\n );\n return;\n }\n\n // Read the first 100 characters of the log file to find the version\n const stream = createReadStream(LOG_PATH, {\n encoding: 'utf8',\n start: 0,\n end: 100,\n });\n\n (async () => {\n let data = '';\n for await (const chunk of stream) {\n data += chunk;\n }\n\n for (const line of data.split('\\n')) {\n const match = line.match(versionRegExp);\n if (!match) continue;\n\n const version = Number(match.groups?.version);\n\n omegga.emit('version', version);\n Logger.verbose('Brickadia Version', version);\n omegga.version = version;\n }\n })();\n\n return 1;\n },\n callback(_version) {},\n };\n};\n\nexport default version;\n"],"names":["existsSync","Logger","createReadStream","line","version"],"mappings":";;;;;AAKA,MAAM,gBACJ;AAEF,MAAM,UAAkC,CAAA,WAAU;AAChD,QAAM,WAAW,KAAK,KAAK,OAAO,UAAU,0BAA0B;AAEtE,SAAO;AAAA,IACL,QAAQ,MAAM,WAAW;AACvB,UAAI,CAAC,KAAK,WAAW,YAAY,EAAG;AACpC,UAAI,SAAS,2CAA4C;AAMzD,UAAI,CAACA,GAAAA,WAAW,QAAQ,GAAG;AACzBC,eAAAA,QAAO;AAAA,UACL;AAAA,UACA,SAAS,SAAS;AAAA,QAAA;AAEpB;AAAA,MACF;AAGA,YAAM,SAASC,GAAAA,iBAAiB,UAAU;AAAA,QACxC,UAAU;AAAA,QACV,OAAO;AAAA,QACP,KAAK;AAAA,MAAA,CACN;AAED,OAAC,YAAY;AACX,YAAI,OAAO;AACX,yBAAiB,SAAS,QAAQ;AAChC,kBAAQ;AAAA,QACV;AAEA,mBAAWC,SAAQ,KAAK,MAAM,IAAI,GAAG;AACnC,gBAAM,QAAQA,MAAK,MAAM,aAAa;AACtC,cAAI,CAAC,MAAO;AAEZ,gBAAMC,WAAU,OAAO,MAAM,QAAQ,OAAO;AAE5C,iBAAO,KAAK,WAAWA,QAAO;AAC9BH,yBAAO,QAAQ,qBAAqBG,QAAO;AAC3C,iBAAO,UAAUA;AAAAA,QACnB;AAAA,MACF,GAAA;AAEA,aAAO;AAAA,IACT;AAAA,IACA,SAAS,UAAU;AAAA,IAAC;AAAA,EAAA;AAExB;;"}