SoFplus 20140531 - Server and Client

Commands (server and client)

sp_sc_alias
Create an alias. This command is similar to the alias command, but with sp_sc_alias you can use arguments.
Synopsis:
sp_sc_alias NAME COMMAND
NAME
Alias name
COMMAND
Command(s) to execute. When the alias is executed, argument expansion will be performed on the command. The following text will be replaced:
${nn} / #{nn}
Argument number nn.
0
Name of alias being executed (NAME)
1 .. nn
Optional extra arguments
${@} / #{@}
All arguments combined
${#} / #{#}
Number of arguments
Note:
The alias command is stored in a cvar _sp_sc_alias_NAME. To modify the alias command after creating it, you can modify the cvar value. See _sp_sc_alias_*
Example:
Create an alias 'swap' for the long sp_sv_client_swap command:
]sp_sc_alias swap "sp_sv_client_swap #{1}"
Use the new alias:
]swap 3
sp_sc_cvar_append
Append text to a cvar. The command does not put spaces between parameters.
Synopsis:
sp_sc_cvar_append CVAR STRING...
CVAR
Destination variable where the command result will be stored
STRING...
Source string(s)
Example:
]set test "This is "
]sp_sc_cvar_append test "some appended" " text"
]echo #test
This is some appended text
sp_sc_cvar_append_newline
Add a newline character to a cvar
Synopsis:
sp_sc_cvar_append_newline CVAR
CVAR
Destination variable where the command result will be stored
Example:
]set test "First line"
]sp_sc_cvar_append_newline test
]sp_sc_cvar_append test "Second line"
]echo #test
First line
Second line
sp_sc_cvar_big_text
Create big text
Synopsis:
sp_sc_cvar_big_text DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
Note: Because this command needs 4 variables to store the result, it will be stored in DST CVAR_1, DST CVAR_2, DST CVAR_3 and DST CVAR_4
SRC CVAR
Source variable
Note:
Only character 32 .. 127 will be converted to big text, because of the limited font size (5x8 pixels).
Example:
]set small "Text soon to be big"
]sp_sc_cvar_big_text big small
]say #big_1
]say #big_2
]say #big_3
]say #big_4
sp_sc_cvar_copy
Copy cvar(s)
Synopsis:
sp_sc_cvar_copy DST CVAR SRC CVAR...
DST CVAR
Destination variable where the command result will be stored
SRC CVAR...
Source variable(s)
Example:
]sp_sc_cvar_copy test othervar
sp_sc_cvar_copy_latched
Copy latched cvar(s)
Synopsis:
sp_sc_cvar_copy_latched DST CVAR SRC CVAR...
DST CVAR
Destination variable where the command result will be stored
SRC CVAR...
Source variable(s)
Example:
]set deathmatch 4
deathmatch will be changed for next game.
]deathmatch
"deathmatch" is "1"
]sp_sc_cvar_copy_latched tmp deathmatch
]tmp
"tmp" is "4"
sp_sc_cvar_escape
Escape text
Character codes are replaced by %hh, where hh is the hexadecimal value of the character
Synopsis:
sp_sc_cvar_escape DST CVAR SRC CVAR CHAR CODE...
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
CHAR CODE
Character code in %hh or %hh-%hh format that will be replaced.
If nothing is specified, character code %01 .. %1f (color codes), '%', ';', '\' and '"' are replaced
To replace everything, use '%00-%ff'.
Example:
]set escapeme "Text with color codes"
]sp_sc_cvar_escape test escapeme
]echo #test
%03Text with %02color%03 codes
sp_sc_cvar_find
Find cvars
Synopsis:
sp_sc_cvar_find DST CVAR PATTERN
DST CVAR
Destination variable where the command result will be stored
Note: Because this command needs multiple variables to store the result, it will be stored like this:
DST CVAR_0: Number of cvars found
DST CVAR_1: First cvar
...
DST CVAR_n: Cvar n
PATTERN
Cvar name mask (may contain ? and * wildcards)
Example:
]sp_sc_cvar_find tmp _sp_cl_vid_*
]sp_sc_cvar_list tmp*
sp_sc_cvar_hex
Convert cvar contents to a hexadecimal string
Character codes are replaced by hh, where hh is the hexadecimal value of the character
Synopsis:
sp_sc_cvar_hex DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]set hexme "Text with color codes"
]sp_sc_cvar_hex test hexme
]echo #test
03546578742002776974680320636f6c6f7220636f646573
sp_sc_cvar_len
Get string length
Synopsis:
sp_sc_cvar_len DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
set text "Some text"
sp_sc_cvar_len test text
sp_sc_cvar_list
Display a list of cvars
Synopsis:
sp_sc_cvar_list CVAR...
CVAR
Variable(s) mask (may contain ? and * wildcards)
Example:
sp_sc_cvar_list _sp_cl_info_pos_? _sp_cl_info_skins_*
sp_sc_cvar_math_abs
Calculate absolute value
Synopsis:
sp_sc_cvar_math_abs CVAR
CVAR
Variable to perform calculation on
Example:
]set test -1.2
]sp_sc_cvar_math_abs test
]echo #test
1.200000
sp_sc_cvar_math_add
Add value to variable
Synopsis:
sp_sc_cvar_math_add CVAR VALUE
CVAR
Variable to perform calculation on
VALUE
Value to add
Example:
]set test 1.2
]sp_sc_cvar_math_add test 2.3
]echo #test
3.500000
sp_sc_cvar_math_ceil
Find integer ceiling
Synopsis:
sp_sc_cvar_math_ceil CVAR
CVAR
Variable to perform calculation on
Example:
]set test 1.2
]sp_sc_cvar_math_ceil test
]echo #test
2
sp_sc_cvar_math_div
Divide variable by value
Synopsis:
sp_sc_cvar_math_div CVAR VALUE
CVAR
Variable to perform calculation on
VALUE
Value to divide by
Example:
]set test 1.2
]sp_sc_cvar_math_div test 2.3
]echo #test
0.521739
sp_sc_cvar_math_floor
Find integer floor
Synopsis:
sp_sc_cvar_math_floor CVAR
CVAR
Variable to perform calculation on
Example:
]set test 1.2
]sp_sc_cvar_math_floor test
]echo #test
1
sp_sc_cvar_math_mod
Calculate the remainder of the division of variable by value
Synopsis:
sp_sc_cvar_math_mod CVAR VALUE
CVAR
Variable to perform calculation on
VALUE
Value to divide by
Example:
]set test 12
]sp_sc_cvar_math_mod test 2.3
]echo #test
0.500000
sp_sc_cvar_math_mul
Multiply variable by value
Synopsis:
sp_sc_cvar_math_mul CVAR VALUE
CVAR
Variable to perform calculation on
VALUE
Value to multiply by
Example:
]set test 1.2
]sp_sc_cvar_math_mul test 2.3
]echo #test
2.760000
sp_sc_cvar_math_sqrt
Calculate square root
Synopsis:
sp_sc_cvar_math_sqrt CVAR
CVAR
Variable to perform calculation on
Example:
]set test 1.2
]sp_sc_cvar_math_sqrt test
]echo #test
1.095445
sp_sc_cvar_math_sub
Subtract value from variable
Synopsis:
sp_sc_cvar_math_sub CVAR VALUE
CVAR
Variable to perform calculation on
VALUE
Value to subtract
Example:
]set test 1.2
]sp_sc_cvar_math_sub test 2.3
]echo #test
-1.100000
sp_sc_cvar_nbsp
Replace normal spaces (character 32) by No-break SPaces (character 129)
Synopsis:
sp_sc_cvar_nbsp DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]sp_sc_cvar_nbsp some_variable some_source_variable
sp_sc_cvar_no_color
Remove color
Synopsis:
sp_sc_cvar_no_color DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]sp_sc_cvar_no_color some_variable some_source_variable
sp_sc_cvar_random_float
Generate a random floating point number
Synopsis:
sp_sc_cvar_random_float CVAR MIN VALUE MAX VALUE
CVAR
Destination variable where the command result will be stored
MIN VALUE
Minumum value
MAX VALUE
Maximum value
Example:
]sp_sc_cvar_random_float test -50.2 80.1
sp_sc_cvar_random_int
Generate a random integer
Synopsis:
sp_sc_cvar_random_int CVAR MIN VALUE MAX VALUE
CVAR
Destination variable where the command result will be stored
MIN VALUE
Minumum value
MAX VALUE
Maximum value
Example:
]sp_sc_cvar_random_int test -50 80
sp_sc_cvar_replace
Replace characters in a cvar
Synopsis:
sp_sc_cvar_replace DST CVAR SRC CVAR REPLACE...
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
REPLACE...
Replacement specification(s)
%fc:: Delete single hexadecimal character code 'fc'
%fb-%fe:: Delete hexadecimal character range 'fb'..'fe'
%fc:%tc: Replace single hexadecimal character code 'fc' with 'tc'
%fb-%fe:%tc: Replace hexadecimal character range 'fb'..'fe' with 'tc'
%fb-%fe:%tb-%te: Replace hexadecimal character range 'fb'..'fe' with 'tb'..'te'. The from and to range have to be the same size.
Example:
// Delete spaces (%20)
// Delete colors (%01-%1f)
// Replace numbers (%30-%39) with ? (%3f)
// Replace A..Z (%41-%5a) with a..z (%61-%7a)
]sp_sc_cvar_replace replaced original %20: %01-%1f: %30-%39:%3f %41-%5a:%61-%7a
sp_sc_cvar_save
Save cvars to file
Synopsis:
sp_sc_cvar_save FILENAME CVAR...
FILENAME
Name of the file where all variables will be stored. The location on disk will be as follows: user/sofplus/data/FILENAME
CVAR...
Source variable(s), or source variable mask
Example:
]sp_sc_cvar_save var_save.cfg somevar anothervar _sp_cl_info_pos_? _sp_cl_info_skins_*
]exec sofplus/data/var_save.cfg
sp_sc_cvar_split
Split text and store in multiple variables
Synopsis:
sp_sc_cvar_split DST CVAR SPLIT CHAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
Note: Because this command needs multiple variables to store the result, it will be stored like this:
DST CVAR_0: Number of split parts
DST CVAR_1: First split part
...
DST CVAR_n: Split part n
SPLIT CHAR
Character where the splits will be made. The split character must be a single character or in %hh format, where hh is the hexadecimal value of the character.
SRC CVAR
Source variable
Example:
]set splitme "Some text\to\split"
]sp_sc_cvar_split test \ splitme
]echo #test_0
3
]echo #test_3
split
sp_sc_cvar_sset
Set a cvar. The command is similar to sset, but this command does not put spaces between parameters.
Synopsis:
sp_sc_cvar_sset CVAR STRING...
CVAR
Destination variable where the command result will be stored
STRING...
Source text(s)
Example:
]sp_sc_cvar_sset test "He" "llo World!"
]echo #test
Hello World!
sp_sc_cvar_substr
Get a substring from a cvar
Synopsis:
sp_sc_cvar_substr DST CVAR SRC CVAR START LENGTH
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
START
Start position. Strings start at position 0. If a negative number is used, the start will be calculated from the end of the source string.
LENGTH
Number of characters to copy. If a negative number is used, that number of characters will be omitted from the end of the source string.
Example:
]set longvar "Some long string"
]sp_sc_cvar_substr test longvar 2 10
]echo #test
me long st
sp_sc_cvar_unescape
UnEscape text
Hexadecimal escape sequences %hh, where hh is 00 .. ff, are replaced by their character representation
Synopsis:
sp_sc_cvar_unescape DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]set unescapeme "%03Text with %02color%03 codes"
]sp_sc_cvar_unescape test unescapeme
]echo #test
Text with color codes
sp_sc_cvar_unhex
Convert a hexadecimal string to a character string
Replace hh hex codes by their character representation
Synopsis:
sp_sc_cvar_unhex DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]set unhexme "03546578742002776974680320636f6c6f7220636f646573"
]sp_sc_cvar_unhex test unhexme
]echo #test
Text with color codes
sp_sc_exec_cvar
Execute commands from a cvar
Synopsis:
sp_sc_exec_cvar CVAR
CVAR
Name of the cvar to execute
Example:
]set test "echo Hello; echo World!"
]sp_sc_exec_cvar test
Hello
World!
sp_sc_exec_file
Execute a script. This command is similar to the exec command, but it will not echo a message to the console. This command was added, because the console got filled with 'execing ...' messages when doing recursive execs.
Synopsis:
sp_sc_exec_file FILENAME
FILENAME
Name of the script to execute
Example:
]sp_sc_exec_file example.cfg
sp_sc_file_find
Find files
Synopsis:
sp_sc_file_find DST CVAR PATTERN OPTION...
DST CVAR
Destination variable where the command result will be stored
Note: Because this command needs multiple variables to store the result, it will be stored like this:
DST CVAR_0: Number of files found
DST CVAR_1: First filename
...
DST CVAR_n: Filename n
PATTERN
Search path (may contain ? and * wildcards in the filename part)
OPTION
Optional arguments:
pak        Search inside pakfiles (default if neither pak nor filesystem are specified)
filesystem Search in the user directory on the filesystem (default if neither pak nor filesystem are specified)
file       Search for files (default if neither file nor directory are specified)
directory  Search for directories (default if neither file nor directory are specified)
recursive  Search inside subdirectories
If no arguments are specified, the default is: pak filesystem file directory
Example:
]sp_sc_file_find dir maps/a*.bsp pak filesystem file recursive
]sp_sc_cvar_list dir_*
set dir_0 "7"
set dir_7 "maps/dm/aztec2001.bsp"
set dir_6 "maps/dm/aztec2.bsp"
set dir_5 "maps/dm/akercity.bsp"
set dir_4 "maps/dm/airportdm.bsp"
set dir_3 "maps/arm3.bsp"
set dir_2 "maps/arm2.bsp"
set dir_1 "maps/arm1.bsp"
sp_sc_flow_if
Flow control: IF
Synopsis:
sp_sc_flow_if TYPE CV-TYPE CVAR/VALUE COMPARE CV-TYPE CVAR/VALUE TRUE COMMAND [FALSE COMMAND]
TYPE
number Numerical comparison
text   Case sensitive text comparison
itext  Case insensitive text comparison
CV-TYPE
cvar CVAR/VALUE is a variable name
val  CVAR/VALUE is a value
CVAR/VALUE
Variable or value to compare
COMPARE
== Equal
!= Not equal
Less than
<= Less than or equal
Greater than
>= Greater than or equal
TRUE COMMAND
Command(s) to execute when the comparison succeeds
FALSE COMMAND
Command(s) to execute when the comparison fails
Example:
]sp_sc_flow_if number cvar team_red_blue == val 0 "echo RED" "echo BLUE"
sp_sc_flow_while
Flow control: WHILE
Synopsis:
sp_sc_flow_while TYPE CV-TYPE CVAR/VALUE COMPARE CV-TYPE CVAR/VALUE COMMAND
TYPE
number Numerical comparison
text   Case sensitive text comparison
itext  Case insensitive text comparison
CV-TYPE
cvar CVAR/VALUE is a variable name
val  CVAR/VALUE is a value
CVAR/VALUE
Variable or value to compare
COMPARE
== Equal
!= Not equal
Less than
<= Less than or equal
Greater than
>= Greater than or equal
COMMAND
Command(s) to execute when the comparison succeeds
Example:
]set counter 1
]sp_sc_flow_while number cvar counter <= val 10 "echo #counter; add counter 1"
sp_sc_func_alias
Create an alias for a function which can be used instead of sp_sc_func_exec FUNCTION.
Synopsis:
sp_sc_func_alias NAME FUNCTION
NAME
Alias name
FUNCTION
Name of the function to execute.
Example:
Create an alias 'cidr' for the long spf_sc_ip_to_cidr function name:
]sp_sc_func_alias cidr spf_sc_ip_to_cidr
Use the new alias:
]cidr 192.168.199.123 22 result
]echo #result
192.168.196.0/22
sp_sc_func_exec
Execute a function.
Synopsis:
sp_sc_func_exec NAME ARGUMENT...
NAME
Function name
ARGUMENT
Function argument(s)
Example:
Create a .func file (e.g. example.func):
function demo( ~arg1, ~arg2, * )
{
  echo "ARG1:" #~arg1
  echo "ARG2:" #~arg2
  echo "Additional arguments:" #~0
  set ~count 1
  sp_sc_flow_while number cvar ~count <= val #~0
  {
    sp_sc_cvar_copy ~val ~$~count
    sp_sc_cvar_sset ~msg "  " #~count ": " #~val
    echo #~msg
    add ~count 1
  }
}
Load the function:
]sp_sc_func_load_file example.func
Execute the function:
]sp_sc_func_exec demo "First argument" second third fourth "The Fifth" sixth
ARG1: First argument
ARG2: second
Additional arguments: 4
  1: third
  2: fourth
  3: The Fifth
  4: sixth
