Brimstone is an application written by Alex for the sole purpose of maximizing the number of liberators a BCRO can ban during a liberation jump. It accepts configuration files that allow for customization of application behaviors, and prompts the user for credentials to log into a Border Control Regional Officer nation.
Use
Brimstone is available on Github as a Windows executable and as Python source code targeting Python >=3.11. In addition to Brimstone itself, Brimstone requires a config.toml file to inform the system how to treat inbound nations. This file can be edited with tools such as Notepad (or the superior Notepad++) or similar, and are often shared between all Brimstone users for a given update. Example config.toml files are available in the Github releases, as well as in the Brimstone repository.
Note: Brimstone requires root permissions on Mac and Linux systems.
To run Brimstone, ensure a valid config.toml file is in the same directory as the Brimstone executable. Run Brimstone.exe, and enter in your main nation, your RO nation, and your password (this is only sent to NationStates servers and is not stored) when prompted. Brimstone will take a moment to initialize IFF (take snapshots of certain regions defined in config.toml) and then present the user with an activation yes/no prompt. Enter yes, then hit enter, and finally begin spamming spacebar. When nations move into the region, Brimstone will automatically evaluate which ones, if any, should be banned. Each successive press of the spacebar "authorizes" a ban attempt against a randomly-selected nation.
Those running Brimstone from source should instead run python3 brimstone.py instead of a Brimstone executable. All other steps remain the same.
Configuration
Brimstone is capable of making decisions on how to treat inbound nations according to a series of parameters as specified in config.toml. This grants it the ability to be customized for certain situations.config.toml accepts the following parameters:
- wa_only (default true) - when set to true, only attempt to ban WA member nations, and ignore non-WA nations.
- ignore_ros (default true) - when set to true, Brimstone takes a snapshot of the regional officers of the region it is operating in, and will excempt those nations from targeting. This allows ROs to "surf" out of region and return unscathed.
- ignore_residents (default true) - similar to ignore_ros, when this option is set to true, Brimstone takes a snapshot of every nation - regardless of WA status - present in the region when launched, and does not target them. This is particularly useful if you anticipate pilers WAing back up on short triggers, as WAing up and moving into the region appear identical to Brimstone in WA-only mode.
- target_bogeys (default true) - when set to true, Brimstone will assume any nations not explicitly defined in the whitelist or blacklist should be treated as hostile and banned. In 99% of scenarios, this should be set to true - it is only when you have a small list of nations that you want to ban, and do not want to ban any others than those specific nations, that you should consider setting this to false.
- stoponupdate (default false) - this feature is discarded in Brimstone 2.0, but is in config.toml files for future Brimstone releases. When set to true, Brimstone will stop banning nations as soon as the region begins to update. This should only be set to true if every scrap of influence is considered more important than maximum ban numbers, as pre-update bans can still occur while the region is updating.
- pollspeed (default 650) - an interval in milliseconds to poll the NationStates API to gather information on what nations are in the region. Brimstone will reject any value lower than 600, as that is the absolute minimum permitted by NationStates API rules.
- jitter (default 0) - an interval in milliseconds to stagger API requests. Useful if you have multiple ROs, to prevent all ROs from gathering data at the same time - however, in practice, this is rarely changed from 0.
config.toml also defines nations and regions in both whitelist and blacklist sections. Nations (and members of regions) specified in config.toml will always be permitted safe passage (if they are in the whitelist section) or targeted for banning (if in the blacklist), regardless of other parameters (e.g., a nation that moves into the region, is neither WA nor in a whitelisted region, etc., but is in the whitelist, will be spared.) The individual nation field is considered "higher priority" than the region field. For example, if a whitelisted nation is in a blacklisted region when Brimstone starts, the nation will be considered whitelisted despite its presence in a blacklisted region.
Downloads
The latest release can be found here, which includes valid config.toml files suitable for most anti-liberation scenarios. Alternatively, both Brimstone source code and a config.toml can be found on Github.