Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

SquadJS is a self-hosted Node.js framework that reads live Squad server logs and communicates with the server through RCON. Install Git, Node.js 18.x and Yarn 1.22.0 or newer, give the process access to local or FTP/SFTP logs, configure the server credentials in config.json, enable the plugins you need, and start it with node index.js. The result is a customizable administration layer that can send events to Discord, expose a controlled RCON console and record admin-camera activity.

What SquadJS does and when it is useful

SquadJS is a framework rather than a finished hosted dashboard. It handles the difficult plumbing—RCON communication and live log parsing—so administrators can add plugins without implementing those systems themselves. The Team-Silver-Sphere documentation describes it as a base for writing complex plugins while avoiding the routine work of RCON and log parsing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The framework needs two kinds of access. It must reach the Squad server through the configured query and RCON endpoints, and it must read the server’s live log directory. Run it on the same machine as the game server when possible. If that is not practical, provide the log files over FTP or SFTP and configure the matching connection block.

This architecture suits communities that want custom automation, Discord notifications or ownership of their data. A hosted administration dashboard can be simpler when the team does not want to maintain a Node.js service, but it generally offers less control over custom plugin code.

#1 Best Overall
Raven Squad - PC
  • Combined RTS vs. FPS multiplayer experience opportunity. Jungle Atmosphere.
  • Intuitive command and camera system. 8 Controllable Units with unique weapons and skills.
  • 11 Campaign Missions with Co-Op Support
  • Online and Local 2 player Co-Op
  • 5.1 Atmospheric Dolby Digital Sound Experience

Prerequisites and deployment choices

Requirement What it is used for
Git Downloads or clones the SquadJS project.
Node.js 18.x Runs the SquadJS application.
Yarn 1.22.0 or newer Installs the project dependencies.
Squad server credentials Authenticates the query and RCON connections.
Live log access Supplies logs through a local directory, FTP or SFTP.
Plugin-specific prerequisites Some plugins require their own connectors, databases or permissions.

Choose the log arrangement before installing:

  • Same server box: SquadJS reads the local log directory directly. This avoids a second transfer service and normally gives the fastest access to new entries.
  • Remote FTP: SquadJS connects to the server’s FTP service and reads the published log files.
  • Remote SFTP: SquadJS uses an SFTP connection when the host supports it. Keep the account limited to the directories SquadJS needs.

Use an account created for the service instead of sharing a broad control-panel or operating-system password. Never commit RCON, FTP or SFTP passwords to a public Git repository.

Install SquadJS

  1. Download the project. Clone the SquadJS repository with Git, or download its source archive and unpack it on the machine that will run the service.
  2. Install dependencies. From the project directory, run yarn install --ignore-engines. The documented command deliberately ignores engine checks; use the required Node.js 18.x runtime rather than treating that flag as permission to run an unsupported Node version.
  3. Create the configuration. Copy or edit the supplied config.json and enter the server connection, log-reader and plugin settings described below.
  4. Start the application. Run node index.js from the SquadJS directory. Keep the terminal visible during the first start so connection and configuration errors can be read immediately.
  5. Validate the baseline. Confirm that SquadJS connects to the server and begins reading new log entries before enabling several plugins. A clean baseline makes plugin failures much easier to isolate.

Individual plugins may add requirements beyond the core list. Read each plugin’s documented options before turning it on.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build the server section in config.json

The server object identifies the game server and tells SquadJS how to reach it. The important properties are:

Property Purpose Configuration advice
id A unique numeric identifier for the server. Use a different value for every server managed by the same installation.
host Hostname or IP address of the Squad server. Use the address reachable from the machine running SquadJS.
queryPort Port used for server queries. Copy the value from the host’s actual server configuration.
rconPort Port used for RCON commands. Do not assume the default when the host runs multiple servers.
rconPassword Password accepted by the server’s RCON service. Store it outside public repositories and rotate it if exposed.
logReaderMode Selects how SquadJS obtains logs. Choose the local, FTP or SFTP mode that matches your deployment.
logDir Local path to the live Squad log directory. Set it only when the selected reader uses local files.

Remote readers use FTP or SFTP blocks for their host, port and account details. The adminLists setting can point to local, remote or FTP sources when your administration setup maintains external admin lists. Keep file paths and credentials consistent with the selected reader mode; a valid RCON connection cannot compensate for an unreadable log path.