sp_sc_func_list
Display a list of functions
Synopsis:
sp_sc_func_list FUNCTION...
FUNCTION
Function(s) mask (may contain ? and * wildcards)
Example:
sp_sc_func_list spf_sc_ip_* .*
sp_sc_func_load_cvar
Load functions from a cvar
Synopsis:
sp_sc_func_load_cvar CVAR
CVAR
Variable from which the function(s) will be loaded
Example:
sp_sc_func_load_cvar somecvar
sp_sc_func_load_file
Load functions from a file
Synopsis:
sp_sc_func_load_file FILE
FILE
File from which the function(s) will be loaded
Example:
sp_sc_func_load_file somefile.func
sp_sc_info_net
Update the _sp_sc_info_net_* cvars with network traffic info
Synopsis:
sp_sc_info_net
Example:
]sp_sc_info_net
sp_sc_info_net_reset
Reset the network traffic counters
Synopsis:
sp_sc_info_net_reset
Example:
]sp_sc_info_net_reset
sp_sc_info_time
Update the _sp_sc_info_time_* cvars
Synopsis:
sp_sc_info_time
Example:
]sp_sc_info_time
sp_sc_on_change
Create an on_change event handler
Synopsis:
sp_sc_on_change NAME FUNCTION
NAME
Variable name for which an on change event handler should be created
FUNCTION
Comma separated list of function names to execute
Note:
The on_change function name is stored in a cvar _sp_sc_on_change_NAME. To modify the on_change function name after creating it, you can modify the cvar value.
Example:
Create a .func (e.g. on_change.func):
function spf_sc_on_change( ~name )
{
  sp_sc_cvar_copy ~value #~name
  echo "Value of" #~name "changed to" #~value
}
Load the function:
]sp_sc_func_load_file on_change.func
Cheate an on_change event for the skin variable:
]sp_sc_on_change skin "spf_sc_on_change"
Change your skin and see what happens:
]set skin taylor
Value of skin changed to taylor
sp_sc_timer
Set a timer event
Synopsis:
sp_sc_timer DELAY COMMAND
DELAY
Numer of milliseconds to wait before executing the command(s)
COMMAND
Command(s) to execute
Example:
]sp_sc_timer 5000 "echo Timer event"
sp_sc_uptime
Print uptime info
Synopsis:
sp_sc_uptime
Example:
]sp_sc_uptime
winstart
The winstart command has been disabled by default. To enable it, add +set _sp_sc_enable_winstart 1 to the commandline.

