diff --git a/README.md b/README.md index 21a6aee..ac377c0 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,214 @@ The following is a list of plugins built into SquadJS, you can click their title Interested in creating your own plugin? [See more here](./squad-server/plugins/readme.md) +
+ SeedingMode +

SeedingMode

+

The SeedingMode plugin broadcasts seeding rule messages to players at regular intervals when the server is below a specified player count. It can also be configured to display "Live" messages when the server goes live.

+

Options

+ +
+ +
+ DiscordChat +

DiscordChat

+

The DiscordChat plugin will log in-game chat to a Discord channel.

+

Options

+ +
+ +
+ DiscordSubsystemRestarter +

DiscordSubsystemRestarter

+

The DiscordSubSystemRestarter plugin allows you to manually restart SquadJS subsystems in case an issues arises with them.

+

Options

+ +
+ +
+ AutoTKWarn +

AutoTKWarn

+

The AutoTkWarn plugin will automatically warn players with a message when they teamkill.

+

Options

+ +
+ +
+ DiscordRoundWinner +

DiscordRoundWinner

+

The DiscordRoundWinner plugin will send the round winner to a Discord channel.

+

Options

+ +
+ +
+ ChatCommands +

ChatCommands

+

The ChatCommands plugin can be configured to make chat commands that broadcast or warn the caller with present messages.

+

Options

+ +
+ +
+ DiscordAdminBroadcast +

DiscordAdminBroadcast

+

The DiscordAdminBroadcast plugin will send a copy of admin broadcasts made in game to a Discord channel.

+

Options

+ +
+ +
+ DiscordRoundEnded +

DiscordRoundEnded

+

The DiscordRoundEnded plugin will send the round winner to a Discord channel.

+

Options

+ +
+
AutoKickUnassigned

AutoKickUnassigned

