omegga 1.0.18 → 1.0.21

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.
File without changes
@@ -1 +0,0 @@
1
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/cli/terminal/commands.ts"],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- /// <reference types="node" />
2
- import Omegga from "../../omegga/server";
3
- import { IOmeggaOptions } from "../../omegga/types";
4
- import readline from 'readline';
5
- declare global {
6
- interface String {
7
- brightRed: string;
8
- brightGreen: string;
9
- brightYellow: string;
10
- brightBlue: string;
11
- brightMagenta: string;
12
- brightCyan: string;
13
- brightWhite: string;
14
- }
15
- }
16
- interface ITermCommand {
17
- name: string;
18
- desc: string;
19
- fn(this: Terminal, ...args: string[]): void | Promise<void>;
20
- }
21
- export default class Terminal {
22
- options: IOmeggaOptions;
23
- omegga: Omegga;
24
- commands: Record<string, ITermCommand>;
25
- rl: readline.Interface;
26
- constructor(omegga: Omegga, options?: IOmeggaOptions);
27
- addCommand(name: string, desc: string, fn: ITermCommand['fn']): void;
28
- handleLine(line: string): Promise<void>;
29
- log(...args: any[]): void;
30
- debug(...args: any[]): void;
31
- warn(...args: any[]): void;
32
- error(...args: any[]): void;
33
- }
34
- export {};
@@ -1,403 +0,0 @@
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, info;
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
- info = (...args) => this.log('?>'.blue, ...args);
27
- warn = (...args) => this.warn('W>'.yellow, ...args);
28
- // print log line if debug is enabled
29
- let launcherDone = false;
30
- let lastDoneMessage = '';
31
- omegga.on('line', l => {
32
- if (options.debug)
33
- this.log('::'.blue, l);
34
- else if (!launcherDone) {
35
- if (l.match(/Update Failed/)) {
36
- err(l);
37
- info('This might be resolved by deleting brickadia and reinstalling:');
38
- info(' rm -rf ~/.local/share/brickadia-launcher'.grey);
39
- }
40
- if (l.startsWith('DOWNLOADING')) {
41
- // TOOD: if someone is proactive enough in the future, you could turn these steps into a legitimate progress bar
42
- /* Here's some launcher log lines that might be helpful
43
- Grabbing manifest and checking game files...
44
- DOWNLOADING MANIFEST | Hold on...
45
- DOWNLOADING MANIFEST (100%) | Hold on...
46
- DOWNLOADING MANIFEST (100%) | 0 B/s - 13 KiB / 13 KiB (Unknown time remaining...)
47
- DOWNLOADING MANIFEST (100%) | Done!
48
- Checking launcher and downloading version info...
49
- Installing patches and booting...
50
- DOWNLOADING BRICKADIA (0%) | Done!
51
- DOWNLOADING BRICKADIA (100%) | 110 MiB/s - 584 MiB / 584 MiB (1 second remaining...)
52
- DOWNLOADING BRICKADIA (100%) | Nearly done...
53
- DOWNLOADING BRICKADIA (100%), INSTALLING BRICKADIA (86%) | Nearly done...
54
- */
55
- process.stdout.clearLine(0);
56
- process.stdout.cursorTo(0);
57
- process.stdout.write(l);
58
- // add a newline on "Done!" but prevent newlines on repeat done messages
59
- if (l.match(/Done!/) && l !== lastDoneMessage) {
60
- lastDoneMessage = l;
61
- process.stdout.write('\n');
62
- }
63
- }
64
- else if (l.match(/Disabling core dumps./)) {
65
- launcherDone = true;
66
- }
67
- }
68
- });
69
- // print debug events regardless of debug status
70
- omegga.on('debug', l => this.log('?>'.magenta, l));
71
- // print chat events as players join/leave the server
72
- omegga.on('join', p => this.log(`${p.name.underline} joined.`.brightBlue));
73
- omegga.on('leave', p => this.log(`${p.name.underline} left.`.brightBlue));
74
- omegga.on('chat', (name, message) => this.log(`${name.brightYellow.underline}: ${message}`));
75
- omegga.on('start', () => {
76
- const wsl = require('../util/wsl');
77
- log(`Server has started${wsl === 1 ? ' in single thread mode due to WSL1' : ''}. Type ${'/help'.yellow} for more commands`);
78
- // check if this is WSL2 and wsl2binds is installed
79
- if (wsl === 2 &&
80
- this.omegga.pluginLoader &&
81
- !this.omegga.pluginLoader.plugins.some(p => p.getName() === 'wsl2binds')) {
82
- warn('####'.yellow, `You are running ${'WSL2'.yellow} and you don't have the ${'wsl2binds'.yellow} plugin.`);
83
- warn('####'.yellow, `The wsl2binds plugin works as a ${'UDP proxy'.underline} between Windows and the WSL2 VM.`);
84
- warn('####'.yellow, 'Install it by:');
85
- warn('####'.yellow, ' 1. Closing omegga with', '/stop'.green);
86
- warn('####'.yellow, ' 2. Installing wsl2binds with', 'omegga install gh:Meshiest/wsl2binds'.green);
87
- warn('####'.yellow, ' 3. Restarting', 'omegga'.green);
88
- }
89
- });
90
- omegga.on('mapchange', ({ map }) => log('Map changed to', (map.charAt(0).toUpperCase() + map.slice(1)).green));
91
- omegga.on('unauthorized', () => {
92
- err('Server failed authentication check');
93
- info('You can clear auth tokens with', 'omegga auth -gl'.green);
94
- info('This will require you to sign-in again');
95
- process.exit();
96
- });
97
- omegga.on('error', e => err('Server caught unhandled exception:\n' + e));
98
- omegga.on('server:stopped', () => log('Server has closed. Type', '/stop'.yellow, 'to close omegga'));
99
- this.rl.on('line', this.handleLine.bind(this));
100
- // console commands
101
- Object.entries({
102
- debug: {
103
- desc: 'toggle visibility of brickadia console logs',
104
- fn() {
105
- options.debug = !options.debug;
106
- log('Brickadia logs now', options.debug ? 'visible'.green : 'hidden'.red);
107
- },
108
- },
109
- help: {
110
- desc: 'list supported commands and their descriptions',
111
- fn() {
112
- const maxCmdLen = Math.max(...Object.keys(this.commands).map(s => s.length));
113
- log('Omegga Help Text:\n');
114
- this.log(' Console input not starting with / will be sent in chat from a "SERVER" user');
115
- this.log(' Console input starting with / will be treated as one of the following commands\n');
116
- this.log('-- Available Omegga commands (type', '/command'.yellow.underline, 'to run)');
117
- Object.keys(this.commands)
118
- .sort()
119
- .forEach(k => {
120
- this.log(' ', k.yellow.underline, '-'.padStart(maxCmdLen - k.length + 1), this.commands[k].desc);
121
- });
122
- this.log('');
123
- },
124
- },
125
- cmd: {
126
- desc: 'run a console command on the brickadia server. requires debug for log to show',
127
- fn(...args) {
128
- if (!this.omegga.started) {
129
- err('Omegga is not running');
130
- return;
131
- }
132
- this.omegga.writeln(args.join(' '));
133
- },
134
- },
135
- ban: {
136
- desc: 'ban a player',
137
- fn(...args) {
138
- if (!this.omegga.started) {
139
- err('Omegga is not running');
140
- return;
141
- }
142
- if (!args.length) {
143
- return err('usage:', '/ban <name|id> [duration in mins] [reason]'.yellow);
144
- }
145
- this.omegga.writeln('Chat.Command /ban ' + args.join(' '));
146
- },
147
- },
148
- unban: {
149
- desc: 'unban a player',
150
- fn(...args) {
151
- if (!this.omegga.started) {
152
- err('Omegga is not running');
153
- return;
154
- }
155
- if (!args.length) {
156
- return err('usage:', '/unban <name|id>'.yellow);
157
- }
158
- this.omegga.writeln('Chat.Command /unban ' + args.join(' '));
159
- },
160
- },
161
- kick: {
162
- desc: 'kick a player',
163
- fn(...args) {
164
- if (!this.omegga.started) {
165
- err('Omegga is not running');
166
- return;
167
- }
168
- if (!args.length) {
169
- return err('usage:', '/kick <name|id> [reason]'.yellow);
170
- }
171
- this.omegga.writeln('Chat.Command /kick ' + args.join(' '));
172
- },
173
- },
174
- grantrole: {
175
- desc: 'grant a role to a player',
176
- fn(...args) {
177
- if (!this.omegga.started) {
178
- err('Omegga is not running');
179
- return;
180
- }
181
- if (!args.length) {
182
- return err('usage:', '/grantrole <role name> <name|id>'.yellow);
183
- }
184
- this.omegga.writeln('Chat.Command /grantrole ' + args.join(' '));
185
- },
186
- },
187
- revokerole: {
188
- desc: 'revoke a role from a player',
189
- fn(...args) {
190
- if (!this.omegga.started) {
191
- err('Omegga is not running');
192
- return;
193
- }
194
- if (!args.length) {
195
- return err('usage:', '/revokerole <role name> <name|id>'.yellow);
196
- }
197
- this.omegga.writeln('Chat.Command /revokerole ' + args.join(' '));
198
- },
199
- },
200
- clearbricks: {
201
- desc: "clear a player's bricks",
202
- fn(...args) {
203
- if (!this.omegga.started) {
204
- err('Omegga is not running');
205
- return;
206
- }
207
- if (!args.length) {
208
- return err('usage:', '/clearbricks <name>'.yellow);
209
- }
210
- this.omegga.writeln(`Bricks.Clear "${args.join(' ')}"`);
211
- },
212
- },
213
- clearallbricks: {
214
- desc: 'clear all bricks',
215
- fn() {
216
- if (!this.omegga.started) {
217
- err('Omegga is not running');
218
- return;
219
- }
220
- this.omegga.writeln('Bricks.ClearAll');
221
- },
222
- },
223
- status: {
224
- desc: 'display server status information. brick count, online players, etc',
225
- async fn() {
226
- if (!this.omegga.started) {
227
- err('Omegga is not running');
228
- return;
229
- }
230
- const msToTime = (ms) => new Date(ms).toISOString().slice(11, 19);
231
- try {
232
- const status = await this.omegga.getServerStatus();
233
- log('Server Status');
234
- this.log(`
235
- ${status.serverName.yellow}
236
- Bricks: ${(status.bricks + '').yellow}
237
- Components: ${(status.components + '').yellow}
238
- Uptime: ${msToTime(status.time).yellow}
239
- Players: ${status.players.length === 0 ? 'none'.grey : ''}
240
- ${status.players
241
- .map(p => `[${msToTime(p.time).grey}] ${p.name.brightYellow}`)
242
- .join('\n ')}
243
- `);
244
- }
245
- catch (e) {
246
- err('An error occurred while getting server status');
247
- }
248
- },
249
- },
250
- stop: {
251
- desc: 'stop the server and close Omegga',
252
- async fn() {
253
- log('Stopping server...');
254
- await this.omegga.stop();
255
- process.exit();
256
- },
257
- },
258
- kill: {
259
- desc: 'forcefully kill brickadia server process without closing omegga',
260
- async fn() {
261
- log('Stopping server...');
262
- await this.omegga.stop();
263
- },
264
- },
265
- save: {
266
- desc: 'Save bricks to a specified file',
267
- async fn(...args) {
268
- const name = args.join(' ');
269
- if (!name.length)
270
- return err('usage:', '/save <name>'.yellow);
271
- log('Saving bricks');
272
- this.omegga.saveBricks(name);
273
- },
274
- },
275
- load: {
276
- desc: 'Load bricks from a specified file',
277
- async fn(...args) {
278
- const name = args.join(' ');
279
- if (!name.length)
280
- return err('usage:', '/load <name>'.yellow);
281
- log('Loading bricks');
282
- this.omegga.loadBricks(name);
283
- },
284
- },
285
- start: {
286
- desc: 'start the server if it is stopped',
287
- fn() {
288
- if (!this.omegga ||
289
- (this.omegga && (this.omegga.starting || this.omegga.started))) {
290
- err('Omegga is already running');
291
- return;
292
- }
293
- log('Starting server...');
294
- this.omegga.start();
295
- },
296
- },
297
- reload: {
298
- desc: 'reload available plugins',
299
- async fn() {
300
- if (!this.omegga.pluginLoader) {
301
- err('Omegga is not using plugins');
302
- return;
303
- }
304
- log('Unloading current plugins');
305
- let success = await this.omegga.pluginLoader.unload();
306
- if (!success) {
307
- err('Could not unload all plugins');
308
- return;
309
- }
310
- log('Scanning for new plugins');
311
- success = await this.omegga.pluginLoader.scan();
312
- if (!success) {
313
- err('Could not scan for plugins');
314
- return;
315
- }
316
- log('Starting plugins');
317
- success = await this.omegga.pluginLoader.reload();
318
- if (success) {
319
- const plugins = this.omegga.pluginLoader.plugins
320
- .filter(p => p.isLoaded())
321
- .map(p => p.getName());
322
- log('Loaded', (plugins.length + '').yellow, 'plugins:', plugins);
323
- }
324
- else {
325
- err('Could not load all plugins');
326
- }
327
- },
328
- },
329
- }).forEach(([cmd, { desc, fn }]) => this.addCommand(cmd, desc, fn));
330
- }
331
- // add a command
332
- addCommand(name, desc, fn) {
333
- this.commands[name] = { name, desc, fn: fn.bind(this) };
334
- }
335
- async handleLine(line) {
336
- if (line.startsWith('/')) {
337
- const [cmd, ...args] = line.slice(1).split(' ');
338
- if (!this.commands[cmd]) {
339
- err(`unrecognized command /${cmd.underline}. Type /help for more info`.red);
340
- }
341
- else {
342
- try {
343
- const res = this.commands[cmd].fn.bind(this)(...args);
344
- if (res instanceof Promise) {
345
- await res;
346
- }
347
- }
348
- catch (e) {
349
- err('unhandled terminal error', e);
350
- }
351
- }
352
- }
353
- else if (line.trim().length > 0) {
354
- if (this.omegga.started) {
355
- // broadcast when the chat does not start with a command
356
- this.omegga.broadcast(`"[<b><color=\\"ff00ff\\">SERVER</></>]: ${(0, chat_1.sanitize)(line)}"`);
357
- process.stdout.clearLine(0);
358
- this.log(`[${'SERVER'.brightMagenta.underline}]: ${line}`);
359
- // if omegga is running a webserver - send this message in the chat log
360
- if (this.omegga.webserver) {
361
- const user = { name: 'SERVER', id: '', web: true, color: 'ff00ff' };
362
- // create database entry, send to web ui
363
- this.omegga.webserver.io
364
- .to('chat')
365
- .emit('chat', await this.omegga.webserver.database.addChatLog('msg', user, line));
366
- }
367
- }
368
- else {
369
- err('Server is not started yet. type'.red, '/help'.yellow, 'for more info'.red);
370
- }
371
- }
372
- }
373
- // let readline render a log without interrupting user input
374
- log(...args) {
375
- process.stdout.clearLine(0);
376
- process.stdout.cursorTo(0);
377
- console.log(...args);
378
- this.rl.prompt(true);
379
- }
380
- // let readline render a debug log without interrupting user input
381
- debug(...args) {
382
- process.stdout.clearLine(0);
383
- process.stdout.cursorTo(0);
384
- console.debug(...args);
385
- this.rl.prompt(true);
386
- }
387
- // let readline render a warning log without interrupting user input
388
- warn(...args) {
389
- process.stdout.clearLine(0);
390
- process.stdout.cursorTo(0);
391
- console.warn(...args);
392
- this.rl.prompt(true);
393
- }
394
- // let readline render an error log without interrupting user input
395
- error(...args) {
396
- process.stdout.clearLine(0);
397
- process.stdout.cursorTo(0);
398
- console.error(...args);
399
- this.rl.prompt(true);
400
- }
401
- }
402
- exports.default = Terminal;
403
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/terminal/index.ts"],"names":[],"mappings":"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"}
package/omegga-config.yml DELETED
@@ -1,8 +0,0 @@
1
- omegga:
2
- webui: true
3
- port: 8080
4
- https: true
5
- server:
6
- port: 5601
7
- map: Plate
8
- branch: main-server