Commands (client)

sp_cl_console
Turn console on or off. You can use toggleconsole to turn the console on when it's off or off when it's on.
Synopsis:
sp_cl_console ACTION
ACTION
Can be on or off
Example:
]sp_cl_console on
sp_cl_info_map
Write info to _sp_cl_info_* cvars
The current map
Synopsis:
sp_cl_info_map
Example:
]sp_cl_info_map
sp_cl_info_pos
Write info to _sp_cl_info_* cvars
Your current position (same data as produced by setting the cl_showlocation cvar to 1)
Synopsis:
sp_cl_info_pos
Example:
]sp_cl_info_pos
sp_cl_info_skins
Write info to _sp_cl_info_* cvars
A list of all player info (same data as produced by the skins command)
Synopsis:
sp_cl_info_skins
Example:
]sp_cl_info_skins
connect
The connect command has been modified.
Just before connecting, the following will happen:
Synopsis:
connect SERVER
SERVER
Server ip or hostname
Example:
Create a .func (e.g. on_connect.func) with server specific settings:
function spf_cl_on_connect()
{
  set password "player"
  set spectator_password "specme"
  zero rcon_password
  sp_sc_flow_if text val #_sp_cl_info_server == val "1.2.3.4:28920"
  {
    set rcon_password "RconPass"
  }
  sp_sc_flow_if text val #_sp_cl_info_server == val "123.4.5.6:28910"
  {
    set password "SecretPass"
    set spectator_password "MyPass"
  }
}
Load the function:
]sp_sc_func_load_file on_connect.func
Set the on connect function:
]set _sp_cl_on_connect "spf_cl_on_connect"
Connect to a server:
]connect 1.2.3.4:28920
screenshot
The screenshot command has been modified.
Screenshots will be written in PNG format.
serverstatus
For security reasons, this command has been replaced by a modified version. You shouldn't see anything different on the outside.
tgashot
The old screenshot command has been renamed to tgashot.
Screenshots will be written in TGA format.

Commands (server)

sp_sv_client_blue
Force client into the blue team. The team_red_blue cvar will be set.
Synopsis:
sp_sv_client_blue SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_client_blue 3
sp_sv_client_check
Read a cvar from a client. The client will respond through the .check command.
Synopsis:
sp_sv_client_check SLOT CHALLENGE CVAR
SLOT
Slot number of the player (0 .. 31)
CHALLENGE
An 8 character challenge string that will be returned by the client
CVAR
Name of the variable to be read
Example:
Create a .func file (e.g. cvar_check.func):
function .check( ~slot, ~challenge, ~cvar, ~value )
{
  echo challenge: #~challenge / cvar: #~cvar / value: #~value
}
Load the function:
]sp_sc_func_load_file cvar_check.func
Check a cvar:
]sp_sv_client_check 0 abcdefgh gl_modulate
challenge: abcdefgh / cvar: gl_modulate / value: 1.164286
sp_sv_client_cvar_set
Set a cvar on the client
Synopsis:
sp_sv_client_cvar_set SLOT CVAR NUMBER STRING
SLOT
Slot number of the player (0 .. 31)
CVAR NUMBER
Variable number to set (0 .. 99). On the client the variable _sp_cl_sv_CVAR NUMBER will be filled.
STRING
Text to put into the variable
Example:
]sp_sv_client_cvar_set 3 1 "Hello World!"
sp_sv_client_play
Force client into player mode. The spectator and password cvars will be set.
Synopsis:
sp_sv_client_play SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_client_play 3
sp_sv_client_red
Force client into the red team. The team_red_blue cvar will be set.
Synopsis:
sp_sv_client_red SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_client_red 3
sp_sv_client_spec
Force client into spectator mode. The spectator and spectator_password cvars will be set.
Synopsis:
sp_sv_client_spec SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_client_spec 3
sp_sv_client_swap
Force client into the red or blue team. The team_red_blue cvar will be set.
Synopsis:
sp_sv_client_swap SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_client_swap 3
sp_sv_info_client
Get client information and put it in the _sp_sv_info_client_* variables
Synopsis:
sp_sv_info_client SLOT
SLOT
Slot number of the player (0 .. 31)
Example:
]sp_sv_info_client 3
sp_sv_info_client_mod
Get client MOD (Means Of Death) information and put it in the _sp_sv_info_client_mod_* variables
Synopsis:
sp_sv_info_client_mod SLOT MOD
SLOT
Slot number of the player (0 .. 31)
MOD
MOD index (0 .. 38)
Example:
]sp_sv_info_client_mod 3 4
sp_sv_info_frames
Get current server frame and put it in the _sp_sv_info_frames variable
Synopsis:
sp_sv_info_frames
Example:
]sp_sv_info_frames
sp_sv_players
Print a list of player stats (clients can use the .players command to get the same output)
Synopsis:
sp_sv_players
Example:
]sp_sv_players
sp_sv_print_broadcast
Broadcast a message to all players
Synopsis:
sp_sv_print_broadcast STRING
STRING
Text to broadcast
Example:
]sp_sv_print_broadcast "Hello World!"
sp_sv_print_client
Send a message to one client
Synopsis:
sp_sv_print_client SLOT STRING
SLOT
Slot number of the player (0 .. 31)
STRING
Text to send to client
Example:
]sp_sv_print_client 3 "Hello World!"
sp_sv_print_sp_broadcast
Broadcast a message to all players
Synopsis:
sp_sv_print_sp_broadcast SP INDEX [STRING...]
SP INDEX
String package string index number
STRING...
Extra arguments, indicated with %s in the string package string
Example:
]sp_sv_print_sp_broadcast 12 "variable text"
sp_sv_print_sp_client
Send a message to one client
Synopsis:
sp_sv_print_sp_client SLOT SP INDEX [STRING...
SLOT
Slot number of the player (0 .. 31)
SP INDEX
String package string index number
STRING...
Extra arguments, indicated with %s in the string package string
Example:
]sp_sv_print_sp_client 3 12 "variable text"
sp_sv_say_mute
Mute client(s)
Synopsis:
sp_sv_say_mute SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_say_mute 3
sp_sv_say_unmute
Unmute client(s)
Synopsis:
sp_sv_say_unmute SLOT|*
SLOT|*
Slot number of the player (0 .. 31) or a * for all players
Example:
]sp_sv_say_unmute 3
sp_sv_sound_broadcast
Play a sound file for all clients
Synopsis:
sp_sv_sound_broadcast SOUND FILE INDEX
SOUND FILE INDEX
Sound file index number (1 .. 20). The name of the sound file to be played will be read from the variable _sp_sv_sound_SOUND FILE INDEX.
Example:
]set _sp_sv_sound 1
]set _sp_sv_sound_9 "sp/godlike.wav"
... map restart ...
]sp_sv_sound_broadcast 9
sp_sv_sound_client
Play a sound file for one client
Synopsis:
sp_sv_sound_client SLOT SOUND FILE INDEX
SLOT
Slot number of the player (0 .. 31)
SOUND FILE INDEX
Sound file index number (1 .. 20). The name of the sound file to be played will be read from the variable _sp_sv_sound_SOUND FILE INDEX.
Example:
]set _sp_sv_sound 1
]set _sp_sv_sound_9 "sp/godlike.wav"
... map restart ...
]sp_sv_sound_client 3 9
gamemap
See also map
The link command has been disabled.
map
The '\' character will be replaced by '/' because it will cause trouble in the server list.
Map names can be prefixed with text and a colon: PREFIX:MAPNAME. The prefix can be used in the _sp_sv_on_map_rotate event.

