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,
|
|
|
|
discordServerStatus,
|
|
|
|
discordTeamkill,
|
|
|
|
influxdbLog,
|
|
|
|
influxdbLogDefaultSchema,
|
|
|
|
mapvote,
|
|
|
|
mysqlLog,
|
|
|
|
teamRandomizer
|
|
|
|
} from 'plugins';
|
|
|
|
|
|
|
|
async function main() {
|
|
|
|
const server = new Server({
|
|
|
|
id: 1,
|
|
|
|
|
|
|
|
host: 'xxx.xxx.xxx.xxx',
|
|
|
|
queryPort: 27165,
|
|
|
|
rconPort: 21114,
|
|
|
|
rconPassword: 'password',
|
|
|
|
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');
|
|
|
|
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);
|
|
|
|
|
|
|
|
// 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();
|