@@ -249,132 +457,28 @@ Interested in creating your own plugin? [See more here](./squad-server/plugins/r
- AutoTKWarn -

AutoTKWarn

-

The AutoTkWarn plugin will automatically warn players with a message when they teamkill.

+ SocketIOAPI +

SocketIOAPI

+

The SocketIOAPI plugin allows remote access to a SquadJS instance via Socket.IO
As a client example you can use this to connect to the socket.io server;


+      const socket = io.connect('ws://IP:PORT', {
+        auth: {
+          token: "MySecretPassword"
+        }
+      })
+    
If you need more documentation about socket.io please go ahead and read the following;
General Socket.io documentation: Socket.io Docs
Authentication and securing your websocket: Sending-credentials
How to use, install and configure a socketIO-client: Usage Guide with Examples

Options

-
- -
- CBLInfo -

CBLInfo

-

The CBLInfo plugin alerts admins when a harmful player is detected joining their server based on data from the Community Ban List.

-

Options

- -
- -
- ChatCommands -

ChatCommands

-

The ChatCommands plugin can be configured to make chat commands that broadcast or warn the caller with present messages.

-

Options

- -
- -
- DBLog -

DBLog

-

The mysql-log plugin will log various server statistics and events to a database. This is great for server performance monitoring and/or player stat tracking. - -Grafana: -

-

Options

- -
- -
- DiscordAdminBroadcast -

DiscordAdminBroadcast

-

The DiscordAdminBroadcast plugin will send a copy of admin broadcasts made in game to a Discord channel.

-

Options

- -
- -
- DiscordAdminCamLogs -

DiscordAdminCamLogs

-

The DiscordAdminCamLogs plugin will log in game admin camera usage to a Discord channel.

-

Options

- +
MySecretPassword
@@ -445,90 +549,15 @@ Grafana:
- DiscordChat -

DiscordChat

-

The DiscordChat plugin will log in-game chat to a Discord channel.

+ TeamRandomizer +

TeamRandomizer

+

The TeamRandomizer can be used to randomize teams. It's great for destroying clan stacks or for social events. It can be run by typing, by default, !randomize into in-game admin chat

Options

-
- -
- DiscordDebug -

DiscordDebug

-

The DiscordDebug plugin can be used to help debug SquadJS by dumping SquadJS events to a Discord channel.

-

Options

- -
- -
- DiscordFOBHABExplosionDamage -

DiscordFOBHABExplosionDamage

-

The DiscordFOBHABExplosionDamage plugin logs damage done to FOBs and HABs by explosions to help identify engineers blowing up friendly FOBs and HABs.

-

Options

- +
randomize
@@ -560,25 +589,99 @@ Grafana:
- DiscordPlaceholder -

DiscordPlaceholder

-

The DiscordPlaceholder plugin allows you to make your bot create placeholder messages that can be used when configuring other plugins.

+ DiscordAdminCamLogs +

DiscordAdminCamLogs

+

The DiscordAdminCamLogs plugin will log in game admin camera usage to a Discord channel.

Options

+
Example
+
667741905228136459
+
  • color

    +
    Description
    +

    The color of the embed.

    +
    Default
    +
    16761867
  • +
    + +
    + DBLog +

    DBLog

    +

    The mysql-log plugin will log various server statistics and events to a database. This is great for server performance monitoring and/or player stat tracking. + +Grafana: +

    +

    Options

    + +
    + +
    + CBLInfo +

    CBLInfo

    +

    The CBLInfo plugin alerts admins when a harmful player is detected joining their server based on data from the Community Ban List.

    +

    Options

    + +
    + +
    + DiscordDebug +

    DiscordDebug

    +

    The DiscordDebug plugin can be used to help debug SquadJS by dumping SquadJS events to a Discord channel.

    +

    Options

    +
    @@ -617,9 +720,9 @@ Grafana:
    - DiscordRoundWinner -

    DiscordRoundWinner

    -

    The DiscordRoundWinner plugin will send the round winner to a Discord channel.

    + DiscordFOBHABExplosionDamage +

    DiscordFOBHABExplosionDamage

    +

    The DiscordFOBHABExplosionDamage plugin logs damage done to FOBs and HABs by explosions to help identify engineers blowing up friendly FOBs and HABs.

    Options

    - DiscordRoundEnded -

    DiscordRoundEnded

    -

    The DiscordRoundEnded plugin will send the round winner to a Discord channel.

    + PersistentEOSIDtoSteamID +

    PersistentEOSIDtoSteamID

    +

    Stores into a DB every association of SteamID-EOSID

    +

    Options

    + +
    + +
    + DiscordPlaceholder +

    DiscordPlaceholder

    +

    The DiscordPlaceholder plugin allows you to make your bot create placeholder messages that can be used when configuring other plugins.

    +

    Options

    + +
    + +
    + DiscordTeamkill +

    DiscordTeamkill

    +

    The DiscordTeamkill plugin logs teamkills and related information to a Discord channel for admins to review.

    Options

    +
    + +
    + DiscordSquadCreated +

    DiscordSquadCreated

    +

    The SquadCreated plugin will log Squad Creation events to a Discord channel.

    +

    Options

    + +
    16761867
    +
  • useEmbed

    +
    Description
    +

    Send message as Embed

    +
    Default
    +
    true
  • @@ -699,80 +869,6 @@ Grafana:
    true
    -
    - DiscordSquadCreated -

    DiscordSquadCreated

    -

    The SquadCreated plugin will log Squad Creation events to a Discord channel.

    -

    Options

    - -
    - -
    - DiscordSubsystemRestarter -

    DiscordSubsystemRestarter

    -

    The DiscordSubSystemRestarter plugin allows you to manually restart SquadJS subsystems in case an issues arises with them.

    -

    Options

    - -
    - -
    - DiscordTeamkill -

    DiscordTeamkill

    -

    The DiscordTeamkill plugin logs teamkills and related information to a Discord channel for admins to review.

    -

    Options

    - -
    -
    FogOfWar

    FogOfWar

    @@ -810,102 +906,6 @@ Grafana:
    300000
    -
    - PersistentEOSIDtoSteamID -

    PersistentEOSIDtoSteamID

    -

    Stores into a DB every association of SteamID-EOSID

    -

    Options

    - -
    - -
    - SeedingMode -

    SeedingMode

    -

    The SeedingMode plugin broadcasts seeding rule messages to players at regular intervals when the server is below a specified player count. It can also be configured to display "Live" messages when the server goes live.

    -

    Options

    - -
    - -
    - SocketIOAPI -

    SocketIOAPI

    -

    The SocketIOAPI plugin allows remote access to a SquadJS instance via Socket.IO
    As a client example you can use this to connect to the socket.io server;

    
    -      const socket = io.connect('ws://IP:PORT', {
    -        auth: {
    -          token: "MySecretPassword"
    -        }
    -      })
    -    
    If you need more documentation about socket.io please go ahead and read the following;
    General Socket.io documentation: Socket.io Docs
    Authentication and securing your websocket: Sending-credentials
    How to use, install and configure a socketIO-client: Usage Guide with Examples

    -

    Options

    - -
    - -
    - TeamRandomizer -

    TeamRandomizer

    -

    The TeamRandomizer can be used to randomize teams. It's great for destroying clan stacks or for social events. It can be run by typing, by default, !randomize into in-game admin chat

    -

    Options

    - -
    -
    ## Statement on Accuracy diff --git a/config.json b/config.json index d0dbd46..931609c 100644 --- a/config.json +++ b/config.json @@ -41,16 +41,33 @@ }, "plugins": [ { - "plugin": "AutoKickUnassigned", + "plugin": "SeedingMode", "enabled": true, - "warningMessage": "Join a squad, you are unassigned and will be kicked", - "kickMessage": "Unassigned - automatically removed", - "frequencyOfWarnings": 30, - "unassignedTimer": 360, - "playerThreshold": 93, - "roundStartDelay": 900, - "ignoreAdmins": false, - "ignoreWhitelist": false + "interval": 150000, + "seedingThreshold": 50, + "seedingMessage": "Seeding Rules Active! Fight only over the middle flags! No FOB Hunting!", + "liveEnabled": true, + "liveThreshold": 52, + "liveMessage": "Live!", + "waitOnNewGames": true, + "waitTimeOnNewGame": 30 + }, + { + "plugin": "DiscordChat", + "enabled": true, + "discordClient": "discord", + "channelID": "", + "chatColors": {}, + "color": 16761867, + "ignoreChats": [ + "ChatSquad" + ] + }, + { + "plugin": "DiscordSubsystemRestarter", + "enabled": false, + "discordClient": "discord", + "role": "" }, { "plugin": "AutoTKWarn", @@ -59,11 +76,11 @@ "victimMessage": null }, { - "plugin": "CBLInfo", + "plugin": "DiscordRoundWinner", "enabled": true, "discordClient": "discord", "channelID": "", - "threshold": 6 + "color": 16761867 }, { "plugin": "ChatCommands", @@ -77,12 +94,6 @@ } ] }, - { - "plugin": "DBLog", - "enabled": false, - "database": "mysql", - "overrideServerID": null - }, { "plugin": "DiscordAdminBroadcast", "enabled": false, @@ -91,12 +102,30 @@ "color": 16761867 }, { - "plugin": "DiscordAdminCamLogs", - "enabled": false, + "plugin": "DiscordRoundEnded", + "enabled": true, "discordClient": "discord", "channelID": "", "color": 16761867 }, + { + "plugin": "AutoKickUnassigned", + "enabled": true, + "warningMessage": "Join a squad, you are unassigned and will be kicked", + "kickMessage": "Unassigned - automatically removed", + "frequencyOfWarnings": 30, + "unassignedTimer": 360, + "playerThreshold": 93, + "roundStartDelay": 900, + "ignoreAdmins": false, + "ignoreWhitelist": false + }, + { + "plugin": "SocketIOAPI", + "enabled": false, + "websocketPort": "", + "securityToken": "" + }, { "plugin": "DiscordAdminRequest", "enabled": true, @@ -112,29 +141,9 @@ "showInGameAdmins": true }, { - "plugin": "DiscordChat", + "plugin": "TeamRandomizer", "enabled": true, - "discordClient": "discord", - "channelID": "", - "chatColors": {}, - "color": 16761867, - "ignoreChats": [ - "ChatSquad" - ] - }, - { - "plugin": "DiscordDebug", - "enabled": false, - "discordClient": "discord", - "channelID": "", - "events": [] - }, - { - "plugin": "DiscordFOBHABExplosionDamage", - "enabled": true, - "discordClient": "discord", - "channelID": "", - "color": 16761867 + "command": "randomize" }, { "plugin": "DiscordKillFeed", @@ -145,11 +154,31 @@ "disableCBL": false }, { - "plugin": "DiscordPlaceholder", + "plugin": "DiscordAdminCamLogs", + "enabled": false, + "discordClient": "discord", + "channelID": "", + "color": 16761867 + }, + { + "plugin": "DBLog", + "enabled": false, + "database": "mysql", + "overrideServerID": null + }, + { + "plugin": "CBLInfo", "enabled": true, "discordClient": "discord", - "command": "!placeholder", - "channelID": "" + "channelID": "", + "threshold": 6 + }, + { + "plugin": "DiscordDebug", + "enabled": false, + "discordClient": "discord", + "channelID": "", + "events": [] }, { "plugin": "DiscordRcon", @@ -160,18 +189,39 @@ "prependAdminNameInBroadcast": false }, { - "plugin": "DiscordRoundWinner", + "plugin": "DiscordFOBHABExplosionDamage", "enabled": true, "discordClient": "discord", "channelID": "", "color": 16761867 }, { - "plugin": "DiscordRoundEnded", + "plugin": "PersistentEOSIDtoSteamID", + "enabled": true, + "database": "sqlite" + }, + { + "plugin": "DiscordPlaceholder", + "enabled": true, + "discordClient": "discord", + "command": "!placeholder", + "channelID": "" + }, + { + "plugin": "DiscordTeamkill", "enabled": true, "discordClient": "discord", "channelID": "", - "color": 16761867 + "color": 16761867, + "disableCBL": false + }, + { + "plugin": "DiscordSquadCreated", + "enabled": false, + "discordClient": "discord", + "channelID": "", + "color": 16761867, + "useEmbed": true }, { "plugin": "DiscordServerStatus", @@ -183,28 +233,6 @@ "updateInterval": 60000, "setBotStatus": true }, - { - "plugin": "DiscordSquadCreated", - "enabled": false, - "discordClient": "discord", - "channelID": "", - "color": 16761867, - "useEmbed": true - }, - { - "plugin": "DiscordSubsystemRestarter", - "enabled": false, - "discordClient": "discord", - "role": "" - }, - { - "plugin": "DiscordTeamkill", - "enabled": true, - "discordClient": "discord", - "channelID": "", - "color": 16761867, - "disableCBL": false - }, { "plugin": "FogOfWar", "enabled": false, @@ -216,34 +244,6 @@ "enabled": false, "broadcasts": [], "interval": 300000 - }, - { - "plugin": "PersistentEOSIDtoSteamID", - "enabled": true, - "database": "sqlite" - }, - { - "plugin": "SeedingMode", - "enabled": true, - "interval": 150000, - "seedingThreshold": 50, - "seedingMessage": "Seeding Rules Active! Fight only over the middle flags! No FOB Hunting!", - "liveEnabled": true, - "liveThreshold": 52, - "liveMessage": "Live!", - "waitOnNewGames": true, - "waitTimeOnNewGame": 30 - }, - { - "plugin": "SocketIOAPI", - "enabled": false, - "websocketPort": "", - "securityToken": "" - }, - { - "plugin": "TeamRandomizer", - "enabled": true, - "command": "randomize" } ], "logger": {