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
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../src/main.ts"],"sourcesContent":["import soft, { GAME_DIRNAME, OVERRIDE_GAME_DIR } from '@/softconfig';\nimport { installLauncher } from '@cli/installer';\nimport * as config from '@config';\nimport Omegga from '@omegga/server';\nimport * as file from '@util/file';\nimport 'colors';\nimport commander from 'commander';\nimport hasbin from 'hasbin';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport prompts from 'prompts';\nimport updateNotifier from 'update-notifier-cjs';\nimport { auth, config as omeggaConfig, pluginUtil, Terminal } from './cli';\nimport { IConfig } from './config/types';\nimport Logger from './logger';\nimport { GAME_BIN_PATH, GAME_INSTALL_DIR, STEAMCMD_PATH } from './softconfig';\nimport {\n hasSteamUpdate,\n steamcmdDownloadGame,\n steamcmdDownloadSelf,\n} from './updater';\nimport { PKG, VERSION } from './version';\n\nconst notifier =\n process.env.PACKAGE_NOTIFIER !== 'false'\n ? updateNotifier({\n pkg: PKG,\n updateCheckInterval: 1000 * 60 * 60 * 24,\n })\n : null;\nnotifier?.notify();\n\n// TODO: let omegga bundle config (roles, bans, server config) to zip\n// TODO: let omegga unbundle config from zip to current omegga dir\n\n// write a default config file\nconst createDefaultConfig = () => {\n Logger.logp('Created default config file');\n config.write(soft.CONFIG_FILENAMES[0] + '.yml', config.defaultConfig);\n file.mkdir(`data/${soft.CONFIG_SAVED_DIR}/Builds`);\n file.mkdir('plugins');\n return config.defaultConfig;\n};\n\nconst program = commander\n .description(PKG.description)\n .version(VERSION)\n .option(\n '-d, --debug',\n 'Print all console logs rather than just chat messages',\n )\n .option(\n '-u, --update',\n 'Check for brickadia updates (on steam) and install them if available',\n )\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .action(async () => {\n const { debug, verbose, update } = program.opts();\n if (program.args.length > 0) {\n program.help();\n process.exit(1);\n }\n Logger.VERBOSE = Boolean(verbose);\n\n // default working directory is the one specified in config\n let workDir = config.store.get('defaultOmegga');\n Logger.verbose('Using working directory', workDir?.yellow);\n\n // if there's a config in the current directory, use that one instead\n if (config.find('.')) workDir = '.';\n\n // check if configured path exists\n if (!fs.existsSync(workDir)) {\n Logger.errorp('configured omegga default path does not exist');\n process.exit(1);\n }\n if (!fs.statSync(workDir).isDirectory) {\n Logger.errorp('configured omegga default path is not a directory');\n process.exit(1);\n }\n\n // find the config for the working directory\n const configFile = config.find(workDir);\n Logger.verbose('Target config file:', configFile?.yellow);\n let conf: IConfig;\n\n // create a default config file if it does not already exist, otherwise load in the existing one\n if (!configFile) {\n Logger.verbose('Creating a new config');\n conf = createDefaultConfig();\n } else {\n Logger.verbose('Reading config file');\n try {\n conf = config.read(configFile);\n } catch (error) {\n Logger.errorp('Error reading config file');\n Logger.verbose(error);\n }\n }\n\n const overrideBinary =\n OVERRIDE_GAME_DIR &&\n path.join(\n OVERRIDE_GAME_DIR, // from BRICKADIA_DIR env\n GAME_BIN_PATH,\n );\n\n const isSteam = !conf?.server?.branch;\n if (overrideBinary) {\n if (!fs.existsSync(overrideBinary)) {\n Logger.error(\n 'Binary',\n overrideBinary.yellow,\n 'in',\n 'BRICKADIA_DIR'.yellow,\n 'does not exist!',\n );\n process.exit(1);\n }\n\n Logger.verbose(\n 'Using override binary',\n overrideBinary.yellow,\n '- skipping download.',\n );\n } else if (isSteam) {\n conf.__STEAM = true;\n await setupSteam(conf, update);\n } else {\n Logger.warnp(\n 'Brickadia will be launched with',\n 'non-steam launcher'.yellow,\n );\n\n // Check if the local launcher is installed\n if (fs.existsSync(soft.LOCAL_LAUNCHER)) {\n Logger.verbose(\"Using omegga's brickadia-launcher\");\n conf.server.__LOCAL = true;\n } else {\n Logger.verbose(\"Installing launcher as it's missing\");\n await installLauncher();\n }\n }\n\n const globalToken = auth.getGlobalToken();\n\n const hasHostingToken = Boolean(\n conf?.credentials?.token || process.env.BRICKADIA_TOKEN || globalToken,\n );\n\n // Skip auth when the hosting token is present\n if (hasHostingToken) {\n Logger.verbose(\n 'Skipping auth token generation due to host token presence',\n );\n if (conf?.credentials?.token)\n Logger.verbose('Found token in config file');\n else if (process.env.BRICKADIA_TOKEN)\n Logger.verbose('Found token in', 'BRICKADIA_TOKEN'.yellow);\n else if (globalToken)\n Logger.verbose('Found token in omegga global config');\n else Logger.verbose('unreachable - no token found');\n\n // check if the auth files don't exist\n } else if (\n !auth.exists(\n path.join(\n workDir,\n soft.DATA_PATH,\n conf?.server?.savedDir ?? soft.CONFIG_SAVED_DIR,\n conf?.server?.authDir ?? soft.CONFIG_AUTH_DIR,\n ),\n )\n ) {\n const success = await auth.prompt({\n debug,\n email: conf?.credentials?.['email'] ?? process.env.BRICKADIA_USER,\n password: conf?.credentials?.['password'] ?? process.env.BRICKADIA_PASS,\n isSteam,\n branch: conf?.server?.branch,\n authDir: conf?.server?.authDir,\n savedDir: conf?.server?.savedDir,\n launchArgs: conf?.server?.launchArgs,\n });\n if (!success) {\n Logger.errorp('Start aborted - could not generate auth tokens');\n process.exit(1);\n }\n } else {\n Logger.verbose(\n 'Skipping auth token generation due to existing auth files',\n );\n }\n\n // build options\n const options = {\n // default enable web ui (set to false)\n noweb: typeof conf.omegga?.webui === 'boolean' && !conf.omegga?.webui,\n // default enable https (set to true, will not be https if it can't generate)\n https: typeof conf.omegga?.https !== 'boolean' || conf.omegga?.https,\n port: conf.omegga?.port || soft.DEFAULT_PORT,\n debug,\n };\n\n Logger.verbose('Launching with options', options);\n\n // setup the server\n const server = new Omegga(workDir, conf, options);\n Logger.verbose('Created omegga object');\n\n if (verbose) {\n server.on(\n '*',\n (ev: string) => ev !== 'line' && Logger.verbose('EVENT'.green, ev),\n );\n }\n\n // create a terminal\n Logger.setTerminal(new Terminal(server, options));\n\n if (notifier?.update) {\n Logger.logp(\n `Omegga update is available (${('v' + notifier.update.latest).yellow})! Run`,\n 'npm i -g omegga'.yellow,\n 'to update!',\n );\n }\n\n if (\n conf.__STEAM &&\n !update &&\n !conf.server?.steambetaPassword &&\n process.env.STEAM_NOTIFIER !== 'false'\n ) {\n hasSteamUpdate(conf.server?.steambeta).then(hasUpdate => {\n if (hasUpdate) {\n Logger.logp('A server update is available!'.brightBlue);\n Logger.log(\n ' Restart with',\n 'omegga --update'.yellow,\n 'to update every start.',\n );\n Logger.log(' Run', '/update'.yellow, 'to update', 'now'.green + '!');\n } else {\n Logger.verbose('No server updates available.');\n }\n });\n }\n\n Logger.logp(\n `Launching brickadia server on port ${\n ('' + (conf.server.port || 7777)).green\n }...`,\n );\n\n // start the server\n Logger.verbose('Starting Omegga');\n server.start();\n });\n\nprogram\n .command('init')\n .description('Sets up the current directory as a brickadia server')\n .action(async () => {\n const configFile = config.find('.');\n if (configFile) {\n Logger.errorp('Config file already exists:', configFile.yellow.underline);\n process.exit(1);\n }\n createDefaultConfig();\n });\n\nprogram\n .command('config [field] [value]')\n .description(\n \"Configure Omegga's default behavior.\\n\" +\n 'Type ' +\n 'omegga config list'.yellow.underline +\n ' for current settings and available fields',\n )\n .action((field, value) => {\n if (!field) field = 'list';\n omeggaConfig(field, value, program.opts());\n });\n\nprogram\n .command('auth')\n .option('-g, --global', 'Remove global auth files')\n .option('-l, --local', 'Remove local auth files')\n .option('-w, --workdir', 'Remove configured location auth files')\n .option('-u, --email <email>', 'User email (must provide password)')\n .option('-p, --pass <password>', 'User password (must provide email)')\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description(\n 'Generates server auth tokens from brickadia account email+password',\n )\n .action(\n async ({\n email,\n pass: password,\n local: localAuth,\n workDir,\n global: globalAuth,\n }) => {\n const { verbose, debug } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n\n let branch: string, authDir: string, savedDir: string, launchArgs: string;\n let isSteam: boolean;\n\n // if there's a config in the current directory, use that one instead\n if (config.find('.')) workDir = '.';\n\n // check if configured path exists\n if (fs.existsSync(workDir) && fs.statSync(workDir).isDirectory) {\n Logger.verbose('Using working directory', workDir.yellow);\n // find the config for the working directory\n const configFile = config.find(workDir);\n Logger.verbose('Target config file:', configFile?.yellow);\n try {\n // read the config and extract the branch\n const conf = config.read(configFile);\n Logger.verbose(\n 'Auth config:',\n conf?.server ?? 'no server config'.grey,\n );\n branch = conf?.server?.branch;\n authDir = conf?.server?.authDir;\n savedDir = conf?.server?.savedDir;\n launchArgs = conf?.server?.launchArgs;\n isSteam = !conf?.server?.branch;\n\n if (localAuth && conf?.credentials?.token) {\n Logger.logp(\n \"This server's auth is managed by the token in\",\n configFile.yellow,\n );\n return;\n }\n } catch (error) {\n Logger.errorp('Error reading config file');\n Logger.verbose(error);\n }\n } else {\n Logger.verbose('Using default working directory', workDir.yellow);\n }\n\n savedDir ??= soft.CONFIG_SAVED_DIR;\n\n const workdirPath = path.join(\n config.store.get('defaultOmegga'),\n `data/${savedDir}/Auth`,\n );\n\n if (globalAuth || localAuth) {\n if (globalAuth) {\n const globalAuthPath = path.join(\n soft.CONFIG_HOME,\n savedDir !== soft.CONFIG_SAVED_DIR ? savedDir : '',\n authDir ?? soft.CONFIG_AUTH_DIR,\n );\n Logger.logp('Clearing auth files from', globalAuthPath.yellow);\n auth.clean(globalAuthPath);\n }\n if (workDir) {\n Logger.logp('Clearing auth files from', workdirPath.yellow);\n await file.rmdir(workdirPath);\n }\n if (localAuth) {\n const localPath = path.resolve(\n `data/${savedDir}/`,\n authDir ?? soft.CONFIG_AUTH_DIR,\n );\n Logger.logp('Clearing auth files from', localPath.yellow);\n await file.rmdir(localPath);\n }\n return;\n }\n\n if (!isSteam) {\n Logger.warnp('Authenticating with', 'non-steam launcher'.yellow);\n }\n\n auth.prompt({\n email,\n password,\n debug,\n branch,\n authDir,\n savedDir,\n launchArgs,\n });\n },\n );\n\nprogram\n .command('info')\n .alias('n')\n .description(\n 'Shows server name, description, port, install info, and installed plugins',\n )\n .action(async () => {\n Logger.errorp('not implemented yet');\n // TODO: implement config parsing\n });\n\nprogram\n .command('install <pluginUrl...>')\n .alias('i')\n .option('-f, --force', 'Forcefully re-install existing plugin') // TODO: implement install --force\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description('Installs a plugin to the current brickadia server')\n .action(async plugins => {\n if (!hasbin.sync('git')) {\n Logger.errorp('git'.yellow, 'must be installed to install plugins.');\n process.exit(1);\n }\n\n if (!config.find('.')) {\n Logger.errorp(\n 'Not an omegga directory, run ',\n 'omegga init'.yellow,\n 'to setup one.',\n );\n process.exit(1);\n }\n const { verbose, force } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n pluginUtil.install(plugins, { verbose, force });\n });\n\nprogram\n .command('update [pluginNames...]')\n .alias('u')\n .option('-f, --force', 'Forcefully re-upgrade existing plugin') // TODO: implement update --force\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description('Updates all or selected installed plugins to latest versions')\n .action(async plugins => {\n if (!config.find('.')) {\n Logger.errorp(\n 'Not an omegga directory, run ',\n 'omegga init'.yellow,\n 'to setup one.',\n );\n process.exit(1);\n }\n const { verbose, force } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n pluginUtil.update(plugins, { verbose, force });\n });\n\nprogram\n .command('check [pluginNames...]')\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description('Checks plugins for compatibility issues')\n .action(async plugins => {\n if (!config.find('.')) {\n Logger.errorp(\n 'Not an omegga directory, run ',\n 'omegga init'.yellow,\n 'to setup one.',\n );\n process.exit(1);\n }\n const { verbose } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n pluginUtil.check(plugins, { verbose });\n });\n\nprogram\n .command('init-plugin')\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description('Initializes a new plugin with the given name and settings')\n .action(async () => {\n const { verbose } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n\n pluginUtil.init();\n });\n\nprogram\n .command('plugin-init')\n .description('Alias for ' + 'init-plugin'.yellow.underline)\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .action(async () => {\n const { verbose } = program.opts();\n Logger.VERBOSE = Boolean(verbose);\n\n pluginUtil.init();\n });\n\nprogram\n .command('get-config <pluginName> [configName]')\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .option('-j, --json', 'Print config as json')\n .description(\n 'Gets a config for a plugin. If ' +\n 'configName'.yellow.underline +\n ' is omitted, returns all config values.',\n )\n .action(async (pluginName, configName) => {\n if (!config.find('.')) {\n Logger.errorp(\n 'Not an omegga directory, run ',\n 'omegga init'.yellow,\n 'to setup one.',\n );\n process.exit(1);\n }\n const { verbose } = program.opts();\n const json = program.args.includes('-j') || program.args.includes('--json');\n Logger.VERBOSE = Boolean(verbose);\n if (!configName) {\n pluginUtil.listConfig(pluginName, json);\n } else {\n pluginUtil.getConfig(pluginName, configName, json);\n }\n });\n\nprogram\n .command('set-config <pluginName> [configName] [configValue]')\n .option('-y, --yes', 'Skip confirmation prompt')\n .option('-v, --verbose', 'Print extra messages for debugging purposes')\n .description(\n 'Sets a config for a plugin. If ' +\n 'configValue'.yellow.underline +\n ' is omitted, the config will be reset. If ' +\n 'configName'.yellow.underline +\n ' is omitted, the entire plugin config will be reset.',\n )\n .action(async (pluginName, configName, configValue) => {\n if (!config.find('.')) {\n Logger.errorp(\n 'Not an omegga directory, run ',\n 'omegga init'.yellow,\n 'to setup one.',\n );\n process.exit(1);\n }\n const { verbose } = program.opts();\n const yes = program.args.includes('-y') || program.args.includes('--yes');\n Logger.VERBOSE = Boolean(verbose);\n if (!configName) {\n pluginUtil.resetAllConfigs(pluginName, yes);\n } else if (!configValue) {\n pluginUtil.resetConfig(pluginName, configName);\n } else {\n pluginUtil.setConfig(pluginName, configName, configValue);\n }\n });\n\nprogram.parseAsync(process.argv);\n\nasync function setupSteam(config: config.IConfig, forceUpdate = false) {\n const steambeta = config?.server?.steambeta;\n const steambetaPassword = config?.server?.steambetaPassword;\n\n const binaryPath = path.join(\n GAME_INSTALL_DIR, // steam install directory\n steambeta ?? 'main', // steam beta branch (or main)\n GAME_DIRNAME, // Brickadia\n GAME_BIN_PATH, // path to binary\n );\n\n if (!forceUpdate && fs.existsSync(binaryPath)) {\n Logger.verbose(\n 'Game binary already exists at',\n binaryPath.yellow,\n '- skipping download.',\n );\n return;\n }\n\n // Check if steamcmd is installed\n if (!fs.existsSync(STEAMCMD_PATH)) {\n // Lookup steamcmd in path\n const hasSteamcmd = hasbin.sync('steamcmd');\n\n if (!hasSteamcmd) {\n // Prompt to install steamcmd\n const { install } =\n process.env.SKIP_STEAMCMD_PROMPT === 'true'\n ? { install: true }\n : await prompts({\n type: 'confirm',\n name: 'install',\n message: 'SteamCMD is not installed. OK to download it?',\n initial: true,\n });\n\n if (!install) {\n Logger.errorp('SteamCMD is required for steam support. Exiting...');\n process.exit(1);\n }\n\n Logger.logp('Downloading SteamCMD...');\n }\n\n try {\n steamcmdDownloadSelf();\n if (!fs.existsSync(STEAMCMD_PATH)) {\n Logger.errorp('Failed to setup SteamCMD. Exiting...');\n process.exit(1);\n }\n } catch (err) {\n Logger.errorp('Error setting up SteamCMD:', err);\n process.exit(1);\n }\n }\n\n Logger.logp('Downloading Brickadia', (steambeta ?? 'main').yellow, '...');\n try {\n steamcmdDownloadGame({ steambeta, steambetaPassword });\n } catch (err) {\n Logger.errorp('Error downloading Brickadia:', err);\n process.exit(1);\n }\n}\n"],"names":["PKG","Logger","config.write","soft","config.defaultConfig","file.mkdir","VERSION","config.store","config.find","config.read","OVERRIDE_GAME_DIR","GAME_BIN_PATH","installLauncher","auth","server","Omegga","Terminal","hasSteamUpdate","omeggaConfig","file.rmdir","pluginUtil","config","GAME_INSTALL_DIR","GAME_DIRNAME","STEAMCMD_PATH","steamcmdDownloadSelf","steamcmdDownloadGame"],"mappings":"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"}
@@ -1,162 +1,115 @@
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.writeAuthFiles = writeAuthFiles;
40
- exports.genAuthFiles = genAuthFiles;
41
- const logger_1 = __importDefault(require("../logger"));
42
- const softconfig_1 = __importDefault(require("../softconfig"));
43
- const file = __importStar(require("../util/file"));
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const logger = require("../logger.js");
4
+ const softconfig = require("../softconfig.js");
5
+ const file = require("../util/file.js");
44
6
  require("colors");
