SimpleAdmin/README.md
Astra f46ccf18ce
Some checks failed
Build and Publish / build (push) Has been cancelled
Build and Publish / publish (push) Has been cancelled
zio fork 1.8.2b-zio10: rank tags match CS2-Tags, log rank changes to sa_rank_log
2026-09-29 16:56:38 +01:00

152 lines
7.8 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.
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.