omegga 1.0.27 → 1.0.29
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 +110 -82
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/plugin.d.ts +10 -0
- package/dist/cli/plugin.js +140 -1
- package/dist/cli/plugin.js.map +1 -1
- package/dist/cli/terminal.js +3 -0
- package/dist/cli/terminal.js.map +1 -1
- package/dist/main.js +58 -9
- package/dist/main.js.map +1 -1
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +1 -1
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
- package/dist/omegga/plugin.d.ts +8 -2
- package/dist/omegga/plugin.js +62 -41
- package/dist/omegga/plugin.js.map +1 -1
- package/dist/omegga/server.js +1 -4
- package/dist/omegga/server.js.map +1 -1
- package/dist/plugin.d.ts +1 -0
- package/dist/plugin.js.map +1 -1
- package/dist/util/index.d.ts +1 -0
- package/package.json +2 -2
- package/templates/rpc/setup.sh +1 -0
- package/templates/rust/setup.sh +2 -0
- package/templates/safe/setup.sh +2 -0
- package/templates/safe-ts/setup.sh +2 -0
- package/templates/unsafe/setup.sh +2 -0
package/README.md
CHANGED
|
@@ -4,13 +4,27 @@ Read the README first before asking questions! [Join the discord](https://discor
|
|
|
4
4
|
|
|
5
5
|
Omegga wraps brickadia's server console to provide interactivity and utility via plugins.
|
|
6
6
|
|
|
7
|
+
Omegga plugins can do things like:
|
|
8
|
+
|
|
9
|
+
- Add custom chat commands
|
|
10
|
+
- Respond to and send chat messages
|
|
11
|
+
- Load bricks to player's clipboards
|
|
12
|
+
- Load/Clear regions of bricks
|
|
13
|
+
- Damage/heal players
|
|
14
|
+
- Give/remove weapons to players
|
|
15
|
+
- Change the environment
|
|
16
|
+
- Create/delete minigames, and join/leave players from minigames
|
|
17
|
+
- Teleport players, detect player's positions
|
|
18
|
+
- Grant players roles
|
|
19
|
+
- Detect when a brick with an interact component is clicked
|
|
20
|
+
|
|
7
21
|
## Screenshots
|
|
8
22
|
|
|
9
|
-
[<img src="https://i.imgur.com/AqJF2T0.png" width="
|
|
10
|
-
[<img src="https://i.imgur.com/vGjKoB6.png" width="
|
|
11
|
-
[<img src="https://i.imgur.com/EhT1GBR.png" width="
|
|
12
|
-
[<img src="https://i.imgur.com/PLwgVlx.png" width="
|
|
13
|
-
[<img src="https://i.imgur.com/bCnQ5Pb.png" width="
|
|
23
|
+
[<img src="https://i.imgur.com/AqJF2T0.png" width="256"/>](https://i.imgur.com/AqJF2T0.png)
|
|
24
|
+
[<img src="https://i.imgur.com/vGjKoB6.png" width="256"/>](https://i.imgur.com/vGjKoB6.png)
|
|
25
|
+
[<img src="https://i.imgur.com/EhT1GBR.png" width="256"/>](https://i.imgur.com/EhT1GBR.png)
|
|
26
|
+
[<img src="https://i.imgur.com/PLwgVlx.png" width="256"/>](https://i.imgur.com/PLwgVlx.png)
|
|
27
|
+
[<img src="https://i.imgur.com/bCnQ5Pb.png" width="256"/>](https://i.imgur.com/bCnQ5Pb.png)
|
|
14
28
|
|
|
15
29
|
## Install
|
|
16
30
|
|
|
@@ -26,27 +40,44 @@ You can run omegga in the [Windows Subsystem for Linux](#wsl) (I recommend Ubunt
|
|
|
26
40
|
|
|
27
41
|
If any of the above are true, [create a new user](#creating-a-new-user) and continue from there.
|
|
28
42
|
|
|
43
|
+
If you need to run omegga as root, make sure your branch is `main-server` or `unstable-server`, as `main` will not work as root.
|
|
44
|
+
|
|
29
45
|
### Quick Setup (automatically download launcher)
|
|
30
46
|
|
|
31
|
-
1. Install linux if you haven't already ([Windows Install](#wsl))
|
|
47
|
+
1. Install linux if you haven't already ([Windows Install](#wsl) is not that bad)
|
|
32
48
|
|
|
33
49
|
2. If you type `whoami` and it says "root", [create a new user](#creating-a-new-user) and come back. This step is usually only necessary for people using a VPS.
|
|
34
50
|
|
|
35
51
|
3. Run these commands (Installs a node installer, installs node, installs omegga):
|
|
36
52
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
```sh
|
|
54
|
+
# download nvm
|
|
55
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
|
|
56
|
+
|
|
57
|
+
# activate nvm
|
|
58
|
+
. ~/.nvm/nvm.sh
|
|
59
|
+
|
|
60
|
+
# install node version 16
|
|
61
|
+
nvm install 16
|
|
62
|
+
|
|
63
|
+
# install omegga
|
|
64
|
+
npm i -g omegga
|
|
65
|
+
```
|
|
43
66
|
|
|
44
67
|
4. Head over to [Running Omegga](#running) or troubleshoot below.
|
|
45
68
|
|
|
46
|
-
###
|
|
69
|
+
### Install Troubleshooting
|
|
47
70
|
|
|
71
|
+
If you are having issues running omegga, see the [troubleshooting](#troubleshooting) section for a potential fix. This section is for issues with installing.
|
|
48
72
|
|
|
49
|
-
- If you
|
|
73
|
+
- If you are on Ubuntu and the output of `which npm` is `/bin/npm`
|
|
74
|
+
```sh
|
|
75
|
+
sudo apt purge nodejs # uninstall old version of nodejs
|
|
76
|
+
# restart install instructions from this point
|
|
77
|
+
nvm install 16 # install node version 16 via nvm
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
- If you get an error like "`sh: 28: cd: can't cd to .`", you need to be in `bash` (and probably type `cd` to navigate out of root directory):
|
|
50
81
|
|
|
51
82
|
```sh
|
|
52
83
|
bash # use bash instead of sh
|
|
@@ -62,7 +93,7 @@ If any of the above are true, [create a new user](#creating-a-new-user) and cont
|
|
|
62
93
|
|
|
63
94
|
- If you get an error like "`gyp ERR! stack Error: not found: make`" you need to install build-essential:
|
|
64
95
|
```sh
|
|
65
|
-
sudo apt install build-essential
|
|
96
|
+
sudo apt install build-essential # install make
|
|
66
97
|
npm i -g omegga # re-run omegga install
|
|
67
98
|
```
|
|
68
99
|
|
|
@@ -86,7 +117,7 @@ Omegga depends on:
|
|
|
86
117
|
- linux
|
|
87
118
|
- [Windows Install](https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps) (WSL 1 or WSL 2)
|
|
88
119
|
- [Windows Ubuntu](https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6)
|
|
89
|
-
- Node
|
|
120
|
+
- Node v16+ ([ubuntu/deb](https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions), but `nvm` from Quick Setup is better)
|
|
90
121
|
- One of:
|
|
91
122
|
- `tar` (most linuxes come with this, though you can `sudo apt install tar`)
|
|
92
123
|
- [Brickadia linux launcher](https://brickadia.com/download)
|
|
@@ -97,21 +128,23 @@ Omegga is installed as a global npm package
|
|
|
97
128
|
|
|
98
129
|
Alternatively, you can use a development/local omegga.
|
|
99
130
|
|
|
100
|
-
|
|
101
|
-
|
|
131
|
+
```sh
|
|
132
|
+
# clone omegga
|
|
133
|
+
git clone https://github.com/brickadia-community/omegga.git && cd omegga
|
|
102
134
|
|
|
103
|
-
|
|
104
|
-
|
|
135
|
+
# install dependencies
|
|
136
|
+
npm i
|
|
105
137
|
|
|
106
|
-
|
|
107
|
-
|
|
138
|
+
# point development omegga to global npm bin
|
|
139
|
+
npm link
|
|
108
140
|
|
|
109
|
-
|
|
110
|
-
|
|
141
|
+
# build the web ui, build omegga's typescript, and the plugin omegga.d.ts
|
|
142
|
+
npm run dist
|
|
143
|
+
```
|
|
111
144
|
|
|
112
145
|
If you accidentally install both from Github and `npm i -g omegga`, you can run `npm unlink omegga` to stop npm from using the git one.
|
|
113
146
|
|
|
114
|
-
|
|
147
|
+
Any errors, see the [troubleshooting](#troubleshooting) section for a potential fix.
|
|
115
148
|
|
|
116
149
|
### WSL
|
|
117
150
|
|
|
@@ -149,21 +182,30 @@ useradd -m brickadia
|
|
|
149
182
|
passwd brickadia
|
|
150
183
|
# allow "sudo apt install ...." to work in this user
|
|
151
184
|
usermod -aG sudo brickadia
|
|
152
|
-
|
|
153
|
-
|
|
185
|
+
|
|
186
|
+
# become this user, navigate to user's home, and run bash
|
|
187
|
+
su brickadia -c "cd && bash"
|
|
188
|
+
|
|
189
|
+
# if you were root, you would be in /root (root's home) instead of /home/brickadia
|
|
190
|
+
# this fixes some issues when installing omegga on a VPS
|
|
154
191
|
```
|
|
155
192
|
|
|
156
193
|
## Running
|
|
157
194
|
|
|
158
195
|
It's recommend to create a folder first _before_ starting your server:
|
|
159
196
|
|
|
160
|
-
|
|
197
|
+
```sh
|
|
198
|
+
# change "myServer" to "brickadia" or "server" or whatever you want
|
|
199
|
+
mkdir myServer && cd myServer
|
|
200
|
+
|
|
201
|
+
# this will place a folder called "myServer" in your home (cd ~)
|
|
202
|
+
```
|
|
161
203
|
|
|
162
204
|
To start a server, simply type the following in a linux shell after install:
|
|
163
205
|
|
|
164
206
|
omegga
|
|
165
207
|
|
|
166
|
-
Omegga will prompt for credentials as necessary and only stores the auth tokens brickadia generates on login. **Omegga does not store your password
|
|
208
|
+
Omegga will prompt for credentials as necessary and only stores the auth tokens brickadia generates on login. **Omegga does not store your password**.
|
|
167
209
|
|
|
168
210
|
## Updating
|
|
169
211
|
|
|
@@ -175,7 +217,9 @@ Omegga will tell you when it's out of date. You can update with this command:
|
|
|
175
217
|
|
|
176
218
|
- CLI config via `omegga config`
|
|
177
219
|
- Omegga config is located in a generated `omegga-config.yml`
|
|
178
|
-
- Plugin config is
|
|
220
|
+
- Plugin config is managed inside the web-ui's plugins tab.
|
|
221
|
+
- Plugin config can also be set with `omegga set-config pluginName configName configValue`
|
|
222
|
+
- Plugin config can be fetched with `omegga get-config pluginName`
|
|
179
223
|
|
|
180
224
|
Example available `omegga-config.yml` fields
|
|
181
225
|
|
|
@@ -197,17 +241,26 @@ Note: `BRANCH-server` branches download only server data
|
|
|
197
241
|
|
|
198
242
|
Narrow down where the issue might be with the following options:
|
|
199
243
|
|
|
200
|
-
- If
|
|
201
|
-
-
|
|
244
|
+
- If you forgot your server's password:
|
|
245
|
+
- terminal: `cat data/Saved/Config/LinuxServer/ServerSettings.ini | grep Password`
|
|
246
|
+
- If your brickadia is crashing and omegga works:
|
|
247
|
+
- omegga console: `/debug`
|
|
248
|
+
- terminal: `omegga --debug`
|
|
249
|
+
- If your omegga isn't starting
|
|
250
|
+
- terminal: `omegga --verbose`
|
|
202
251
|
- If a plugin is crashing, message the plugin developer
|
|
203
|
-
-
|
|
204
|
-
- If you
|
|
252
|
+
- discord: #plugin-bugs
|
|
253
|
+
- If you are on Ubuntu and the output of `which npm` is `/bin/npm`
|
|
254
|
+
- terminal: `sudo apt purge nodejs` and restart install instructions from `nvm install 16`.
|
|
255
|
+
- If you're getting an `EACCES` error when running `npm i -g omegga`:
|
|
205
256
|
1. First, try [this](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).
|
|
206
257
|
2. If that doesn't work, try this horrible bodge method for WSL:
|
|
207
258
|
1. Set your WSL to WSL 2
|
|
208
259
|
2. `npm i -g omegga`
|
|
209
|
-
3. Set your WSL back to WSL 1
|
|
210
|
-
- If you're getting a "gyp ERR! stack Error: not found: make"
|
|
260
|
+
3. Set your WSL back to WSL 1 (assuming you want wsl1)
|
|
261
|
+
- If you're getting a "`gyp ERR! stack Error: not found: make`"
|
|
262
|
+
- Install [build-essential](https://wiki.gnucash.org/wiki/Install_Build_Tools)
|
|
263
|
+
|
|
211
264
|
|
|
212
265
|
## Uninstalling
|
|
213
266
|
|
|
@@ -227,50 +280,6 @@ rm ~/.config/Epic
|
|
|
227
280
|
|
|
228
281
|
You will have to delete your omegga data folders manually
|
|
229
282
|
|
|
230
|
-
# Planned Features
|
|
231
|
-
|
|
232
|
-
- [ ] web interface (mostly done)
|
|
233
|
-
- [x] reload plugins
|
|
234
|
-
- [x] enable/disable plugins live
|
|
235
|
-
- [x] live plugin reloading/unloading state
|
|
236
|
-
- [x] browse chat history
|
|
237
|
-
- [x] manage plugins config
|
|
238
|
-
- [x] start/stop server
|
|
239
|
-
- [x] chat with players
|
|
240
|
-
- [ ] view recent console logs
|
|
241
|
-
- [x] view server status
|
|
242
|
-
- [x] multiple users
|
|
243
|
-
- [ ] roles for each user
|
|
244
|
-
- [ ] chatcmd history
|
|
245
|
-
- [x] track players kicked/banned
|
|
246
|
-
- [ ] automated/scheduled server restarting (when no one is on)
|
|
247
|
-
- [x] terminal interface
|
|
248
|
-
- [x] reload plugins
|
|
249
|
-
- [x] chat with players
|
|
250
|
-
- [x] view recent console logs
|
|
251
|
-
- [x] view server status
|
|
252
|
-
- [ ] metrics
|
|
253
|
-
- [ ] bricks over time charts
|
|
254
|
-
- [x] player online time tracking
|
|
255
|
-
- [x] chat logs
|
|
256
|
-
- [ ] chats/hour tracking
|
|
257
|
-
- [x] plugins in other languages via JSON RPC over stdio
|
|
258
|
-
- [ ] LogWrangler impl for other languages
|
|
259
|
-
- [x] events sent JSON RPC
|
|
260
|
-
- [ ] sandboxed node plugins (more secure, more stable)
|
|
261
|
-
- [x] running in own thread (worker)
|
|
262
|
-
- [x] running in own vm
|
|
263
|
-
- [x] can `require`
|
|
264
|
-
- [x] partial omegga spec (events, some features)
|
|
265
|
-
- [x] full omegga spec
|
|
266
|
-
- [ ] _good_ access restrictions (ask user for permission)
|
|
267
|
-
- [x] plugin installation by `omegga install gh:user/repo`
|
|
268
|
-
- [x] plugin updates by `omegga update`
|
|
269
|
-
- [ ] server config bundling (making it easier to transfer configs)
|
|
270
|
-
- [ ] omegga.server.json
|
|
271
|
-
- [ ] list of installed omegga plugins, versions, and download urls
|
|
272
|
-
- [ ] list of roles, bans, role assignments
|
|
273
|
-
|
|
274
283
|
# Plugins
|
|
275
284
|
|
|
276
285
|
Plugins are located in the `plugins` directory in an omegga config folder
|
|
@@ -285,19 +294,38 @@ You can install plugins with the `omegga install https://github.com/user/repo` c
|
|
|
285
294
|
|
|
286
295
|
You can install plugins using a shorthand `omegga install gh:user/repo` which will install the plugin located at `https://github.com/user/omegga-repo`
|
|
287
296
|
|
|
297
|
+
This is the recommended way of installing plugins as it automatically runs a setup script when present.
|
|
298
|
+
|
|
288
299
|
### Manual Installation
|
|
289
300
|
|
|
290
|
-
|
|
301
|
+
You can clone a plugin's github repo inside the `plugins` folder (created when you run `omegga` for the first time):
|
|
291
302
|
|
|
292
303
|
- `cd plugins` to navigate to plugins folder
|
|
304
|
+
- `git clone https://github.com/user/repo` to download the plugin
|
|
293
305
|
- Make sure to read the plugin's README file for after-install instructions
|
|
294
306
|
|
|
295
307
|
## Updating Plugins
|
|
296
308
|
|
|
297
|
-
Plugins can be updated with `omegga update
|
|
309
|
+
Plugins can be updated with `omegga update`:
|
|
310
|
+
|
|
311
|
+
```sh
|
|
312
|
+
# update all plugin
|
|
313
|
+
omegga update
|
|
314
|
+
|
|
315
|
+
# update plugins named "pluginName" and "anotherPluginName"
|
|
316
|
+
omegga update pluginName anotherPluginName
|
|
317
|
+
```
|
|
298
318
|
|
|
299
319
|
Plugins may also need to be updated based on the project's README file.
|
|
300
320
|
|
|
321
|
+
## Uninstalling Plugins
|
|
322
|
+
|
|
323
|
+
Plugins can be installed by deleting the plugin's respective folder:
|
|
324
|
+
|
|
325
|
+
```sh
|
|
326
|
+
rm -rf plugins/PLUGIN_NAME
|
|
327
|
+
```
|
|
328
|
+
|
|
301
329
|
## Creating Plugins
|
|
302
330
|
|
|
303
331
|
Plugins can be created manually using the file structure described below, or they can be initialized automatically using `omegga init-plugin`.
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -16,5 +16,10 @@ export declare const pluginUtil: {
|
|
|
16
16
|
update: typeof import("./plugin").update;
|
|
17
17
|
check: typeof import("./plugin").check;
|
|
18
18
|
init: () => Promise<void>;
|
|
19
|
+
listConfig: (pluginName: string, json?: boolean) => Promise<void>;
|
|
20
|
+
getConfig: (pluginName: string, configName: string, json?: boolean) => Promise<void>;
|
|
21
|
+
setConfig: (pluginName: any, configName: string, valueString: string) => Promise<void>;
|
|
22
|
+
resetAllConfigs: (pluginName: any, force: any) => Promise<void>;
|
|
23
|
+
resetConfig: (pluginName: any, configName: string) => Promise<void>;
|
|
19
24
|
};
|
|
20
25
|
export declare const Terminal: typeof _Terminal;
|
package/dist/cli/plugin.d.ts
CHANGED
|
@@ -2,10 +2,20 @@ export declare function install(plugins: string[], _options: unknown): Promise<v
|
|
|
2
2
|
export declare function update(pluginsNames: string[], _options: unknown): Promise<void>;
|
|
3
3
|
export declare function check(pluginNames: string[], _options: unknown): Promise<void>;
|
|
4
4
|
declare function init(): Promise<void>;
|
|
5
|
+
declare function listConfig(pluginName: string, json?: boolean): Promise<void>;
|
|
6
|
+
declare function getConfig(pluginName: string, configName: string, json?: boolean): Promise<void>;
|
|
7
|
+
declare function setConfig(pluginName: any, configName: string, valueString: string): Promise<void>;
|
|
8
|
+
declare function resetAllConfigs(pluginName: any, force: any): Promise<void>;
|
|
9
|
+
declare function resetConfig(pluginName: any, configName: string): Promise<void>;
|
|
5
10
|
declare const _default: {
|
|
6
11
|
install: typeof install;
|
|
7
12
|
update: typeof update;
|
|
8
13
|
check: typeof check;
|
|
9
14
|
init: typeof init;
|
|
15
|
+
listConfig: typeof listConfig;
|
|
16
|
+
getConfig: typeof getConfig;
|
|
17
|
+
setConfig: typeof setConfig;
|
|
18
|
+
resetAllConfigs: typeof resetAllConfigs;
|
|
19
|
+
resetConfig: typeof resetConfig;
|
|
10
20
|
};
|
|
11
21
|
export default _default;
|
package/dist/cli/plugin.js
CHANGED
|
@@ -41,6 +41,7 @@ exports.check = exports.update = exports.install = void 0;
|
|
|
41
41
|
const logger_1 = __importDefault(require("../logger"));
|
|
42
42
|
const softconfig_1 = __importDefault(require("../softconfig"));
|
|
43
43
|
const config = __importStar(require("../config"));
|
|
44
|
+
const plugin_1 = require("../omegga/plugin");
|
|
44
45
|
const child_process_1 = require("child_process");
|
|
45
46
|
const fs_1 = __importDefault(require("fs"));
|
|
46
47
|
const path_1 = __importDefault(require("path"));
|
|
@@ -247,7 +248,9 @@ async function install(plugins, _options) {
|
|
|
247
248
|
if (fs_1.default.existsSync(postInstallPath)) {
|
|
248
249
|
plgLog(plugin, 'Running post install script...');
|
|
249
250
|
try {
|
|
251
|
+
verboseLog('Changing permission of', postInstallPath);
|
|
250
252
|
fs_1.default.chmodSync(postInstallPath, '0755');
|
|
253
|
+
verboseLog('Executing bash file');
|
|
251
254
|
let { stdout, stderr } = await exec(postInstallPath, {
|
|
252
255
|
cwd: pluginPath,
|
|
253
256
|
shell: 'bash',
|
|
@@ -594,5 +597,141 @@ async function init() {
|
|
|
594
597
|
}
|
|
595
598
|
log('Initialized', type.yellow, 'plugin', `${name}`.cyan, 'successfully!');
|
|
596
599
|
}
|
|
597
|
-
|
|
600
|
+
function pluginLoaderFactory() {
|
|
601
|
+
const workDir = getWorkDir();
|
|
602
|
+
return new plugin_1.PluginLoader(workDir);
|
|
603
|
+
}
|
|
604
|
+
/** Loads in a plugin and it's documentation. */
|
|
605
|
+
async function loadPlugin(pluginName) {
|
|
606
|
+
const pluginLoader = pluginLoaderFactory();
|
|
607
|
+
const foundPluginDirectory = fs_1.default
|
|
608
|
+
.readdirSync(pluginLoader.path)
|
|
609
|
+
.find(dir => dir.toLowerCase() === pluginName.toLowerCase());
|
|
610
|
+
if (!foundPluginDirectory) {
|
|
611
|
+
err(`Plugin ${pluginName} not found! Make sure to use the plugin's directory name.`);
|
|
612
|
+
process.exit(1);
|
|
613
|
+
}
|
|
614
|
+
const plugin = await pluginLoader.scanPlugin(path_1.default.join(pluginLoader.path, foundPluginDirectory));
|
|
615
|
+
return plugin;
|
|
616
|
+
}
|
|
617
|
+
async function listConfig(pluginName, json = false) {
|
|
618
|
+
const plugin = await loadPlugin(pluginName);
|
|
619
|
+
const configDoc = plugin.getDocumentation().config;
|
|
620
|
+
const config = await plugin.storage.getConfig();
|
|
621
|
+
if (json) {
|
|
622
|
+
console.log(JSON.stringify(config, null, 2));
|
|
623
|
+
}
|
|
624
|
+
else {
|
|
625
|
+
for (const key in config) {
|
|
626
|
+
if (!configDoc[key])
|
|
627
|
+
continue; // Skip unknown config keys.
|
|
628
|
+
const value = config[key];
|
|
629
|
+
log(key.cyan, '=', ['string', 'number', 'boolean'].includes(typeof value)
|
|
630
|
+
? value.toString().yellow
|
|
631
|
+
: JSON.stringify(value).yellow);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
process.exit();
|
|
635
|
+
}
|
|
636
|
+
async function getConfig(pluginName, configName, json = false) {
|
|
637
|
+
const plugin = await loadPlugin(pluginName);
|
|
638
|
+
const configDoc = plugin.getDocumentation().config[configName];
|
|
639
|
+
if (configDoc === undefined) {
|
|
640
|
+
err('Config', configName.cyan, 'not found');
|
|
641
|
+
process.exit(1);
|
|
642
|
+
}
|
|
643
|
+
const config = await plugin.storage.getConfig();
|
|
644
|
+
if (json) {
|
|
645
|
+
console.log(JSON.stringify(config[configName], null, 2));
|
|
646
|
+
}
|
|
647
|
+
else {
|
|
648
|
+
log(config[configName]);
|
|
649
|
+
}
|
|
650
|
+
process.exit();
|
|
651
|
+
}
|
|
652
|
+
async function setConfig(pluginName, configName, valueString) {
|
|
653
|
+
const plugin = await loadPlugin(pluginName);
|
|
654
|
+
const configDoc = plugin.getDocumentation().config[configName];
|
|
655
|
+
if (configDoc === undefined) {
|
|
656
|
+
err('Config', configName.cyan, 'not found');
|
|
657
|
+
process.exit(1);
|
|
658
|
+
}
|
|
659
|
+
// Parse the value string into a value of the correct type for the config.
|
|
660
|
+
let parsed;
|
|
661
|
+
switch (configDoc.type) {
|
|
662
|
+
case 'boolean':
|
|
663
|
+
parsed = valueString === 'true';
|
|
664
|
+
break;
|
|
665
|
+
case 'number':
|
|
666
|
+
parsed = Number(valueString);
|
|
667
|
+
if (isNaN(parsed)) {
|
|
668
|
+
err('Invalid number value', valueString.yellow);
|
|
669
|
+
process.exit(1);
|
|
670
|
+
}
|
|
671
|
+
break;
|
|
672
|
+
case 'string':
|
|
673
|
+
parsed = valueString;
|
|
674
|
+
break;
|
|
675
|
+
case 'enum':
|
|
676
|
+
if (!configDoc.options.includes(valueString)) {
|
|
677
|
+
err('Config', configName.cyan, 'must be one of', configDoc.options.join(', ').yellow);
|
|
678
|
+
process.exit(1);
|
|
679
|
+
}
|
|
680
|
+
parsed = valueString;
|
|
681
|
+
break;
|
|
682
|
+
default:
|
|
683
|
+
err('set-context does not support config type', configDoc.type.cyan);
|
|
684
|
+
process.exit(1);
|
|
685
|
+
}
|
|
686
|
+
const pluginConfig = await plugin.storage.getConfig();
|
|
687
|
+
pluginConfig[configName] = parsed;
|
|
688
|
+
await plugin.storage.setConfig(pluginConfig);
|
|
689
|
+
log('Set config', configName.cyan, 'of plugin', plugin.getName().cyan, 'to', parsed.toString().yellow);
|
|
690
|
+
process.exit();
|
|
691
|
+
}
|
|
692
|
+
async function resetAllConfigs(pluginName, force) {
|
|
693
|
+
const plugin = await loadPlugin(pluginName);
|
|
694
|
+
if (!force) {
|
|
695
|
+
const { answer } = await (0, prompts_1.default)([
|
|
696
|
+
{
|
|
697
|
+
type: 'confirm',
|
|
698
|
+
name: 'answer',
|
|
699
|
+
message: 'Are you sure you want to reset all configs?',
|
|
700
|
+
initial: false,
|
|
701
|
+
},
|
|
702
|
+
]);
|
|
703
|
+
if (!answer) {
|
|
704
|
+
log('Reset aborted.');
|
|
705
|
+
process.exit(1);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
await plugin.storage.wipeConfig();
|
|
709
|
+
await plugin.storage.init();
|
|
710
|
+
log('Reset all configs of plugin', plugin.getName().cyan);
|
|
711
|
+
process.exit();
|
|
712
|
+
}
|
|
713
|
+
async function resetConfig(pluginName, configName) {
|
|
714
|
+
const plugin = await loadPlugin(pluginName);
|
|
715
|
+
const configDoc = plugin.getDocumentation().config[configName];
|
|
716
|
+
if (configDoc === undefined) {
|
|
717
|
+
err('Config', configName.cyan, 'not found');
|
|
718
|
+
process.exit(1);
|
|
719
|
+
}
|
|
720
|
+
const pluginConfig = await plugin.storage.getConfig();
|
|
721
|
+
pluginConfig[configName] = plugin.storage.getDefaultConfig()[configName];
|
|
722
|
+
await plugin.storage.setConfig(pluginConfig);
|
|
723
|
+
log('Reset config', configName.cyan, 'of plugin', plugin.getName().cyan, 'to', pluginConfig[configName]);
|
|
724
|
+
process.exit();
|
|
725
|
+
}
|
|
726
|
+
exports.default = {
|
|
727
|
+
install,
|
|
728
|
+
update,
|
|
729
|
+
check,
|
|
730
|
+
init,
|
|
731
|
+
listConfig,
|
|
732
|
+
getConfig,
|
|
733
|
+
setConfig,
|
|
734
|
+
resetAllConfigs,
|
|
735
|
+
resetConfig,
|
|
736
|
+
};
|
|
598
737
|
//# sourceMappingURL=plugin.js.map
|
package/dist/cli/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/terminal.js
CHANGED
|
@@ -400,6 +400,9 @@ class Terminal {
|
|
|
400
400
|
omegga.on('error', e => err('Server caught unhandled exception:\n' + e));
|
|
401
401
|
omegga.on('server:stopped', () => log('Server has closed. Type', '/stop'.yellow, 'to close omegga'));
|
|
402
402
|
this.rl.on('line', this.handleLine.bind(this));
|
|
403
|
+
// Gracefully shut down server on Ctrl+C and SIGTERM
|
|
404
|
+
process.on('SIGINT', () => this.handleLine('/stop'));
|
|
405
|
+
process.on('SIGTERM', () => this.handleLine('/stop'));
|
|
403
406
|
}
|
|
404
407
|
async handleLine(line) {
|
|
405
408
|
if (line.startsWith('/')) {
|