SquadJS/index.js

82 lines
2.0 KiB
JavaScript
Raw Normal View History

2020-05-15 12:42:39 -05:00
import Discord from 'discord.js';
import mysql from 'mysql';
import Influx from 'influx';
import Server from 'squad-server';
2020-06-13 09:33:44 -05:00
import SquadLayerFilter from 'connectors/squad-layer-filter';
2020-05-15 12:42:39 -05:00
import {
discordAdminCamLogs,
discordChat,
2020-07-06 19:42:50 -05:00
discordChatAdminRequest,
2020-05-15 12:42:39 -05:00
discordServerStatus,
discordTeamkill,
influxdbLog,
influxdbLogDefaultSchema,
mapvote,
mysqlLog,
teamRandomizer,
seedingMessage
2020-05-15 12:42:39 -05:00
} from 'plugins';
async function main() {
const server = new Server({
id: 1,
host: 'xxx.xxx.xxx.xxx',
queryPort: 27165,
rconPort: 21114,
rconPassword: 'password',
2020-06-27 11:57:29 -05:00
// Uncomment the following lines to read logs over FTP.
// ftpPort: 21,
// ftpUser: 'FTP Username',
// ftpPassword: 'FTP Password',
// logReaderMode: 'ftp',
2020-05-15 12:42:39 -05:00
logDir: 'C:/path/to/squad/log/folder'
});
// Discord Plugins
const discordClient = new Discord.Client();
await discordClient.login('Discord Login Token');
await discordAdminCamLogs(server, discordClient, 'discordChannelID');
await discordChat(server, discordClient, 'discordChannelID');
2020-07-08 15:49:48 -05:00
await discordChatAdminRequest(server, discordClient, 'discordChannelID', { pingGroups: ['discordGroupID'] });
2020-05-15 12:42:39 -05:00
await discordServerStatus(server, discordClient);
await discordTeamkill(server, discordClient, 'discordChannelID');
// in game features
2020-06-13 09:33:44 -05:00
const squadLayerFilter = SquadLayerFilter.buildFromFilter({});
mapvote(server, 'didyoumean', squadLayerFilter, {});
2020-05-15 12:42:39 -05:00
teamRandomizer(server);
2020-06-28 07:53:37 -05:00
seedingMessage(server);
2020-05-15 12:42:39 -05:00
// MySQL Plugins
const mysqlPool = mysql.createPool({
connectionLimit: 10,
host: 'host',
port: 3306,
user: 'squadjs',
password: 'password',
database: 'squadjs'
});
mysqlLog(server, mysqlPool);
// Influx Plugins
const influxDB = new Influx.InfluxDB({
host: 'host',
port: 8086,
username: 'squadjs',
password: 'password',
database: 'squadjs',
schema: influxdbLogDefaultSchema
});
influxdbLog(server, influxDB);
await server.watch();
}
main();