SimpleAdmin/README.md
Astra dc5ad30952
Some checks are pending
Build and Publish / build (push) Waiting to run
Build and Publish / publish (push) Blocked by required conditions
zio fork 1.8.2b-zio15: in-game gags/mutes/silences expire with TimeMode 0
The in-memory penalty was only cleared when its end time exactly matched the
database row's, which never happens for one given in game (sub-second vs
to-the-second), so it lasted until reconnect. Match by type within 5 seconds,
and stop applying a penalty as soon as it's marked passed.
2026-10-03 00:15:03 +01:00

156 lines
8.2 KiB
Markdown

# zio.sh fork
This is zio.sh's fork of CS2-SimpleAdmin 1.8.2b (`upstream` is daffyyyy/CS2-SimpleAdmin, branched
from the `build-1.8.2b` tag). Changes, all marked `zio:` in the code:
- A gagged or silenced player can still send `@message` in team chat to reach online staff.
- The gag/silence chat message says how long is left (or that it's permanent) and the reason, in
place of "Your chat is blocked to: <end date>". New lang keys `sa_player_penalty_gag_active`,
`..._gag_active_perm`, `..._silence_active`, `..._silence_active_perm` and
`sa_player_penalty_no_reason`, in `lang/en.json` only (other languages fall back to it).
- Moving to spectators doesn't unhide a hidden admin; only joining T or CT does.
- A banned player is let in long enough to be told the reason and time left, then kicked after
`KickTime`, instead of seeing only "Your client is not allowed to join this server".
- New permission `@css/bypassipban`, for players or groups: IP bans, and bans on other accounts
that share their IP, don't apply to them; a ban on their own SteamID still does. `@css/root`
has it, as it has every `@css` flag.
- Staff chat shows the sender's rank, from their highest `#rank/...` group (O, S.Admin, Admin,
T.Admin, Mod, T.Mod, Helper, Guardian, the same as CS2-Tags' chat prefixes): `@message` in team chat and `css_asay` read
`>[STAFF][RANK] name: message`, and
`@message` in all chat and `css_say` from a player read `[RANK] name: message` (`name: message`
if they have no rank group). A non-staff player's `@message` in team chat reads
`>[STAFF] name: message`, all in purple. Console's `css_say`/`css_asay` are unchanged. New lang keys
`sa_staffchat_template`, `sa_staffsay_template`, their `_norank` variants and
`sa_staffchat_template_player`, in `lang/en.json` only.
- `css_psay` from a player reads `(PM) [RANK] name: message` (`(PM) name: message` without a rank
group); console's is unchanged. Lang keys `sa_psay_template` and `sa_psay_template_norank`.
- `admin_overrides.json` reaches the admin menu too: every player and server entry names its command,
and an overridden entry is checked with the override's `check_type` (`any` passes with one flag),
as CSS checks the typed command. Upstream required every flag in the override.
- `css_penalties <player>` (someone else's penalties) needs `@zio/penalties` or `@css/root`
instead of `@css/kick`.
- `css_addadmin`, `css_deladmin` and the admin menu's add/remove log rank changes (the player's
highest-immunity group, and who changed it) to `sa_rank_log`, the table simpleadmin-web creates
and lists as the public promotions/demotions log. If the table is missing, it warns once in the
log and the admin change goes ahead.
- With `TimeMode` 0 (online time only), a gag, mute or silence given in game now ends when its
database row expires. Upstream matched the two by exact end time, which never matched for one
given in game (the database stores the time to the second), so it lasted until the player
reconnected. A penalty marked passed also stops applying at once, not on the next 61-second tick.
Publish with `FORGEJO_TOKEN=... ./release.sh v<ModuleVersion>` (ModuleVersion is `1.8.2b-zioN`).
It rebuilds from the committed source and uploads `SimpleAdmin-<tag>.tar.gz` to git.zio.sh
(`cs2/SimpleAdmin`), laid out like `game/csgo/`. It holds the whole plugin (its libraries, all lang
files and migrations) and `shared/CS2-SimpleAdminApi`, as upstream's own release does, so nothing
from upstream needs installing first. It leaves out the optional FunCommands and StealthModule
modules and `configs/`. The NickFox007 dependencies (AnyBaseLib, PlayerSettings, MenuManager) aren't
in it either; the server's `pre.sh` installs them from their own releases.
---
<p align="center">
<a href="https://github.com/daffyyyy/CS2-SimpleAdmin/actions/workflows/build.yml">
<img src="https://github.com/daffyyyy/CS2-SimpleAdmin/actions/workflows/build.yml/badge.svg" alt="Build and Publish" />
</a>
<a href="https://github.com/daffyyyy/CS2-SimpleAdmin/releases/latest">
<img src="https://img.shields.io/github/v/release/daffyyyy/CS2-SimpleAdmin?color=orange" alt="GitHub Release" />
</a>
<img src="https://img.shields.io/badge/Made_with-a_lot_of_tea_%F0%9F%8D%B5-red" alt="Made with a lot of tea 🍵" />
</p>
[![Join the support Discord](https://img.shields.io/badge/Discord-Support-blue?logo=discord&logoColor=white)](https://discord.com/channels/1160907911501991946/1180627186865156126)
# CS2-SimpleAdmin
---
> **Manage your Counter-Strike 2 server with simple commands!**
> CS2-SimpleAdmin is a plugin designed to help you easily manage your Counter-Strike 2 server with user-friendly commands. Whether you're banning players, managing teams, or configuring server settings, CS2-SimpleAdmin has you covered.
---
## 🚀 Features
- 🎮 **Simple, Intuitive Commands:** Manage players, teams, bans, and server settings using an easy command system.
- 🗄 **Full Database Integration:** Reliable MySQL backend with optional experimental SQLite support for persistent data storage.
- ⚡ **Efficient and Lightweight:** Designed to minimize server resource usage while maintaining robust functionality.
- 🚨 **Real-time Notifications:** Instant in-game and Discord notifications to keep admins and players informed.
- 🎛 **User-Friendly Admin Interface:** Plugin menus for quick and efficient management without complex commands.
- 🔄 **Multi-Server Compatibility:** Manage and sync data across multiple servers seamlessly.
- 🧩 **Modular and Extensible:** Tailor the plugin with API access to add custom commands and automation.
- 📜 **Complete Auditing Logs:** Track all administrative actions rigorously for accountability.
- 🌐 **Discord Integration:** Stream logs and alerts to your Discord channels for centralized monitoring.
- 🤝 **Community Driven:** Open-source with ongoing contributions from a passionate community.
---
## ⚙️ Requirements
**Ensure all the following dependencies are installed before proceeding**
- [CounterStrikeSharp](https://github.com/roflmuffin/CounterStrikeSharp)
- [PlayerSettings](https://github.com/NickFox007/PlayerSettingsCS2) - Required by MenuManagerCS2
- [AnyBaseLibCS2](https://github.com/NickFox007/AnyBaseLibCS2) - Required by PlayerSettings
- [MenuManagerCS2](https://github.com/NickFox007/MenuManagerCS2)
- MySQL database / SQLite
---
## 🚀 Getting Started
1. **Clone or Download the Repository**:
Download or clone the repository and publish to your `addons/counterstrikesharp/plugins/` directory.
2. **First Launch Configuration**:
On the first launch, a configuration file will be generated at:
```
addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin/CS2-SimpleAdmin.json
```
Edit this file to customize the plugin settings according to your server needs.
3. **Enjoy Managing Your Server!**
Use the commands provided by the plugin to easily manage your server.
---
## 📁 Configuration
The configuration file (`CS2-SimpleAdmin.json`) will be auto-generated after the first launch. It contains settings for MySQL connections, command permissions, and other plugin-specific configurations.
---
## 📚 Documentation & Support
Access full documentation, guides, tutorials, and developer API references here:
[CS2-SimpleAdmin Wiki](https://cs2-simpleadmin.daffyy.dev)
---
## 🛠️ Development
This project started as a base for other plugins but has grown into a standalone admin management tool. Contributions are welcome! If you'd like to help with development or have ideas for new features, feel free to submit a pull request or open an issue.
---
## 🤝 Contributing & Feedback
Help improve CS2-SimpleAdmin by:
- Reporting bugs or requesting features on GitHub
- Submitting pull requests with improvements
- Participating in discussions and sharing ideas
---
## 💡 Credits
This project is inspired by the work of [Hackmastr](https://github.com/Hackmastr/css-basic-admin/). Thanks for laying the groundwork!
---
## ☕ Support Development
If you find CS2-SimpleAdmin useful, consider supporting the ongoing development:
[![Buy me a coffee](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y4THKXG)
---
## 📄 License
This project is licensed under the GPL-3.0 license - see the [LICENSE](LICENSE) file for details.