SoFplus 1.4 - Client and Server

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
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.
Example:
Create an alias 'ss' for the long sp_cl_ac_ss command:
]sp_sc_alias ss "sp_cl_ac_ss ${1}"
Use the new alias:
]ss 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_escape
Escape text
Character code 1 .. 31, '%', ';', '\' and '"' are replaced by %hh, where hh is the hexadecimal value of the character
Synopsis:
sp_sc_cvar_escape DST CVAR SRC CVAR
DST CVAR
Destination variable where the command result will be stored
SRC CVAR
Source variable
Example:
]set escapeme "Text with color codes"
]sp_sc_cvar_escape test escapeme
]echo #test
%03Text with %02color%03 codes
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
Source 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_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_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_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_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
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.
LENGHT
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_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_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
Numerical comparison
Case sensitive text comparison
ti 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 N 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
Numerical comparison
Case sensitive text comparison
ti 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 N cvar counter <= val 10 "echo #counter; add counter 1"
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 COMMAND
NAME
Variable name for which on on change event handler should be created
COMMAND
Command(s) to execute
Note:
The on_change command is stored in a cvar _sp_sc_on_change_NAME. To modify the on_change command after creating it, you can modify the cvar value.
Example:
Create an on_change event for the skin variable:
]sp_sc_on_change skin "echo Skin change to #skin"
Then change the skin and see what happens:
]skin taylor
Skin change 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_ac_ss
Request remote screenshot, using the ac (haxorcist) client
Synopsis:
sp_cl_ac_ss SLOT
SLOT
Slot number of the player (0 .. 31)
Note:
This command is not (yet) supported on Win9x.
Example:
set rcon_haxorcist SecretPassword
]sp_cl_ac_ss 3
sp_cl_connect_real
Connect to a server. You should never have to use this command. It's automatically executed when you use the connect command.
sp_cl_console_off
Switch console off
Synopsis:
sp_cl_console_off
Example:
]sp_cl_console_off
sp_cl_console_on
Switch console on
Synopsis:
sp_cl_console_on
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 .cfg (i.e. on_connect.cfg) with server specific settings:
set password player
set spectator_password specme
zero rcon_password
sp_sc_flow_if T val #_sp_cl_info_server == val "1.2.3.4:28920" "set rcon_password RconPass"
sp_sc_flow_if T val #_sp_cl_info_server == val "123.4.5.6:28910" "set password SecretPass; set spectator_password MyPass"
Set the on connect command:
]set _sp_cl_on_connect "sp_sc_exec_file on_connect.cfg"
Connect to a server:
]connect 1.2.3.4:28920
serverstatus
For security reasons, this command has been replaced by a modified version. You shouldn't see anything different on the outside.

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:
]set _sp_sv_cmd_check "echo challenge: #{1} / cvar: #{2} / value: #{3}"
]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_rcon_haxorcist
Set the rcon_haxorcist variable. This password will be used by SoFacs.exe (haxorcist server executable). Don't use the same password for the rcon_password variable.
Synopsis:
sp_sv_rcon_haxorcist STRING
STRING
Password
Example:
]sp_sv_rcon_haxorcist "SecretPassword"
sp_sv_rcon_password
Set the rcon_password variable
Synopsis:
sp_sv_rcon_password STRING
STRING
Password
Example:
]sp_sv_rcon_password "SecretPassword"
sp_sv_wax_ban_add
Ban a WAX guid
Synopsis:
sp_sv_wax_ban_add GUID/SLOT
GUID/SLOT
WAX guid or slot number of the player (0 .. 31) to ban
Example:
]sp_sv_wax_ban_add 12345678
sp_sv_wax_ban_list
List banned WAX guids
Synopsis:
sp_sv_wax_ban_list
Example:
]sp_sv_wax_ban_list
sp_sv_wax_ban_remove
Unban a WAX guid
Synopsis:
sp_sv_wax_ban_remove GUID
GUID
WAX guid to unban
Example:
]sp_sv_wax_ban_remove 12345678
sp_sv_wax_screenshot
Request a screenshot. The player guid and an identification code will be printed in the server log. This information is needed to download the screenshot form the central WAX server.
Synopsis:
sp_sv_wax_screenshot SLOT
SLOT
Slot number of the player (0 .. 31)
Example:
]sp_sv_wax_screenshot 3
map
The map command has been modified.
The '\' character will be replaced by '/' because it will cause trouble in the server lists.

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 commands. All commands start with a dot, but the rest can be chosen by the admin. See _sp_sv_cmd_*

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.
Arguments:
0
Name of alias being executed (NAME)
1 .. nn
Optional extra arguments
_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 the commands to be executed when a variable changes. Use the sp_sc_on_change command to create an on_change event.
_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_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

Cvars (client)

_sp_cl_cpu_cool
Reduce CPU usage to keep the CPU cool
Values:
0
Disable
1
Enable
_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_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_on_connect
Contains the commands 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
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.
_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.
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.
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
Haxorcist mode (similar to hc_mode in hcminus; see also _sp_sv_wax_mode). To see who is using Haxorcist, use the .players or sp_sv_players command.
Values:
0
Off
1
On; Players without Haxorcist are kicked.
2
On; Players without Haxorcist aren't kicked, but they do see a link to the download site.
3
On; Players without Haxorcist aren't kicked (default).
_sp_sv_arsenal_bonus
Arsenal bonus
Values:
< 0
Unmodified (default)
0 .. 127
New bonus
_sp_sv_cmd_*
Contains commands to be executed when a player executes a client command. When a player executes the command .COMMAND, the command in the variable _sp_sv_cmd_COMMAND will be executed.
Arguments:
$
Slot number of client executing the command
0
Name of command being executed (.COMMAND)
1 .. nn
Optional extra arguments
_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
No bonus
1
1 point bonus (default)
_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
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_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
>0
Use this limit
_sp_sv_info_client_ac
Is set to the clients Haxorcist state when the sp_sv_info_client command is executed
Values:
Yes
The client is using Haxorcist
No
The client isn't using Haxorcist
?
The client has been in the server for less than 1 minute. Haxorcist state is not yet known.
-
Haxorcist isn't active on the server
_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
Is set to the clients number of captured 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 WAX guid when the sp_sv_info_client command is executed
Values:
00000000
The client isn't using WAX, or WAX has been disabled on the server
Other
The client is using WAX
_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_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_next
Is set to the nex map name when the current map ends
_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_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
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
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
1
Limit
_sp_sv_log_events
Log events to the server console and sof.log
Values:
0
Don't log
1
Log