The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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
Prefer not to run the server on your own PC? Godlike.Host offers hosted Squad servers with free DDoS protection and up to three free backups a day.
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.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Raven Squad - PC | $3.95 | Buy on Amazon |
| 2 |
|
Laser Squad Nemesis - PC | $21.48 | Buy on Amazon |
| 3 |
|
Mass Effect 2 - PC | $9.95 | Buy on Amazon |
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
- 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
- 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.
- 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. - Create the configuration. Copy or edit the supplied
config.jsonand enter the server connection, log-reader and plugin settings described below. - Start the application. Run
node index.jsfrom the SquadJS directory. Keep the terminal visible during the first start so connection and configuration errors can be read immediately. - 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.
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.
- Open the server’s
Rcon.cfgand verify that RCON is enabled. - Record the actual RCON port and password from that file or the host’s control panel.
- Enter the same values in
config.jsonunderhost,rconPortandrconPassword. - Allow the RCON port through the host firewall only from the machine or network that needs it.
- 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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Rank #2
- 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.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteDiscordAdminBroadcast: 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
- 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.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11- 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.Troubleshoot in a reliable order
- Check the server first. Confirm that Squad is running and that
host,queryPort,rconPortandrconPasswordexactly match the active instance. Remember that 21114 is only the documented default RCON port. - Check log access. Verify the selected reader mode, local
logDiror FTP/SFTP credentials and path. Look for a newly written log entry rather than relying on an old file. - Run the core process manually. Start
node index.jsand read the first errors before adding more plugins. Syntax errors and authentication failures are usually clearer at startup. - Add plugins individually. Validate each connector name, Discord channel ID, database setting and permission mapping before enabling the next plugin.
- Increase logging temporarily. Raise verbosity for
SquadServer,LogParserorRCONwhile 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.
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.jsonin 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
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.

