Compiling Plugins for AMX ModX

AMX Plugins are in two formats

  • with .amxx extension (Complete Compiled Plugin)(Required to install the Plugin)
  • with .sma extension(Source file)(Editable with text editor)

Source file (.sma) needs to be compiled before it can be used on the server.

Compiling on Windows

  • Copy  the .sma source file in HLDS\cstrike\addons\amxmodx\scripting.
  • Drag the .sma file onto “compile.exe”
  • The file gets compiled to .amxx in “compiled” folder(HLDS\cstrike\addons\amxmodx\scripting\compiled) with same name.
  • To Compile all source files in the scripting folder, Double click “compile.exe
  • When complete it will display “Compilation Done”

Compiling on Linux

  • Copy or move the .sma file into HLDS\cstrike\addons\amxmodx\scripting.
    Then change the directory in terminal to the scripting folder with:
  •  cd addons/amxmodx/scripting
  • Run the script compile.sh by :
  •  sh compile.sh

    or

    chmod +x compile.sh
      ./compile.sh

    Once you have got .amxx compiled file you can Install the Plugins

Configuring AMX ModX

After installing AMX ModX you need to configure it by Editing amxx.cfg (AMX Mod X Configuration File)  in your HLDS  folder  (eg E:\HLDS\cstrike\addons\amxmodx\configs\amxx.cfg)

  • Open amxx.cfg with text editor (like Notepad)
  • Modify the  options as needed. Do not Edit or delete lines unnecessarily.
  • Sample amxx.cfg  ( You can copy paste the following in your file)
// AMX Mod X Configuration File
echo Executing AMX Mod X Configuration File

// Default access for all non admin players
//This value defines access level for all the players that
// join your server
// Default value: "z" (non admin)
amx_default_access "z"

// Name of setinfo which should store a password on a client .
// Note: Always prefix the field with an underscore (aka: "_")
// (Example: setinfo _pw "password")
//User enters password with this value (as entered in users.ini)
// Default value: "_pw"
amx_password_field "_pw"

// Mode of logging to a server
// 0 - disable logging, players won't be checked (and access won't
// be set)
// 1 - normal mode which obey flags set in accounts
// 2 - kick all players not on list
//
// Default value: 1
amx_mode 1

// Show admins activity
// 0 - disabled -Executed commands will not shown
// 1 - show without admin name
// 2 - show with admin name
//It shows activities like map change,slap,slay with/without admin
// name as set
// Default value: 2
amx_show_activity 2

// Frequency in seconds and text of scrolling message
// Scrolling message displayed to all users on your server after set
// period of time eg. 600 seconds
// %hostname% displays the name of your server
// Default:"Welcome to %hostname% -- This server is using AMX Mod X" 600
// To remove message modify the line as amx_scrollmsg ""

amx_scrollmsg "Welcome to %hostname% " 600

// Center typed colored messages (last parameter is a color
// in RRRGGGBBB format)
//Displayed in the center
// Type \n to go to new line
// Default values: "Welcome to %hostname%" "000255100"
//                 "\n Visit http://www.noobstrike.com" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "\n Visit http://www.noobstrike.com" "000100255"

// Frequency in seconds of colored messages set above
//
// Default value: 180
amx_freq_imessage 180

// Ban times for the main ban menu (amx_banmenu)
// Use 0 for permanent ban
// Default values: 0 5 10 15 30 45 60
amx_plmenu_bantimes 0 5 10 15 30 45 60

// Slap damage amounts for the main slap menu (amx_slapmenu)
// Slay is automaticall inserted as the first option
// Default values: 0 1 5
amx_plmenu_slapdmg 0 1 5

// Set in seconds how fast players can chat (chat-flood protection)
// Helps prevent chat messages spam by players
// Default value: 0.75
amx_flood_time 0.75

// Amount of slots to reserve.
// Number of slots to reserve for admins.
// Default value: 0
amx_reservation 0

