A fresh AMX Mod X install already ships a handful of core plugins, but a public server needs a deliberate, small pack — enough to run the server, keep it civil and keep players coming back, without the bloat that turns a server into a laggy mess. This is an opinionated starter pack: what to enable, why, and in what order.
1. The stock plugins to keep on
AMXX's own bundle covers most administration. In addons/amxmodx/configs/plugins.ini, keep these enabled:
admin.amxx ; core admin, users.ini flags admincmd.amxx ; kick, ban, slap, map, cvar commands adminhelp.amxx ; amx_help adminslots.amxx ; reserved slots for admins menufront.amxx ; the amxmodmenu front-end cmdmenu.amxx ; command and cvar menus mapsmenu.amxx ; map voting / changing menu plmenu.amxx ; player management menu (kick/ban/slap) telemenu.amxx ; teleport menu pausecfg.amxx ; pause/unpause plugins statscfg.amxx ; configure the stats system timeleft.amxx ; say /timeleft, timeleft sounds nextmap.amxx ; nextmap and mapcycle handling mapchooser.amxx ; end-of-map vote scrollmsg.amxx ; scrolling HUD message imessage.amxx ; centre info messages adminvote.amxx ; amx_vote / kickvote
That set gives you admin control, an end-of-map vote, nextmap handling and the basic HUD messaging every public server expects. Load order for the stock set is the default order — keep admin.amxx at the top; see plugins.ini load order.
2. Add a proper admin menu
The stock menus work but feel dated. Layer a modern admin menu on top for one-click kick/ban/map/slay with a searchable player list: CSB Admin Menu. It complements the stock admin plugins rather than replacing them — it drives the same amx_ commands through a cleaner interface, so your users.ini flags still govern access.
3. Turn on stats and ranking
A rank ladder is the single biggest retention feature on a public server — players return to climb. Enable the csx-based stats plugins:
stats.amxx ; /rank /top15 /stats statsx.amxx ; death-time HUD stats
These need the csx module running (check amxx modules) and store the ladder in addons/amxmodx/data/csstats.dat. Advertise the /rank and /top15 triggers so players discover them.
4. Communicate: adverts and messages
Players need to know your rules, your website and the chat commands available. Run a rotating advert plugin instead of nagging manually: CSB Server Adverts cycles timed messages in chat — rules, /rank, your Discord — on an interval you set. Pair it with a good server.cfg hostname and MOTD.
5. Keep names and connections clean
Public servers attract impersonation and junk names. Two light plugins pay for themselves:
- CSB Name Filter — blocks empty, duplicate, offensive or admin-impersonating names at connect.
- CSB SteamID Validator — sanity-checks the authid each player presents, useful on a non-Steam server behind Reunion where a malformed id signals a spoof attempt.
6. Basic anti-abuse from day one
You do not need a heavy anti-cheat to start, but you do want the cheap exploit protection on immediately. CSB Anti-HLDS-Exploit blocks the well-known malformed-packet and buffer exploits that crash or hang unprotected servers. It costs almost nothing and stops the drive-by attacks every public IP eventually sees. Build the fuller anti-cheat picture later with the anti-cheat options guide.
Common errors
- A plugin is
bad load— it needs a module not enabled inmodules.ini, or the file is missing. Checkamxx pluginsandamxx modules. - Menus overlap or double up — you added a custom admin menu but left a duplicate stock one bound to the same key; keep one menu front-end.
- Adverts spam too fast — the advert interval is too low; space messages out so chat stays readable.
- Ranks do not save — the
csxmodule is off or the data folder is not writable. Fix permissions onaddons/amxmodx/data/. - Server feels heavier after the pack — you added too much. This pack is deliberately small; resist stacking a dozen fun plugins on a competitive public.
Verification
After enabling the pack, change the map (so plugins.ini is re-read) and run amxx plugins — every entry should read running, none bad load. In-game, open the admin menu, type say /rank and confirm stats respond, watch an advert cycle, and try connecting with a blank name to confirm the name filter blocks it. When all of those work, you have a solid public baseline you can grow from.