Client commands

.fps
Set maximum framerate (changes cl_maxfps)
Synopsis:
.fps FPS
FPS
Framerate (30 .. 999 or server maximum)
Example:
].fps 120
.kill
Commit suicide. This may be usefull when you're stuck and don't have console available.
Synopsis:
.kill
Example:
].kill
.no
Vote no
Synopsis:
.no
Example:
].no
.players
Display player info (somewhat similar to players and rcon status)
Synopsis:
.players
Example:
].players
.run
Enable always run mode (changes cl_run to 1)
Synopsis:
.run
Example:
].run
.timelimit
Display information about the timelimit
Synopsis:
.timelimit
Example:
].timelimit
.vote ammo
Start a vote for limited/unlimited ammo
Synopsis:
.vote ammo AMMO
AMMO
Ammo type (limited / unlimited)
Example:
].vote ammo limited
.vote control_limit
Start a vote to change the control_limit
Synopsis:
.vote control_limit CONTROL_LIMIT
CONTROL_LIMIT
Number of control points before rotating the map
Example:
].vote control_limit 123
.vote ctf_loops
Start a vote to change the ctf_loops
Synopsis:
.vote ctf_loops CTF_LOOPS
CTF_LOOPS
Number of flags to be captured before rotating the map
Example:
].vote map dm/nyccdm3
.vote fraglimit
Start a vote to change the fraglimit
Synopsis:
.vote fraglimit FRAGLIMIT
FRAGLIMIT
Number of frags before rotating the map
Example:
].vote fraglimit 123
.vote gametype
Start a vote to change the gametype
Synopsis:
.vote gametype GAMETYPE
GAMETYPE
Gametype (0 .. 10)
 1 DM (Deathmatch)
 2 Assassin
 3 Arsenal
 4 CTF (Capture The Flag)
 5 Realistic
 6 Control
 7 CTB (Conquer The Bunker)
 8 Team DM
 9 Team Realistic
10 Red/Blue CTB
Example:
].vote gametype 4
.vote info
Request vote info into the _sp_cl_sv_0 .. _sp_cl_sv_4 variables
Synopsis:
.vote kick
Example:
].vote info
.vote kick
Start a vote to kick a player
Synopsis:
.vote kick KICK
KICK
Slot number of the player (0 .. 31)
Example:
].vote kick 3
.vote map
Start a vote to change to another map
Synopsis:
.vote map MAP
MAP
Map to change to
Example:
].vote map dm/nyccdm3
.vote next
Start a vote to end the current map (and go to the next map)
Synopsis:
.vote next
Example:
].vote next
.vote no
Vote no
Synopsis:
.vote no
Example:
].vote no
.vote restart
Start a vote to restart the current map
Synopsis:
.vote restart
Example:
].vote restart
.vote timelimit
Start a vote to change the timelimit
Synopsis:
.vote timelimit TIMELIMIT
TIMELIMIT
Amount of time before rotating the map
Example:
].vote timelimit 123
.vote weapons
Start a vote for all/bullet-only weapons
Synopsis:
.vote weapons WEAPONS
WEAPONS
Weapons type (all .. bullet)
Example:
].vote weapons all
.vote yes
Vote yes
Synopsis:
.vote yes
Example:
].vote yes
.yes
Vote yes
Synopsis:
.yes
Example:
].yes
.COMMAND
Server admins can add their own client command functions. The function name must begin with a dot. Optional function arguments can be defined by the admin. See sp_sc_func_exec for more information about functions.
Function arguments:
1
Slot number of client
2+
Optional extra arguments

Cvars (server and client)

_sp_sc_alias_*
Contains the commands to be executed when an alias is used. When a player uses the alias NAME, the command in the variable _sp_sc_alias_NAME will be executed. Use the sp_sc_alias command to create an alias.
_sp_sc_enable_winstart
Winstart enable. Set this variable on the commandline to enable the dangerous winstart command.
Values:
0
Disable (default)
1
Enable
Example:
SoF.exe +set _sp_sc_enable_winstart 1
_sp_sc_info_net_rcv_bytes
Is set to the number of received bytes when the sp_sc_info_net command is executed.
_sp_sc_info_net_rcv_packets
Is set to the number of received packets when the sp_sc_info_net command is executed.
_sp_sc_info_net_seconds
Is set to the number of elapsed seconds since starting counting when the sp_sc_info_net command is executed.
_sp_sc_info_net_snd_bytes
Is set to the number of sent bytes when the sp_sc_info_net command is executed.
_sp_sc_info_net_snd_packets
Is set to the number of sent packets when the sp_sc_info_net command is executed.
_sp_sc_info_time_datetime
Is set to the current date and time (yyyy-mm-dd hh:mm:ss) when the sp_sc_info_time command is executed.
_sp_sc_info_time_min
Is set to the number of elapsed minutes since SoF started when the sp_sc_info_time command is executed.
_sp_sc_info_time_sec
Is set to the number of elapsed seconds since SoF started when the sp_sc_info_time command is executed.
_sp_sc_info_version
Contains SoFplus version information
_sp_sc_log_net
Network traffic logging
Values:
0
Disable (default)
1
Enable. Network data will be written to user/sofplus/log/net_00.log .. user/sofplus/log/net_59.log (depending on the current second). After a minute, old data wil be overwritten by newer data. To convert the logged data to a readable format, you can use the splogconv.exe program.
_sp_sc_log_net_error
Network traffic logging of bad packets
Values:
0
Disable (default)
1
Enable. Bad packets will be logged to user/sofplus/log/net_err.log. To convert the logged data to a readable format, you can use the splogconv.exe program.
_sp_sc_on_change_*
Contains a comma separated list of function names to be executed when a variable changes. Use the sp_sc_on_change command to create an on_change event handler.
Function arguments:
1
Name of the changed variable
_sp_sc_time_utc
Time format for logging and commands
Values:
0
Local time
1
UTC (Coordinated Universal Time) (default)
allow_download
Allow downloading. Should be set to 1 on client and server, because SoFplus uses custom string packages.
Values:
0
Downloading not allowed
1
Downloading allowed
allow_download_sounds
Allow downloading. Should be set to 1 on client and server, because SoFplus uses custom sounds.
Values:
0
Downloading not allowed
1
Downloading allowed
allow_download_stringpackage
Allow downloading. Should be set to 1 on client and server, because SoFplus uses custom string packages.
Values:
0
Downloading not allowed
1
Downloading allowed
ip
Force SoF to bind to the specified IP address. If your PC has multiple IP addresses, you can use this to select the correct address.
Example:
SoF.exe +set ip 127.0.0.1
noipx
Disable IPX
Values:
0
Enable IPX
1
Disable IPX (default)
Example:
SoF.exe +set noipx 1

Cvars (client)