// If you set this to 1, you can hide slots on your server.
// If server "full" of public slots and slots hidden, you must manually connect
// with connect console command
// 
// Default value: 0
amx_hideslots 0

// Displaying of time remaining
// a - display white text on bottom
// b - use voice
// c - don't add "remaining" (only in voice)
// d - don't add "hours/minutes/seconds" (only in voice)
// e - show/speak if current time is less than this set in parameter
//
// Default value: "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"

// Announce "say thetime" and "say timeleft" with voice, set to 0 to disable.
// Reads the time for you.
// Default value: 1
amx_time_voice 1

// Minimum delay in seconds between two voting sessions
// Delay in consecutive amx_vote commands.
// Default value: 10
amx_vote_delay 10

// How long voting session goes on
// Time in seconds for voting to end
// Default value: 10
amx_vote_time 10

// Display who votes for what option, set to 0 to disable, 1 to enable.
// Display a message for what option a user has selected with name
// Default value: 1
amx_vote_answers 1

// Some ratios for voting success

// Default value: 0.40
// Ratio of players to total players required to kick
amx_votekick_ratio 0.40

// Default value: 0.40
amx_voteban_ratio 0.40

// Default value: 0.40
amx_votemap_ratio 0.40

// Default value: 0.02
amx_vote_ratio 0.02

// Max. time to which map can be extended
// In minutes
// Default value: 90
amx_extendmap_max 90

// Step for each extending
// In minutes
// Default value: 15
amx_extendmap_step 15

// If you set this to 0, clients cannot chose their language, instead they use
// whatever language the server is configured to use.
// Client can change amxx messages according to his language
// Default value: 1
amx_client_languages 1

// Plugin Debug mode
// 0 - No debugging (garbage line numbers)
// 1 - Plugins with "debug" option in plugins.ini are put into debug mode
// 2 - All plugins are put in debug mode
// Note - debug mode will affect JIT performance
//
// Default value: 1
amx_debug 1

// Plugin MultiLingual Debug
// To debug a language put its 2 letter code between quotes ("en", "de", etc)
// "" means disabled
//
// Default value: ""
amx_mldebug ""

//
// Beginning of Counter-Strike package specific configurations.
//

// Rank mode
// 0 - by nick
// 1 - by authid
// 2 - by ip
//
//How to display ranks of players
// Donot use 1 as it is only for Steam Players
// Default value: 1

csstats_rank 0

// Max size of the stats file
//
// Default value: 3500
csstats_maxsize 3500

// Whether or not to rank bots with csstats - set to 1 to rank bots, 0 otherwise.
//
// Default value: 0
csstats_rankbots 0

// Duration of HUD-statistics
//
// Default value: 12.0
amx_statsx_duration 12.0

// HUD-statistics display limit relative round freeze end
// Negative time will clear the HUD-statstics before the round freeze time has ended
//
// Default value: -2.0
amx_statsx_freeze -2.0

How to Add Admins in Amx CS 1.6 server

To execute AMX commands through client console (i.e in-game) you need to have Admin access on the server.You can add admins on your server by editing users.ini as follows. File users.ini is located in your HLDS folder

eg. E:\HLDS\cstrike\addons\amxmodx\configs\users.ini

  • Open HLDS\cstrike\addons\amxmodx\configs\users.ini with text editor (like Notepad)
  • Add Admins at the bottom of users.ini with format
<name|ip|steamid> <password> <access flags> <account flags>
  • Enter 1 entry per line separating the four fields with a space eg.
"Noobstrike" "pass" "abcdefghijklmnopqrstu" "a"
"STEAM_0:0:123456" "" "abcdefghijklmnopqrstu" "ce"
"123.45.67.89" "" "abcdefghijklmnopqrstu" "de"

To connect to server as a admin users have to type

setinfo "_pw" "pass"

