SAM was my first real programming project and the start of my journey with Python. Looking back, it represents both the challenges I faced as a beginner and the excitement of building something for the first time.
Years later, I chose to revisit and remaster it—not for utility or relevance, but as a personal passion project. While the original tech stack (like EventScripts) is now obsolete and the Counter-Strike: Source community has largely moved on, the process of rebuilding SAM has been a meaningful way to reflect on how far I've come.
This repository exists as a tribute to that journey—a small milestone marking where it all began.
SAM (Server Administration Menu) is a powerful, all-in-one and modular server management tool for Counter-Strike: Source, built on EventScripts. It provides server administrators and operators with an intuitive, menu-driven interface to manage players, settings, and various server functionalities in real-time. Unlike traditional command-line management or complex third-party plugins, SAM offers a streamlined experience through an enhanced menu system, making server administration more accessible and efficient.
With a strong focus on usability and in-game control, SAM integrates multiple essential administration features, allowing operators to perform critical tasks without leaving the game. It provides a comprehensive toolkit that gives admins the freedom to choose which features to enable, thanks to its Addons Monitor. From player moderation to advanced configuration management, SAM is an all-in-one solution for maintaining a well-managed and fair server environment.
SAM’s Menu System is the backbone of its functionality. Built as an independent system based on ES popuplib, it provides a highly responsive, user-friendly interface that eliminates the need for cumbersome console commands. This menu-driven approach ensures that almost every function within SAM can be accessed and executed effortlessly in-game. The system offers:
- A structured and intuitive navigation system.
- Faster and easier execution of administrative tasks.
- An overall improvement over popuplib, making menu interactions smoother and more efficient.
This module allows server admins to efficiently manage players through the menu system. Some of its key features include:
- Various penalty and fun features like Kick, Slay, Noclip, Respawn, some custom made like firework, Drugs Mode and much more.
SAM includes a built-in admin management system, eliminating the need for external admin plugins or file modifications. With this system, admins can:
- Assign and remove admin privileges in-game.
- Manage multiple admin levels with different permissions.
- Utilize a Super Admin role, similar to SourceMod’s root admins, granting full access to all features.
- Implement an Immunity System, allowing higher-ranked admins to have control over and immunity against lower-ranked ones.
- Create Admin Groups with custom permissions and immunity levels, making it easy to assign multiple admins to predefined roles.
SAM features a dual database system, allowing for flexible data management:
- JSON Database: A simple and lightweight system for smaller data storage needs.
- SQLite Database: A more robust solution for extensive data storage and retrieval capabilities.
This module provides real-time oversight and control over SAM’s addon ecosystem, ensuring seamless integration and management of additional functionalities. Some key addons include:
- Ban Manager – Streamlines banning and unbanning processes.
- Teams Manager – Helps organize and manage team balancing.
- Admins Chat – Customized Admins chat messages and also commands for different message types. Also feature ways to comunicate excusivly to other Admins.
SAM’s Settings System is designed to simplify server configuration by allowing real-time adjustments without the need to edit configuration files manually. This system enables:
- Direct modification of server settings through the menu.
- Immediate application of changes without restarting the server.
- Improved accessibility for both experienced and new admins.
- Some exceptions may apply where file management may be required.
Setting up SAM is straightforward. Follow these steps:
- Install the latest version of EventScripts – SAM requires EventScripts to function.
- Download and extract SAM into your cstrike/addons/eventscripts/ directory.
- Load SAM by adding the following line to your autoexec.cfg file:
es_load sam - Restart your server to apply the changes. 4.1 Restart is only required to start EventScripts, if already running, one can just run es_load sam once in the server console to start the script.
Once installed, follow these steps to begin using SAM:
- Open the menu using the chat command:
!sam - (Optional) Bind a key for easier access:
bind <key> sam_menu - Complete the First Admin setup:
- Upon opening SAM for the first time, SAM will prompt you with a menu informing it needs a Super Admin to run, and ask you want to become the first Super Admin.
- After accepting, you must type the exact server rcon_password in chat to verify yourself as an admin.
- Once verified, you will be added as a Super Admin and gain full control over SAM.
With SAM installed and running, you’ll have a powerful, user-friendly tool at your disposal to efficiently manage your Counter-Strike: Source server in real-time!