Gameserver admin panel for primarily source engine games. Includes online viewing and management of in-game notes, bans, server management, player management, server documentation, and admin discussions. Automatically start new instances of servers, view live information about games, view activity logs, download new workshop addons or manage files.
This tool has been developed over many years for my own server and has served me quite well. It's feature packed and comes with its own plugins for bans, notes, and live server data.
A demo site is avaialble at https://demo.srcpanel.app
This project contains 3 separate parts:
- server/ (Fastify backend)
- ui/ (nuxt frontend) - handles serving SSR and CMS functionality
- sourcemod/ - adds functionality to panel
- Required
admin-sql-threaded.smx- for sourcemod adminspanel_activitymonitor.smx- record in-game actions/messagespanel_core.smx- live socket, handles commands from panel, sending live data
- Optional
panel_bans.smx- records bans to DB for use across multiple serverspanel_notes.smx- player notesl4d2-stats-plugin.smx- l4d2-stats plugin for extended information about players and links to their pages
- Required
The server and its plugins only supports MariaDB, Postgres is unfortunately not supported at this time.
Documentation is available at docs.srcpanel.app
A roadmap for planned changes is available at https://sites.plane.so/issues/9eaf18d434f44c4c8dd56059ea939aaa/?board=kanban
If you want to show your support, I would appreciate it.
You can support me on Github Sponsors or Ko-fi.
Everything in this repository, except for the sourcemod folder, is licensed under the GNU Affero General Public License v3.0.
The sourcemod folder and its plugins are licensed under GNU General Public License v3.0
Contributions are welcome and appreciated as long as they are reviewed and not vibe-coded.
It is recommend to first open an issue before creating any large PR to discuss it first.
AI agent-generated code was used very initially to test the technology and generate boilerplate and initial getting started for the UI with nuxt, never on the server or plugin side.
Since then, AI chatbots have only been used for reviewing / discussing changes, getting past roadblocks if unable to resolved any otherway.