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
皮肤、传送、趣味聊天与丢刀玩法的玩家指南。
Translation pending
PluginsMarkdown · YAMLGitHub @VincentZyuAppsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
🎮 VincentZyu233 的 CS2 私服插件模板与玩家指令指南:皮肤、TPA、趣味 Lua、丢刀玩法 ✨
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
📖 English 📖 简体中文(大陆) 💬 Plugin usage / 🐛 Bug reports / 👨💻 Plugin dev discussion, join QQ group: 259248174 🎉 (RIP) 💬 Plugin usage / 🐛 Bug reports / 👨💻 Plugin dev discussion, join QQ group: 1085190201 🎉 💡 Mention me in the group for faster replies ~ ✨ A Counter-Strike 2 server plugin. Type qwq in chat for a qwq! reply. When a human player joins, everyone sees qwq!!!; when a human player leaves, everyone sees qwq...... Built on CounterStrikeSharp, written in C# (.NET 10).Read the full README ↗
A Counter-Strike 2 server plugin. Type qwq in chat for a qwq! reply. When a human player joins, everyone sees qwq!!!; when a human player leaves, everyone sees qwq......
Built on CounterStrikeSharp, written in C# (.NET 10).
Install Metamod:Source
See https://cs2.poggu.me/metamod/installation/
Download the Linux build and extract to the csgo/ directory
Structure after extraction:
csgo/addons/
└── metamod/
Install CounterStrikeSharp
Download the with-runtime release
Merge the addons/ folder into csgo/
Structure after merging:
csgo/
└── addons/
├── metamod/
└── counterstrikesharp/
├── api/
├── dotnet/
└── plugins/
Add the Plugin
CSS requires plugins in plugins/<PluginName>/<PluginName>.dll (directory name = DLL filename).
Download the .dll from Releases:
# Default Steam path is usually under ~/.local
cd "path/to/Steam/steamapps/common/Counter-Strike Global Offensive/game"
TAG=<latest version tag>
PLUGIN_DIR=csgo/addons/counterstrikesharp/plugins/qwqCounterStrikeSharpPlugin
mkdir -p $PLUGIN_DIR
cd $PLUGIN_DIR
wget "https://github.com/VincentZyuApps/qwqCounterStrikeSharpPlugin/releases/download/$TAG/qwqCounterStrikeSharpPlugin-$TAG.dll"
mv qwqCounterStrikeSharpPlugin-$TAG.dll qwqCounterStrikeSharpPlugin.dll
Final plugin structure:
plugins/
└── qwqCounterStrikeSharpPlugin/
└── qwqCounterStrikeSharpPlugin.dll
Start the Server
./cs2 -dedicated -game csgo +map de_dust2 +sv_lan 1
You should see Finished loading plugin qwq CounterStrikeSharp Plugin in the console.
Test In-Game
Type qwq in chat → you'll see a green qwq! reply.
When a human player joins → everyone sees qwq!!! in the lower-left chat area; when a human player leaves → everyone sees qwq..... there.
When pushing to GitHub, keywords in the commit message control the pipeline.
Full details in the 「Build Workflow Guide」 below.
| Keyword | Build | Release |
|---|---|---|
build action | ✅ | ❌ |
build release | ✅ | ✅ |
When pushing to GitHub, keywords in the commit message control the CI/CD pipeline.
| Keyword | Build DLL | Publish Release |
|---|---|---|
build action | ✅ | ❌ |
build release | ✅ | ✅ |
If the commit message contains none of the keywords above, the pipeline will not run, saving your Actions quota.
check ──→ build ──→ release
│ │ │
│ │ └── download artifact → create GitHub Release → upload zip
│ │
│ └── dotnet restore → dotnet build → zip → upload artifact
│
└── parse commit message → set control flags
should_build / should_release flags<Version> in qwqCounterStrikeSharpPlugin.csprojv{version}-{run_number} (e.g. vx.y.z-k)dotnet restore restore NuGet dependenciesdotnet build -c Release compile the pluginQwqCounterStrikeSharpPlugin.dll + .pdb packaged as qwqCounterStrikeSharpPlugin.zip# Build only, no release
git commit -m "fix: fixed a bug, build action"
# Build and publish a Release
git commit -m "feat: added a new feature, build release"
The zip inside the Artifact / Release contains:
| File | Description |
|---|---|
QwqCounterStrikeSharpPlugin.dll | Main plugin (place in addons/counterstrikesharp/plugins/) |
QwqCounterStrikeSharpPlugin.pdb | Debug symbols (optional, keep for stack trace line numbers) |
Edit the <Version> field in qwqCounterStrikeSharpPlugin.csproj:
<Version>x.y.z</Version>
Edit the ModuleVersion string in QwqCounterStrikeSharpPlugin.cs:
public override string ModuleVersion => "x.y.z";
The next Release will automatically use vx.y.z-{run_number} as the tag.