Configure Squad RCON correctly

Squad’s RCON settings are stored in Rcon.cfg. The Squad Wiki identifies 21114 as the default RCON port, but that is a starting value, not a guarantee. An external tool needs the server IP, the configured RCON port and the RCON password. On a host running several instances, each server can use different ports.

  1. Open the server’s Rcon.cfg and verify that RCON is enabled.
  2. Record the actual RCON port and password from that file or the host’s control panel.
  3. Enter the same values in config.json under host, rconPort and rconPassword.
  4. Allow the RCON port through the host firewall only from the machine or network that needs it.
  5. Start SquadJS and look for a successful RCON connection before troubleshooting plugins.

Use a least-privileged administrator account where the server supports distinct permissions. Discord command access should be narrower still: only trusted Discord roles should be mapped to RCON commands.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Laser Squad Nemesis - PC
  • Pick your squad by spending 'Force Points'
  • Choose Laser Marines, Greys, Machina or Spawn - 4 different races with unique unit types and special abilities
  • Alter the landscape with grenades, rockets and other deadly weapons, in the fully-destructible terrain
  • Play single player campaigns for each of the four races, then challenge anyone, anywhere in the world
  • World league rankings - progress through the Rookie, Veteran and Elite divisions

Enable plugins in the plugins array

SquadJS reads its built-in plugins from the plugins array in config.json. Each plugin has a disabled option: set it to false to load the plugin and true to leave it off. Add the options documented by that plugin in the same configuration entry. The project README uses auto-tk-warn as an example of a plugin entry.

Enable one plugin at a time during initial setup. After each change, restart with node index.js and verify the startup output. This separates a malformed option or missing permission from a core connection problem.

DiscordRcon: a controlled Discord console

DiscordRcon lets a specified Discord channel act as an RCON console. Configure the Discord connector name and the destination channel ID explicitly. Its permissions option maps Discord role IDs to the commands those roles may run. An empty permissions dictionary disables command permissions, so do not leave it empty if the channel is expected to issue commands.

Limit the mapping to trusted roles and avoid exposing a general-purpose RCON console in a public channel. Treat every command issued through Discord as an administrative action and review the role list whenever staff responsibilities change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

DiscordAdminBroadcast: mirror in-game broadcasts

DiscordAdminBroadcast copies in-game administrator broadcasts into a selected Discord channel. Set the connector name and channel ID in the plugin options, then send a test broadcast while watching both the game and Discord channel. This is useful when moderators need visibility without staying in the game client.

DiscordAdminCamLogs: record admin-camera use

DiscordAdminCamLogs records use of the administrator camera in Discord. Configure its connector and channel IDs separately from the broadcast destination if you want different audiences or retention policies. Make sure the Discord bot has permission to view and send messages in every configured channel.

Rank #3
Mass Effect 2 - PC
  • Improved NPC conversation system where Commander Shepard can take matters into your own hands – interrupting or using force to get the answer required.
  • The second act of BioWare's epic sci-fi RPG trilogy continues the story of Commander Shepard and humanity's first steps onto the galactic stage.
  • Integration with the original Mass Effect game allows players to import saved files and contiue play with those files in Mass Effect 2.
  • Choose from 19 different weapons, including devastating heavy weapons that can end a battle in seconds.
  • New location based damage system allows for targeting of key weak points, blasting off limbs, igniting enemies, or cripple and disable enemy troops.

Connect logs through local storage, FTP or SFTP

SquadJS relies on access to the live log directory to collect information. A local deployment needs a correct logDir and operating-system permission to read it. A remote deployment needs working FTP or SFTP credentials, the correct remote path and a reader mode that matches the transport.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Local symptom: RCON connects, but no events appear. Check that the path points to the active server instance rather than an old archive and that the service account can read new files.
  • FTP symptom: Authentication succeeds but events remain stale. Check the remote directory, passive-mode or firewall rules supplied by the host, and whether the host exposes the live file rather than delayed copies.
  • SFTP symptom: The connection is refused or reaches the wrong directory. Verify the SFTP port, account’s chroot or home path and read permissions.

