Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
[v81] Visualizes RedLocustBees spatial checks for practicing the Bee AI Break glitch.
PluginsC# · PowerShellGitHub @aoirintOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A Lethal Company diagnostic overlay mod that visualizes RedLocustBees spatial checks for practicing the Bee AI Break glitch.
6423525044216269478)
These screenshots were captured with a development build of v0.2.0.
Bee AI Break is the community name for a glitch in which players move a hive away from Circuit Bees without the bees recognizing that it is missing, which can make hive collection safer.
When the glitch is active, the bees stay calm. They do not become defensive merely because a player is nearby; they must also see that player inside the hive's defense radius.
While a Circuit Bee is near its hive, it leaves its calm behavior when either condition is met:
For Bee AI Break to work, both conditions must remain false while the hive is carried away. NavMesh boundaries or terrain features can sometimes make these conditions possible.
While carrying the hive away:
BeeOverlay shows the relevant ranges, marker, and probe line without changing game behavior. See Bee AI Break for technical details.
com.aoirint.BeeOverlay.dll.BepInEx/plugins/ directory.Lobby hosts must install BeeOverlay. This prevents non-host players from using BeeOverlay's diagnostic features in a lobby without the host's knowledge.
Non-host players only need to install BeeOverlay when they want to use its diagnostic overlay. Their overlay remains disabled unless the lobby host has also installed BeeOverlay.
BeeOverlay starts with no bee selected, so it shows nothing.
Press Select Next Bee (B by default) to select bee:1, then bee:2,
and so on. Pressing it after the last bee returns to no selection.
The binding can be changed through InputUtils in the in-game keybind menu.
BepInEx creates BepInEx/config/com.aoirint.BeeOverlay.cfg after the first
launch.
| Setting | Default | Behavior |
|---|---|---|
General.Enabled | true | Set to false to disable all BeeOverlay functionality. |
General.AllowGuestEnabled | true | When hosting, allows non-host players to use BeeOverlay. |
Overlay.Enabled | true | Shows BeeOverlay elements. |
Overlay.HudEnabled | true | Shows the HUD status text. |
Overlay.BeeMarkerEnabled | true | Shows bee markers. |
Overlay.HiveMarkerEnabled | true | Shows hive markers. |
Overlay.KnownHiveMarkerEnabled | true | Shows known-hive markers. |
Overlay.PlayerMarkerEnabled | true | Shows local-player markers. |
Overlay.PlayerSightLineEnabled | true | Shows bee-to-player sight lines. |
Overlay.BeeSightRangeSphereEnabled | true | Shows bee 16-unit sight-range spheres. |
Overlay.HiveDefenseSphereEnabled | true | Shows hive defense-range spheres. |
Overlay.KnownHiveNearSphereEnabled | true | Shows known-hive 4-unit spheres. |
Overlay.KnownHiveLineOfSightSphereEnabled | true | Shows known-hive 8-unit line-of-sight spheres. |
Overlay.KnownHiveProbeLineEnabled | true | Shows bee-to-known-hive probe lines. |
Overlay.HivePickupSightLineEnabled | true | Shows bee-to-hive pickup-proxy sight lines. |
Changes made through a BepInEx configuration UI apply on the next HUD update. BeeOverlay does not watch direct edits to the generated configuration file.
Install .NET SDK 10.0 or later.
Install PowerShell 7.
Install Visual Studio 2022.
Install Docker if you plan to use the documented local Markdown lint command.
Install ShellCheck, actionlint, and
pinact if you plan to run GitHub Actions quality checks locally.
Install APM to restore the repository-local
Codex Skills pinned in apm.lock.yaml.
apm install --frozen
apm audit --ci
See AGENTS.md for the Skill update procedure.
Restore NuGet packages.
dotnet restore --locked-mode
Open BeeOverlay.sln in Visual Studio.
Run the relevant checks before opening a pull request.
dotnet format --no-restore --verify-no-changes
dotnet format is an aggregate formatter that checks whitespace, built-in code
style, and fixable analyzer diagnostics. Roslyn analyzers also run during build,
including diagnostics that cannot be automatically fixed.
Markdown is checked with markdownlint-cli2.
The pinned Docker image below is the documented local command so contributors do
not need a local Node.js project, but Docker is not required.
Other installation methods are acceptable when they run the same
markdownlint-cli2 version with this repository's configuration.
The image's default working directory is /workdir, so mount the repository
there. Run the Docker command without network access and as a non-root user.
On Windows with PowerShell, use UID/GID 1000:1000:
docker run --rm --network none --user 1000:1000 -v ".:/workdir" davidanson/markdownlint-cli2:v0.22.1@sha256:0ed9a5f4c77ef447da2a2ac6e67caf74b214a7f80288819565e8b7d2ac148fe5
On Linux, use sudo docker and pass the host user's UID and GID:
sudo docker run --rm --network none --user "$(id -u):$(id -g)" -v ".:/workdir" davidanson/markdownlint-cli2:v0.22.1@sha256:0ed9a5f4c77ef447da2a2ac6e67caf74b214a7f80288819565e8b7d2ac148fe5
When updating Markdown lint tooling, update the documented local command and the CI action together after the repository cooldown period has elapsed.
GitHub Actions workflows are checked with actionlint.
actionlint checks workflow syntax, expressions, runner labels, and action
metadata. The pyflakes integration remains disabled because this repository
does not currently contain Python files. Revisit that setting if Python scripts
are added.
actionlint -pyflakes=
When updating CI, use cooldown-compliant pinned releases. The workflow downloads Linux release archives directly and verifies their SHA256 values before running them. It caches only the archives, not the extracted executables, so cached downloads are still verified before use.
GitHub Actions and reusable workflows are checked with pinact so external actions stay pinned to full commit SHAs with synchronized version comments.
pinact run --check --min-age 7
For local fixes or maintenance updates, use the same cooldown setting:
# Pin or refresh version comments.
pinact run --min-age 7
# Update pinned actions after the repository cooldown period.
pinact run --update --min-age 7
Set GITHUB_TOKEN when possible so pinact can query GitHub's API with normal
authenticated rate limits. Install pinact from its upstream releases,
package-manager integrations, or another trusted distribution.
CI downloads the Linux amd64 release archive directly and verifies its SHA256 before running pinact. It caches only the archive, not the extracted executable, so cached downloads are still verified before use.
To update the lock file after modifying package references, run:
dotnet restore --use-lock-file
This project separates the SDK used to build and format the mod from the target framework that controls runtime compatibility.
TargetFramework on netstandard2.1 unless Lethal Company, BepInEx,
Unity, or compile-only dependencies require a compatibility change.LangVersion explicit. Before increasing it, confirm SDK, Visual Studio
2022, and dependency compatibility, then update the C# format summary above.BeeOverlay/packages.lock.json, review new
diagnostics, and separate mechanical formatting from intentional rule or
code changes when practical.Maintenance references:
dotnet formatThe repository uses GitHub Actions for CI.
Action versions are pinned with pinact. Actions and other executable CI tooling should be updated after the repository cooldown period has elapsed. Keep SHA pins and version comments synchronized when updating pinned actions.
# Pin
pinact run --min-age 7
# Update
pinact run --update --min-age 7
This repository currently does not use GitHub Actions variables.
| Name | Used by | Description |
|---|---|---|
| None | Not applicable | No repository variables are currently used. |
| Name | Used by | Description |
|---|---|---|
THUNDERSTORE_TOKEN | .github/workflows/main.yml | Thunderstore service-account token used only when publishing a stable release. |
# Debug build
DOTNET_CLI_UI_LANGUAGE=en dotnet build
# Release build
DOTNET_CLI_UI_LANGUAGE=en dotnet build --configuration Release
The build workflow creates an artifact for every push to main. It treats
0.0.0 and already-tagged versions as edge builds, so neither creates a GitHub
Release or publishes to Thunderstore.
For a stable release:
assets/CHANGELOG.md.0.0.0 in BeeOverlay/BeeOverlay.csproj with the release version.main.The workflow packages the following files at the ZIP root, creates an immutable GitHub Release, and publishes stable releases to Thunderstore:
com.aoirint.BeeOverlay.dllassets/manifest.json as manifest.jsonassets/icon.pngassets/README.md as README.mdassets/CHANGELOG.md as CHANGELOG.mdLICENSEThis project is licensed under the MIT License.
Some parts of this project were developed with AI tools based on large language models (LLMs), including agent-based tools. The project maintainer reviews the code. This disclosure is made in compliance with Thunderstore and community policies.