From SA-MP Wiki
This file is necessary for every server and has to be located in the server directory next to the server application.
The following table will explain the use of every single setting in detail:
|echo||This is what the sampserver.exe echos when executing server.cfg, there is no need to change this at all as you'll be the only one who sees the the console. By default this says Executing Server Config...|
|lanmode||Turning lanmode on will result in the server using more bandwidth, this mode makes the server a lot more accurate though. You can turn lanmode on by changing the value to 1 and you can turn it off by changing the value to 0. By default this is set to 0|
|maxplayers||This is the maximum amount of players your server can hold, by changing this number you can alter how many players can enter the server. The maximum is 500 and the minimum is 1. By default this is set to 500.|
|announce||Toggle server to be announced to SA-MP masterlist. Set to 1 to enable announcing or 0 to disable.|
|query||Toggle querying of server. If this is disabled, the server information will not be displayed in the server browser. Set to 1 to enable querying or 0 to disable. (Players can still join a server that has disabled querying!)|
|port||The port in which the server will use to communicate can be specified here, you will need to Port Forward in order to run the server. By default this is set to 7777.|
|hostname||This is the name that will display in the server browser for other users to see. By default this is set to SA-MP 0.3 Server.|
|gamemode(n) (N) (t)|| It's possible to set the gamemode that plays, how many times it plays and when it plays by editing the values here. To use this correctly you must understand how it works, (n) is the gamemode number, (N) is the gamemode name*, and (t) is the times played before switching onto the next mode. By default this area will look like this:
|weburl||This is the website people can visit to gain more information about the server, a web url is not needed. By default this is set to www.sa-mp.com.|
|rcon_password||This is the password used to administrate the server and use the rcon, you must make sure you change this to something hard to crack so that others cannot take control of your server. By default this is set to changeme. Your server will NOT start if "changeme" is the RCON password!|
|filterscripts (N)||Filterscripts are scripts that run in the background of your gamemode, they are there to add extras to the server without editing the gamemode. It's very useful if you want to carry a specific property to more than one gamemode. To use this you must find the folder in your server folder named filterscripts and place your filterscripts (.amx) in there. (N) symbolizes the filterscript name*. If you have multiple filterscripts you want to load, put them all in a row separated by "space", e.g. filterscripts script1 script2.|
|plugins (N)|| The plugins directive allows you to specify plugins which are designed to enhance gamemodes and filterscripts. (N) symbolizes the plugin's name. If you have multiple plugins you want to load, put them all in a row separated by "space", e.g. plugins plugin1 plugin2.
|password (p)||Locking your server is another option that is available for the root server administrator. You can use this to lock unwanted visitors from the server. (p) symbolizes the password that will be used. By default your server will not have a password.|
|mapname (m)|| The mapname appears in the server browser. (m) symolizes the mapname. By default this is set to San Andreas.
|bind||Force the server to use a specific IP on a server. This IP must match one assigned to a network card on the server. This is useful for running multiple servers on the same port on the same box.|
|rcon 0/1||If 0 is specified the rcon Remote Console feature is disabled.|
|maxnpc||The maximum number of NPCs that can join your server.|
|onfoot_rate*||The minimum time in milliseconds a client updates the server with new data while running/walking.|
|incar_rate||The minimum time in milliseconds a client updates the server with new data while in a vehicle.|
|weapon_rate||The minimum time in milliseconds a client updates the server with new data while firing a weapon.|
|stream_distance**||The distance on the X,Y plane which server entities will stream in for connected players.|
|stream_rate***||The number of milliseconds that must elapse before server entities stream distance is retested for each player.|
|logqueries||0 to disable, 1 to enable. This logs all queries sent to the server by players, it's considerably useful during a DDoS attack.|
|logtimeformat|| Allows you to configure the timestamp format. The format is based on the strftime format from C/C++. Here are some examples:
|output||Enable/Disable duplication of log messages (e.g. those printed with print/printf from scripts or logprintf from plugins) in server console. If this option is set to 0 (default) messages are only printed to server log. This option has effect only on Linux servers.|
|gamemodetext||Set game mode text. Same as if you call SetGameModeText . The game mode text is set to Unknown by default.|
|chatlogging 0/1||Enable/disable player chat to the server log. Useful to disable to stop the log becoming bloated, or if you have another scripted chat logging solution. This is enabled by default. Set to 0 to disable logging. This was introduced in 0.3e R2 and will not work with previous versions.|
|shotcompmode||Setting this to 0 (default) will disable joypad auto-aiming and shooting will be lag compensated. Setting it to 2 will enable 'legacy mode' which will disable lag compensation (meaning players have to lead aim) and joypad auto-aim will be enabled. Setting 1 is for debugging purposes, and only the player's position will be lag compensated, not their rotation.|
[*] Lower values of onfoot_rate incar_rate weapon_rate increase sync performance although increase bandwidth.
[**] stream_distance With larger values, players can see server entities at a greater distance although will require more client processing and potentially more bandwidth.
[***] stream_rate Lower values increase server CPU as it has to recheck streaming conditions more frequently for each player.
- The stream_distance and stream_rate can be changed while the server is running e.g. /rcon stream_distance 300.0 or /rcon stream_rate 1000.
- (Game-)Modes (and Filterscripts) do not have to be in "gamemodes/" or "filterscripts/". The information in server.cfg is a path, and can use "..": (Quote by Y_Less)
filterscripts ../scriptfiles/first ../minimodes/second