Do not change several connection settings at once. Confirm the reader independently, then add plugins that depend on parsed events.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot in a reliable order

  1. Check the server first. Confirm that Squad is running and that host, queryPort, rconPort and rconPassword exactly match the active instance. Remember that 21114 is only the documented default RCON port.
  2. Check log access. Verify the selected reader mode, local logDir or FTP/SFTP credentials and path. Look for a newly written log entry rather than relying on an old file.
  3. Run the core process manually. Start node index.js and read the first errors before adding more plugins. Syntax errors and authentication failures are usually clearer at startup.
  4. Add plugins individually. Validate each connector name, Discord channel ID, database setting and permission mapping before enabling the next plugin.
  5. Increase logging temporarily. Raise verbosity for SquadServer, LogParser or RCON while diagnosing. Return to an operational level after the fault is identified so routine logs remain usable.

If the core process works but one plugin fails, leave the server and log settings unchanged and inspect only that plugin’s options and permissions. If no plugins work, return to the first two checks instead of debugging Discord configuration.

SquadJS versus a hosted administration dashboard

Hosted tools and self-hosted frameworks solve different operational problems. Game Host Bros identifies BattleMetrics and SquadJS as Squad administration tools that connect through RCON. The choice should be based on the team’s capabilities rather than on an assumed feature checklist.

Decision factor SquadJS Hosted dashboard
Maintenance You maintain Node.js, dependencies, configuration, credentials and uptime. The provider operates the application; your team mainly configures the connection.
Extensibility Plugin-based and suitable for custom JavaScript automation. Limited to the provider’s supported features and integrations.
Discord integration Directly configure plugins such as DiscordRcon, DiscordAdminBroadcast and DiscordAdminCamLogs. Depends on the dashboard’s built-in integrations; a complete feature list is not established here.
Audit and history You decide what to store and how to retain it through plugins and your own infrastructure. A provider may supply centralized history and multi-server views, but exact retention and export behavior must be checked with that provider.
Data location and access Logs, credentials and plugin output remain under your control. Operational data is handled through the provider’s service and policies.
Recurring cost No complete cost figure is established here; you still pay for the machine, storage and administration. Subscription and plan costs vary; current pricing was not established by the available sources.

Choose SquadJS when control matters most

Use SquadJS when you can maintain a small Node.js service, need behavior that is not available in a fixed dashboard, or require logs and credentials to stay on infrastructure you administer. It is also the better foundation for communities that expect to write or adapt plugins.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose hosted administration when maintenance is the constraint

A hosted dashboard is reasonable when staff want a ready-made RCON interface, centralized multi-server administration or less responsibility for Node.js updates. Confirm its current Discord, audit, retention, role and export features before moving production administration to it; no complete benchmark of those capabilities is established here.

Security and operating checklist

  • Keep rconPassword, FTP/SFTP passwords and Discord credentials out of public repositories.
  • Restrict firewall exposure for the RCON, FTP and SFTP ports.
  • Use separate service accounts and the narrowest permissions the host supports.
  • Map DiscordRcon commands only to trusted role IDs.
  • Use unique numeric server IDs when one SquadJS installation serves multiple servers.
  • Test a plugin in isolation before enabling it on a live community server.
  • Review channel permissions for every Discord destination used by administrative plugins.
  • Increase component logging only during diagnosis, then reduce verbosity.
  • Keep a copy of the working config.json in a protected location so a bad edit can be reverted without exposing secrets.

What a successful first run looks like

After installation, the process starts without configuration errors, establishes the query and RCON connections, and reads new entries from the selected log source. Enabling DiscordRcon then produces a controlled console only for mapped roles; enabling DiscordAdminBroadcast mirrors a test broadcast; and enabling DiscordAdminCamLogs posts a camera-use event when an administrator uses that feature. If any of these checks fails, follow the troubleshooting order rather than changing all settings simultaneously.

Quick Recap

Bestseller No. 1
Raven Squad - PC
Raven Squad - PC
Combined RTS vs. FPS multiplayer experience opportunity. Jungle Atmosphere.; Intuitive command and camera system. 8 Controllable Units with unique weapons and skills.
$3.95
Bestseller No. 2
Laser Squad Nemesis - PC
Laser Squad Nemesis - PC
Pick your squad by spending 'Force Points'; World league rankings - progress through the Rookie, Veteran and Elite divisions
$21.48
Bestseller No. 3

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.