omegga 1.2.8 → 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 +2 -2
  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
package/README.md CHANGED
@@ -514,13 +514,32 @@ This is an example `plugin.json`, located inside a plugin folder. The plugin fil
514
514
  {
515
515
  "formatVersion": 1,
516
516
  "omeggaVersion": ">=0.1.32",
517
- "emitConfig": "config.json"
517
+ "emitConfig": "config.json",
518
+ "dependencies": {
519
+ "otherPlugin": "https://github.com/owner/repo",
520
+ "requiredPlugin": { "optional": false },
521
+ "optionalPlugin": { "optional": true, "repo": "https://github.com/owner/repo" }
522
+ },
523
+ "loadPriority": 0,
524
+ "loadBefore": ["pluginToLoadAfterThis"],
525
+ "loadAfter": ["pluginToLoadBeforeThis"]
518
526
  }
519
527
  ```
520
528
 
521
529
  - `formatVersion` - indicates the plugin file format version
522
530
  - `omeggaVersion` - indicates compatible omegga versions ([semver cheatsheet](https://www.npmjs.com/package/semver#user-content-ranges))
523
531
  - `emitConfig` - optional, a path to a json file where plugin config will be saved to before the plugin starts.
532
+ - `dependencies` - optional, declares dependencies on other plugins
533
+ - Can be a string specifying the GitHub repository URL (e.g., `"otherPlugin": "https://github.com/owner/repo"`)
534
+ - Can be an object with optional properties:
535
+ - `optional` - if `true`, the plugin will load even if this dependency is missing
536
+ - `repo` - GitHub repository URL where the dependency can be found (e.g., `"https://github.com/owner/repo"`)
537
+ - Dependencies are automatically loaded before the dependent plugin
538
+ - `loadPriority` - optional, numeric priority for load order (lower/negative numbers load earlier, higher/positive numbers load later, undefined loads in the middle)
539
+ - `loadBefore` - optional, array of plugin names that should load after this plugin
540
+ - `loadAfter` - optional, array of plugin names that should load before this plugin
541
+
542
+ **Note:** Omegga will automatically resolve the correct load order based on dependencies, `loadPriority`, `loadBefore`, and `loadAfter` constraints. If there's a cyclic dependency or conflicting constraints, plugins may fail to load.
524
543
 
525
544
  ## Plugin Store
526
545
 
@@ -1,96 +1,32 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.write = write;
40
- exports.read = read;
41
- const fs_1 = __importDefault(require("fs"));
42
- const path_1 = __importDefault(require("path"));
43
- const file = __importStar(require("../util/file"));
44
- const softconfig_1 = require("../softconfig");
45
- const CONFIG_PATH = 'Config/LinuxServer';
46
- const SERVER_SETTINGS = 'GameUserSettings.ini';
47
- // Function that writes config
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("node:fs");
4
+ const path = require("node:path");
5
+ const file = require("../util/file.js");
6
+ const softconfig = require("../softconfig.js");
7
+ const CONFIG_PATH = "Config/LinuxServer";
8
+ const SERVER_SETTINGS = "GameUserSettings.ini";
48
9
  function write(serverPath, config) {
49
- var _a, _b, _c;
50
- const configPath = path_1.default.join(serverPath, (_a = config.server.savedDir) !== null && _a !== void 0 ? _a : softconfig_1.CONFIG_SAVED_DIR, CONFIG_PATH);
51
- const settingsPath = path_1.default.join(configPath, SERVER_SETTINGS);
52
- file.mkdir(configPath);
53
- fs_1.default.writeFileSync(settingsPath, `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
54
- ServerName=${config.server.name || ''}
55
- ServerDescription=${config.server.description || ''}
56
- ServerPassword=${config.server.password || ''}
10
+ const configPath = path.join(
11
+ serverPath,
12
+ config.server.savedDir ?? softconfig.CONFIG_SAVED_DIR,
13
+ CONFIG_PATH
14
+ );
15
+ const settingsPath = path.join(configPath, SERVER_SETTINGS);
16
+ file.mkdir(configPath);
17
+ fs.writeFileSync(
18
+ settingsPath,
19
+ `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
20
+ ServerName=${config.server.name || ""}
21
+ ServerDescription=${config.server.description || ""}
22
+ ServerPassword=${config.server.password || ""}
57
23
  MaxPlayers=${config.server.players || 20}
58
- bPubliclyListed=${((_b = config.server.publiclyListed) !== null && _b !== void 0 ? _b : true) ? 'True' : 'False'}
59
- WelcomeMessage="${((_c = config.server.welcomeMessage) === null || _c === void 0 ? void 0 : _c.replace(/"/g, '\"').replace(/\\/g, '\\\\')) || ''}"`);
60
- /*
61
- [Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
62
- ServerTypeIndex2=1
63
- ServerName=
64
- ServerDescription=
65
- ServerPassword=
66
- MaxPlayers=30
67
- bPubliclyListed=True
68
- WelcomeMessage="<color=\"0055ff\">Welcome to <b>{2}</>, {1}.</><>a"
69
- bGlobalRulesetSelfDamage=True
70
- bGlobalRulesetPhysicsDamage=False
71
- bGlobalRulesetEnableCameraBlockedEffects=False
72
- UploadTimeout=5.000000
73
- MaxPrefabBricks=1000
74
- MaxPrefabComponents=20
75
- MaxPrefabSize=(X=1000,Y=1000,Z=1000)
76
- MaxPhysicsObjects=2000
77
- MaxPhysicsObjectsPerUser=50
78
- MaxPlacementBricks=2000
79
- MaxPlacementEntities=10
80
- bEnforceApplicatorLimits=False
81
- TemplatePlacementTimeout=2.000000
82
- MaxSelectionBoxSize=(X=1000,Y=1000,Z=1000)
83
- MaxSelectedBricks=1000
84
- SelectionTimeout=2.000000
85
-
86
- [Server__BP_ServerSettingsAutoSave_C BP_ServerSettingsAutoSave_C]
87
- bEnableAutoSave=True
88
- bAnnounceAutoSave=True
89
- AutoSaveInterval=300.000000
90
- bIncludeScreenshot=False
91
- */
24
+ bPubliclyListed=${config.server.publiclyListed ?? true ? "True" : "False"}
25
+ WelcomeMessage="${config.server.welcomeMessage?.replace(/"/g, '"').replace(/\\/g, "\\\\") || ""}"`
26
+ );
92
27
  }
