omegga 0.1.85 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -62
- package/bin/omegga +10 -4
- package/dist/brickadia/config.d.ts +3 -0
- package/dist/brickadia/config.d.ts.map +1 -0
- package/dist/brickadia/config.js +61 -0
- package/dist/brickadia/config.js.map +1 -0
- package/dist/brickadia/presets.d.ts +65 -0
- package/dist/brickadia/presets.js +3 -0
- package/dist/brickadia/presets.js.map +1 -0
- package/dist/brickadia/server.d.ts +20 -0
- package/dist/brickadia/server.d.ts.map +1 -0
- package/dist/brickadia/server.js +188 -0
- package/dist/brickadia/server.js.map +1 -0
- package/dist/brickadia/types.d.ts +45 -0
- package/dist/brickadia/types.d.ts.map +1 -0
- package/dist/brickadia/types.js +3 -0
- package/dist/brickadia/types.js.map +1 -0
- package/dist/cli/auth.d.ts +20 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +115 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +72 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +20 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +15 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/installer.d.ts +1 -0
- package/dist/cli/installer.d.ts.map +1 -0
- package/dist/cli/installer.js +55 -0
- package/dist/cli/installer.js.map +1 -0
- package/dist/cli/plugin.d.ts +11 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +598 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/terminal.d.ts +34 -0
- package/dist/cli/terminal.d.ts.map +1 -0
- package/dist/cli/terminal.js +395 -0
- package/dist/cli/terminal.js.map +1 -0
- package/dist/config/authorizer.d.ts +2 -0
- package/dist/config/authorizer.d.ts.map +1 -0
- package/dist/config/authorizer.js +38 -0
- package/dist/config/authorizer.js.map +1 -0
- package/dist/config/formats/format_js.d.ts +3 -0
- package/dist/config/formats/format_js.d.ts.map +1 -0
- package/dist/config/formats/format_js.js +10 -0
- package/dist/config/formats/format_js.js.map +1 -0
- package/dist/config/formats/format_yml.d.ts +3 -0
- package/dist/config/formats/format_yml.d.ts.map +1 -0
- package/dist/config/formats/format_yml.js +14 -0
- package/dist/config/formats/format_yml.js.map +1 -0
- package/dist/config/index.d.ts +18 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +86 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/reader.d.ts +3 -0
- package/dist/config/reader.d.ts.map +1 -0
- package/dist/config/reader.js +30 -0
- package/dist/config/reader.js.map +1 -0
- package/dist/config/types.d.ts +37 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validator.d.ts +6 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +26 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/config/writer.d.ts +3 -0
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +25 -0
- package/dist/config/writer.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/info/default_commands.json +28 -0
- package/dist/lib.d.ts +21 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +54 -0
- package/dist/lib.js.map +1 -0
- package/dist/logger.d.ts +41 -0
- package/dist/logger.js +67 -0
- package/dist/logger.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +284 -0
- package/dist/main.js.map +1 -0
- package/dist/omegga/auth.d.ts +6 -0
- package/dist/omegga/auth.d.ts.map +1 -0
- package/dist/omegga/auth.js +139 -0
- package/dist/omegga/auth.js.map +1 -0
- package/dist/omegga/commandInjector.d.ts +35 -0
- package/dist/omegga/commandInjector.d.ts.map +1 -0
- package/dist/omegga/commandInjector.js +234 -0
- package/dist/omegga/commandInjector.js.map +1 -0
- package/dist/omegga/index.d.ts +7 -0
- package/dist/omegga/index.d.ts.map +1 -0
- package/dist/omegga/index.js +43 -0
- package/dist/omegga/index.js.map +1 -0
- package/dist/omegga/logWrangler.d.ts +32 -0
- package/dist/omegga/logWrangler.d.ts.map +1 -0
- package/dist/omegga/logWrangler.js +279 -0
- package/dist/omegga/logWrangler.js.map +1 -0
- package/dist/omegga/matchers/auth.d.ts +9 -0
- package/dist/omegga/matchers/auth.d.ts.map +1 -0
- package/dist/omegga/matchers/auth.js +53 -0
- package/dist/omegga/matchers/auth.js.map +1 -0
- package/dist/omegga/matchers/chat.d.ts +9 -0
- package/dist/omegga/matchers/chat.d.ts.map +1 -0
- package/dist/omegga/matchers/chat.js +68 -0
- package/dist/omegga/matchers/chat.js.map +1 -0
- package/dist/omegga/matchers/command.d.ts +7 -0
- package/dist/omegga/matchers/command.d.ts.map +1 -0
- package/dist/omegga/matchers/command.js +39 -0
- package/dist/omegga/matchers/command.js.map +1 -0
- package/dist/omegga/matchers/exit.d.ts +3 -0
- package/dist/omegga/matchers/exit.d.ts.map +1 -0
- package/dist/omegga/matchers/exit.js +21 -0
- package/dist/omegga/matchers/exit.js.map +1 -0
- package/dist/omegga/matchers/index.d.ts +3 -0
- package/dist/omegga/matchers/index.d.ts.map +1 -0
- package/dist/omegga/matchers/index.js +39 -0
- package/dist/omegga/matchers/index.js.map +1 -0
- package/dist/omegga/matchers/init.d.ts +3 -0
- package/dist/omegga/matchers/init.d.ts.map +1 -0
- package/dist/omegga/matchers/init.js +26 -0
- package/dist/omegga/matchers/init.js.map +1 -0
- package/dist/omegga/matchers/interact.d.ts +4 -0
- package/dist/omegga/matchers/interact.js +39 -0
- package/dist/omegga/matchers/interact.js.map +1 -0
- package/dist/omegga/matchers/join.d.ts +4 -0
- package/dist/omegga/matchers/join.d.ts.map +1 -0
- package/dist/omegga/matchers/join.js +95 -0
- package/dist/omegga/matchers/join.js.map +1 -0
- package/dist/omegga/matchers/leave.d.ts +4 -0
- package/dist/omegga/matchers/leave.d.ts.map +1 -0
- package/dist/omegga/matchers/leave.js +59 -0
- package/dist/omegga/matchers/leave.js.map +1 -0
- package/dist/omegga/matchers/mapChange.d.ts +3 -0
- package/dist/omegga/matchers/mapChange.d.ts.map +1 -0
- package/dist/omegga/matchers/mapChange.js +38 -0
- package/dist/omegga/matchers/mapChange.js.map +1 -0
- package/dist/omegga/matchers/types.d.ts +5 -0
- package/dist/omegga/matchers/types.d.ts.map +1 -0
- package/dist/omegga/matchers/types.js +7 -0
- package/dist/omegga/matchers/types.js.map +1 -0
- package/dist/omegga/matchers/version.d.ts +3 -0
- package/dist/omegga/matchers/version.d.ts.map +1 -0
- package/dist/omegga/matchers/version.js +45 -0
- package/dist/omegga/matchers/version.js.map +1 -0
- package/dist/omegga/player.d.ts +71 -0
- package/dist/omegga/player.d.ts.map +1 -0
- package/dist/omegga/player.js +442 -0
- package/dist/omegga/player.js.map +1 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +23 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +441 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +129 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +260 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.js +289 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe.d.ts +24 -0
- package/dist/omegga/plugin/plugin_node_safe.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe.js +397 -0
- package/dist/omegga/plugin/plugin_node_safe.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_unsafe.d.ts +13 -0
- package/dist/omegga/plugin/plugin_node_unsafe.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_unsafe.js +178 -0
- package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -0
- package/dist/omegga/plugin.d.ts +86 -0
- package/dist/omegga/plugin.d.ts.map +1 -0
- package/dist/omegga/plugin.js +458 -0
- package/dist/omegga/plugin.js.map +1 -0
- package/dist/omegga/server.d.ts +149 -0
- package/dist/omegga/server.d.ts.map +1 -0
- package/dist/omegga/server.js +601 -0
- package/dist/omegga/server.js.map +1 -0
- package/dist/omegga/types.d.ts +48 -0
- package/dist/omegga/types.d.ts.map +1 -0
- package/dist/omegga/types.js +3 -0
- package/dist/omegga/types.js.map +1 -0
- package/dist/omegga/wrapper.d.ts +22 -0
- package/dist/omegga/wrapper.d.ts.map +1 -0
- package/dist/omegga/wrapper.js +75 -0
- package/dist/omegga/wrapper.js.map +1 -0
- package/dist/omeggaplugin.d.ts +1 -0
- package/dist/omeggaplugin.js +4 -0
- package/dist/omeggaplugin.js.map +1 -0
- package/dist/plugin.d.ts +781 -0
- package/dist/plugin.js +41 -0
- package/dist/plugin.js.map +1 -0
- package/dist/softconfig.d.ts +51 -0
- package/dist/softconfig.d.ts.map +1 -0
- package/dist/softconfig.js +82 -0
- package/dist/softconfig.js.map +1 -0
- package/dist/util/brick/checkBounds.d.ts +8 -0
- package/dist/util/brick/checkBounds.d.ts.map +1 -0
- package/dist/util/brick/checkBounds.js +22 -0
- package/dist/util/brick/checkBounds.js.map +1 -0
- package/dist/util/brick/constants.d.ts +18 -0
- package/dist/util/brick/constants.d.ts.map +1 -0
- package/dist/util/brick/constants.js +184 -0
- package/dist/util/brick/constants.js.map +1 -0
- package/dist/util/brick/getBounds.d.ts +4 -0
- package/dist/util/brick/getBounds.d.ts.map +1 -0
- package/dist/util/brick/getBounds.js +39 -0
- package/dist/util/brick/getBounds.js.map +1 -0
- package/dist/util/brick/getBrickSize.d.ts +3 -0
- package/dist/util/brick/getBrickSize.d.ts.map +1 -0
- package/dist/util/brick/getBrickSize.js +12 -0
- package/dist/util/brick/getBrickSize.js.map +1 -0
- package/dist/util/brick/getScaleAxis.d.ts +3 -0
- package/dist/util/brick/getScaleAxis.d.ts.map +1 -0
- package/dist/util/brick/getScaleAxis.js +38 -0
- package/dist/util/brick/getScaleAxis.js.map +1 -0
- package/dist/util/brick/index.d.ts +13 -0
- package/dist/util/brick/index.d.ts.map +1 -0
- package/dist/util/brick/index.js +29 -0
- package/dist/util/brick/index.js.map +1 -0
- package/dist/util/brick/rotate.d.ts +17 -0
- package/dist/util/brick/rotate.d.ts.map +1 -0
- package/dist/util/brick/rotate.js +38 -0
- package/dist/util/brick/rotate.js.map +1 -0
- package/dist/util/brick/setOwnership.d.ts +12 -0
- package/dist/util/brick/setOwnership.d.ts.map +1 -0
- package/dist/util/brick/setOwnership.js +21 -0
- package/dist/util/brick/setOwnership.js.map +1 -0
- package/dist/util/chat.d.ts +23 -0
- package/dist/util/chat.d.ts.map +1 -0
- package/dist/util/chat.js +50 -0
- package/dist/util/chat.js.map +1 -0
- package/dist/util/color.d.ts +13 -0
- package/dist/util/color.d.ts.map +1 -0
- package/dist/util/color.js +130 -0
- package/dist/util/color.js.map +1 -0
- package/dist/util/file.d.ts +5 -0
- package/dist/util/file.d.ts.map +1 -0
- package/dist/util/file.js +114 -0
- package/dist/util/file.js.map +1 -0
- package/dist/util/index.d.ts +162 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +92 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/map.d.ts +6 -0
- package/dist/util/map.d.ts.map +1 -0
- package/dist/util/map.js +26 -0
- package/dist/util/map.js.map +1 -0
- package/dist/util/pattern.d.ts +1 -0
- package/dist/util/pattern.d.ts.map +1 -0
- package/dist/util/pattern.js +11 -0
- package/dist/util/pattern.js.map +1 -0
- package/dist/util/time.d.ts +4 -0
- package/dist/util/time.d.ts.map +1 -0
- package/dist/util/time.js +41 -0
- package/dist/util/time.js.map +1 -0
- package/dist/util/uuid.d.ts +2 -0
- package/dist/util/uuid.d.ts.map +1 -0
- package/dist/util/uuid.js +8 -0
- package/dist/util/uuid.js.map +1 -0
- package/dist/util/wsl.d.ts +1 -0
- package/dist/util/wsl.d.ts.map +1 -0
- package/dist/util/wsl.js +14 -0
- package/dist/util/wsl.js.map +1 -0
- package/dist/webserver/backend/api.d.ts +3 -0
- package/dist/webserver/backend/api.d.ts.map +1 -0
- package/dist/webserver/backend/api.js +685 -0
- package/dist/webserver/backend/api.js.map +1 -0
- package/dist/webserver/backend/calendar.d.ts +5 -0
- package/dist/webserver/backend/calendar.d.ts.map +1 -0
- package/dist/webserver/backend/calendar.js +21 -0
- package/dist/webserver/backend/calendar.js.map +1 -0
- package/dist/webserver/backend/database.d.ts +149 -0
- package/dist/webserver/backend/database.d.ts.map +1 -0
- package/dist/webserver/backend/database.js +575 -0
- package/dist/webserver/backend/database.js.map +1 -0
- package/dist/webserver/backend/index.d.ts +31 -0
- package/dist/webserver/backend/index.d.ts.map +1 -0
- package/dist/webserver/backend/index.js +189 -0
- package/dist/webserver/backend/index.js.map +1 -0
- package/dist/webserver/backend/metrics.d.ts +3 -0
- package/dist/webserver/backend/metrics.d.ts.map +1 -0
- package/dist/webserver/backend/metrics.js +203 -0
- package/dist/webserver/backend/metrics.js.map +1 -0
- package/dist/webserver/backend/types.d.ts +115 -0
- package/dist/webserver/backend/types.d.ts.map +1 -0
- package/dist/webserver/backend/types.js +3 -0
- package/dist/webserver/backend/types.js.map +1 -0
- package/dist/webserver/backend/util.d.ts +2 -0
- package/dist/webserver/backend/util.d.ts.map +1 -0
- package/dist/webserver/backend/util.js +78 -0
- package/dist/webserver/backend/util.js.map +1 -0
- package/dist/webserver/index.d.ts +2 -0
- package/dist/webserver/index.d.ts.map +1 -0
- package/dist/webserver/index.js +9 -0
- package/dist/webserver/index.js.map +1 -0
- package/{src/webserver/frontend → frontend}/app.html +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceBold.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceItalic.otf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceMedium.otf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceRegular.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoBold.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoItalic.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoRegular.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/auth_bg.webp +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/dark_bg.webp +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/turkey.webp +0 -0
- package/{src/webserver/frontend → frontend}/auth.html +0 -0
- package/index.js +10 -2
- package/package.json +44 -16
- package/public/app.bundle.js +537 -73
- package/public/app.bundle.js.map +1 -1
- package/public/app.css +727 -2
- package/public/app.css.map +1 -1
- package/public/auth.bundle.js +18 -18
- package/public/auth.bundle.js.map +1 -1
- package/public/auth.css +364 -2
- package/public/auth.css.map +1 -1
- package/templates/rpc/README.md +29 -0
- package/templates/rpc/doc.json +7 -0
- package/templates/rpc/omegga_plugin +0 -0
- package/templates/rpc/plugin.json +4 -0
- package/templates/rpc/setup.sh +3 -0
- package/templates/safe/README.md +29 -0
- package/templates/safe/access.json +1 -0
- package/templates/safe/doc.json +7 -0
- package/templates/safe/omegga.plugin.js +20 -0
- package/templates/safe/plugin.json +4 -0
- package/templates/safe/setup.sh +4 -0
- package/templates/safe-ts/.gitignore.rename +3 -0
- package/templates/safe-ts/README.md +29 -0
- package/templates/safe-ts/access.json +1 -0
- package/templates/safe-ts/doc.json +7 -0
- package/templates/safe-ts/omegga.d.ts +1311 -0
- package/templates/safe-ts/omegga.plugin.ts +29 -0
- package/templates/safe-ts/plugin.json +4 -0
- package/templates/safe-ts/setup.sh +4 -0
- package/templates/safe-ts/tsconfig.json +10 -0
- package/templates/unsafe/README.md +29 -0
- package/templates/unsafe/doc.json +7 -0
- package/templates/unsafe/omegga.main.js +15 -0
- package/templates/unsafe/plugin.json +4 -0
- package/templates/unsafe/setup.sh +4 -0
- package/.babelrc.json +0 -5
- package/.github/workflows/lint.yml +0 -26
- package/.prettierrc +0 -7
- package/.vscode/extensions.json +0 -5
- package/src/OMEGGA_LEGACY_INSTALL +0 -44
- package/src/brickadia/config.js +0 -42
- package/src/brickadia/server.js +0 -227
- package/src/cli/auth.js +0 -104
- package/src/cli/config.js +0 -77
- package/src/cli/index.js +0 -6
- package/src/cli/installer.js +0 -65
- package/src/cli/plugin.js +0 -575
- package/src/cli/terminal.js +0 -466
- package/src/config/authorizer.js +0 -37
- package/src/config/formats/format_js.js +0 -6
- package/src/config/formats/format_yml.js +0 -8
- package/src/config/index.js +0 -81
- package/src/config/reader.js +0 -27
- package/src/config/validator.js +0 -32
- package/src/config/writer.js +0 -20
- package/src/info/default_commands.json +0 -26
- package/src/lib.js +0 -23
- package/src/main.js +0 -332
- package/src/omegga/auth.js +0 -138
- package/src/omegga/commandInjector.js +0 -228
- package/src/omegga/index.js +0 -22
- package/src/omegga/logWrangler.js +0 -323
- package/src/omegga/matchers/auth.js +0 -49
- package/src/omegga/matchers/chat.js +0 -73
- package/src/omegga/matchers/command.js +0 -39
- package/src/omegga/matchers/exit.js +0 -19
- package/src/omegga/matchers/init.js +0 -23
- package/src/omegga/matchers/join.js +0 -115
- package/src/omegga/matchers/leave.js +0 -58
- package/src/omegga/matchers/mapChange.js +0 -37
- package/src/omegga/matchers/version.js +0 -45
- package/src/omegga/player.js +0 -585
- package/src/omegga/plugin/plugin_jsonrpc_stdio.js +0 -526
- package/src/omegga/plugin/plugin_node_safe/proxyOmegga.js +0 -117
- package/src/omegga/plugin/plugin_node_safe/worker.js +0 -238
- package/src/omegga/plugin/plugin_node_safe.js +0 -473
- package/src/omegga/plugin/plugin_node_unsafe.js +0 -177
- package/src/omegga/plugin.js +0 -565
- package/src/omegga/server.js +0 -658
- package/src/omegga/wrapper.js +0 -62
- package/src/softconfig.js +0 -64
- package/src/util/brick/checkBounds.js +0 -22
- package/src/util/brick/constants.js +0 -185
- package/src/util/brick/getBounds.js +0 -36
- package/src/util/brick/getBrickSize.js +0 -9
- package/src/util/brick/getScaleAxis.js +0 -31
- package/src/util/brick/index.js +0 -9
- package/src/util/brick/rotate.js +0 -43
- package/src/util/brick/setOwnership.js +0 -20
- package/src/util/chat.js +0 -28
- package/src/util/color.js +0 -143
- package/src/util/file.js +0 -119
- package/src/util/index.js +0 -28
- package/src/util/map.js +0 -28
- package/src/util/pattern.js +0 -14
- package/src/util/time.js +0 -46
- package/src/util/uuid.js +0 -8
- package/src/util/wsl.js +0 -9
- package/src/webserver/backend/api.js +0 -795
- package/src/webserver/backend/calendar.js +0 -15
- package/src/webserver/backend/database.js +0 -725
- package/src/webserver/backend/index.js +0 -206
- package/src/webserver/backend/metrics.js +0 -148
- package/src/webserver/backend/util.js +0 -75
- package/src/webserver/frontend/.eslintrc.yml +0 -26
- package/src/webserver/frontend/app.js +0 -78
- package/src/webserver/frontend/auth.js +0 -16
- package/src/webserver/frontend/components/Background.vue +0 -83
- package/src/webserver/frontend/components/Button.vue +0 -105
- package/src/webserver/frontend/components/ChatEntry.vue +0 -107
- package/src/webserver/frontend/components/ChatTime.vue +0 -40
- package/src/webserver/frontend/components/Dimmer.vue +0 -43
- package/src/webserver/frontend/components/Dropdown.vue +0 -145
- package/src/webserver/frontend/components/Footer.vue +0 -29
- package/src/webserver/frontend/components/Header.vue +0 -27
- package/src/webserver/frontend/components/InfiniteScroll.vue +0 -51
- package/src/webserver/frontend/components/Input.vue +0 -93
- package/src/webserver/frontend/components/ListInput.vue +0 -105
- package/src/webserver/frontend/components/Loader.vue +0 -98
- package/src/webserver/frontend/components/MainMenuButton.vue +0 -83
- package/src/webserver/frontend/components/Modal.vue +0 -44
- package/src/webserver/frontend/components/NavBar.vue +0 -24
- package/src/webserver/frontend/components/PlayerDropdown.vue +0 -210
- package/src/webserver/frontend/components/PopoutContent.vue +0 -32
- package/src/webserver/frontend/components/RoleDropdown.vue +0 -157
- package/src/webserver/frontend/components/Scroll.vue +0 -33
- package/src/webserver/frontend/components/Toggle.vue +0 -91
- package/src/webserver/frontend/components/index.js +0 -33
- package/src/webserver/frontend/css/font.scss +0 -53
- package/src/webserver/frontend/css/mixins.scss +0 -49
- package/src/webserver/frontend/css/style.scss +0 -166
- package/src/webserver/frontend/css/theme.scss +0 -64
- package/src/webserver/frontend/partials/NavHeader.vue +0 -55
- package/src/webserver/frontend/partials/Page.vue +0 -40
- package/src/webserver/frontend/partials/PageContent.vue +0 -31
- package/src/webserver/frontend/partials/SideNav.vue +0 -115
- package/src/webserver/frontend/partials/index.js +0 -4
- package/src/webserver/frontend/router.js +0 -83
- package/src/webserver/frontend/views/Auth.vue +0 -190
- package/src/webserver/frontend/views/History.vue +0 -462
- package/src/webserver/frontend/views/Home.vue +0 -251
- package/src/webserver/frontend/views/Main.vue +0 -69
- package/src/webserver/frontend/views/NotFound.vue +0 -10
- package/src/webserver/frontend/views/Players.vue +0 -425
- package/src/webserver/frontend/views/PlayersInspector.vue +0 -538
- package/src/webserver/frontend/views/Plugins.vue +0 -217
- package/src/webserver/frontend/views/PluginsInspector.vue +0 -418
- package/src/webserver/frontend/views/Server.vue +0 -167
- package/src/webserver/frontend/views/Users.vue +0 -538
- package/src/webserver/frontend/widgets/Chat.vue +0 -124
- package/src/webserver/frontend/widgets/Status.vue +0 -91
- package/src/webserver/frontend/widgets/index.js +0 -2
- package/src/webserver/frontend/widgets/tooltip.js +0 -108
- package/src/webserver/index.js +0 -4
|
@@ -0,0 +1,395 @@
|
|
|
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 server_1 = __importDefault(require("../omegga/server"));
|
|
7
|
+
const chat_1 = require("../util/chat");
|
|
8
|
+
const readline_1 = __importDefault(require("readline"));
|
|
9
|
+
let log, err, warn;
|
|
10
|
+
// the terminal wraps omegga and displays console output and handles console input
|
|
11
|
+
class Terminal {
|
|
12
|
+
constructor(omegga, options = {}) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
this.omegga = omegga;
|
|
15
|
+
this.commands = {};
|
|
16
|
+
// terminal interface
|
|
17
|
+
this.rl = readline_1.default.createInterface({
|
|
18
|
+
input: process.stdin,
|
|
19
|
+
output: process.stdout,
|
|
20
|
+
terminal: true,
|
|
21
|
+
});
|
|
22
|
+
this.rl.setPrompt('> '.brightGreen);
|
|
23
|
+
// shortand fns
|
|
24
|
+
log = (...args) => this.log('>>'.green, ...args);
|
|
25
|
+
err = (...args) => this.error('!>'.red, ...args);
|
|
26
|
+
warn = (...args) => this.warn('W>'.yellow, ...args);
|
|
27
|
+
// print log line if debug is enabled
|
|
28
|
+
let launcherDone = false;
|
|
29
|
+
let lastDoneMessage = '';
|
|
30
|
+
omegga.on('line', l => {
|
|
31
|
+
if (options.debug)
|
|
32
|
+
this.log('::'.blue, l);
|
|
33
|
+
else if (!launcherDone) {
|
|
34
|
+
if (l.startsWith('DOWNLOADING')) {
|
|
35
|
+
// TOOD: if someone is proactive enough in the future, you could turn these steps into a legitimate progress bar
|
|
36
|
+
/* Here's some launcher log lines that might be helpful
|
|
37
|
+
Grabbing manifest and checking game files...
|
|
38
|
+
DOWNLOADING MANIFEST | Hold on...
|
|
39
|
+
DOWNLOADING MANIFEST (100%) | Hold on...
|
|
40
|
+
DOWNLOADING MANIFEST (100%) | 0 B/s - 13 KiB / 13 KiB (Unknown time remaining...)
|
|
41
|
+
DOWNLOADING MANIFEST (100%) | Done!
|
|
42
|
+
Checking launcher and downloading version info...
|
|
43
|
+
Installing patches and booting...
|
|
44
|
+
DOWNLOADING BRICKADIA (0%) | Done!
|
|
45
|
+
DOWNLOADING BRICKADIA (100%) | 110 MiB/s - 584 MiB / 584 MiB (1 second remaining...)
|
|
46
|
+
DOWNLOADING BRICKADIA (100%) | Nearly done...
|
|
47
|
+
DOWNLOADING BRICKADIA (100%), INSTALLING BRICKADIA (86%) | Nearly done...
|
|
48
|
+
*/
|
|
49
|
+
process.stdout.clearLine(0);
|
|
50
|
+
process.stdout.cursorTo(0);
|
|
51
|
+
process.stdout.write(l);
|
|
52
|
+
// add a newline on "Done!" but prevent newlines on repeat done messages
|
|
53
|
+
if (l.match(/Done!/) && l !== lastDoneMessage) {
|
|
54
|
+
lastDoneMessage = l;
|
|
55
|
+
process.stdout.write('\n');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if (l.match(/Disabling core dumps./)) {
|
|
59
|
+
launcherDone = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// print debug events regardless of debug status
|
|
64
|
+
omegga.on('debug', l => this.log('?>'.magenta, l));
|
|
65
|
+
// print chat events as players join/leave the server
|
|
66
|
+
omegga.on('join', p => this.log(`${p.name.underline} joined.`.brightBlue));
|
|
67
|
+
omegga.on('leave', p => this.log(`${p.name.underline} left.`.brightBlue));
|
|
68
|
+
omegga.on('chat', (name, message) => this.log(`${name.brightYellow.underline}: ${message}`));
|
|
69
|
+
omegga.on('start', () => {
|
|
70
|
+
const wsl = require('../util/wsl');
|
|
71
|
+
log(`Server has started${wsl === 1 ? ' in single thread mode due to WSL1' : ''}. Type ${'/help'.yellow} for more commands`);
|
|
72
|
+
// check if this is WSL2 and wsl2binds is installed
|
|
73
|
+
if (wsl === 2 &&
|
|
74
|
+
this.omegga.pluginLoader &&
|
|
75
|
+
!this.omegga.pluginLoader.plugins.some(p => p.getName() === 'wsl2binds')) {
|
|
76
|
+
warn('####'.yellow, `You are running ${'WSL2'.yellow} and you don't have the ${'wsl2binds'.yellow} plugin.`);
|
|
77
|
+
warn('####'.yellow, `The wsl2binds plugin works as a ${'UDP proxy'.underline} between Windows and the WSL2 VM.`);
|
|
78
|
+
warn('####'.yellow, 'Install it by:');
|
|
79
|
+
warn('####'.yellow, ' 1. Closing omegga with', '/stop'.green);
|
|
80
|
+
warn('####'.yellow, ' 2. Installing wsl2binds with', 'omegga install gh:Meshiest/wsl2binds'.green);
|
|
81
|
+
warn('####'.yellow, ' 3. Restarting', 'omegga'.green);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
omegga.on('mapchange', ({ map }) => log('Map changed to', (map.charAt(0).toUpperCase() + map.slice(1)).green));
|
|
85
|
+
omegga.on('unauthorized', () => {
|
|
86
|
+
err('Server failed authentication check');
|
|
87
|
+
process.exit();
|
|
88
|
+
});
|
|
89
|
+
omegga.on('error', e => err('Server caught unhandled exception:\n' + e));
|
|
90
|
+
omegga.on('server:stopped', () => log('Server has closed. Type', '/stop'.yellow, 'to close omegga'));
|
|
91
|
+
this.rl.on('line', this.handleLine.bind(this));
|
|
92
|
+
// console commands
|
|
93
|
+
Object.entries({
|
|
94
|
+
debug: {
|
|
95
|
+
desc: 'toggle visibility of brickadia console logs',
|
|
96
|
+
fn() {
|
|
97
|
+
options.debug = !options.debug;
|
|
98
|
+
log('Brickadia logs now', options.debug ? 'visible'.green : 'hidden'.red);
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
help: {
|
|
102
|
+
desc: 'list supported commands and their descriptions',
|
|
103
|
+
fn() {
|
|
104
|
+
const maxCmdLen = Math.max(...Object.keys(this.commands).map(s => s.length));
|
|
105
|
+
log('Omegga Help Text:\n');
|
|
106
|
+
this.log(' Console input not starting with / will be sent in chat from a "SERVER" user');
|
|
107
|
+
this.log(' Console input starting with / will be treated as one of the following commands\n');
|
|
108
|
+
this.log('-- Available Omegga commands (type', '/command'.yellow.underline, 'to run)');
|
|
109
|
+
Object.keys(this.commands)
|
|
110
|
+
.sort()
|
|
111
|
+
.forEach(k => {
|
|
112
|
+
this.log(' ', k.yellow.underline, '-'.padStart(maxCmdLen - k.length + 1), this.commands[k].desc);
|
|
113
|
+
});
|
|
114
|
+
this.log('');
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
cmd: {
|
|
118
|
+
desc: 'run a console command on the brickadia server. requires debug for log to show',
|
|
119
|
+
fn(...args) {
|
|
120
|
+
if (!this.omegga.started) {
|
|
121
|
+
err('Omegga is not running');
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this.omegga.writeln(args.join(' '));
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
ban: {
|
|
128
|
+
desc: 'ban a player',
|
|
129
|
+
fn(...args) {
|
|
130
|
+
if (!this.omegga.started) {
|
|
131
|
+
err('Omegga is not running');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (!args.length) {
|
|
135
|
+
return err('usage:', '/ban <name|id> [duration in mins] [reason]'.yellow);
|
|
136
|
+
}
|
|
137
|
+
this.omegga.writeln('Chat.Command /ban ' + args.join(' '));
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
unban: {
|
|
141
|
+
desc: 'unban a player',
|
|
142
|
+
fn(...args) {
|
|
143
|
+
if (!this.omegga.started) {
|
|
144
|
+
err('Omegga is not running');
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (!args.length) {
|
|
148
|
+
return err('usage:', '/unban <name|id>'.yellow);
|
|
149
|
+
}
|
|
150
|
+
this.omegga.writeln('Chat.Command /unban ' + args.join(' '));
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
kick: {
|
|
154
|
+
desc: 'kick a player',
|
|
155
|
+
fn(...args) {
|
|
156
|
+
if (!this.omegga.started) {
|
|
157
|
+
err('Omegga is not running');
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (!args.length) {
|
|
161
|
+
return err('usage:', '/kick <name|id> [reason]'.yellow);
|
|
162
|
+
}
|
|
163
|
+
this.omegga.writeln('Chat.Command /kick ' + args.join(' '));
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
grantrole: {
|
|
167
|
+
desc: 'grant a role to a player',
|
|
168
|
+
fn(...args) {
|
|
169
|
+
if (!this.omegga.started) {
|
|
170
|
+
err('Omegga is not running');
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (!args.length) {
|
|
174
|
+
return err('usage:', '/grantrole <role name> <name|id>'.yellow);
|
|
175
|
+
}
|
|
176
|
+
this.omegga.writeln('Chat.Command /grantrole ' + args.join(' '));
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
revokerole: {
|
|
180
|
+
desc: 'revoke a role from a player',
|
|
181
|
+
fn(...args) {
|
|
182
|
+
if (!this.omegga.started) {
|
|
183
|
+
err('Omegga is not running');
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (!args.length) {
|
|
187
|
+
return err('usage:', '/revokerole <role name> <name|id>'.yellow);
|
|
188
|
+
}
|
|
189
|
+
this.omegga.writeln('Chat.Command /revokerole ' + args.join(' '));
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
clearbricks: {
|
|
193
|
+
desc: "clear a player's bricks",
|
|
194
|
+
fn(...args) {
|
|
195
|
+
if (!this.omegga.started) {
|
|
196
|
+
err('Omegga is not running');
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (!args.length) {
|
|
200
|
+
return err('usage:', '/clearbricks <name>'.yellow);
|
|
201
|
+
}
|
|
202
|
+
this.omegga.writeln(`Bricks.Clear "${args.join(' ')}"`);
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
clearallbricks: {
|
|
206
|
+
desc: 'clear all bricks',
|
|
207
|
+
fn() {
|
|
208
|
+
if (!this.omegga.started) {
|
|
209
|
+
err('Omegga is not running');
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
this.omegga.writeln('Bricks.ClearAll');
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
status: {
|
|
216
|
+
desc: 'display server status information. brick count, online players, etc',
|
|
217
|
+
async fn() {
|
|
218
|
+
if (!this.omegga.started) {
|
|
219
|
+
err('Omegga is not running');
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const msToTime = (ms) => new Date(ms).toISOString().slice(11, 19);
|
|
223
|
+
try {
|
|
224
|
+
const status = await this.omegga.getServerStatus();
|
|
225
|
+
log('Server Status');
|
|
226
|
+
this.log(`
|
|
227
|
+
${status.serverName.yellow}
|
|
228
|
+
Bricks: ${(status.bricks + '').yellow}
|
|
229
|
+
Components: ${(status.components + '').yellow}
|
|
230
|
+
Uptime: ${msToTime(status.time).yellow}
|
|
231
|
+
Players: ${status.players.length === 0 ? 'none'.grey : ''}
|
|
232
|
+
${status.players
|
|
233
|
+
.map(p => `[${msToTime(p.time).grey}] ${p.name.brightYellow}`)
|
|
234
|
+
.join('\n ')}
|
|
235
|
+
`);
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
err('An error occurred while getting server status');
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
stop: {
|
|
243
|
+
desc: 'stop the server and close Omegga',
|
|
244
|
+
async fn() {
|
|
245
|
+
log('Stopping server...');
|
|
246
|
+
await this.omegga.stop();
|
|
247
|
+
process.exit();
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
kill: {
|
|
251
|
+
desc: 'forcefully kill brickadia server process without closing omegga',
|
|
252
|
+
async fn() {
|
|
253
|
+
log('Stopping server...');
|
|
254
|
+
await this.omegga.stop();
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
save: {
|
|
258
|
+
desc: 'Save bricks to a specified file',
|
|
259
|
+
async fn(...args) {
|
|
260
|
+
const name = args.join(' ');
|
|
261
|
+
if (!name.length)
|
|
262
|
+
return err('usage:', '/save <name>'.yellow);
|
|
263
|
+
log('Saving bricks');
|
|
264
|
+
this.omegga.saveBricks(name);
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
load: {
|
|
268
|
+
desc: 'Load bricks from a specified file',
|
|
269
|
+
async fn(...args) {
|
|
270
|
+
const name = args.join(' ');
|
|
271
|
+
if (!name.length)
|
|
272
|
+
return err('usage:', '/load <name>'.yellow);
|
|
273
|
+
log('Loading bricks');
|
|
274
|
+
this.omegga.loadBricks(name);
|
|
275
|
+
},
|
|
276
|
+
},
|
|
277
|
+
start: {
|
|
278
|
+
desc: 'start the server if it is stopped',
|
|
279
|
+
fn() {
|
|
280
|
+
if (!this.omegga ||
|
|
281
|
+
(this.omegga && (this.omegga.starting || this.omegga.started))) {
|
|
282
|
+
err('Omegga is already running');
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
log('Starting server...');
|
|
286
|
+
this.omegga.start();
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
reload: {
|
|
290
|
+
desc: 'reload available plugins',
|
|
291
|
+
async fn() {
|
|
292
|
+
if (!this.omegga.pluginLoader) {
|
|
293
|
+
err('Omegga is not using plugins');
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
log('Unloading current plugins');
|
|
297
|
+
let success = await this.omegga.pluginLoader.unload();
|
|
298
|
+
if (!success) {
|
|
299
|
+
err('Could not unload all plugins');
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
log('Scanning for new plugins');
|
|
303
|
+
success = await this.omegga.pluginLoader.scan();
|
|
304
|
+
if (!success) {
|
|
305
|
+
err('Could not scan for plugins');
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
log('Starting plugins');
|
|
309
|
+
success = await this.omegga.pluginLoader.reload();
|
|
310
|
+
if (success) {
|
|
311
|
+
const plugins = this.omegga.pluginLoader.plugins
|
|
312
|
+
.filter(p => p.isLoaded())
|
|
313
|
+
.map(p => p.getName());
|
|
314
|
+
log('Loaded', (plugins.length + '').yellow, 'plugins:', plugins);
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
err('Could not load all plugins');
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
}).forEach(([cmd, { desc, fn }]) => this.addCommand(cmd, desc, fn));
|
|
322
|
+
}
|
|
323
|
+
// add a command
|
|
324
|
+
addCommand(name, desc, fn) {
|
|
325
|
+
this.commands[name] = { name, desc, fn: fn.bind(this) };
|
|
326
|
+
}
|
|
327
|
+
async handleLine(line) {
|
|
328
|
+
if (line.startsWith('/')) {
|
|
329
|
+
const [cmd, ...args] = line.slice(1).split(' ');
|
|
330
|
+
if (!this.commands[cmd]) {
|
|
331
|
+
err(`unrecognized command /${cmd.underline}. Type /help for more info`.red);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
try {
|
|
335
|
+
const res = this.commands[cmd].fn.bind(this)(...args);
|
|
336
|
+
if (res instanceof Promise) {
|
|
337
|
+
await res;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
catch (e) {
|
|
341
|
+
err('unhandled terminal error', e);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
else if (line.trim().length > 0) {
|
|
346
|
+
if (this.omegga.started) {
|
|
347
|
+
// broadcast when the chat does not start with a command
|
|
348
|
+
this.omegga.broadcast(`"[<b><color=\\"ff00ff\\">SERVER</></>]: ${(0, chat_1.sanitize)(line)}"`);
|
|
349
|
+
process.stdout.clearLine(0);
|
|
350
|
+
this.log(`[${'SERVER'.brightMagenta.underline}]: ${line}`);
|
|
351
|
+
// if omegga is running a webserver - send this message in the chat log
|
|
352
|
+
if (this.omegga.webserver) {
|
|
353
|
+
const user = { name: 'SERVER', id: '', web: true, color: 'ff00ff' };
|
|
354
|
+
// create database entry, send to web ui
|
|
355
|
+
this.omegga.webserver.io
|
|
356
|
+
.to('chat')
|
|
357
|
+
.emit('chat', await this.omegga.webserver.database.addChatLog('msg', user, line));
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
err('Server is not started yet. type'.red, '/help'.yellow, 'for more info'.red);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
// let readline render a log without interrupting user input
|
|
366
|
+
log(...args) {
|
|
367
|
+
process.stdout.clearLine(0);
|
|
368
|
+
process.stdout.cursorTo(0);
|
|
369
|
+
console.log(...args);
|
|
370
|
+
this.rl.prompt(true);
|
|
371
|
+
}
|
|
372
|
+
// let readline render a debug log without interrupting user input
|
|
373
|
+
debug(...args) {
|
|
374
|
+
process.stdout.clearLine(0);
|
|
375
|
+
process.stdout.cursorTo(0);
|
|
376
|
+
console.debug(...args);
|
|
377
|
+
this.rl.prompt(true);
|
|
378
|
+
}
|
|
379
|
+
// let readline render a warning log without interrupting user input
|
|
380
|
+
warn(...args) {
|
|
381
|
+
process.stdout.clearLine(0);
|
|
382
|
+
process.stdout.cursorTo(0);
|
|
383
|
+
console.warn(...args);
|
|
384
|
+
this.rl.prompt(true);
|
|
385
|
+
}
|
|
386
|
+
// let readline render an error log without interrupting user input
|
|
387
|
+
error(...args) {
|
|
388
|
+
process.stdout.clearLine(0);
|
|
389
|
+
process.stdout.cursorTo(0);
|
|
390
|
+
console.error(...args);
|
|
391
|
+
this.rl.prompt(true);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
exports.default = Terminal;
|
|
395
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/cli/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorizer.d.ts","sourceRoot":"","sources":["../../src/config/authorizer.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,UAAU,UAAW,MAAM,YAAY,MAAM,qBAwB/C,CAAC;AAEL,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Determine if email+password combo is valid
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const server_1 = __importDefault(require("../brickadia/server"));
|
|
10
|
+
const _config_1 = require("./");
|
|
11
|
+
const softconfig_1 = __importDefault(require("../softconfig"));
|
|
12
|
+
const invalidRegExp = /^(Error: AuthState is Invalid on dedicated server - exiting\.|Changing AuthState from \w+ to Invalid\.)$/;
|
|
13
|
+
const validRegExp = /^Changing AuthState from \w+ to ValidOnline\.$/;
|
|
14
|
+
const authorizer = (email, password) => new Promise(resolve => {
|
|
15
|
+
// create a server with these credentials
|
|
16
|
+
const server = new server_1.default(softconfig_1.default.DATA_PATH, {
|
|
17
|
+
credentials: { email, password },
|
|
18
|
+
server: {
|
|
19
|
+
port: 7775,
|
|
20
|
+
__LEGACY: _config_1.store.get('legacyBin'),
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
// wait for the invalid auth line or valid auth line, then kill the server
|
|
24
|
+
server.on('line', line => {
|
|
25
|
+
if (line.match(invalidRegExp)) {
|
|
26
|
+
server.stop();
|
|
27
|
+
resolve(false);
|
|
28
|
+
}
|
|
29
|
+
else if (line.match(validRegExp)) {
|
|
30
|
+
server.stop();
|
|
31
|
+
resolve(true);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// start the server
|
|
35
|
+
server.start();
|
|
36
|
+
});
|
|
37
|
+
exports.default = authorizer;
|
|
38
|
+
//# sourceMappingURL=authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../src/config/authorizer.ts"],"names":[],"mappings":";AAAA;;EAEE;;;;;AAEF,iEAAgD;AAChD,gCAAgC;AAChC,+DAAkC;AAElC,MAAM,aAAa,GACjB,0GAA0G,CAAC;AAC7G,MAAM,WAAW,GAAG,gDAAgD,CAAC;AAErE,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CACrD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACpB,yCAAyC;IACzC,MAAM,MAAM,GAAG,IAAI,gBAAe,CAAC,oBAAM,CAAC,SAAS,EAAE;QACnD,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChC,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC;SACjC;KACF,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC7B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAClC,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;IACH,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_js.d.ts","sourceRoot":"","sources":["../../../src/config/formats/format_js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAsB;AAEnD,QAAA,MAAM,SAAS,EAAE,aAKhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const format_js = {
|
|
4
|
+
extension: 'js',
|
|
5
|
+
encoding: 'string',
|
|
6
|
+
reader: str => JSON.parse(str),
|
|
7
|
+
writer: blob => JSON.stringify(blob, null, 2),
|
|
8
|
+
};
|
|
9
|
+
exports.default = format_js;
|
|
10
|
+
//# sourceMappingURL=format_js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_js.js","sourceRoot":"","sources":["../../../src/config/formats/format_js.ts"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAkB;IAC/B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;CAC9C,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_yml.d.ts","sourceRoot":"","sources":["../../../src/config/formats/format_yml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,aAAa,EAAE,iBAAsB;AAG5D,QAAA,MAAM,WAAW,EAAE,aAKlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 js_yaml_1 = __importDefault(require("js-yaml"));
|
|
7
|
+
const format_yaml = {
|
|
8
|
+
extension: 'yml',
|
|
9
|
+
encoding: 'string',
|
|
10
|
+
reader: str => js_yaml_1.default.load(str),
|
|
11
|
+
writer: blob => js_yaml_1.default.dump(blob),
|
|
12
|
+
};
|
|
13
|
+
exports.default = format_yaml;
|
|
14
|
+
//# sourceMappingURL=format_yml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_yml.js","sourceRoot":"","sources":["../../../src/config/formats/format_yml.ts"],"names":[],"mappings":";;;;;AACA,sDAA2B;AAE3B,MAAM,WAAW,GAAkB;IACjC,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAI,CAAC,IAAI,CAAC,GAAG,CAAY;IACxC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAI,CAAC,IAAI,CAAC,IAAI,CAAC;CAChC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Configstore from 'configstore';
|
|
2
|
+
import { IConfig, IConfigFormat } from './types';
|
|
3
|
+
export * from './types';
|
|
4
|
+
export declare const store: Configstore;
|
|
5
|
+
export declare const defaultConfig: IConfig;
|
|
6
|
+
export declare const write: (path: string, blob: IConfig) => void;
|
|
7
|
+
export declare const read: (path?: string) => IConfig;
|
|
8
|
+
export declare const find: (dir?: string) => string;
|
|
9
|
+
export * from './types';
|
|
10
|
+
declare const _default: {
|
|
11
|
+
store: Configstore;
|
|
12
|
+
write: (path: string, blob: IConfig) => void;
|
|
13
|
+
read: (path?: string) => IConfig;
|
|
14
|
+
find: (dir?: string) => string;
|
|
15
|
+
defaultConfig: IConfig;
|
|
16
|
+
formats: IConfigFormat[];
|
|
17
|
+
};
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AAKtC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjD,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,KAAK,aASjB,CAAC;AA4CF,eAAO,MAAM,aAAa,EAAE,OAe3B,CAAC;AAGF,eAAO,MAAM,KAAK,uCAAkB,CAAC;AAGrC,eAAO,MAAM,IAAI,4BAAkB,CAAC;AAGpC,eAAO,MAAM,IAAI,0BAUhB,CAAC;AAEF,cAAc,SAAS,CAAC;;;;;;;;;AAExB,wBAAoE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.find = exports.read = exports.write = exports.defaultConfig = exports.store = void 0;
|
|
21
|
+
const configstore_1 = __importDefault(require("configstore"));
|
|
22
|
+
const fs_1 = __importDefault(require("fs"));
|
|
23
|
+
const path_1 = __importDefault(require("path"));
|
|
24
|
+
const softconfig_1 = __importDefault(require("../softconfig"));
|
|
25
|
+
const reader_1 = __importDefault(require("./reader"));
|
|
26
|
+
const writer_1 = __importDefault(require("./writer"));
|
|
27
|
+
__exportStar(require("./types"), exports);
|
|
28
|
+
exports.store = new configstore_1.default(softconfig_1.default.PROJECT_NAME, {
|
|
29
|
+
defaultOmegga: '.',
|
|
30
|
+
legacyBin: '',
|
|
31
|
+
}, {
|
|
32
|
+
globalConfigPath: true,
|
|
33
|
+
});
|
|
34
|
+
// find all format_EXT.js files in the formats path
|
|
35
|
+
const formats = fs_1.default
|
|
36
|
+
.readdirSync(path_1.default.join(__dirname, 'formats'))
|
|
37
|
+
// all formats match the format_EXT.js pattern
|
|
38
|
+
.filter(file => file.match(/format_[a-z]+\.js$/))
|
|
39
|
+
// require all the formats
|
|
40
|
+
.map(file => require(path_1.default.join(__dirname, 'formats', file)).default)
|
|
41
|
+
// format has a valid extension, reader, and writer
|
|
42
|
+
.filter(format => format.extension &&
|
|
43
|
+
format.extension.match(/^[a-z]+$/) &&
|
|
44
|
+
format.encoding &&
|
|
45
|
+
format.encoding.match(/^(string|buffer)$/) &&
|
|
46
|
+
format.reader &&
|
|
47
|
+
typeof format.reader === 'function' &&
|
|
48
|
+
format.writer &&
|
|
49
|
+
typeof format.writer === 'function');
|
|
50
|
+
// create read/write funcs for the provided formats
|
|
51
|
+
exports.defaultConfig = {
|
|
52
|
+
omegga: {
|
|
53
|
+
webui: true,
|
|
54
|
+
port: process.env.OMEGGA_PORT
|
|
55
|
+
? Number(process.env.OMEGGA_PORT)
|
|
56
|
+
: softconfig_1.default.DEFAULT_PORT,
|
|
57
|
+
https: true,
|
|
58
|
+
},
|
|
59
|
+
server: {
|
|
60
|
+
port: process.env.BRICKADIA_PORT
|
|
61
|
+
? Number(process.env.BRICKADIA_PORT)
|
|
62
|
+
: 7777,
|
|
63
|
+
map: 'Plate',
|
|
64
|
+
branch: 'main-server',
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
// Writes save data to a file
|
|
68
|
+
exports.write = (0, writer_1.default)(formats);
|
|
69
|
+
// reads save data from a file
|
|
70
|
+
exports.read = (0, reader_1.default)(formats);
|
|
71
|
+
// open config at a specified path
|
|
72
|
+
const find = (dir = '.') => {
|
|
73
|
+
// find the first config file matching these config file names
|
|
74
|
+
for (const f of softconfig_1.default.CONFIG_FILENAMES) {
|
|
75
|
+
for (const { extension } of formats) {
|
|
76
|
+
const file = path_1.default.join(dir, f + '.' + extension);
|
|
77
|
+
if (fs_1.default.existsSync(file))
|
|
78
|
+
return file;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
};
|
|
83
|
+
exports.find = find;
|
|
84
|
+
__exportStar(require("./types"), exports);
|
|
85
|
+
exports.default = { store: exports.store, write: exports.write, read: exports.read, find: exports.find, defaultConfig: exports.defaultConfig, formats };
|
|
86
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAAsC;AACtC,4CAAoB;AACpB,gDAAwB;AACxB,+DAAgC;AAChC,sDAA8B;AAE9B,sDAA8B;AAC9B,0CAAwB;AAEX,QAAA,KAAK,GAAG,IAAI,qBAAW,CAClC,oBAAI,CAAC,YAAY,EACjB;IACE,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,EAAE;CACd,EACD;IACE,gBAAgB,EAAE,IAAI;CACvB,CACF,CAAC;AAEF,mDAAmD;AACnD,MAAM,OAAO,GAAoB,YAAE;KAChC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,8CAA8C;KAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,0BAA0B;KACzB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,mDAAmD;KAClD,MAAM,CACL,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,SAAS;IAChB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;IAClC,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAC1C,MAAM,CAAC,MAAM;IACb,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;IACnC,MAAM,CAAC,MAAM;IACb,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,CACtC,CAAC;AAEJ,mDAAmD;AACtC,QAAA,aAAa,GAAY;IACpC,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,oBAAI,CAAC,YAAY;QACrB,KAAK,EAAE,IAAI;KACZ;IACD,MAAM,EAAE;QACN,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,aAAa;KACtB;CACF,CAAC;AAEF,6BAA6B;AAChB,QAAA,KAAK,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC;AAErC,8BAA8B;AACjB,QAAA,IAAI,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC;AAEpC,kCAAkC;AAC3B,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE;IAChC,8DAA8D;IAC9D,KAAK,MAAM,CAAC,IAAI,oBAAI,CAAC,gBAAgB,EAAE;QACrC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,OAAO,EAAE;YACnC,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;YACjD,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;SACtC;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAVW,QAAA,IAAI,QAUf;AAEF,0CAAwB;AAExB,kBAAe,EAAE,KAAK,EAAL,aAAK,EAAE,KAAK,EAAL,aAAK,EAAE,IAAI,EAAJ,YAAI,EAAE,IAAI,EAAJ,YAAI,EAAE,aAAa,EAAb,qBAAa,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/config/reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,QAAA,MAAM,MAAM,YACA,aAAa,EAAE,aAClB,MAAM,8BAsBZ,CAAC;AAEJ,eAAe,MAAM,CAAC"}
|