_sp_cl_cpu_cool
Reduce CPU usage to keep the CPU cool
Values:
0
Disable
1
Enable (default)
_sp_cl_fps_debuggraph_color
FPS graph color in hexadecimal ABGR format (default = 9f00ff00). See also cl_showfps.
_sp_cl_fps_debuggraph_height
FPS graph height (default = 15). See also cl_showfps.
_sp_cl_fps_debuggraph_shift
FPS graph shift upwards (default = 0). See also cl_showfps.
_sp_cl_frame_delay
Minimum delay between frames (in milliseconds) (default = 7)
_sp_cl_info_map
Is set when the sp_cl_info_map command is executed.
_sp_cl_info_pos_x
Is set when the sp_cl_info_pos command is executed.
_sp_cl_info_pos_y
Is set when the sp_cl_info_pos command is executed.
_sp_cl_info_pos_yaw
Is set when the sp_cl_info_pos command is executed.
_sp_cl_info_pos_z
Is set when the sp_cl_info_pos command is executed.
_sp_cl_info_server
Is set to the server ip or hostname when the connect command is executed.
_sp_cl_info_skins_name_*
The variables _sp_cl_info_skins_name_0 .. _sp_cl_info_skins_name_31 are set when the sp_cl_info_skins command is executed.
_sp_cl_info_skins_red_blue_*
The variables _sp_cl_info_skins_red_blue_0 .. _sp_cl_info_skins_red_blue_31 are set when the sp_cl_info_skins command is executed.
_sp_cl_info_skins_skin_*
The variables _sp_cl_info_skins_skin_0 .. _sp_cl_info_skins_skin_31 are set when the sp_cl_info_skins command is executed.
_sp_cl_info_skins_team_*
The variables _sp_cl_info_skins_team_0 .. _sp_cl_info_skins_team_31 are set when the sp_cl_info_skins command is executed.
_sp_cl_info_slot
Is set to the current connection slot
_sp_cl_info_state
Is set to the current connection state
Values:
1
Not connected
2
Attempting to connect to a server
4
(Re)connecting to a server
7
Loading map
8
Spawned into the map
_sp_cl_info_vid_mode
Currently active video mode.
_sp_cl_info_vid_modes
Available video modes reported by Windows.
_sp_cl_mumble
Mumble support
Values:
0
Disable
1
Enable (default)
_sp_cl_master_gamespy
GameSpy master server (sof1master.megalag.org)
_sp_cl_on_connect
Contains a comma separated list of function names to be executed when the connect command is executed.
_sp_cl_print
Print packet parsing. When enabled, print packets will be parsed and corresponding _sp_cl_print_* variables will be set.
Values:
0
Disable parsing; Always print packet (default)
1
Enable parsing; Always print packet
2
Enable parsing; Print unparsed packet (not a result of rcon status or rcon CVAR NAME)
3
Enable parsing; Don't print packet
Example:
Enable print message parsing and get server status and a cvar:
]set _sp_cl_print 1
]rcon status
]rcon timelimit
Wait a bit to let the server respond...
]echo #_sp_cl_print_status_map
dm/nyccdm1
]echo #_sp_cl_print_cvar_timelimit
20
_sp_cl_print_cvar_*
Rcon cvar get result. When parsing the result from a rcon CVAR NAME command, the result will be stored in _sp_cl_print_cvar_CVAR NAME.
Example:
Enable print message parsing and get a cvar:
]set _sp_cl_print 1
]rcon timelimit
Wait a bit to let the server respond...
]echo #_sp_cl_print_cvar_timelimit
20
_sp_cl_print_data
Unconnected print packets (result from rcon commands, serverstatus, echo, ...) will be stored in this variable.
_sp_cl_print_status_gametype
Rcon status result. When parsing the response to a rcon status command, the gametype will be stored in this variable.
_sp_cl_print_status_ip_*
Rcon status result. When parsing the response to a rcon status command, the result for the ip column will be stored in _sp_cl_print_status_ip_0 .. _sp_cl_print_status_ip_31.
_sp_cl_print_status_lastmsg_*
Rcon status result. When parsing the response to a rcon status command, the result for the lastmsg column will be stored in _sp_cl_print_status_lastmsg_0 .. _sp_cl_print_status_lastmsg_31.
_sp_cl_print_status_map
Rcon status result. When parsing the response to a rcon status command, the map name will be stored in this variable.
_sp_cl_print_status_name_*
Rcon status result. When parsing the response to a rcon status command, the result for the name column will be stored in _sp_cl_print_status_name_0 .. _sp_cl_print_status_name_31.
_sp_cl_print_status_ping_*
Rcon status result. When parsing the response to a rcon status command, the result for the ping column will be stored in _sp_cl_print_status_ping_0 .. _sp_cl_print_status_ping_31.
_sp_cl_print_status_port_*
Rcon status result. When parsing the response to a rcon status command, the result for the port column will be stored in _sp_cl_print_status_port_0 .. _sp_cl_print_status_port_31.
_sp_cl_print_status_qport_*
Rcon status result. When parsing the response to a rcon status command, the result for the qport column will be stored in _sp_cl_print_status_qport_0 .. _sp_cl_print_status_qport_31.
_sp_cl_print_status_score_*
Rcon status result. When parsing the response to a rcon status command, the result for the score column will be stored in _sp_cl_print_status_score_0 .. _sp_cl_print_status_score_31.
_sp_cl_spectator_distance
Set the r_nearclipdist variable to this value when in 1st person spectator mode (spectator variable is 2 or 4).
Values:
0
Disable
>0
Enable; Set r_nearclipdist to this value. 20 .. 30 seems to work reasonably well (default = 20).
_sp_cl_sv_*
SoFplus servers can set the variables _sp_cl_sv_0 .. _sp_cl_sv_99 on the client with the sp_sv_client_cvar_set command.
_sp_cl_sv_version
SoFplus version on the server. When connecting to a SoFplus server, the server will set this variable on the client.
_sp_cl_vid_border
Border around the SoF window
Values:
0
No
1
Yes (default)
_sp_cl_vid_fov
Horizontal / vertical FOV
Values:
0
Horizontal FOV locked at 95. Vertical FOV will automatically be adjusted for the display aspect ratio.
1
Vertical FOV locked at 79 (default). Horizontal FOV will automatically be adjusted for the display aspect ratio.
90 .. 111
Horizontal FOV set at specified value. Vertical FOV will automatically be adjusted for the display aspect ratio.
_sp_cl_vid_gl_texture_mag_filter
OpenGL GL_TEXTURE_MAG_FILTER for rendering a surface that is bigger than the texture being applied (near objects)
Values:
GL_NEAREST
GL_NEAREST (default)
GL_LINEAR
GL_LINEAR
_sp_cl_vid_gl_texture_max_anisotropy_ext
OpenGL GL_TEXTURE_MAX_ANISOTROPY_EXT. Anisotropic filtering requires taking multiple samples from the various mipmaps. The control on the quality of anisotropic filtering is in limiting the number of samples used. Raising the maximum number of samples taken will generally make the result look better, but it may also decrease performance.
Values:
1 .. 16
Use this value (default is 2)
_sp_cl_vid_mode_*
The variables _sp_cl_vid_mode_0 .. _sp_cl_vid_mode_9 define the video modes that will be set when the variable gl_mode is set to 0 .. 9.
Values:
WIDTHxHEIGHT
Set the resolution to the specified WIDTH and HEIGHT in pixels
:DISPLAY:
Set the resolution to match that of your primary display
:DISPLAY NAME:
Set the resolution to match that of the display with DISPLAY NAME. Your first display will usually be called DISPLAY1, your second DISPLAY2, etc. When SoF is started with the +set logfile 3 commandline argument, the names will be written to SoF.log
cl_showfps
Show framerate (FPS)
Values:
Bit 0 (1)
Print FPS in console
Bit 1 (2)
Show FPS OSD
Bit 2 (4)
Show FPS graph. The graph will de drawn if debuggraph or netgraph or timegraph is set to 1. See also _sp_cl_fps_debuggraph_color, _sp_cl_fps_debuggraph_height and _sp_cl_fps_debuggraph_shift.
Bit 3 (8)
High speed FPS updates
Example:
]set cl_showfps 12
]set netgraph 0
]set timegraph 0
]set debuggraph 1
cl_violence
Violence settings.
Values:
Bit 0 (1)
lock_deaths
Bit 1 (2)
lock_blood
Bit 2 (4)
lock_gorezones
Bit 3 (8)
lock_sever
Bit 4 (16)
lock_textures
Bit 5 (32)
lock_pure
For full violence, use 0 (or 32). For low violence use 63. If nothing is specified, SoFplus defaults to 0.
Example:
SoF.exe +set cl_violence 32
console
Console
Values:
0
Disable
1
Enable (default)
Example:
SoF.exe +set console 1
name
Player name. Some checks have been added to remove characters that can cause servers to crash.
_tmp_name
See name.
s_khz
Sound dma speed
Values:
11
11 kHz (11025)
22
22 kHz (22050)
44
44 kHz (44100). Only available when using defsnd.dll
48
48 kHz (48000). Only available when using defsnd.dll
spectator
Player / spectator mode selection
Values:
0
Player
1
Spectator; Normal 3rd person view
2
Spectator; 1st person view (see _sp_cl_spectator_distance). Only on SoFplus servers.
3
Spectator; Same as 1, but you will see player health / armor / weapon info if that has been enabled on the server. Only on SoFplus servers.
4
spectator; Same as 2, but you will see player health / armor / weapon info if that has been enabled on the server. Only on SoFplus servers.

