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.
- package/README.md +20 -1
- package/dist/brickadia/config.js +26 -90
- package/dist/brickadia/config.js.map +1 -1
- package/dist/brickadia/server.js +294 -293
- package/dist/brickadia/server.js.map +1 -1
- package/dist/cli/auth.js +149 -177
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/config.js +64 -66
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +14 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installer.js +37 -43
- package/dist/cli/installer.js.map +1 -1
- package/dist/cli/plugin.js +651 -682
- package/dist/cli/plugin.js.map +1 -1
- package/dist/cli/terminal.js +811 -733
- package/dist/cli/terminal.js.map +1 -1
- package/dist/config/formats/format_js.js +6 -6
- package/dist/config/formats/format_js.js.map +1 -1
- package/dist/config/formats/format_yml.js +7 -10
- package/dist/config/formats/format_yml.js.map +1 -1
- package/dist/config/index.js +46 -68
- package/dist/config/index.js.map +1 -1
- package/dist/config/reader.js +16 -27
- package/dist/config/reader.js.map +1 -1
- package/dist/config/validator.js +23 -25
- package/dist/config/validator.js.map +1 -1
- package/dist/config/writer.js +11 -21
- package/dist/config/writer.js.map +1 -1
- package/dist/index.js +18 -64
- package/dist/index.js.map +1 -1
- package/dist/info/default_commands.json.js +39 -0
- package/dist/info/default_commands.json.js.map +1 -0
- package/dist/logger.js +61 -60
- package/dist/logger.js.map +1 -1
- package/dist/main.js +424 -471
- package/dist/main.js.map +1 -1
- package/dist/omegga/auth.js +101 -148
- package/dist/omegga/auth.js.map +1 -1
- package/dist/omegga/commandInjector.js +261 -251
- package/dist/omegga/commandInjector.js.map +1 -1
- package/dist/omegga/index.js +14 -52
- package/dist/omegga/index.js.map +1 -1
- package/dist/omegga/logWrangler.js +224 -275
- package/dist/omegga/logWrangler.js.map +1 -1
- package/dist/omegga/matchers/auth.js +36 -50
- package/dist/omegga/matchers/auth.js.map +1 -1
- package/dist/omegga/matchers/chat.js +49 -71
- package/dist/omegga/matchers/chat.js.map +1 -1
- package/dist/omegga/matchers/command.js +25 -36
- package/dist/omegga/matchers/command.js.map +1 -1
- package/dist/omegga/matchers/exit.js +15 -18
- package/dist/omegga/matchers/exit.js.map +1 -1
- package/dist/omegga/matchers/index.js +26 -40
- package/dist/omegga/matchers/index.js.map +1 -1
- package/dist/omegga/matchers/init.js +20 -23
- package/dist/omegga/matchers/init.js.map +1 -1
- package/dist/omegga/matchers/interact.js +58 -64
- package/dist/omegga/matchers/interact.js.map +1 -1
- package/dist/omegga/matchers/join.js +74 -95
- package/dist/omegga/matchers/join.js.map +1 -1
- package/dist/omegga/matchers/leave.js +43 -56
- package/dist/omegga/matchers/leave.js.map +1 -1
- package/dist/omegga/matchers/mapChange.js +26 -35
- package/dist/omegga/matchers/mapChange.js.map +1 -1
- package/dist/omegga/matchers/minigameJoin.js +24 -31
- package/dist/omegga/matchers/minigameJoin.js.map +1 -1
- package/dist/omegga/matchers/version.js +42 -49
- package/dist/omegga/matchers/version.js.map +1 -1
- package/dist/omegga/player.js +527 -527
- package/dist/omegga/player.js.map +1 -1
- package/dist/omegga/plugin/interface.js +91 -98
- package/dist/omegga/plugin/interface.js.map +1 -1
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +524 -429
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +282 -294
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -1
- package/dist/omegga/plugin/plugin_node_safe.js +365 -393
- package/dist/omegga/plugin/plugin_node_safe.js.map +1 -1
- package/dist/omegga/plugin/plugin_node_unsafe.js +119 -179
- package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -1
- package/dist/omegga/plugin.js +402 -347
- package/dist/omegga/plugin.js.map +1 -1
- package/dist/omegga/server.js +742 -774
- package/dist/omegga/server.js.map +1 -1
- package/dist/omegga/wrapper.js +64 -91
- package/dist/omegga/wrapper.js.map +1 -1
- package/dist/plugin.js +11 -31
- package/dist/plugin.js.map +1 -1
- package/dist/softconfig.js +121 -100
- package/dist/softconfig.js.map +1 -1
- package/dist/updater/steam.js +97 -112
- package/dist/updater/steam.js.map +1 -1
- package/dist/util/brdb.js +496 -528
- package/dist/util/brdb.js.map +1 -1
- package/dist/util/brick/checkBounds.js +11 -15
- package/dist/util/brick/checkBounds.js.map +1 -1
- package/dist/util/brick/constants.js +723 -174
- package/dist/util/brick/constants.js.map +1 -1
- package/dist/util/brick/displayName.js +204 -211
- package/dist/util/brick/displayName.js.map +1 -1
- package/dist/util/brick/getBounds.js +29 -41
- package/dist/util/brick/getBounds.js.map +1 -1
- package/dist/util/brick/getBrickSize.js +6 -7
- package/dist/util/brick/getBrickSize.js.map +1 -1
- package/dist/util/brick/getScaleAxis.js +24 -30
- package/dist/util/brick/getScaleAxis.js.map +1 -1
- package/dist/util/brick/index.js +8 -29
- package/dist/util/brick/index.js.map +1 -1
- package/dist/util/brick/rotate.js +29 -34
- package/dist/util/brick/rotate.js.map +1 -1
- package/dist/util/brick/setOwnership.js +13 -19
- package/dist/util/brick/setOwnership.js.map +1 -1
- package/dist/util/chat.js +53 -44
- package/dist/util/chat.js.map +1 -1
- package/dist/util/color.js +112 -124
- package/dist/util/color.js.map +1 -1
- package/dist/util/file.js +54 -98
- package/dist/util/file.js.map +1 -1
- package/dist/util/index.js +84 -106
- package/dist/util/index.js.map +1 -1
- package/dist/util/map.js +18 -20
- package/dist/util/map.js.map +1 -1
- package/dist/util/pattern.js +6 -9
- package/dist/util/pattern.js.map +1 -1
- package/dist/util/time.js +31 -34
- package/dist/util/time.js.map +1 -1
- package/dist/util/uuid.js +10 -8
- package/dist/util/uuid.js.map +1 -1
- package/dist/util/wsl.js +19 -25
- package/dist/util/wsl.js.map +1 -1
- package/dist/version.js +7 -9
- package/dist/version.js.map +1 -1
- package/dist/webserver/backend/api.js +784 -874
- package/dist/webserver/backend/api.js.map +1 -1
- package/dist/webserver/backend/calendar.js +14 -17
- package/dist/webserver/backend/calendar.js.map +1 -1
- package/dist/webserver/backend/database.js +563 -613
- package/dist/webserver/backend/database.js.map +1 -1
- package/dist/webserver/backend/index.js +153 -191
- package/dist/webserver/backend/index.js.map +1 -1
- package/dist/webserver/backend/metrics.js +219 -248
- package/dist/webserver/backend/metrics.js.map +1 -1
- package/dist/webserver/backend/util.js +47 -68
- package/dist/webserver/backend/util.js.map +1 -1
- package/dist/worker.js +322 -0
- package/dist/worker.js.map +1 -0
- package/package.json +14 -10
- package/templates/safe-ts/omegga.d.ts +1 -1
- package/vite.backend.config.mts +46 -0
- package/vite.frontend.config.mts +58 -0
- package/vitest.backend.config.mts +7 -0
- package/dist/brickadia/config.d.ts +0 -3
- package/dist/brickadia/presets.d.ts +0 -65
- package/dist/brickadia/presets.js +0 -3
- package/dist/brickadia/presets.js.map +0 -1
- package/dist/brickadia/server.d.ts +0 -36
- package/dist/brickadia/types.d.ts +0 -45
- package/dist/brickadia/types.js +0 -3
- package/dist/brickadia/types.js.map +0 -1
- package/dist/cli/auth.d.ts +0 -26
- package/dist/cli/config.d.ts +0 -10
- package/dist/cli/index.d.ts +0 -30
- package/dist/cli/installer.d.ts +0 -1
- package/dist/cli/plugin.d.ts +0 -22
- package/dist/cli/terminal.d.ts +0 -25
- package/dist/config/authorizer.d.ts +0 -2
- package/dist/config/authorizer.js +0 -38
- package/dist/config/authorizer.js.map +0 -1
- package/dist/config/formats/format_js.d.ts +0 -3
- package/dist/config/formats/format_yml.d.ts +0 -3
- package/dist/config/index.d.ts +0 -18
- package/dist/config/reader.d.ts +0 -3
- package/dist/config/types.d.ts +0 -50
- package/dist/config/types.js +0 -3
- package/dist/config/types.js.map +0 -1
- package/dist/config/validator.d.ts +0 -6
- package/dist/config/writer.d.ts +0 -3
- package/dist/index.d.ts +0 -22
- package/dist/info/default_commands.json +0 -29
- package/dist/logger.d.ts +0 -41
- package/dist/main.d.ts +0 -1
- package/dist/omegga/auth.d.ts +0 -9
- package/dist/omegga/commandInjector.d.ts +0 -35
- package/dist/omegga/index.d.ts +0 -7
- package/dist/omegga/logWrangler.d.ts +0 -32
- package/dist/omegga/matchers/auth.d.ts +0 -10
- package/dist/omegga/matchers/chat.d.ts +0 -10
- package/dist/omegga/matchers/command.d.ts +0 -7
- package/dist/omegga/matchers/exit.d.ts +0 -3
- package/dist/omegga/matchers/index.d.ts +0 -3
- package/dist/omegga/matchers/init.d.ts +0 -3
- package/dist/omegga/matchers/interact.d.ts +0 -4
- package/dist/omegga/matchers/join.d.ts +0 -4
- package/dist/omegga/matchers/leave.d.ts +0 -4
- package/dist/omegga/matchers/mapChange.d.ts +0 -3
- package/dist/omegga/matchers/minigameJoin.d.ts +0 -9
- package/dist/omegga/matchers/types.d.ts +0 -5
- package/dist/omegga/matchers/types.js +0 -3
- package/dist/omegga/matchers/types.js.map +0 -1
- package/dist/omegga/matchers/version.d.ts +0 -3
- package/dist/omegga/player.d.ts +0 -81
- package/dist/omegga/plugin/interface.d.ts +0 -30
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +0 -23
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +0 -145
- package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +0 -1
- package/dist/omegga/plugin/plugin_node_safe/worker.js +0 -367
- package/dist/omegga/plugin/plugin_node_safe/worker.js.map +0 -1
- package/dist/omegga/plugin/plugin_node_safe.d.ts +0 -23
- package/dist/omegga/plugin/plugin_node_unsafe.d.ts +0 -13
- package/dist/omegga/plugin.d.ts +0 -63
- package/dist/omegga/server.d.ts +0 -166
- package/dist/omegga/types.d.ts +0 -49
- package/dist/omegga/types.js +0 -3
- package/dist/omegga/types.js.map +0 -1
- package/dist/omegga/wrapper.d.ts +0 -32
- package/dist/plugin.d.ts +0 -916
- package/dist/softconfig.d.ts +0 -67
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/updater/index.d.ts +0 -1
- package/dist/updater/index.js +0 -10
- package/dist/updater/index.js.map +0 -1
- package/dist/updater/steam.d.ts +0 -52
- package/dist/util/brdb.d.ts +0 -31
- package/dist/util/brick/checkBounds.d.ts +0 -8
- package/dist/util/brick/constants.d.ts +0 -18
- package/dist/util/brick/displayName.d.ts +0 -7
- package/dist/util/brick/getBounds.d.ts +0 -5
- package/dist/util/brick/getBrickSize.d.ts +0 -3
- package/dist/util/brick/getScaleAxis.d.ts +0 -3
- package/dist/util/brick/index.d.ts +0 -14
- package/dist/util/brick/rotate.d.ts +0 -16
- package/dist/util/brick/setOwnership.d.ts +0 -12
- package/dist/util/chat.d.ts +0 -23
- package/dist/util/color.d.ts +0 -13
- package/dist/util/file.d.ts +0 -5
- package/dist/util/index.d.ts +0 -183
- package/dist/util/map.d.ts +0 -6
- package/dist/util/pattern.d.ts +0 -1
- package/dist/util/time.d.ts +0 -39
- package/dist/util/uuid.d.ts +0 -3
- package/dist/util/wsl.d.ts +0 -2
- package/dist/version.d.ts +0 -2
- package/dist/webserver/backend/api.d.ts +0 -115
- package/dist/webserver/backend/calendar.d.ts +0 -5
- package/dist/webserver/backend/database.d.ts +0 -150
- package/dist/webserver/backend/index.d.ts +0 -30
- package/dist/webserver/backend/metrics.d.ts +0 -3
- package/dist/webserver/backend/types.d.ts +0 -114
- package/dist/webserver/backend/types.js +0 -3
- package/dist/webserver/backend/types.js.map +0 -1
- package/dist/webserver/backend/util.d.ts +0 -2
- package/dist/webserver/index.d.ts +0 -2
- package/dist/webserver/index.js +0 -9
- package/dist/webserver/index.js.map +0 -1
package/dist/main.js
CHANGED
|
@@ -1,499 +1,452 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
const softconfig_1 = __importStar(require("./softconfig"));
|
|
40
|
-
const installer_1 = require("./cli/installer");
|
|
41
|
-
const config = __importStar(require("./config"));
|
|
42
|
-
const server_1 = __importDefault(require("./omegga/server"));
|
|
43
|
-
const file = __importStar(require("./util/file"));
|
|
2
|
+
const softconfig = require("./softconfig.js");
|
|
3
|
+
const installer = require("./cli/installer.js");
|
|
4
|
+
const index = require("./config/index.js");
|
|
5
|
+
const server = require("./omegga/server.js");
|
|
6
|
+
const file = require("./util/file.js");
|
|
44
7
|
require("colors");
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
})
|
|
61
|
-
: null;
|
|
62
|
-
notifier === null || notifier === void 0 ? void 0 : notifier.notify();
|
|
63
|
-
// TODO: let omegga bundle config (roles, bans, server config) to zip
|
|
64
|
-
// TODO: let omegga unbundle config from zip to current omegga dir
|
|
65
|
-
// write a default config file
|
|
8
|
+
const commander = require("commander");
|
|
9
|
+
const hasbin = require("hasbin");
|
|
10
|
+
const fs = require("node:fs");
|
|
11
|
+
const path = require("node:path");
|
|
12
|
+
const prompts = require("prompts");
|
|
13
|
+
const updateNotifier = require("update-notifier-cjs");
|
|
14
|
+
const index$1 = require("./cli/index.js");
|
|
15
|
+
const logger = require("./logger.js");
|
|
16
|
+
const steam = require("./updater/steam.js");
|
|
17
|
+
const version = require("./version.js");
|
|
18
|
+
const notifier = process.env.PACKAGE_NOTIFIER !== "false" ? updateNotifier({
|
|
19
|
+
pkg: version.PKG,
|
|
20
|
+
updateCheckInterval: 1e3 * 60 * 60 * 24
|
|
21
|
+
}) : null;
|
|
22
|
+
notifier?.notify();
|
|
66
23
|
const createDefaultConfig = () => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
24
|
+
logger.default.logp("Created default config file");
|
|
25
|
+
index.write(softconfig.default.CONFIG_FILENAMES[0] + ".yml", index.defaultConfig);
|
|
26
|
+
file.mkdir(`data/${softconfig.default.CONFIG_SAVED_DIR}/Builds`);
|
|
27
|
+
file.mkdir("plugins");
|
|
28
|
+
return index.defaultConfig;
|
|
72
29
|
};
|
|
73
|
-
const program =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
30
|
+
const program = commander.description(version.PKG.description).version(version.VERSION).option(
|
|
31
|
+
"-d, --debug",
|
|
32
|
+
"Print all console logs rather than just chat messages"
|
|
33
|
+
).option(
|
|
34
|
+
"-u, --update",
|
|
35
|
+
"Check for brickadia updates (on steam) and install them if available"
|
|
36
|
+
).option("-v, --verbose", "Print extra messages for debugging purposes").action(async () => {
|
|
37
|
+
const { debug, verbose, update } = program.opts();
|
|
38
|
+
if (program.args.length > 0) {
|
|
39
|
+
program.help();
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
43
|
+
let workDir = index.store.get("defaultOmegga");
|
|
44
|
+
logger.default.verbose("Using working directory", workDir?.yellow);
|
|
45
|
+
if (index.find(".")) workDir = ".";
|
|
46
|
+
if (!fs.existsSync(workDir)) {
|
|
47
|
+
logger.default.errorp("configured omegga default path does not exist");
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
if (!fs.statSync(workDir).isDirectory) {
|
|
51
|
+
logger.default.errorp("configured omegga default path is not a directory");
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
const configFile = index.find(workDir);
|
|
55
|
+
logger.default.verbose("Target config file:", configFile?.yellow);
|
|
56
|
+
let conf;
|
|
57
|
+
if (!configFile) {
|
|
58
|
+
logger.default.verbose("Creating a new config");
|
|
59
|
+
conf = createDefaultConfig();
|
|
60
|
+
} else {
|
|
61
|
+
logger.default.verbose("Reading config file");
|
|
62
|
+
try {
|
|
63
|
+
conf = index.read(configFile);
|
|
64
|
+
} catch (error) {
|
|
65
|
+
logger.default.errorp("Error reading config file");
|
|
66
|
+
logger.default.verbose(error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const overrideBinary = softconfig.OVERRIDE_GAME_DIR && path.join(
|
|
70
|
+
softconfig.OVERRIDE_GAME_DIR,
|
|
71
|
+
// from BRICKADIA_DIR env
|
|
72
|
+
softconfig.GAME_BIN_PATH
|
|
73
|
+
);
|
|
74
|
+
const isSteam = !conf?.server?.branch;
|
|
75
|
+
if (overrideBinary) {
|
|
76
|
+
if (!fs.existsSync(overrideBinary)) {
|
|
77
|
+
logger.default.error(
|
|
78
|
+
"Binary",
|
|
79
|
+
overrideBinary.yellow,
|
|
80
|
+
"in",
|
|
81
|
+
"BRICKADIA_DIR".yellow,
|
|
82
|
+
"does not exist!"
|
|
83
|
+
);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
logger.default.verbose(
|
|
87
|
+
"Using override binary",
|
|
88
|
+
overrideBinary.yellow,
|
|
89
|
+
"- skipping download."
|
|
90
|
+
);
|
|
91
|
+
} else if (isSteam) {
|
|
92
|
+
conf.__STEAM = true;
|
|
93
|
+
await setupSteam(conf, update);
|
|
94
|
+
} else {
|
|
95
|
+
logger.default.warnp(
|
|
96
|
+
"Brickadia will be launched with",
|
|
97
|
+
"non-steam launcher".yellow
|
|
98
|
+
);
|
|
99
|
+
if (fs.existsSync(softconfig.default.LOCAL_LAUNCHER)) {
|
|
100
|
+
logger.default.verbose("Using omegga's brickadia-launcher");
|
|
101
|
+
conf.server.__LOCAL = true;
|
|
102
|
+
} else {
|
|
103
|
+
logger.default.verbose("Installing launcher as it's missing");
|
|
104
|
+
await installer.installLauncher();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const globalToken = index$1.auth.getGlobalToken();
|
|
108
|
+
const hasHostingToken = Boolean(
|
|
109
|
+
conf?.credentials?.token || process.env.BRICKADIA_TOKEN || globalToken
|
|
110
|
+
);
|
|
111
|
+
if (hasHostingToken) {
|
|
112
|
+
logger.default.verbose(
|
|
113
|
+
"Skipping auth token generation due to host token presence"
|
|
114
|
+
);
|
|
115
|
+
if (conf?.credentials?.token)
|
|
116
|
+
logger.default.verbose("Found token in config file");
|
|
117
|
+
else if (process.env.BRICKADIA_TOKEN)
|
|
118
|
+
logger.default.verbose("Found token in", "BRICKADIA_TOKEN".yellow);
|
|
119
|
+
else if (globalToken)
|
|
120
|
+
logger.default.verbose("Found token in omegga global config");
|
|
121
|
+
else logger.default.verbose("unreachable - no token found");
|
|
122
|
+
} else if (!index$1.auth.exists(
|
|
123
|
+
path.join(
|
|
124
|
+
workDir,
|
|
125
|
+
softconfig.default.DATA_PATH,
|
|
126
|
+
conf?.server?.savedDir ?? softconfig.default.CONFIG_SAVED_DIR,
|
|
127
|
+
conf?.server?.authDir ?? softconfig.default.CONFIG_AUTH_DIR
|
|
128
|
+
)
|
|
129
|
+
)) {
|
|
130
|
+
const success = await index$1.auth.prompt({
|
|
131
|
+
debug,
|
|
132
|
+
email: conf?.credentials?.["email"] ?? process.env.BRICKADIA_USER,
|
|
133
|
+
password: conf?.credentials?.["password"] ?? process.env.BRICKADIA_PASS,
|
|
134
|
+
isSteam,
|
|
135
|
+
branch: conf?.server?.branch,
|
|
136
|
+
authDir: conf?.server?.authDir,
|
|
137
|
+
savedDir: conf?.server?.savedDir,
|
|
138
|
+
launchArgs: conf?.server?.launchArgs
|
|
139
|
+
});
|
|
140
|
+
if (!success) {
|
|
141
|
+
logger.default.errorp("Start aborted - could not generate auth tokens");
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
logger.default.verbose(
|
|
146
|
+
"Skipping auth token generation due to existing auth files"
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
const options = {
|
|
150
|
+
// default enable web ui (set to false)
|
|
151
|
+
noweb: typeof conf.omegga?.webui === "boolean" && !conf.omegga?.webui,
|
|
152
|
+
// default enable https (set to true, will not be https if it can't generate)
|
|
153
|
+
https: typeof conf.omegga?.https !== "boolean" || conf.omegga?.https,
|
|
154
|
+
port: conf.omegga?.port || softconfig.default.DEFAULT_PORT,
|
|
155
|
+
debug
|
|
156
|
+
};
|
|
157
|
+
logger.default.verbose("Launching with options", options);
|
|
158
|
+
const server$1 = new server.default(workDir, conf, options);
|
|
159
|
+
logger.default.verbose("Created omegga object");
|
|
160
|
+
if (verbose) {
|
|
161
|
+
server$1.on(
|
|
162
|
+
"*",
|
|
163
|
+
(ev) => ev !== "line" && logger.default.verbose("EVENT".green, ev)
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
logger.default.setTerminal(new index$1.Terminal(server$1, options));
|
|
167
|
+
if (notifier?.update) {
|
|
168
|
+
logger.default.logp(
|
|
169
|
+
`Omegga update is available (${("v" + notifier.update.latest).yellow})! Run`,
|
|
170
|
+
"npm i -g omegga".yellow,
|
|
171
|
+
"to update!"
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
if (conf.__STEAM && !update && !conf.server?.steambetaPassword && process.env.STEAM_NOTIFIER !== "false") {
|
|
175
|
+
steam.hasSteamUpdate(conf.server?.steambeta).then((hasUpdate) => {
|
|
176
|
+
if (hasUpdate) {
|
|
177
|
+
logger.default.logp("A server update is available!".brightBlue);
|
|
178
|
+
logger.default.log(
|
|
179
|
+
" Restart with",
|
|
180
|
+
"omegga --update".yellow,
|
|
181
|
+
"to update every start."
|
|
182
|
+
);
|
|
183
|
+
logger.default.log(" Run", "/update".yellow, "to update", "now".green + "!");
|
|
184
|
+
} else {
|
|
185
|
+
logger.default.verbose("No server updates available.");
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
logger.default.logp(
|
|
190
|
+
`Launching brickadia server on port ${("" + (conf.server.port || 7777)).green}...`
|
|
191
|
+
);
|
|
192
|
+
logger.default.verbose("Starting Omegga");
|
|
193
|
+
server$1.start();
|
|
222
194
|
});
|
|
223
|
-
program
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
process.exit(1);
|
|
231
|
-
}
|
|
232
|
-
createDefaultConfig();
|
|
195
|
+
program.command("init").description("Sets up the current directory as a brickadia server").action(async () => {
|
|
196
|
+
const configFile = index.find(".");
|
|
197
|
+
if (configFile) {
|
|
198
|
+
logger.default.errorp("Config file already exists:", configFile.yellow.underline);
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
createDefaultConfig();
|
|
233
202
|
});
|
|
234
|
-
program
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
' for current settings and available fields')
|
|
240
|
-
.action((field, value) => {
|
|
241
|
-
if (!field)
|
|
242
|
-
field = 'list';
|
|
243
|
-
(0, cli_1.config)(field, value, program.opts());
|
|
203
|
+
program.command("config [field] [value]").description(
|
|
204
|
+
"Configure Omegga's default behavior.\nType " + "omegga config list".yellow.underline + " for current settings and available fields"
|
|
205
|
+
).action((field, value) => {
|
|
206
|
+
if (!field) field = "list";
|
|
207
|
+
index$1.config(field, value, program.opts());
|
|
244
208
|
});
|
|
245
|
-
program
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
209
|
+
program.command("auth").option("-g, --global", "Remove global auth files").option("-l, --local", "Remove local auth files").option("-w, --workdir", "Remove configured location auth files").option("-u, --email <email>", "User email (must provide password)").option("-p, --pass <password>", "User password (must provide email)").option("-v, --verbose", "Print extra messages for debugging purposes").description(
|
|
210
|
+
"Generates server auth tokens from brickadia account email+password"
|
|
211
|
+
).action(
|
|
212
|
+
async ({
|
|
213
|
+
email,
|
|
214
|
+
pass: password,
|
|
215
|
+
local: localAuth,
|
|
216
|
+
workDir,
|
|
217
|
+
global: globalAuth
|
|
218
|
+
}) => {
|
|
256
219
|
const { verbose, debug } = program.opts();
|
|
257
|
-
|
|
220
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
258
221
|
let branch, authDir, savedDir, launchArgs;
|
|
259
222
|
let isSteam;
|
|
260
|
-
|
|
261
|
-
if (
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
283
|
-
catch (error) {
|
|
284
|
-
logger_1.default.errorp('Error reading config file');
|
|
285
|
-
logger_1.default.verbose(error);
|
|
223
|
+
if (index.find(".")) workDir = ".";
|
|
224
|
+
if (fs.existsSync(workDir) && fs.statSync(workDir).isDirectory) {
|
|
225
|
+
logger.default.verbose("Using working directory", workDir.yellow);
|
|
226
|
+
const configFile = index.find(workDir);
|
|
227
|
+
logger.default.verbose("Target config file:", configFile?.yellow);
|
|
228
|
+
try {
|
|
229
|
+
const conf = index.read(configFile);
|
|
230
|
+
logger.default.verbose(
|
|
231
|
+
"Auth config:",
|
|
232
|
+
conf?.server ?? "no server config".grey
|
|
233
|
+
);
|
|
234
|
+
branch = conf?.server?.branch;
|
|
235
|
+
authDir = conf?.server?.authDir;
|
|
236
|
+
savedDir = conf?.server?.savedDir;
|
|
237
|
+
launchArgs = conf?.server?.launchArgs;
|
|
238
|
+
isSteam = !conf?.server?.branch;
|
|
239
|
+
if (localAuth && conf?.credentials?.token) {
|
|
240
|
+
logger.default.logp(
|
|
241
|
+
"This server's auth is managed by the token in",
|
|
242
|
+
configFile.yellow
|
|
243
|
+
);
|
|
244
|
+
return;
|
|
286
245
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
246
|
+
} catch (error) {
|
|
247
|
+
logger.default.errorp("Error reading config file");
|
|
248
|
+
logger.default.verbose(error);
|
|
249
|
+
}
|
|
250
|
+
} else {
|
|
251
|
+
logger.default.verbose("Using default working directory", workDir.yellow);
|
|
252
|
+
}
|
|
253
|
+
savedDir ??= softconfig.default.CONFIG_SAVED_DIR;
|
|
254
|
+
const workdirPath = path.join(
|
|
255
|
+
index.store.get("defaultOmegga"),
|
|
256
|
+
`data/${savedDir}/Auth`
|
|
257
|
+
);
|
|
293
258
|
if (globalAuth || localAuth) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
259
|
+
if (globalAuth) {
|
|
260
|
+
const globalAuthPath = path.join(
|
|
261
|
+
softconfig.default.CONFIG_HOME,
|
|
262
|
+
savedDir !== softconfig.default.CONFIG_SAVED_DIR ? savedDir : "",
|
|
263
|
+
authDir ?? softconfig.default.CONFIG_AUTH_DIR
|
|
264
|
+
);
|
|
265
|
+
logger.default.logp("Clearing auth files from", globalAuthPath.yellow);
|
|
266
|
+
index$1.auth.clean(globalAuthPath);
|
|
267
|
+
}
|
|
268
|
+
if (workDir) {
|
|
269
|
+
logger.default.logp("Clearing auth files from", workdirPath.yellow);
|
|
270
|
+
await file.rmdir(workdirPath);
|
|
271
|
+
}
|
|
272
|
+
if (localAuth) {
|
|
273
|
+
const localPath = path.resolve(
|
|
274
|
+
`data/${savedDir}/`,
|
|
275
|
+
authDir ?? softconfig.default.CONFIG_AUTH_DIR
|
|
276
|
+
);
|
|
277
|
+
logger.default.logp("Clearing auth files from", localPath.yellow);
|
|
278
|
+
await file.rmdir(localPath);
|
|
279
|
+
}
|
|
280
|
+
return;
|
|
309
281
|
}
|
|
310
282
|
if (!isSteam) {
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
283
|
+
logger.default.warnp("Authenticating with", "non-steam launcher".yellow);
|
|
284
|
+
}
|
|
285
|
+
index$1.auth.prompt({
|
|
286
|
+
email,
|
|
287
|
+
password,
|
|
288
|
+
debug,
|
|
289
|
+
branch,
|
|
290
|
+
authDir,
|
|
291
|
+
savedDir,
|
|
292
|
+
launchArgs
|
|
321
293
|
});
|
|
294
|
+
}
|
|
295
|
+
);
|
|
296
|
+
program.command("info").alias("n").description(
|
|
297
|
+
"Shows server name, description, port, install info, and installed plugins"
|
|
298
|
+
).action(async () => {
|
|
299
|
+
logger.default.errorp("not implemented yet");
|
|
322
300
|
});
|
|
323
|
-
program
|
|
324
|
-
|
|
325
|
-
.
|
|
326
|
-
.
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
301
|
+
program.command("install <pluginUrl...>").alias("i").option("-f, --force", "Forcefully re-install existing plugin").option("-v, --verbose", "Print extra messages for debugging purposes").description("Installs a plugin to the current brickadia server").action(async (plugins) => {
|
|
302
|
+
if (!hasbin.sync("git")) {
|
|
303
|
+
logger.default.errorp("git".yellow, "must be installed to install plugins.");
|
|
304
|
+
process.exit(1);
|
|
305
|
+
}
|
|
306
|
+
if (!index.find(".")) {
|
|
307
|
+
logger.default.errorp(
|
|
308
|
+
"Not an omegga directory, run ",
|
|
309
|
+
"omegga init".yellow,
|
|
310
|
+
"to setup one."
|
|
311
|
+
);
|
|
312
|
+
process.exit(1);
|
|
313
|
+
}
|
|
314
|
+
const { verbose, force } = program.opts();
|
|
315
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
316
|
+
index$1.pluginUtil.install(plugins, { verbose, force });
|
|
330
317
|
});
|
|
331
|
-
program
|
|
332
|
-
|
|
333
|
-
.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
logger_1.default.errorp('Not an omegga directory, run ', 'omegga init'.yellow, 'to setup one.');
|
|
344
|
-
process.exit(1);
|
|
345
|
-
}
|
|
346
|
-
const { verbose, force } = program.opts();
|
|
347
|
-
logger_1.default.VERBOSE = Boolean(verbose);
|
|
348
|
-
cli_1.pluginUtil.install(plugins, { verbose, force });
|
|
318
|
+
program.command("update [pluginNames...]").alias("u").option("-f, --force", "Forcefully re-upgrade existing plugin").option("-v, --verbose", "Print extra messages for debugging purposes").description("Updates all or selected installed plugins to latest versions").action(async (plugins) => {
|
|
319
|
+
if (!index.find(".")) {
|
|
320
|
+
logger.default.errorp(
|
|
321
|
+
"Not an omegga directory, run ",
|
|
322
|
+
"omegga init".yellow,
|
|
323
|
+
"to setup one."
|
|
324
|
+
);
|
|
325
|
+
process.exit(1);
|
|
326
|
+
}
|
|
327
|
+
const { verbose, force } = program.opts();
|
|
328
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
329
|
+
index$1.pluginUtil.update(plugins, { verbose, force });
|
|
349
330
|
});
|
|
350
|
-
program
|
|
351
|
-
|
|
352
|
-
.
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
logger_1.default.VERBOSE = Boolean(verbose);
|
|
363
|
-
cli_1.pluginUtil.update(plugins, { verbose, force });
|
|
331
|
+
program.command("check [pluginNames...]").option("-v, --verbose", "Print extra messages for debugging purposes").description("Checks plugins for compatibility issues").action(async (plugins) => {
|
|
332
|
+
if (!index.find(".")) {
|
|
333
|
+
logger.default.errorp(
|
|
334
|
+
"Not an omegga directory, run ",
|
|
335
|
+
"omegga init".yellow,
|
|
336
|
+
"to setup one."
|
|
337
|
+
);
|
|
338
|
+
process.exit(1);
|
|
339
|
+
}
|
|
340
|
+
const { verbose } = program.opts();
|
|
341
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
342
|
+
index$1.pluginUtil.check(plugins, { verbose });
|
|
364
343
|
});
|
|
365
|
-
program
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
.action(async (plugins) => {
|
|
370
|
-
if (!config.find('.')) {
|
|
371
|
-
logger_1.default.errorp('Not an omegga directory, run ', 'omegga init'.yellow, 'to setup one.');
|
|
372
|
-
process.exit(1);
|
|
373
|
-
}
|
|
374
|
-
const { verbose } = program.opts();
|
|
375
|
-
logger_1.default.VERBOSE = Boolean(verbose);
|
|
376
|
-
cli_1.pluginUtil.check(plugins, { verbose });
|
|
344
|
+
program.command("init-plugin").option("-v, --verbose", "Print extra messages for debugging purposes").description("Initializes a new plugin with the given name and settings").action(async () => {
|
|
345
|
+
const { verbose } = program.opts();
|
|
346
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
347
|
+
index$1.pluginUtil.init();
|
|
377
348
|
});
|
|
378
|
-
program
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
.action(async () => {
|
|
383
|
-
const { verbose } = program.opts();
|
|
384
|
-
logger_1.default.VERBOSE = Boolean(verbose);
|
|
385
|
-
cli_1.pluginUtil.init();
|
|
349
|
+
program.command("plugin-init").description("Alias for " + "init-plugin".yellow.underline).option("-v, --verbose", "Print extra messages for debugging purposes").action(async () => {
|
|
350
|
+
const { verbose } = program.opts();
|
|
351
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
352
|
+
index$1.pluginUtil.init();
|
|
386
353
|
});
|
|
387
|
-
program
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
.
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
354
|
+
program.command("get-config <pluginName> [configName]").option("-v, --verbose", "Print extra messages for debugging purposes").option("-j, --json", "Print config as json").description(
|
|
355
|
+
"Gets a config for a plugin. If " + "configName".yellow.underline + " is omitted, returns all config values."
|
|
356
|
+
).action(async (pluginName, configName) => {
|
|
357
|
+
if (!index.find(".")) {
|
|
358
|
+
logger.default.errorp(
|
|
359
|
+
"Not an omegga directory, run ",
|
|
360
|
+
"omegga init".yellow,
|
|
361
|
+
"to setup one."
|
|
362
|
+
);
|
|
363
|
+
process.exit(1);
|
|
364
|
+
}
|
|
365
|
+
const { verbose } = program.opts();
|
|
366
|
+
const json = program.args.includes("-j") || program.args.includes("--json");
|
|
367
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
368
|
+
if (!configName) {
|
|
369
|
+
index$1.pluginUtil.listConfig(pluginName, json);
|
|
370
|
+
} else {
|
|
371
|
+
index$1.pluginUtil.getConfig(pluginName, configName, json);
|
|
372
|
+
}
|
|
395
373
|
});
|
|
396
|
-
program
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
.
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
});
|
|
418
|
-
program
|
|
419
|
-
.command('set-config <pluginName> [configName] [configValue]')
|
|
420
|
-
.option('-y, --yes', 'Skip confirmation prompt')
|
|
421
|
-
.option('-v, --verbose', 'Print extra messages for debugging purposes')
|
|
422
|
-
.description('Sets a config for a plugin. If ' +
|
|
423
|
-
'configValue'.yellow.underline +
|
|
424
|
-
' is omitted, the config will be reset. If ' +
|
|
425
|
-
'configName'.yellow.underline +
|
|
426
|
-
' is omitted, the entire plugin config will be reset.')
|
|
427
|
-
.action(async (pluginName, configName, configValue) => {
|
|
428
|
-
if (!config.find('.')) {
|
|
429
|
-
logger_1.default.errorp('Not an omegga directory, run ', 'omegga init'.yellow, 'to setup one.');
|
|
430
|
-
process.exit(1);
|
|
431
|
-
}
|
|
432
|
-
const { verbose } = program.opts();
|
|
433
|
-
const yes = program.args.includes('-y') || program.args.includes('--yes');
|
|
434
|
-
logger_1.default.VERBOSE = Boolean(verbose);
|
|
435
|
-
if (!configName) {
|
|
436
|
-
cli_1.pluginUtil.resetAllConfigs(pluginName, yes);
|
|
437
|
-
}
|
|
438
|
-
else if (!configValue) {
|
|
439
|
-
cli_1.pluginUtil.resetConfig(pluginName, configName);
|
|
440
|
-
}
|
|
441
|
-
else {
|
|
442
|
-
cli_1.pluginUtil.setConfig(pluginName, configName, configValue);
|
|
443
|
-
}
|
|
374
|
+
program.command("set-config <pluginName> [configName] [configValue]").option("-y, --yes", "Skip confirmation prompt").option("-v, --verbose", "Print extra messages for debugging purposes").description(
|
|
375
|
+
"Sets a config for a plugin. If " + "configValue".yellow.underline + " is omitted, the config will be reset. If " + "configName".yellow.underline + " is omitted, the entire plugin config will be reset."
|
|
376
|
+
).action(async (pluginName, configName, configValue) => {
|
|
377
|
+
if (!index.find(".")) {
|
|
378
|
+
logger.default.errorp(
|
|
379
|
+
"Not an omegga directory, run ",
|
|
380
|
+
"omegga init".yellow,
|
|
381
|
+
"to setup one."
|
|
382
|
+
);
|
|
383
|
+
process.exit(1);
|
|
384
|
+
}
|
|
385
|
+
const { verbose } = program.opts();
|
|
386
|
+
const yes = program.args.includes("-y") || program.args.includes("--yes");
|
|
387
|
+
logger.default.VERBOSE = Boolean(verbose);
|
|
388
|
+
if (!configName) {
|
|
389
|
+
index$1.pluginUtil.resetAllConfigs(pluginName, yes);
|
|
390
|
+
} else if (!configValue) {
|
|
391
|
+
index$1.pluginUtil.resetConfig(pluginName, configName);
|
|
392
|
+
} else {
|
|
393
|
+
index$1.pluginUtil.setConfig(pluginName, configName, configValue);
|
|
394
|
+
}
|
|
444
395
|
});
|
|
445
396
|
program.parseAsync(process.argv);
|
|
446
|
-
async function setupSteam(
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
logger_1.default.errorp('Failed to setup SteamCMD. Exiting...');
|
|
482
|
-
process.exit(1);
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
catch (err) {
|
|
486
|
-
logger_1.default.errorp('Error setting up SteamCMD:', err);
|
|
487
|
-
process.exit(1);
|
|
488
|
-
}
|
|
397
|
+
async function setupSteam(config2, forceUpdate = false) {
|
|
398
|
+
const steambeta = config2?.server?.steambeta;
|
|
399
|
+
const steambetaPassword = config2?.server?.steambetaPassword;
|
|
400
|
+
const binaryPath = path.join(
|
|
401
|
+
softconfig.GAME_INSTALL_DIR,
|
|
402
|
+
// steam install directory
|
|
403
|
+
steambeta ?? "main",
|
|
404
|
+
// steam beta branch (or main)
|
|
405
|
+
softconfig.GAME_DIRNAME,
|
|
406
|
+
// Brickadia
|
|
407
|
+
softconfig.GAME_BIN_PATH
|
|
408
|
+
// path to binary
|
|
409
|
+
);
|
|
410
|
+
if (!forceUpdate && fs.existsSync(binaryPath)) {
|
|
411
|
+
logger.default.verbose(
|
|
412
|
+
"Game binary already exists at",
|
|
413
|
+
binaryPath.yellow,
|
|
414
|
+
"- skipping download."
|
|
415
|
+
);
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
if (!fs.existsSync(softconfig.STEAMCMD_PATH)) {
|
|
419
|
+
const hasSteamcmd = hasbin.sync("steamcmd");
|
|
420
|
+
if (!hasSteamcmd) {
|
|
421
|
+
const { install } = process.env.SKIP_STEAMCMD_PROMPT === "true" ? { install: true } : await prompts({
|
|
422
|
+
type: "confirm",
|
|
423
|
+
name: "install",
|
|
424
|
+
message: "SteamCMD is not installed. OK to download it?",
|
|
425
|
+
initial: true
|
|
426
|
+
});
|
|
427
|
+
if (!install) {
|
|
428
|
+
logger.default.errorp("SteamCMD is required for steam support. Exiting...");
|
|
429
|
+
process.exit(1);
|
|
430
|
+
}
|
|
431
|
+
logger.default.logp("Downloading SteamCMD...");
|
|
489
432
|
}
|
|
490
|
-
logger_1.default.logp('Downloading Brickadia', (steambeta !== null && steambeta !== void 0 ? steambeta : 'main').yellow, '...');
|
|
491
433
|
try {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
logger_1.default.errorp('Error downloading Brickadia:', err);
|
|
434
|
+
steam.steamcmdDownloadSelf();
|
|
435
|
+
if (!fs.existsSync(softconfig.STEAMCMD_PATH)) {
|
|
436
|
+
logger.default.errorp("Failed to setup SteamCMD. Exiting...");
|
|
496
437
|
process.exit(1);
|
|
497
|
-
|
|
438
|
+
}
|
|
439
|
+
} catch (err) {
|
|
440
|
+
logger.default.errorp("Error setting up SteamCMD:", err);
|
|
441
|
+
process.exit(1);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
logger.default.logp("Downloading Brickadia", (steambeta ?? "main").yellow, "...");
|
|
445
|
+
try {
|
|
446
|
+
steam.steamcmdDownloadGame({ steambeta, steambetaPassword });
|
|
447
|
+
} catch (err) {
|
|
448
|
+
logger.default.errorp("Error downloading Brickadia:", err);
|
|
449
|
+
process.exit(1);
|
|
450
|
+
}
|
|
498
451
|
}
|
|
499
|
-
//# sourceMappingURL=main.js.map
|
|
452
|
+
//# sourceMappingURL=main.js.map
|