in console before connecting to the server or  put the above code in config (eg. config.cfg).

  • Restart the server or type amx_reloadadmins in console to load new users.ini

Access Levels/Flags

a immunity (can’t be kicked/baned/slayed/slaped and affected by other commmands)
b reservation (can join on reserved slots)
c amx_kick command
d amx_ban and amx_unban commands
e amx_slay and amx_slap commands
f amx_map command
g amx_cvar command (not all cvars will be available)
h amx_cfg command
i amx_chat and other chat commands
j amx_vote and other vote commands
k access to sv_password cvar (by amx_cvar command)
l access to amx_rcon command and rcon_password cvar (by amx_cvar command)
m custom level A (for additional plugins)
n custom level B
o custom level C
p custom level D
q custom level E
r custom level F
s custom level G
t custom level H
u menu access
z user (no admin)

Account /Connection Flags

a disconnect player on invalid password
b clan tag
c this is steamid/wonid
d this is ip
e password not checked (only name/ip/steamid needed)

In  <name|ip|steamid> field you can add any name , IP or steam id. To add host as admin type loopback in this field.

To Remove an Admin you can delete that line or put a semi-colon in front of the line.

Adding Admins via Console

You can also add admins via console command amx_addadmin eg.

amx_addadmin "noob" "abcdefghijklmnopqrstu"

Type amx_reloadadmins in console after editing users.ini or restart your server.

Manually Installing AMX Mod X

If you cannot install amx with “AMX Mod X Full Installer” automatically on your server or you want to setup new server with existing Amx settings and plugins ,Then you can install AMX Mod X with base amx files.(See below)

If you have a remote server(i.e not on your computer) than you can install AMX Mod X with this method through FTP.

AMX is a metamod plugin ,so you have to install metamod first.

Installing Metamod

  • Go to http://metamod.org/ and download Metamod (Windows binary,Linux Binary or AMD 64 Binary)
  • Extract the files and copy them to your server. dll file must be placed in addons/metamod/dlls/ folder and plugins.ini in addons/metamod/ folder. (For Linux users, binaries will not end in “.dll”, they will usually end in “_i386.so” or “_amd64.so” for AMD64 machines.)
  • Now open /addons/metamod/plugins.ini and add the following code at the bottom
win32   addons\amxmodx\dlls\amxmodx_mm.dll
  • For Linux
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
  • Save plugins.ini

Editing Liblist.gam

  • Next step is to edit liblist.gam.
  • Open cstrike/liblist.gam with text editor like notepad,notepad++ etc.
  • For Windows , Add the following line at the bottom
gamedll "addons\metamod\dlls\metamod.dll"
  • For Linux
gamedll_linux "addons/metamod/dlls/metamod_i386.so"

  • Save liblist.gam

Getting AMX Mod X Files

  • If you already have amx files then skip this step else  Download latest version of  “AMX Mod X Base” package  from here
  • Extract the base package to /addons/amxmodx/ folder
  • Also download the Counter-Strike Addon pack from the site and extract to the same place.
  • AMX Mod X should now be installed.
  • To see if  the  installation is complete  go to server console and type “meta list” . The display should be Amxmodx – RUN

Installing AMX ModX on Counter Strike 1.6 server

This tutorial will help you to install AMX Mod X on any Counter Strike 1.6 server.

  • Download latest version of  “AMX Mod X Full Installer”  from here
  • Run the downloaded exe file to start the installer (see below). Click “Next” to continue.

  • Select a location to install AMX ModX installer (Any folder).Click “Next” .

  • The installer will unpack files on destination folder and a New Setup Wizard will start automatically.Click “Next” to continue.

  • You will now have five different methods to install AMX Mod X

* Steam Dedicated Server – a server started from your Steam Dedicated Server menu
* Steam Listen Server – a listen server where client is the server
* Standalone Server – a local server not started from the steam menu (for example: E:\HLServer)
* Select mod directory – Manual installation selection
* FTP – For remote installations(your server can only be accessed through FTP)