Cvars (server)

_sp_sv_ac_mode
Anti-cheat mode (reserved for a future anti-cheat). To see who is using an anti-cheat, use the .players or sp_sv_players command.
Values:
0
Off (default)
1
On; Players without anti-cheat are kicked.
2
On; Players without anti-cheat aren't kicked, but they do see a link to the download site.
3
On; Players without anti-cheat aren't kicked (default).
_sp_sv_arsenal_bonus
Arsenal bonus
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_camping_prevention
Camper protection. The server reduces player health and plays an annoying sound if a players stays at one location for too long.
Values:
0
Disabled (default)
1
Enabled
_sp_sv_ctb_bonus
Change bonus for protecting the base
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_ctf_bonus_carrier_frag
Change bonus for killing the flag carrier
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_ctf_bonus_carrier_protect
Change bonus for protecting the flag carrier
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_ctf_bonus_flag_capture
Change bonus for capturing the flag
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_ctf_bonus_flag_protect
Change bonus for protecting the flag
Values:
< 0
Unmodified (default)
0
No bonus
1
1 point bonus
_sp_sv_ctf_bonus_flag_recover
Change bonus for recovering the flag
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_ctf_flag_drop
CTF flag drop allowed
Values:
0
No
1
Yes (default)
_sp_sv_ctf_switch_keep_score
Players changing teams keep their score
Values:
0
No (default)
1
Yes, if the admin used the sp_sv_client_blue or sp_sv_client_red command
2
Yes, always
_sp_sv_disable_alt_attack_1
Disable alternate attack for weapon 1 (knife)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_alt_attack_8
Disable alternate attack for weapon 8 (machinegun)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_alt_attack_9
Disable alternate attack for weapon 9 (slugthrower)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_alt_attack_10
Disable alternate attack for weapon 10 (rocket launcher)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_alt_attack_11
Disable alternate attack for weapon 11 (flamethrower)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_alt_attack_12
Disable alternate attack for weapon 12 (MPG)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_1
Disable primary attack for weapon 1 (knife)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_2
Disable primary attack for weapon 2 (pistol)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_3
Disable primary attack for weapon 3 (magnum)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_4
Disable primary attack for weapon 4 (shotgun)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_5
Disable primary attack for weapon 5 (sniper rifle)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_6
Disable primary attack for weapon 6 (silenced SMG)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_7
Disable primary attack for weapon 7 (SMG)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_8
Disable primary attack for weapon 8 (machinegun)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_9
Disable primary attack for weapon 9 (slugthrower)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_10
Disable primary attack for weapon 10 (rocket launcher)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_11
Disable primary attack for weapon 11 (flamethrower)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_disable_primary_attack_12
Disable primary attack for weapon 12 (MPG)
Values:
0
Not disabled (default)
1
Disabled
_sp_sv_fps_max
Maximum framerate allowed (set it a bit higher than the required limit). Clients with a framerate above the limit will see a warning message. If their framerate stays too high, they will eventually be kicked.
Values:
0
No limit (default)
>0
Use this limit
_sp_sv_health_regeneration_time
Number of seconds it takes to regenerate health from 0% to 100%
Values:
0
No health regeneration (default)
>0.0
Use this amount of time
_sp_sv_info_client_ac
Is set to the clients anti-cheat state when the sp_sv_info_client command is executed
Values:
Yes
The client is using anti-cheat
No
The client isn't using anti-cheat
?
The client has been in the server for less than 1 minute. Anti-cheat state is not yet known.
-
Anti-cheat isn't active on the server
_sp_sv_info_client_country
Is set to the clients country code when the sp_sv_info_client command is executed
_sp_sv_info_client_deaths
Is set to the clients number of deaths when the sp_sv_info_client command is executed. This number may be off a bit, because some suicides aren't counted.
_sp_sv_info_client_flag
Is set to the clients flag carrying state when the sp_sv_info_client command is executed
Values:
0
Client isn't carrying a flag
1
Client is carrying the blue flag
2
Client is carrying the red flag
_sp_sv_info_client_flags_captured
Is set to the clients number of captured flags when the sp_sv_info_client command is executed
_sp_sv_info_client_flags_recovered
Is set to the clients number of recovered flags when the sp_sv_info_client command is executed
_sp_sv_info_client_fps
Is set to the clients framerate when the sp_sv_info_client command is executed
_sp_sv_info_client_frags
Is set to the clients number of frags when the sp_sv_info_client command is executed
_sp_sv_info_client_frames_idle
Is set to the number of frames since the client was last active when the sp_sv_info_client command is executed
_sp_sv_info_client_frames_total
Is set to the number of frames since the client entered the map when the sp_sv_info_client command is executed
_sp_sv_info_client_guid
Is set to the clients anti-cheat guid when the sp_sv_info_client command is executed
Values:
Empty
The client isn't using an anti-cheat, or the anti-cheat has been disabled on the server
Other
The client is using an anti-cheat
_sp_sv_info_client_ip
Is set to the clients IP address when the sp_sv_info_client command is executed
_sp_sv_info_client_mod_die
Is set to the clients MOD (Means Of Death) number of deaths when the sp_sv_info_client_mod command is executed
_sp_sv_info_client_mod_frag
Is set to the clients MOD (Means Of Death) number of frags when the sp_sv_info_client_mod command is executed
_sp_sv_info_client_mod_num
Is set to the clients MOD (Means Of Death) index when the sp_sv_info_client_mod command is executed
_sp_sv_info_client_name
Is set to the clients name when the sp_sv_info_client command is executed
_sp_sv_info_client_ping
Is set to the clients ping when the sp_sv_info_client command is executed
_sp_sv_info_client_ppm_best
Is set to the clients best number of points per minute when the sp_sv_info_client command is executed
_sp_sv_info_client_ppm_now
Is set to the clients current number of points per minute when the sp_sv_info_client command is executed
_sp_sv_info_client_score
Is set to the clients score when the sp_sv_info_client command is executed
_sp_sv_info_client_skin
Is set to the clients skin when the sp_sv_info_client command is executed
_sp_sv_info_client_slot
Is set to the clients slot when the sp_sv_info_client command is executed
_sp_sv_info_client_spectator
Is set to the clients spectator state when the sp_sv_info_client command is executed
Values:
0
Client is playing
1
Client is spectating
_sp_sv_info_client_suicides
Is set to the clients number of suicides when the sp_sv_info_client command is executed
_sp_sv_info_client_team
Is set to the clients team when the sp_sv_info_client command is executed
_sp_sv_info_client_teamkills
Is set to the clients number of teamkills when the sp_sv_info_client command is executed
_sp_sv_info_client_teamname
Is set to the clients teamname when the sp_sv_info_client command is executed
_sp_sv_info_flag_blue
Contains realtime information about the state of the blue flag
_sp_sv_info_flag_red
Contains realtime information about the state of the red flag
_sp_sv_info_frames
Is set to the number of frames since the map started when the sp_sv_info_frames command is executed
_sp_sv_info_map_count
Is set to the number of maps since the server started
_sp_sv_info_map_current
Is set to the current map name
_sp_sv_info_map_next
Is set to the next map name when the current map ends. You can change this cvar in the _sp_sv_on_map_end and _sp_sv_on_map_rotate events. By using a ! prefix, the server can be forced to use the map command instead of the gamemap command.
_sp_sv_info_num_cnct
Is set to the number of connecting clients
_sp_sv_info_num_flags_blue
Is set to the number of captured flags for the blue team.
_sp_sv_info_num_flags_red
Is set to the number of captured flags for the red team
_sp_sv_info_num_players
Is set to the number of clients who are playing (not spectating)
_sp_sv_info_num_spectators
Is set to the number of clients who are spectating (not playing)
_sp_sv_intermission_end
Maximum number of seconds to wait before the intermission ends. A player can end the intermission sooner by pressing the fire button.
Values:
0
Do not end intermission (default)
>0
End intermission after this amount of seconds.
_sp_sv_invulnerability_time
Number of seconds that the player is invulnerable after spawning. Invulnerability ends immediately when the player picks something up or when he presses the fire button.
Values:
<= 0
Use SoF default invulnerability settings (default)
>0.0
End invulnerability after this amount of seconds.
_sp_sv_limit_speed
Limit maximum speed. Clients whose speed is too high will see a warning message. If their speed stays too high, they will eventually be kicked.
Values:
0
No limit (default)
1
Limit
_sp_sv_limit_userinfo_change
Limit number of userinfo changes (name, skin, rate, ...). Clients who change their userinfo too often will see a warning message and new changes will be ignored.
Values:
0
No limit (default)
1
Limit
_sp_sv_limit_wave
Limit number of wave commands a player can issue. Clients who wave too often will see a warning message and new wave commands will be ignored.
Values:
0
No limit (default)
1
Limit
_sp_sv_log_events
Log events to the server console and sof.log
Values:
0
Don't log (default)
1
Log
_sp_sv_log_stats
Log statistics to the server console and sof.log
Values:
0
Don't log (default)
1
Log
_sp_sv_log_userinfo
Log userinfo to user/sofplus/log/userinfo.log
Values:
0
Don't log (default)
1
Log
_sp_sv_log_warnings
Log warnings to the server console and sof.log
Values:
0
Don't log (default)
1
Log
_sp_sv_master_gamespy
GameSpy master server (master.gamespy.com)
_sp_sv_master_sofplus
SoFplus master server (sof1svmaster.megalag.org)
_sp_sv_maxclients_per_ip
Maximum number of clients per IP address.
Values:
0
Disabled (default)
>0
Use this maximum
_sp_sv_on_client_begin
Contains a comma separated list of function names to be executed when a client finishes loading the map.
Function arguments:
1
Slot number of client
_sp_sv_on_client_die
Contains a comma separated list of function names to be executed when a player dies.
Function arguments:
1
Slot number of victim, or -99 if no victim
2
Slot number of killer, or -99 of no killer
3
Means of death. If bit 28 of this number is set, it's a teamkill.
4
CTF flag carrying state of victim
_sp_sv_on_client_disconnect
Contains a comma separated list of function names to be executed when a player disconnects.
Function arguments:
1
Slot number of client
2
Anti-cheat state
3
Country code
4
Number of deaths
5
Flag carrying state
6
Number of captured flags
7
Number of recovered flags
8
Framerate
9
Number of frags
10
Number of frames since last active
11
Number of frames since entering the map
12
Anti-cheat guid
13
IP address
14
Name
15
Ping
16
Best number of points per minute
17
Current number of points per minute
18
Score
19
Skin
20
Spectator state
21
Number of suicides
22
Team
23
Number of teamkills
24
Teamname
_sp_sv_on_client_spawn
Contains a comma separated list of function names to be executed when a client spawns.
Function arguments:
1
Slot number of client
_sp_sv_on_client_userinfo_change
Contains a comma separated list of function names to be executed when a client changes a user cvar.
Function arguments:
1
Slot number of client
_sp_sv_on_ctf_flag_capture
Contains a comma separated list of function names to be executed when a player caps a flag.
Function arguments:
1
Slot number of client
2
CTF flag carrying state of client
_sp_sv_on_map_begin
Contains a comma separated list of function names to be executed when the map begins
_sp_sv_on_map_end
Contains a comma separated list of function names to be executed when the map ends. The name of the next map is available in _sp_sv_info_map_next.
_sp_sv_on_map_rotate
Contains a comma separated list of function names to be executed when the map is about to change. The name of the next map is available in _sp_sv_info_map_next.
_sp_sv_password_hack
Allow clients to use the password hack trick to switch between play and spectate mode without a valid password.
Values:
0
No (default)
1
Yes
_sp_sv_ping_max
Maximum ping allowed. Clients whose ping is above the limit will see a warning message. If their ping stays too high, they will eventually be kicked.
Values:
0
No limit (default)
>0
Use this limit
_sp_sv_rate_max
Maximum rate allowed. If a client has set his rate higher, the server will use the set maximum instead.
Values:
0
No limit (default)
>0
Use this limit
_sp_sv_rate_min
Minumum rate allowed. If a client has set his rate lower, the server will use the set minimum instead.
Values:
0
No limit (default)
>0
Use this limit
_sp_sv_say_ascii_only
Only ASCII characters 32 .. 127 will be printed
Values:
0
No (default)
1
Yes
_sp_sv_say_default
Use say by default when a client didn't use say or say_team when typing something in his console
Values:
0
No
1
Yes (default)
_sp_sv_say_player
Control say behaviour for players
Values:
0
Disable
1
Enable (default)
2
Only own team and all spectators. You will see (-) to indicate that less people than intended may receive the message.
_sp_sv_say_spectator
Control say behaviour for spectators
Values:
0
Disable
1
Enable (default)
2
Only spectators. You will see (-) to indicate that less people than intended may receive the message.
_sp_sv_say_team_player
Control say_team behaviour for players
Values:
0
Disable
1
Enable (default). Only own team, including team spectators.
2
Only own team and all spectators. You will see (+) to indicate that more people than intended may receive the message.
3
Only own team (no spectators). You will see (-) to indicate that less people than intended may receive the message.
_sp_sv_say_team_spectator
Control say_team behaviour for spectators
Values:
0
Disable
1
Enable (default)
_sp_sv_skin_blue
Force skin name for all members of the blue team
Values:
Empty
No forced skin name (default)
Not empty
Force this skin name
_sp_sv_skin_red
Force skin name for all members of the red team
Values:
Empty
No forced skin name (default)
Not empty
Force this skin name
_sp_sv_slide_fix
Slide fix
Values:
0
No
1
Yes (default)
_sp_sv_sound
Custom sounds
Values:
0
No (default)
1
Yes
_sp_sv_sound_*
The variables _sp_sv_sound_1 .. _sp_sv_sound_20 can point to custom sound files that can be played on the client(s) with the sp_sv_sound_broadcast and sp_sv_sound_client command.
_sp_sv_sound_10s
The variable can point to a custom sound file that will be played on the clients when 10 seconds remain
_sp_sv_sound_1m
The variable can point to a custom sound file that will be played on the clients when 1 minute remains
_sp_sv_sound_2m
The variable can point to a custom sound file that will be played on the clients when 2 minutes remain
_sp_sv_sound_30s
The variable can point to a custom sound file that will be played on the clients when 30 seconds remain
_sp_sv_sound_5m
The variable can point to a custom sound file that will be played on the clients when 5 minutes remain
_sp_sv_sound_camper
The variable can point to a custom sound file that will be played on the clients when a camper is detected
_sp_sv_spawn_read_dir
Directory to read map spawn info from. SoF will try reading from user/sofplus/sv/spawn/READ DIR/MAPNAME.txt. Note that the slash in map names stays in the pathname too.
Values:
Empty
Don't read map spawn info (default)
Not empty
Try reading map spawn info
Example:
]set _sp_sv_spawn_read_dir "fixed"
]map dm/jpnctf1
------- Server Initialization -------
Spawning map: dm/jpnctf1
Read entities from: sofplus/sv/spawn/fixed/dm/jpnctf1.txt
-------------------------------------
_sp_sv_spawn_replace_file
File with entities replacement info. The file must be located in the user/sofplus/sv/spawn/ directory.
Values:
Empty
Don't replace entities (default)
Not empty
Try replacing entities
Example:
]set _sp_sv_spawn_replace_file "rp-random-all.txt"
]map dm/jpnctf1
------- Server Initialization -------
Spawning map: dm/jpnctf1
Read entity replacements from: sofplus/sv/spawn/rp-random-all.txt
  Entities: 141
  Replace:  22
  Delete:   0
