2020-11-07 06:03:25 -06:00
|
|
|
import SquadServerFactory from 'squad-server/factory';
|
2020-10-05 12:52:01 -05:00
|
|
|
import printLogo from 'squad-server/logo';
|
|
|
|
|
2020-10-22 17:30:43 -05:00
|
|
|
async function main() {
|
|
|
|
await printLogo();
|
2020-10-21 15:00:37 -05:00
|
|
|
|
2020-10-22 17:30:43 -05:00
|
|
|
const config = process.env.config;
|
|
|
|
const configPath = process.argv[2];
|
|
|
|
if (config && configPath) throw new Error('Cannot accept both a config and config path.');
|
2020-10-21 15:00:37 -05:00
|
|
|
|
2020-12-03 08:16:07 -06:00
|
|
|
// create a SquadServer instance
|
2020-10-22 17:30:43 -05:00
|
|
|
const server = config
|
2020-11-07 06:03:25 -06:00
|
|
|
? await SquadServerFactory.buildFromConfigString(config)
|
|
|
|
: await SquadServerFactory.buildFromConfigFile(configPath || './config.json');
|
2020-10-21 15:00:37 -05:00
|
|
|
|
2020-12-03 08:16:07 -06:00
|
|
|
// watch the server
|
2020-10-22 17:30:43 -05:00
|
|
|
await server.watch();
|
2020-12-03 08:16:07 -06:00
|
|
|
|
|
|
|
// now mount the plugins
|
2020-12-06 15:23:05 -06:00
|
|
|
server.plugins.forEach((plugin) => plugin.mount());
|
2020-10-21 15:00:37 -05:00
|
|
|
}
|
|
|
|
|
2020-10-22 17:30:43 -05:00
|
|
|
main();
|