If you dont have Steam or you want to set server for local gaming -Select “Select mod directory”

  • Now select ‘Counter Strike’ from drop down options and select cstrike folder as a location. Eg. select E:/HLDS/cstrike. Installer will copy all the files to your HLDS/cstrike.Click “Finish” to complete installation.

If an old AMX Mod X installation was already detected, you will be asked if you want to upgrade.

To see if  the  installation is complete  go to server console and type “meta list” . The display should be Amxmodx – RUN

Increase download speed of files from Server

Whenever a player connects to a new server on the Internet he has to download various files like sounds,maps,models from the server, which takes too much time . Players disconnect from servers that take too much time for downloading files. You can set-up your server for faster downloads with this simple guide to HTTP download with sv_download url CVAR.If the server is not configured for HTTP download, the gameserver will use the normal slow download process.

Advantages:

  • Players download custom resources at their maximum download speed resulting in faster downloads.
  • Players who are downloading files do not take up player slot on the server.
  • Reduces lag from server by saving the bandwidth required for file downloads.

Configuring your server for Fast Downloads

  1. Make a list of all the custom files used in your server.(like .bsp,wav,mdl  genrally in cstrike/ fold er)
  2. Upload these files to a Web server keeping layout of files same as in cstrike/ folder . (for eg cstrike/maps/de_abc  remains <host address> /maps/de_abc)
  3. To display a “banner image” to players that are downloading files, place a 340×56 pixel image in the folder <host address>/gfx/banner.gif
  4. Open server.cfg file in cstrike folder and paste the following code

sv_downloadurl “http://<host address>/”
sv_allowdownload 1
sv_allowupload 1

The maximum length of the sv_downloadurl is 127 characters.

You can find many free web hosts on the net. If you have your own server or HLDS is on LAN then you can setup your HTTP server by installing Wamp or Xampp  and placing the files in www or htdocs folder respectively .

Make sure your IP is static.

Starting CS 1.6 HLDS Server

There are two ways to run CS 1.6 HLDS Server , through GUI or Console.

Both have their advantages and disadvantages.

GUI

If you are new to CS then GUI is the easiest way to start HLDS server.

Advantages:

  • Easiest way to start
  • Very easy to manage CVARs, Change maps, kick/ban players etc
  • Graphical stats for players, cpu usage, ping and FPS.

Disadvantages:

  • Consumes more CPU and RAM
  • Cannot be used in Service mode or in Windows Startup
  • Cannot use parameters

Starting:

  • Go to your HLDS Directory(for eg. E:/HLDS/ or C:\Program Files\Valve\HLServer).
  • Double click the hlds.exe icon.
  • If you have steam installed , than you can start Dedicated Server from your Steam Games Menu.

Console

Running HLDS via Console is best and most efficient way to start server

Advantages:

  • Consumes less RAM and CPU.
  • Can be used in Service mode and loaded on Windows Startup.

Disadvantages:

  • Difficult to use for beginners.

Starting:

  • Right Click on hlds.exe and click “Create a Shortcut”
  • Now right click the created shortcut and click properties.
  • Enter Parameters of your choice after the Target Location(for eg. “E:/HLDS/hlds.exe” parameters)

Parametes/Console variables that can be used in HLDS are

-console

Specifies to HLDS to run in console mode

-game <game name>

Specifies which HLDS game (mod) to run (for eg. -game cstrike)

-ip <ipaddress>

Specifies the IP address on which server will start

+port
Which port to use

-sport <port>
Specifies the VAC2 port the server should use.

+hostname “SERVERNAME”
Specifies the name of the server. Replace “SERVERNAME” by your server’s name.

+map
Specifies which map to start.

+maxplayers
Specifies  maximum player slots in the server.

-autoupdate
Specifies  HLDS to update itself.