93
28
  function read() {
94
- // TODO: Implement server config reading
95
29
  }
96
- //# sourceMappingURL=config.js.map
30
+ exports.read = read;
31
+ exports.write = write;
32
+ //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/brickadia/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sBAqDC;AAED,oBAEC;AAnED,4CAAoB;AACpB,gDAAwB;AAExB,mDAAqC;AAErC,8CAAgD;AAChD,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,8BAA8B;AAC9B,SAAgB,KAAK,CAAC,UAAkB,EAAE,MAAe;;IACvD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,UAAU,EACV,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,mCAAI,6BAAgB,EAC1C,WAAW,CACZ,CAAC;IACF,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEvB,YAAE,CAAC,aAAa,CACd,YAAY,EACZ;aACS,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;oBACjB,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;iBAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;aAChC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;kBACtB,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,cAAc,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;kBACzD,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,cAAc,0CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAI,EAAE,GAAG,CAChG,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BE;AACJ,CAAC;AAED,SAAgB,IAAI;IAClB,wCAAwC;AAC1C,CAAC"}
1
+ {"version":3,"file":"config.js","sources":["../../src/brickadia/config.ts"],"sourcesContent":["import { IConfig } from '@config/types';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport * as file from '../util/file';\n\nimport { CONFIG_SAVED_DIR } from '@/softconfig';\nconst CONFIG_PATH = 'Config/LinuxServer';\nconst SERVER_SETTINGS = 'GameUserSettings.ini';\n\n// Function that writes config\nexport function write(serverPath: string, config: IConfig) {\n const configPath = path.join(\n serverPath,\n config.server.savedDir ?? CONFIG_SAVED_DIR,\n CONFIG_PATH,\n );\n const settingsPath = path.join(configPath, SERVER_SETTINGS);\n\n file.mkdir(configPath);\n\n fs.writeFileSync(\n settingsPath,\n `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]\nServerName=${config.server.name || ''}\nServerDescription=${config.server.description || ''}\nServerPassword=${config.server.password || ''}\nMaxPlayers=${config.server.players || 20}\nbPubliclyListed=${(config.server.publiclyListed ?? true) ? 'True' : 'False'}\nWelcomeMessage=\"${config.server.welcomeMessage?.replace(/\"/g, '\\\"').replace(/\\\\/g, '\\\\\\\\') || ''}\"`,\n );\n\n /*\n[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]\nServerTypeIndex2=1\nServerName=\nServerDescription=\nServerPassword=\nMaxPlayers=30\nbPubliclyListed=True\nWelcomeMessage=\"<color=\\\"0055ff\\\">Welcome to <b>{2}</>, {1}.</><>a\"\nbGlobalRulesetSelfDamage=True\nbGlobalRulesetPhysicsDamage=False\nbGlobalRulesetEnableCameraBlockedEffects=False\nUploadTimeout=5.000000\nMaxPrefabBricks=1000\nMaxPrefabComponents=20\nMaxPrefabSize=(X=1000,Y=1000,Z=1000)\nMaxPhysicsObjects=2000\nMaxPhysicsObjectsPerUser=50\nMaxPlacementBricks=2000\nMaxPlacementEntities=10\nbEnforceApplicatorLimits=False\nTemplatePlacementTimeout=2.000000\nMaxSelectionBoxSize=(X=1000,Y=1000,Z=1000)\nMaxSelectedBricks=1000\nSelectionTimeout=2.000000\n\n[Server__BP_ServerSettingsAutoSave_C BP_ServerSettingsAutoSave_C]\nbEnableAutoSave=True\nbAnnounceAutoSave=True\nAutoSaveInterval=300.000000\nbIncludeScreenshot=False\n */\n}\n\nexport function read() {\n // TODO: Implement server config reading\n}\n"],"names":["CONFIG_SAVED_DIR","file.mkdir"],"mappings":";;;;;;AAOA,MAAM,cAAc;AACpB,MAAM,kBAAkB;AAGjB,SAAS,MAAM,YAAoB,QAAiB;AACzD,QAAM,aAAa,KAAK;AAAA,IACtB;AAAA,IACA,OAAO,OAAO,YAAYA,WAAAA;AAAAA,IAC1B;AAAA,EAAA;AAEF,QAAM,eAAe,KAAK,KAAK,YAAY,eAAe;AAE1DC,OAAAA,MAAW,UAAU;AAErB,KAAG;AAAA,IACD;AAAA,IACA;AAAA,aACS,OAAO,OAAO,QAAQ,EAAE;AAAA,oBACjB,OAAO,OAAO,eAAe,EAAE;AAAA,iBAClC,OAAO,OAAO,YAAY,EAAE;AAAA,aAChC,OAAO,OAAO,WAAW,EAAE;AAAA,kBACrB,OAAO,OAAO,kBAAkB,OAAQ,SAAS,OAAO;AAAA,kBACzD,OAAO,OAAO,gBAAgB,QAAQ,MAAM,GAAI,EAAE,QAAQ,OAAO,MAAM,KAAK,EAAE;AAAA,EAAA;AAmChG;AAEO,SAAS,OAAO;AAEvB;;;"}