45
- const fs_1 = __importDefault(require("fs"));
46
- const path_1 = __importDefault(require("path"));
47
- const config_1 = require("../brickadia/config");
48
- const server_1 = __importDefault(require("./server"));
7
+ const fs = require("node:fs");
8
+ const path = require("node:path");
9
+ const config = require("../brickadia/config.js");
10
+ const server = require("./server.js");
49
11
  const PORT = 63281;
50
- // remove the temporary install
51
12
  async function removeTempDir() {
52
- if (fs_1.default.existsSync(softconfig_1.default.TEMP_DIR_NAME)) {
53
- logger_1.default.verbose('Removing temporary auth directory');
54
- // attempt to remove the temporary dir
55
- try {
56
- await file.rmdir(softconfig_1.default.TEMP_DIR_NAME);
57
- }
58
- catch (e) {
59
- // ignore fail - the directory probably doesn't exist
60
- }
13
+ if (fs.existsSync(softconfig.default.TEMP_DIR_NAME)) {
14
+ logger.default.verbose("Removing temporary auth directory");
15
+ try {
16
+ await file.rmdir(softconfig.default.TEMP_DIR_NAME);
17
+ } catch (e) {
61
18
  }
19
+ }
62
20
  }
63
- // read the auth files into a buffer
64
21
  function readAuthFiles(savedDir, authDir) {
65
- const files = {};
66
- const prefix = path_1.default.join(softconfig_1.default.TEMP_DIR_NAME, softconfig_1.default.DATA_PATH, savedDir, authDir);
67
- for (const file of softconfig_1.default.BRICKADIA_AUTH_FILES) {
68
- const filepath = path_1.default.join(prefix, file);
69
- if (!fs_1.default.existsSync(filepath)) {
70
- logger_1.default.warn('Auth file', file, 'not found...');
71
- continue;
72
- }
73
- logger_1.default.verbose('Reading auth file', file, 'from', filepath);
74
- files[file] = fs_1.default.readFileSync(filepath);
22
+ const files = {};
23
+ const prefix = path.join(
24
+ softconfig.default.TEMP_DIR_NAME,
25
+ softconfig.default.DATA_PATH,
26
+ savedDir,
27
+ authDir
28
+ );
29
+ for (const file2 of softconfig.default.BRICKADIA_AUTH_FILES) {
30
+ const filepath = path.join(prefix, file2);
31
+ if (!fs.existsSync(filepath)) {
32
+ logger.default.warn("Auth file", file2, "not found...");
33
+ continue;
75
34
  }
76
- return files;
35
+ logger.default.verbose("Reading auth file", file2, "from", filepath);
36
+ files[file2] = fs.readFileSync(filepath);
37
+ }
38
+ return files;
77
39
  }
78
- // write auth files object to a server path
79
40
  function writeAuthFiles(dstDir, files) {
80
- for (const f in files) {
81
- if (!files[f]) {
82
- logger_1.default.warn('Auth file', f, 'is empty, skipping write...');
83
- continue;
84
- }
85
- logger_1.default.verbose('Writing auth file', f, 'to', dstDir);
86
- fs_1.default.writeFileSync(path_1.default.join(dstDir, f), files[f]);
41
+ for (const f in files) {
42
+ if (!files[f]) {
43
+ logger.default.warn("Auth file", f, "is empty, skipping write...");
44
+ continue;
87
45
  }
46
+ logger.default.verbose("Writing auth file", f, "to", dstDir);
47
+ fs.writeFileSync(path.join(dstDir, f), files[f]);
48
+ }
88
49
  }
89
- // from credentials, build brickadia auth tokens
90
- async function genAuthFiles(email, password, { debug = false, authDir = softconfig_1.default.CONFIG_AUTH_DIR, savedDir = softconfig_1.default.CONFIG_SAVED_DIR, branch, launchArgs, }) {
91
- logger_1.default.verbose('Generating auth files');
92
- // remove existing temporary install path
93
- await removeTempDir();
94
- if (fs_1.default.existsSync(softconfig_1.default.LOCAL_LAUNCHER)) {
95
- logger_1.default.verbose('Generating auth with local launcher');
96
- }
97
- logger_1.default.verbose('Using auth port ' + PORT);
98
- // dummy omegga config
99
- const config = {
100
- server: {
101
- port: PORT,
102
- publiclyListed: false,
103
- name: 'omegga auth init',
104
- __LOCAL: fs_1.default.existsSync(softconfig_1.default.LOCAL_LAUNCHER),
105
- branch,
106
- authDir,
107
- launchArgs,
108
- },
109
- credentials: { email, password },
110
- };
111
- // dummy omegga launch options
112
- const options = {
113
- noauth: true,
114
- noplugin: true,
115
- noweb: true,
116
- debug,
117
- };
118
- // create a dummy omegga
119
- const omegga = new server_1.default(softconfig_1.default.TEMP_DIR_NAME, config, options);
120
- // create the unlisted server config
121
- (0, config_1.write)(path_1.default.join(softconfig_1.default.TEMP_DIR_NAME, softconfig_1.default.DATA_PATH), config);
122
- omegga.start();
123
- const success = await new Promise((resolve, reject) => {
124
- let resolved = false;
125
- // auth succeeded if the server starts
126
- omegga.once('start', () => {
127
- logger_1.default.verbose('Auth succeeded');
128
- resolved = true;
129
- resolve(true);
130
- // immediately stop the server
131
- omegga.stop();
132
- });
133
- // auth failed if we get 'unauthorized'
134
- omegga.once('unauthorized', () => {
135
- logger_1.default.verbose('Auth failed');
136
- resolved = true;
137
- resolve(false);
138
- // immediately stop the server
139
- omegga.stop();
140
- });
141
- let finished = false;
142
- const finish = (name) => (...args) => {
143
- if (finished)
144
- return;
145
- finished = true;
146
- logger_1.default.verbose('Brickadia', name, 'with code', ...args);
147
- if (!resolved)
148
- reject('temp server could not start');
149
- };
150
- // if the server closes and the promise hasn't resolved, reject
151
- omegga.once('closed', finish('closed'));
152
- omegga.once('exit', finish('exited'));
153
- omegga.once('server:stopped', finish('stopped'));
50
+ async function genAuthFiles(email, password, {
51
+ debug = false,
52
+ authDir = softconfig.default.CONFIG_AUTH_DIR,
53
+ savedDir = softconfig.default.CONFIG_SAVED_DIR,
54
+ branch,
55
+ launchArgs
56
+ }) {
57
+ logger.default.verbose("Generating auth files");
58
+ await removeTempDir();
59
+ if (fs.existsSync(softconfig.default.LOCAL_LAUNCHER)) {
60
+ logger.default.verbose("Generating auth with local launcher");
61
+ }
62
+ logger.default.verbose("Using auth port " + PORT);
63
+ const config$1 = {
64
+ server: {
65
+ port: PORT,
66
+ publiclyListed: false,
67
+ name: "omegga auth init",
68
+ __LOCAL: fs.existsSync(softconfig.default.LOCAL_LAUNCHER),
69
+ branch,
70
+ authDir,
71
+ launchArgs
72
+ },
73
+ credentials: { email, password }
74
+ };
75
+ const options = {
76
+ noauth: true,
77
+ noplugin: true,
78
+ noweb: true,
79
+ debug
80
+ };
81
+ const omegga = new server.default(softconfig.default.TEMP_DIR_NAME, config$1, options);
82
+ config.write(path.join(softconfig.default.TEMP_DIR_NAME, softconfig.default.DATA_PATH), config$1);
83
+ omegga.start();
84
+ const success = await new Promise((resolve, reject) => {
85
+ let resolved = false;
86
+ omegga.once("start", () => {
87
+ logger.default.verbose("Auth succeeded");
88
+ resolved = true;
89
+ resolve(true);
90
+ omegga.stop();
91
+ });
92
+ omegga.once("unauthorized", () => {
93
+ logger.default.verbose("Auth failed");
94
+ resolved = true;
95
+ resolve(false);
96
+ omegga.stop();
154
97
  });
155
- // read the auth files on success
156
- const files = success ? readAuthFiles(savedDir, authDir) : null;
157
- // remove temp dir
158
- removeTempDir();
159
- // return auth files (or null)
160
- return files;
98
+ let finished = false;
99
+ const finish = (name) => (...args) => {
100
+ if (finished) return;
101
+ finished = true;
102
+ logger.default.verbose("Brickadia", name, "with code", ...args);
103
+ if (!resolved) reject("temp server could not start");
104
+ };
105
+ omegga.once("closed", finish("closed"));
106
+ omegga.once("exit", finish("exited"));
107
+ omegga.once("server:stopped", finish("stopped"));
108
+ });
109
+ const files = success ? readAuthFiles(savedDir, authDir) : null;
110
+ removeTempDir();
111
+ return files;
161
112
  }
162
- //# sourceMappingURL=auth.js.map
113
+ exports.genAuthFiles = genAuthFiles;
114
+ exports.writeAuthFiles = writeAuthFiles;
115
+ //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/omegga/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sources":["../../src/omegga/auth.ts"],"sourcesContent":["import Logger from '@/logger';\nimport soft from '@/softconfig';\nimport { IConfig } from '@config/types';\nimport * as file from '@util/file';\nimport 'colors';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { write as writeConfig } from '../brickadia/config';\nimport Omegga from './server';\nimport { IOmeggaOptions } from './types';\n\nconst PORT = 63281;\n\n// remove the temporary install\nasync function removeTempDir() {\n if (fs.existsSync(soft.TEMP_DIR_NAME)) {\n Logger.verbose('Removing temporary auth directory');\n\n // attempt to remove the temporary dir\n try {\n await file.rmdir(soft.TEMP_DIR_NAME);\n } catch (e) {\n // ignore fail - the directory probably doesn't exist\n }\n }\n}\n\n// read the auth files into a buffer\nfunction readAuthFiles(savedDir: string, authDir: string) {\n const files: Record<string, Buffer> = {};\n const prefix = path.join(\n soft.TEMP_DIR_NAME,\n soft.DATA_PATH,\n savedDir,\n authDir,\n );\n for (const file of soft.BRICKADIA_AUTH_FILES) {\n const filepath = path.join(prefix, file);\n if (!fs.existsSync(filepath)) {\n Logger.warn('Auth file', file, 'not found...');\n continue;\n }\n Logger.verbose('Reading auth file', file, 'from', filepath);\n files[file] = fs.readFileSync(filepath);\n }\n return files;\n}\n\n// write auth files object to a server path\nexport function writeAuthFiles(dstDir: string, files: Record<string, Buffer>) {\n for (const f in files) {\n if (!files[f]) {\n Logger.warn('Auth file', f, 'is empty, skipping write...');\n continue;\n }\n Logger.verbose('Writing auth file', f, 'to', dstDir);\n fs.writeFileSync(path.join(dstDir, f), files[f]);\n }\n}\n\n// from credentials, build brickadia auth tokens\nexport async function genAuthFiles(\n email: string,\n password: string,\n {\n debug = false,\n authDir = soft.CONFIG_AUTH_DIR,\n savedDir = soft.CONFIG_SAVED_DIR,\n branch,\n launchArgs,\n }: {\n debug?: boolean;\n branch?: string;\n authDir?: string;\n savedDir?: string;\n launchArgs?: string;\n },\n) {\n Logger.verbose('Generating auth files');\n\n // remove existing temporary install path\n await removeTempDir();\n\n if (fs.existsSync(soft.LOCAL_LAUNCHER)) {\n Logger.verbose('Generating auth with local launcher');\n }\n\n Logger.verbose('Using auth port ' + PORT);\n\n // dummy omegga config\n const config: IConfig = {\n server: {\n port: PORT,\n publiclyListed: false,\n name: 'omegga auth init',\n __LOCAL: fs.existsSync(soft.LOCAL_LAUNCHER),\n branch,\n authDir,\n launchArgs,\n },\n credentials: { email, password },\n };\n\n // dummy omegga launch options\n const options: IOmeggaOptions = {\n noauth: true,\n noplugin: true,\n noweb: true,\n debug,\n };\n\n // create a dummy omegga\n const omegga = new Omegga(soft.TEMP_DIR_NAME, config, options);\n\n // create the unlisted server config\n writeConfig(path.join(soft.TEMP_DIR_NAME, soft.DATA_PATH), config);\n\n omegga.start();\n\n const success = await new Promise((resolve, reject) => {\n let resolved = false;\n // auth succeeded if the server starts\n omegga.once('start', () => {\n Logger.verbose('Auth succeeded');\n resolved = true;\n resolve(true);\n\n // immediately stop the server\n omegga.stop();\n });\n\n // auth failed if we get 'unauthorized'\n omegga.once('unauthorized', () => {\n Logger.verbose('Auth failed');\n resolved = true;\n resolve(false);\n\n // immediately stop the server\n omegga.stop();\n });\n\n let finished = false;\n const finish =\n (name: string) =>\n (...args: any[]) => {\n if (finished) return;\n finished = true;\n Logger.verbose('Brickadia', name, 'with code', ...args);\n if (!resolved) reject('temp server could not start');\n };\n\n // if the server closes and the promise hasn't resolved, reject\n omegga.once('closed', finish('closed'));\n omegga.once('exit', finish('exited'));\n omegga.once('server:stopped', finish('stopped'));\n });\n\n // read the auth files on success\n const files = success ? readAuthFiles(savedDir, authDir) : null;\n\n // remove temp dir\n removeTempDir();\n\n // return auth files (or null)\n return files;\n}\n"],"names":["soft","Logger","file.rmdir","file","config","Omegga","writeConfig"],"mappings":"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"}