-insecure
Disables Valve Anti-Cheat technology

-pingboost <1/2/3>
Selects between optimized HLDS network code stack. Set this on 2 usually reduces latency toward 1ms without loss of activity input packets.

Examples

“E:\HLDS\hlds.exe” -console -game cstrike -insecure -port 27016 -pingboost 3 +sys_ticrate 1000 -heapsize 500000 +maxplayers 20 +map de_dust2

“C:\HLDS\hlds.exe” -console -game cstrike +ip 69.68.67.66 +sv_lan 1 +maxplayers 22 +map de_dust2 -nomaster

Creating Counter Strike 1.6 Dedicated server

Guide to setup and install Counter Strike 1.6 HLDS (Half life dedicated server).

  • Download HLDS Update tool  (Click here to dowload)
  • Start hldsupdatetool.exe and select a Destination folder to install HLDSupdatetool .

  • Select a region where your server will be located and complete the installation.
  • Open Command Prompt (Go to Start->Run and type cmd)
  • Type  cd E:\Valve\HLserver (Replace “E:\Valve\HLserver” with the folder you chose above)
  • Now type the following command after E:\Valve\HLserver>

HldsUpdateTool.exe -command update -game cstrike -dir E:/HLDS/

where “E:/HLDS/” is Folder where you want your Server to be installed.

  • Installer will begin downloading files
  • Do not close the command window and wait for it to finish downloading the files (about 300MB)
  • After it is finished, you will see a “HLDS installation up to date” message.

Continue Reading next guide on ” Starting CS 1.6 HLDS server “

Customise MOTD for your Counter Strike 1.6 server

Editing MOTD (Message of the Day) for your Counter Strike 1.6 server.

MOTD is the welcome message displayed when you connect your HLDS server.

For Example the Default MOTD in Counter Strike 1.6 is

You can replace the default motd with text or image in html format.

Source file motd.txt is located in cstrike folder

Text Motd

Open motd.txt (in cstrike folder) with text editor like notepad/wordpad.

Delete all text in that file and replace it with following code.

Replace “YOUR MESSAGE HERE” with your custom message in following code.

<html>
<head>
<title>YOUR TITLE</title>
<style type=”text/css”>
pre     {
font-family:Verdana,Tahoma;
color:#FFB000;
}
body    {
background:#000000;
margin-left:8px;
margin-top:0px;
}
</style></head>
<body scroll=”no”>
<pre>

“YOUR  MESSAGE HERE”

</pre>
</body>
</html>

Image Motd

To display Image as MOTD.

Open motd.txt (in cstrike folder) with text editor like notepad/wordpad.

Delete all text in that file and replace it with this code.

Replace YOUR IMAGE LINK in the following code with link of your image(for eg. http://www.noobstrike.com/images/stories/motd.jpg).

You can use any image from internet or use your own edited image and upload it to image hosting websites like imageshack, photobucket etc.

<html>
<head>
<title>YOUR TITLE</title>
<style type=”text/css”>
<!–
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #000000;
}
–>
</style>
</head>
<body>
<img src=”YOUR IMAGE LINK” width=”100%” height=”100%” border=”0″ align=”center”>
</body>
</html>

You can put text directly on your image with editors like Paint .

Open Webpage or Redirect

If you want to load a website instead of text/ image motd then copy the following code in motd.txt

<head>

<meta http-equiv=’refresh’ content=’0; url=http://www.noobstrike.com’>

</head>

Replace it with any link of your choice

Music

If you want to play background music in your MOTD then add the link to your audio file in the following code and paste it in motd.txt

<head>
<NOEMBED><BGSOUND src=”http://www. yourlink. com/audio.mp3″></NOEMBED>
</head>

If you are hosting server on LAN(Local Area Network) and do not have access to internet then you can install local server like Wamp/ Xampp and use your IP as links to files , For eg. http://192.168.0.1/image.jpg