-------------------------------------
_sp_sv_spawn_write_dir
Directory to write map spawn info to. SoF will try writing to user/sofplus/sv/spawn/WRITE DIR/MAPNAME.txt. Note that the slash in map names stays in the pathname too.
Values:
Empty
Don't write map spawn info (default)
Not empty
Try writing map spawn info
Example:
]set _sp_sv_spawn_write_dir "fixme"
]map dm/jpnctf1
------- Server Initialization -------
Spawning map: dm/jpnctf1
Wrote entities to: ./user/sofplus/sv/spawn/fixme/dm/jpnctf1.txt
-------------------------------------
_sp_sv_spectator_stats
Allow spectators to see player stats in spectator mode 3 and 4.
Values:
0
No
1
Yes (default)
_sp_sv_spectator_team
Force spectators to view only their own team
Values:
0
No (default)
1
Yes
_sp_sv_string_package_print
Filename of string package. This string package can be used by the sp_sv_print_sp_broadcast and sp_sv_print_sp_client commands. You can add / change strings yourself.
Values:
Empty
String package disabled
Not empty
String package enabled
_sp_sv_string_package_sv
Filename of string package. This string package is used by the SoFplus DLL.
Values:
Empty
String package disabled
Not empty
String package enabled
_sp_sv_timelimit_mod
Modify the timelimit counting
Values:
0
No (default). Counting starts from the player that has been in the server the longest.
1
Yes. Counting starts when the map loads.
2
Yes. Counting starts when the map loads. Counting stops when the game is paused and it's resumed when the game is unpaused.
_sp_sv_violence_lock_override
Override violence settings
Values:
0
No (default)
1
Yes, the server will run in full violence mode and ignore the settings in sv_violence. The server will still report the violence settings of sv_violence to clients, which means that clients with their violence set to low will be able to play in your full violence server.
_sp_sv_vote_duration
Time to cast a vote
Values:
Any number
Number of seconds (default = 20)
_sp_sv_vote_enable
Disable/enable voting
Values:
0
Disable (default); No voting allowed
1
Enable; Voting allowed, but individual vote types must be enabled too
_sp_sv_vote_maps
Maps to vote for
Values:
Empty
Use the contents of the maplist sv_maplist (default)
Not empty
Comma separated list of maps to vote for
_sp_sv_vote_message_interval
Time between vote in progress messages
Values:
Any number
Number of seconds between vote in progress reminder messages (default = 5)
_sp_sv_vote_num_min
Minimum number of clients that must vote for the vote to be valid
Values:
Any number
Number of clients that must vote (default = 1)
_sp_sv_vote_num_ratio
Minimum ratio of clients that must vote for the vote to be valid
Values:
0.0 .. 1.0
Ratio of clients that must vote (default = 0.5)
_sp_sv_vote_restart_delay
Delay before the same client can start a vote again (to prevent vote flooding)
Values:
Any number
Number of seconds (default = 60)
_sp_sv_vote_start_delay
Delay after the map begins, before a vote can be started
Values:
Any number
Number of seconds (default = 30)
_sp_sv_vote_type_ammo
Vote type ammo disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_control_limit_0
Vote for unlimited (0) control_limit disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_control_limit_max
Maximum value for vote type control_limit
Values:
< _sp_sv_vote_type_control_limit_min
Disable vote type control_limit
> 0
Maximum value (default = 999)
_sp_sv_vote_type_control_limit_min
Minimum value for vote type control_limit
Values:
> 0
Minimum value (default = 1)
_sp_sv_vote_type_ctf_loops_0
Vote for unlimited (0) ctf_loops disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_ctf_loops_max
Maximum value for vote type ctf_loops
Values:
< _sp_sv_vote_type_ctf_loops_min
Disable vote type ctf_loops
> 0
Maximum value (default = 999)
_sp_sv_vote_type_ctf_loops_min
Minimum value for vote type ctf_loops
Values:
> 0
Minimum value (default = 1)
_sp_sv_vote_type_fraglimit_0
Vote for unlimited (0) fraglimit disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_fraglimit_max
Maximum value for vote type fraglimit
Values:
< _sp_sv_vote_type_fraglimit_min
Disable vote type fraglimit
> 0
Maximum value (default = 999)
_sp_sv_vote_type_fraglimit_min
Minimum value for vote type fraglimit
Values:
> 0
Minimum value (default = 1)
_sp_sv_vote_type_gametype
Vote type gametype. Allowed gametypes.
Values:
Bit 0 (1)
DM (Deathmatch)
Bit 1 (2)
Assassin
Bit 2 (4)
Arsenal
Bit 3 (8)
CTF (Capture The Flag)
Bit 4 (16)
Realistic
Bit 5 (32)
Control
Bit 6 (64)
CTB (Conquer The Bunker)
Bit 7 (128)
Team DM
Bit 8 (256)
Team Realistic
Bit 9 (512)
Red/Blue CTB
To enable all gametypes, use 1023 (1 + 2 + 4 + ... + 512). To disable all gametypes, use 0. SoFplus defaults to 1023.
_sp_sv_vote_type_kick
Vote type kick disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_map
Vote type map disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_map_end
Vote for next map at the end of the current map disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_next
Vote type next (skip current map) disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_restart
Vote type restart (restart current map) disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_timelimit_0
Vote for unlimited (0) timelimit disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_vote_type_timelimit_max
Maximum value for vote type timelimit
Values:
< _sp_sv_vote_type_timelimit_min
Disable vote type timelimit
> 0
Maximum value (default = 999)
_sp_sv_vote_type_timelimit_min
Minimum value for vote type timelimit
Values:
> 0
Minimum value (default = 1)
_sp_sv_vote_type_weapons
Vote type weapons (all/bullet only) disable/enable
Values:
0
Disable
1
Enable (default)
_sp_sv_weapon_drop_on_die
Drop weapon when player dies.
Values:
0
No
1
Yes (default)
_sp_sv_weapon_primary_ammo
Amount of ammo for the primary weapon.
Values:
-1
Unchanged (default)
0 .. 255
Amount of ammo. SoF maximum ammo limits still apply. For knives this limit is 6 and for other weapons there's a limit too.
_sp_sv_weapon_primary_type
When a player spawns, this weapon will be selected.
Values:
-1
Unchanged (default, pistol)
0
No primary weapon
1
Knife
2
Pistol
3
Magnum
4
Shotgun
5
Sniper rifle
6
Silenced SMG
7
SMG
8
Machinegun
9
Slugthrower
10
Rocket launcher
11
Flamethrower
12
MPG
_sp_sv_weapon_secondary_ammo
Amount of ammo for the secondary weapon.
Values:
-1
Unchanged (default)
0 .. 255
Amount of ammo. SoF maximum ammo limits still apply. For knives this limit is 6 and for other weapons there's a limit too.
_sp_sv_weapon_secondary_type
When a player spawns, this weapon will be in his inventory.
Values:
-1
Unchanged (default, knife)
0
No secondary weapon
1
Knife
2
Pistol
3
Magnum
4
Shotgun
5
Sniper rifle
6
Silenced SMG
7
SMG
8
Machinegun
9
Slugthrower
10
Rocket launcher
11
Flamethrower
12
MPG
_sp_sv_weapon_switch
Bestweap weapon switching behaviour.
Values:
0
Let the player decide with his bestweap settings (default)
1
Force bestweap to none
2
Force bestweap to safe
3
Force bestweap to unsafe
4
Switch to the newest weapon; Not implemented yet!
hostname
Server hostname. Some checks have been added to remove characters that can cause clients to crash.
rcon_password
Rcon password. Note that old tricks to read the rcon password have been disabled. No rcon password patches are needed.
Values:
Empty
Rcon access disabled.
Not empty
Rcon access possible, if the client uses the correct password.
rcon_password_logger
Rcon password used by the SoF logger program. Don't use the same password for rcon_password. When the dumpuser, serverinfo and status commands are executed, no information will be displayed in the console.
Values:
Empty
Disabled (default)
Not empty
Enabled
sv_maplist
Comma separated list of maps to be played.
See also map
sv_maplistfile
File with list of maps to be played.
See also map
sv_violence
Violence settings.
Values:
Bit 0 (1)
lock_deaths
Bit 1 (2)
lock_blood
Bit 2 (4)
lock_gorezones
Bit 3 (8)
lock_sever
Bit 4 (16)
lock_textures
Bit 5 (32)
lock_pure (It doesn't matter if you set this bit or not. SoF will always set it)
For full violence, use 32. For low violence use 63. See also _sp_sv_violence_lock_override.
Example:
SoF.exe +set sv_violence 32