Difference between revisions of "Commands"

From LFS Manual
Jump to navigationJump to search
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
Unofficial LFS commands website: https://lfs-commands.vercel.app/
 +
 
== Command line options ==
 
== Command line options ==
  
Line 6: Line 8:
  
 
A command line or a command file is required for dedicated hosts.
 
A command line or a command file is required for dedicated hosts.
−
 
−
== List of commands ==
 
  
 
The following command, if used, must be the first command on a
 
The following command, if used, must be the first command on a
Line 25: Line 25:
 
to override various cfg.txt settings or start [[InSim]].
 
to override various cfg.txt settings or start [[InSim]].
  
−
{| class="wikitable"
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
! Command !! Description !! Example
+
! style="width: 190px" | Command
 +
! Description
 +
! Example  
 
|-
 
|-
 
| {{kbd|input=/ip={{abbr|X.X.X.X|X - 0-255}}}} || if required - local specified IP address || {{kbd|input=/ip=192.168.1.1}}
 
| {{kbd|input=/ip={{abbr|X.X.X.X|X - 0-255}}}} || if required - local specified IP address || {{kbd|input=/ip=192.168.1.1}}
Line 36: Line 38:
 
| {{kbd|input=/usemaster={{abbr|X|no / yes / hidden}}}} || whether to use the master server || {{kbd|input=/usemaster=yes}}
 
| {{kbd|input=/usemaster={{abbr|X|no / yes / hidden}}}} || whether to use the master server || {{kbd|input=/usemaster=yes}}
 
|-
 
|-
−
| {{kbd|/track {{abbr|XXCR|XX - two-letter track short name, C - config number, R - reversed direction or open config}}}} || track and config || {{kbd|input=/track=FE2X}}
+
| {{kbd|input=/track={{abbr|XXCR|XX - two-letter track short name, C - config number, R - reversed direction or open config}}}} || track and config || {{kbd|input=/track=FE2X}}
 
|-
 
|-
 
| {{kbd|input=/weather={{abbr|X|1, 2, 3...}}}} || track weather preset || {{kbd|input=/weather=2}}
 
| {{kbd|input=/weather={{abbr|X|1, 2, 3...}}}} || track weather preset || {{kbd|input=/weather=2}}
Line 56: Line 58:
 
| {{kbd|input=/qual={{abbr|X|0-240}}}} || qualifying minutes, 0 for no qualifying || {{kbd|input=/qual=10}}
 
| {{kbd|input=/qual={{abbr|X|0-240}}}} || qualifying minutes, 0 for no qualifying || {{kbd|input=/qual=10}}
 
|-
 
|-
−
| {{kbd|input=/laps={{abbr|X|0-1000}}}} || number of laps, 0 for practice || {{kbd|input=/laps=8}}
+
| {{kbd|input=/laps={{abbr|X|0-1000}}}} || number of laps, 0 for practice, "no" for untimed || {{kbd|input=/laps=8}}
 
|-
 
|-
 
| {{kbd|input=/wind={{abbr|X|0 - no wind / 1 - low wind / 2 - high wind}}}} || wind strength || {{kbd|input=/wind=2}}
 
| {{kbd|input=/wind={{abbr|X|0 - no wind / 1 - low wind / 2 - high wind}}}} || wind strength || {{kbd|input=/wind=2}}
Line 116: Line 118:
 
{{kbd|input=LFS.exe /cfg=xxx.txt}} (where xxx.txt is the name of the config file)
 
{{kbd|input=LFS.exe /cfg=xxx.txt}} (where xxx.txt is the name of the config file)
  
−
=== Host commands ===
+
== Host commands ==
  
 
Some text commands are intended for hosts and administrators.
 
Some text commands are intended for hosts and administrators.
  
−
Using the normal text message system (pressing {{key press|T}} in a normal host or typing into the virtual console at the host management web interface: https://www.lfs.net/hosting/admin), the message becomes a command if you start it with a slash character ({{kbd|/}}). For most commands with parameters, you can retrieve their current status by not omitting the parameter (for example {{kbd|/rstend}} feeds back the currently active setting).
+
Using the normal text message system (pressing {{key press|T}} in a normal host or typing into the virtual console at the host management web interface: https://www.lfs.net/hosting/admin), the message becomes a command if you start it with a slash character ({{kbd|/}}). For most commands with parameters, you can retrieve their current status by omitting the parameter (for example {{kbd|/rstend}} feeds back the currently active setting).
 +
 
 +
=== Simple commands with no parameter ===
  
−
{| class="wikitable"
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Simple commands with no parameter
+
! style="width: 190px" | Command
−
! Command !! Description
+
! Description
 
|-
 
|-
 
| {{kbd|/restart}} || start a race
 
| {{kbd|/restart}} || start a race
Line 139: Line 143:
 
|-
 
|-
 
| {{kbd|/zero_all}} || reset lap counters on all cars
 
| {{kbd|/zero_all}} || reset lap counters on all cars
 +
|-
 +
| {{kbd|/spec_all}} || spectate all players
 
|}
 
|}
  
−
{| class="wikitable"
+
=== Commands with a parameter - race setup screen ===
−
|+ Commands with a parameter - race setup screen
+
 
−
! Command !! Description !! Example
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
! Example  
 
|-
 
|-
 
| {{kbd|/track {{abbr|XXCR|title = XX = two-letter track short name, C = config number, R = reversed direction or open config}} {{abbr|[W]|1, 2, 3...}}}} || track and config || {{kbd|/track BL1R}}<br />{{kbd|/track FE2X}}<br />{{kbd|/track SO4 3}}
 
| {{kbd|/track {{abbr|XXCR|title = XX = two-letter track short name, C = config number, R = reversed direction or open config}} {{abbr|[W]|1, 2, 3...}}}} || track and config || {{kbd|/track BL1R}}<br />{{kbd|/track FE2X}}<br />{{kbd|/track SO4 3}}
Line 158: Line 167:
 
|}
 
|}
  
−
{| class="wikitable"
+
=== Commands with a parameter - any time ===
−
|+ Commands with a parameter - any time
+
 
−
! Command !! Description !! Example
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
! Example
 
|-
 
|-
 
| {{kbd|/maxguests {{abbr|X|1-79}}}} || max number of guests that can join host || {{kbd|/maxguests 40}}
 
| {{kbd|/maxguests {{abbr|X|1-79}}}} || max number of guests that can join host || {{kbd|/maxguests 40}}
Line 243: Line 255:
 
|-
 
|-
 
| {{kbd|/teamarrows {{abbr|X|yes or no}}}} || no / yes, arrows on non-race small map use name colour || {{kbd|/teamarrows yes}}
 
| {{kbd|/teamarrows {{abbr|X|yes or no}}}} || no / yes, arrows on non-race small map use name colour || {{kbd|/teamarrows yes}}
 +
|-
 +
| {{kbd|/flood {{abbr|X|yes or no}}}} || no / yes, switch floodlights on or off || {{kbd|/flood yes}}
 
|}
 
|}
  
−
Autocross layout commands:
+
=== Autocross layouts ===
  
−
/axlist X           :get list of layouts for track X - e.g. AU1
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/axload X           :load layout X on host
+
! style="width: 190px" | Command
−
/axsave X           :save layout X on host
+
! Description
−
/axlaps X           :set autocross number of laps
+
! Example
−
/axclear             :clear layout
+
|-
 +
| {{kbd|/axlist X}} || get list of layouts for track X - e.g. AU1
 +
|-
 +
| {{kbd|/axload X}} || load layout X on host
 +
|-
 +
| {{kbd|/axsave X}} || save layout X on host
 +
|-
 +
| {{kbd|/axlaps X}} || set autocross number of laps
 +
|-
 +
| {{kbd|/axclear}} || clear layout
 +
|}
  
−
Ban / Kick / Spectate commands - any time:
+
=== Time ===
  
−
/spec X              :make user X join the spectators
+
If you only specify time or date the other one is unaffected. If you don't specify the utc offset then it is in local time zone for that track. You are free to use a single digit for minutes.
−
/kick X              :disconnect user X
 
−
/ban X Y            :ban user X for Y days (0 = 12 hours)
 
−
/unban X            :remove ban on user X
 
−
/pitlane X          :send user X to the pit lane
 
−
/pit_all            :send all cars to the pit lane
 
  
−
Penalties:
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
|-
 +
| {{kbd|/time}} || report current time status
 +
|-
 +
| {{kbd|/time live}} || set live time
 +
|-
 +
| {{kbd|/time offset +4 +4:00}} || optional +- days / optional +- hours:mins
 +
|-
 +
| {{kbd|/time set 23 Jan 16:00 utc+5}} || date optional / time optional / utc +- offset optional
 +
|-
 +
| {{kbd|/time mul {{abbr|X|0-240}}}} || only for set time mode
 +
|-
 +
| {{kbd|/time demo [morning/afternoon/sunset]}} || only for set time mode
 +
|}
  
−
/p_dt USERNAME      :give drive through penalty
+
=== Ban / kick / spectate commands - any time ===
−
/p_sg USERNAME      :give stop-go penalty
 
−
/p_30 USERNAME      :give 30 second time penalty
 
−
/p_45 USERNAME      :give 45 second time penalty
 
−
/p_clear USERNAME    :clear a time or pit penalty
 
  
−
Race Control Messages (big text in centre of screen):
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
! Example
 +
|-
 +
| {{kbd|/spec X}} || make user X join the spectators
 +
|-
 +
| {{kbd|/kick X}} || disconnect user X
 +
|-
 +
| {{kbd|/ban X Y}} || ban user X for Y days (0 = 12 hours)
 +
|-
 +
| {{kbd|/unban X}} || remove ban on user X
 +
|-
 +
| {{kbd|/pitlane X}} || send user X to the pit lane
 +
|-
 +
| {{kbd|/pit_all}} || send all cars to the pit lane
 +
|}
 +
 
 +
=== Penalties ===
 +
 
 +
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
! Example
 +
|-
 +
| {{kbd|/p_dt USERNAME}} || give drive through penalty
 +
|-
 +
| {{kbd|/p_sg USERNAME}} || give stop-go penalty
 +
|-
 +
| {{kbd|/p_30 USERNAME}} || give 30 second time penalty
 +
|-
 +
| {{kbd|/p_45 USERNAME}} || give 45 second time penalty
 +
|-
 +
| {{kbd|/p_clear USERNAME}} || clear a time or pit penalty
 +
|}
 +
 
 +
=== Race Control Messages (big text in centre of screen) ===
  
−
/rcm MESSAGE         :set a Race Control Message to be sent
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/rcm_ply USERNAME   :send the RCM to USERNAME
+
! style="width: 190px" | Command
−
/rcm_all             :send the RCM to all
+
! Description
−
/rcc_ply USERNAME   :clear USERNAME's RCM
+
! Example
−
/rcc_all             :clear all RCMs
+
|-
 +
| {{kbd|/rcm MESSAGE}} || set a Race Control Message to be sent
 +
|-
 +
| {{kbd|/rcm_ply USERNAME}} || send the RCM to USERNAME
 +
|-
 +
| {{kbd|/rcm_all}} || send the RCM to all
 +
|-
 +
| {{kbd|/rcc_ply USERNAME}} || clear USERNAME's RCM
 +
|-
 +
| {{kbd|/rcc_all}} || clear all RCMs
 +
|}
  
−
=== Local commands ===
+
== Local commands ==
  
 
Most of these text commands replicate functions usually controlled by pressing on-screen buttons but can be useful in other situations, for example by binding them to a wheel button or when controlling LFS from an external program using [[InSim]].
 
Most of these text commands replicate functions usually controlled by pressing on-screen buttons but can be useful in other situations, for example by binding them to a wheel button or when controlling LFS from an external program using [[InSim]].
  
−
Race setup screen only:
+
=== Race setup screen only ===
  
−
/ready               :set ready
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/cancel             :cancel ready
+
! style="width: 190px" | Command
−
/clear               :clear all racers from list
+
! Description
 +
|-
 +
| {{kbd|/ready}} || set ready
 +
|-
 +
| {{kbd|/cancel}} || cancel ready
 +
|-
 +
| {{kbd|/clear}} || clear all racers from list
 +
|}
  
−
Race setup screen or in game:
+
=== Race setup screen or in game ===
  
−
/car XXX             :select car (e.g. XRT)
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/setup [X]         :select setup X (default if no X)
+
! style="width: 190px" | Command
−
/colour [X]         :select colour X (default if no X)
+
! Description
−
/join               :join the race
+
! Example
−
/ai     [NAME]       :add ai driver (can specify NAME)
+
|-
−
/spec               :spectate or leave grid
+
| {{kbd|/car XXX}} || select car || {{kbd|/car XRT}}
−
/leave               :disconnect from host
+
|-
−
/player X           :select existing player X
+
| {{kbd|/setup [X]}} || select setup {{kbd|X}} (default if no X) || {{kbd|/setup BL_race}}
−
/lang X             :load language X (data\language\X.txt)
+
|-
−
/horn X             :select horn type X (1 to 5)
+
| {{kbd|/colour [X]}} || select colour {{kbd|X}} (default if no X) || {{kbd|/colour My colours}}
−
/siren off/slow/fast :switch siren (if allowed by host)
+
|-
−
/cp                 :copy free view text to clipboard
+
| {{kbd|/join}} || join the race ||
−
/cp X               :restore previously copied free view
+
|-
−
/axsel               :copy selected objects text to clipboard
+
| {{kbd|/ai [NAME]}} || add AI driver (can specify NAME) || {{kbd|/ai AI 1}}
−
/aiskill             :set AI skill level (for adding AI)
+
|-
−
/aiset NAME X       :set AI driver to skill level X (1 to 5)
+
| {{kbd|/spec}} || spectate or leave grid ||
−
/aiset_all X         :set all local AI drivers to skill level X
+
|-
 +
| {{kbd|/leave}} || disconnect from host ||
 +
|-
 +
| {{kbd|/player X}} || select existing player {{kbd|X}} || {{kbd|/player John Doe}}
 +
|-
 +
| {{kbd|/lang X}} || load language {{kbd|X}} ({{folder|data/language/X.txt}})
 +
|-
 +
| {{kbd|/horn X}} || select horn type {{kbd|X}} (1 to 5) ||
 +
|-
 +
| {{kbd|/siren off/slow/fast}} || switch siren (if allowed by host) ||
 +
|-
 +
| {{kbd|/cp}} || copy free view text to clipboard ||
 +
|-
 +
| {{kbd|/cp X}} || restore previously copied free view || {{kbd|/cp -43992498 30282396 797584 -198 112 0.0 50.0}}
 +
|-
 +
| {{kbd|/axsel}} || copy selected objects text to clipboard ||
 +
|-
 +
| {{kbd|/aiskill}} || set AI skill level (for adding AI) ||
 +
|-
 +
| {{kbd|/aiset NAME X}} || set AI driver to skill level {{kbd|X}} (1 to 5) || {{kbd|/aiset AI 1 2}}
 +
|-
 +
| {{kbd|/aiset_all X}} || set all local AI drivers to skill level {{kbd|X}} || {{kbd|/aiset_all 2}}
 +
|}
  
−
Mode / replay control:
+
=== Mode / replay control ===
  
−
/spr X               :run a SP replay from entry (front end) screen
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/mpr X               :run a MP replay from entry (front end) screen
+
! style="width: 190px" | Command
−
/end                 :exit from replay back to entry screen
+
! Description
−
/sp                 :go into single player from entry screen
+
! Example
−
/mp IP Port          :join a local server from entry screen
+
|-
−
/join Host Name      :join an internet server from entry screen
+
| {{kbd|/spr X}} || run single player replay from entry screen || {{kbd|/spr Blackwood race}}
−
/mprlag X           :simulate packet delay of X ms (+ no smoothing)
+
|-
−
/mprsmooth X         :0 / 1 (disable or enable input smoothing)
+
| {{kbd|/mpr X}} || run MP replay from entry screen || {{kbd|/mpr temp_mpr}}
 +
|-
 +
| {{kbd|/end}} || exit from replay back to entry screen ||
 +
|-
 +
| {{kbd|/sp}} || go into single player from entry screen ||
 +
|-
 +
| {{kbd|/mp IP PORT}} || join local server from entry screen || {{kbd|/mp 1.2.3.4 56789}}
 +
|-
 +
| {{kbd|/join HOSTNAME}} || join internet server from entry screen || {{kbd|/join Race Server}}
 +
|-
 +
| {{kbd|/mprlag X}} || simulate packet delay of X ms || {{kbd|/mprlag 40}}
 +
|-
 +
| {{kbd|/mprsmooth X}} || 0 / 1 (disable or enable input smoothing) || {{kbd|/mprsmooth 1}}
 +
|}
  
−
Any time:
+
=== Any time ===
  
−
/exit               :exit LFS
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/entry               :return to entry screen
+
! style="width: 190px" | Command
−
/spectv no/yes       :auto select TV camera on spectate
+
! Description
−
/speedreduce X       :total speed steer reduction (0 to 1)
+
|-
−
/reducehalf X       :speed in m/s for half of reduction
+
| {{kbd|/exit}} || exit LFS
−
/loadkb X           :load kb settings file (data\misc\X.kbs)
+
|-
−
/savekb X           :save kb settings file (data\misc\X.kbs)
+
| {{kbd|/entry}} || return to entry screen
−
/out X               :only seen by external programs
+
|-
−
/log X.txt           :set message log file
+
| {{kbd|/spectv no/yes}} || auto select TV camera on spectate
−
/refresh             :refresh list of setups / hosts / replays
+
|-
−
/rsh                 :reload shaders
+
| {{kbd|/speedreduce X}} || total speed steer reduction (0 to 1)
−
/rtex               :reload textures
+
|-
−
/window X Y         :set window client area width and height
+
| {{kbd|/reducehalf X}} || speed in m/s for half of reduction
−
/window [min/max/monitor/virtual] - adjust window (no param = restore)
+
|-
 +
| {{kbd|/loadkb X}} || load kb settings file (data\misc\X.kbs)
 +
|-
 +
| {{kbd|/savekb X}} || save kb settings file (data\misc\X.kbs)
 +
|-
 +
| {{kbd|/out X}} || only seen by external programs
 +
|-
 +
| {{kbd|/log X.txt}} || set message log file
 +
|-
 +
| {{kbd|/refresh}} || refresh list of setups / hosts / replays
 +
|-
 +
| {{kbd|/rsh}} || reload shaders
 +
|-
 +
| {{kbd|/rtex}} || reload textures
 +
|-
 +
| {{kbd|/window X Y}} || set window client area width and height
 +
|-
 +
| {{kbd|/window [min/max/monitor/virtual]}} || adjust window (no param = restore)
 +
|-
 +
| {{kbd|/ss}} || save screenshot in {{folder|LFS|data|shots}}
 +
|}
  
−
In game:
+
=== In game ===
  
 
  /status none|F9|F10|F11|F12|next|prev - sets status screen
 
  /status none|F9|F10|F11|F12|next|prev - sets status screen
Line 348: Line 486:
 
  /light all [off/on] - all switchable lights off/on at once
 
  /light all [off/on] - all switchable lights off/on at once
  
−
F11 and F12 menus: {{kbd|/liveset}} and {{kbd|/pitins}}
+
=== Car lights ===
 +
 
 +
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
|-
 +
| {{kbd|/light ind [off/left/right/all]}} || switch indicators / hazard
 +
|-
 +
| {{kbd|/light head [off/side/low/high/low_off/low_high/next/prev]}} || switch headlights
 +
|-
 +
| {{kbd|/light [rfog/ffog/extra] [off/on/toggle]}} || switch fog / extra lights
 +
|-
 +
| {{kbd|/light all [off/on]}} || switch all switchable lights off / on at once
 +
|}
 +
 
 +
=== F11 and F12 menus ===
 +
 
 +
{{kbd|/liveset}} and {{kbd|/pitins}}
  
 
You can use operators:
 
You can use operators:
Line 355: Line 510:
 
*{{kbd|<nowiki>-=</nowiki>}} (subtract from value)
 
*{{kbd|<nowiki>-=</nowiki>}} (subtract from value)
  
−
Examples:
+
Available options for {{kbd|/pitins}}:
 +
fuel, tyres, repair, symmetric
 +
ftyre, fcamber_l, fpressure_l, fcamber_r, fpressure_r, fwing
 +
rtyre, rcamber_l, rpressure_l, rcamber_r, rpressure_r, rwing
 +
cancel, fcamber, fpressure, rcamber, rpressure
 +
 
 +
Available options for {{kbd|/liveset}}:
 +
bbal, farb, rarb
 +
 
 +
Examples for both:
 
  /pitins ftyre = r3 : change front tyres to R3 in pit stop
 
  /pitins ftyre = r3 : change front tyres to R3 in pit stop
 
  /pitins rtyre = super : change rear tyres to road super
 
  /pitins rtyre = super : change rear tyres to road super
Line 364: Line 528:
 
  /pitins tyres 20 : change tyres if wear > 20%
 
  /pitins tyres 20 : change tyres if wear > 20%
 
  /liveset bbal 60 : set brake balance to 60%
 
  /liveset bbal 60 : set brake balance to 60%
−
  /liveset rarb -= 0.1 : decrease rear ant-roll bar by 0.1
+
  /liveset rarb -= 0.1 : decrease rear anti-roll bar by 0.1
−
 
 
−
Available options for {{kbd|/pitins}}:
 
−
fuel, tyres, repair, symmetric
 
−
ftyre, fcamber_l, fpressure_l, fcamber_r, fpressure_r, fwing
 
−
rtyre, rcamber_l, rpressure_l, rcamber_r, rpressure_r, rwing
 
−
cancel, fcamber, fpressure, rcamber, rpressure
 
  
 
{{kbd|/pitins pressure}} commands can accept unit (psi/bar) (no unit = bar)
 
{{kbd|/pitins pressure}} commands can accept unit (psi/bar) (no unit = bar)
 
E.g. {{kbd|/pitins fpressure 30 psi}}
 
E.g. {{kbd|/pitins fpressure 30 psi}}
  
−
Available options for {{kbd|/liveset}}:
+
=== Scripts and controller buttons ===
−
  bbal, farb, rarb
+
 
 +
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
! style="width: 190px" | Command
 +
! Description
 +
|-
 +
| {{kbd|/run X}} || run the script X ({{folder|data/script/X.lfs}})
 +
|-
 +
| {{kbd|/exec E C}} || run program E (with command line C)
 +
|-
 +
| {{kbd|/wait E C}} || like {{kbd|/exec}} but LFS hangs until E exits
 +
|-
 +
| {{kbd|/fov [degrees]}} || field of view
 +
|-
 +
| {{kbd|/vlock [car/filter/horizon]}} || view lock
 +
|-
 +
| {{kbd|/lookf [joystick/axis/steer/mouse_x/mouse_xy]}} || look function
 +
|-
 +
| {{kbd|/control [mouse_kb/wheel_js]}} || controller type
 +
|-
 +
| {{kbd|/ff [0-200]}} || force feedback strength
 +
|-
 +
| {{kbd|/axis [axis] [function]}} || assign axis to function, e.g. {{kbd|/axis 2 throttle}} - see [[#Function names for the /axis AND /invert commands|axis function names]]
 +
|-
 +
| {{kbd|/invert [0/1] [function]}} || invert axis function, e.g. {{kbd|/invert 1 brake}} - see [[#Function names for the /axis AND /invert commands|axis function names]]
 +
|-
 +
| {{kbd|/button [button] [function]}} || assign button to function, e.g. {{kbd|/button 5 shift_up}} - see [[#Function names for the /button AND /key commands|button / key function names]]
 +
|-
 +
| {{kbd|/key [key] [function]}} || assign key to function, e.g. {{kbd|/key Q handbrake}} - see [[#KEYS for the /key command|keys]] and [[#Function names for the /button AND /key commands|function names]]
 +
|-
 +
| {{kbd|/head_tilt [degrees]}} || 1g head tilt
 +
|-
 +
| {{kbd|/lateral_shift [m]}} || 1g lateral shift
 +
|-
 +
| {{kbd|/forward_shift [m]}} || 1g forward shift
 +
|-
 +
| {{kbd|/vertical_shift [m]}} || 1g vertical shift
 +
|-
 +
| {{kbd|/hidetext [yes/no]}} || hide or show text ({{key press|SHIFT}} + {{key press|F}})
 +
|-
 +
| {{kbd|/block [0/1/2]}} || block messages (0 = none / 1 = user / 2 = all)
 +
|-
 +
| {{kbd|/showmouse [yes/no]}} || show or hide mouse ({{key press|SHIFT}} + {{key press|Z}})
 +
|-
 +
| {{kbd|/say [message]}} || same as typing a chat message
 +
|-
 +
| {{kbd|/echo [text]}} || show text only on local screen
 +
|-
 +
| {{kbd|/ctrlf [num] [text]}} || change text, e.g. {{kbd|/ctrlf 1 hello}}
 +
|-
 +
| {{kbd|/altf [num] [text]}} || change text, e.g. {{kbd|/altf 1 bye}}
 +
|-
 +
| {{kbd|/wheel_turn [degrees]}} || specify turn angle of controller
 +
|-
 +
| {{kbd|/press [key]}} || simulate key press - see [[#Parameters for the key commands (press / shift / ctrl / alt)|parameters]]
 +
|-
 +
| {{kbd|/shift [key]}} || {{key press|SHIFT}} + key
 +
|-
 +
| {{kbd|/ctrl [key]}} || {{key press|CTRL}} + key
 +
|-
 +
| {{kbd|/alt [key]}} || {{key press|ALT}} + key
 +
|-
 +
| {{kbd|/autoclutch [0-1]}} || turn autoclutch off / on
 +
|-
 +
| {{kbd|/shifter [auto/sequential/shifter]}} || shift type
 +
|-
 +
| {{kbd|/view [fol/heli/cam/driver/custom]}} || select view
 +
|-
 +
| {{kbd|/view save}} || save any changes made to a custom view
 +
|-
 +
| {{kbd|/view reload}} || reload custom view (without saving)
 +
|-
 +
| {{kbd|/vr reset}} || reset position and orientation (default {{key press|F8}})
 +
|-
 +
| {{kbd|/vr reset_headset}} || instantly reset headset position
 +
|-
 +
| {{kbd|/vr use_relative}} || instantly use relative position
 +
|-
 +
| {{kbd|/vr [on/off/toggle/rift/openvr]}} || instantly enter or leave VR mode
 +
|}
 +
 
 +
* IN A SCRIPT: {{kbd|//comment}} - this line is ignored
 +
* IN CHAT BOX: {{kbd|//xxx}} - short for {{kbd|/run xxx}}
 +
 
 +
== Car strings ==
 +
 
 +
The {{kbd|/cars}} command for hosts or admins uses 3-character car codes.
 +
 
 +
* {{kbd|/cars{{=}}XFG+XRG}} - allow [[XF GTI]] and [[XR GT]]
 +
* {{kbd|/cars{{=}}MRT}} - allow [[MRT5]] only
 +
 
 +
These Car Groups can be used as well:
 +
 
 +
* ALL    - all cars
 +
* ROAD  - road legal cars
 +
* RACE  - race cars
 +
* [[:Category:TBO cars|TBO]]    - same as [[XRT]]+[[RB4]]+[[FXO]]
 +
* [[:Category:LRF cars|LRF]]    - same as [[LX6]]+[[RAC]]+[[FZ5]]
 +
* [[:Category:GTR cars|GTR]]    - same as [[FXR]]+[[XRR]]+[[FZR]]
 +
 
 +
The plus and minus symbols can be used in conjuction with these:
 +
 
 +
* {{kbd|/cars{{=}}TBO+LX4}} - allow [[XRT]], [[RB4]], [[FXO]] and [[LX4]]
 +
* {{kbd|/cars{{=}}ROAD-UF1}} - allow all road cars except the [[UF 1000]]
 +
* {{kbd|/cars+{{=}}XRT}} - add [[XRT]] to the current list of cars
 +
* {{kbd|/cars-{{=}}BF1}} - disallow the [[BF1]]
 +
 
 +
== Mods ==
 +
 
 +
The {{kbd|/mods}} command for hosts or admins uses 6-character mod codes for [[Vehicle Mods|vehicle mods]].
 +
 
 +
* {{kbd|/mods{{=}}C52608+B7B8DC}} - set a list of allowed mods
 +
* {{kbd|/mods+{{=}}FC2B6F}} - add to list
 +
* {{kbd|/mods-{{=}}C52608}} - remove from list
 +
* {{kbd|/mods{{=}}ALL}} - remove the list and set {{kbd||/allowmods=yes}}
 +
* {{kbd|/mods{{=}}NONE}} - remove the list and set {{kbd|/allowmods=no}}
 +
 
 +
== Keys for the {{kbd|/key}} command ==
 +
 
 +
A to Z
 +
0 to 9
 +
space
 +
up, down, left, right
 +
pgup, pgdn
 +
mousel, mouser, mousem
 +
wheelu, wheeld
 +
 
 +
== Function names for the {{kbd|/button}} AND {{kbd|/key}} commands ==
 +
 
 +
steer_left
 +
steer_right
 +
steer_fast
 +
  steer_slow
 +
throttle
 +
brake
 +
shift_up
 +
shift_down
 +
clutch, handbrake
 +
left_view
 +
right_view
 +
rear_view
 +
horn
 +
flash
 +
reset
 +
pit_speed
 +
tc_disable
 +
ignition
 +
zoom_in
 +
zoom_out
 +
vr_click
 +
escape
 +
virtual_kb
 +
talk
 +
reverse
 +
gear_1 - gear_7
 +
ctrl_f1 - ctrl_f12
 +
alt_f1 - alt_f12
 +
 
 +
== Function names for the {{kbd|/axis}} AND {{kbd|/invert}} commands ==
 +
 
 +
steer
 +
combined
 +
throttle
 +
brake
 +
lookh
 +
lookp
 +
lookr
 +
clutch
 +
handbrake
 +
shiftx
 +
shifty
 +
 
 +
== Unassigning a button or axis ==
 +
 
 +
To unassign a button or axis from a function, you can assign -1 to that function.
 +
 
 +
Examples:
 +
 
 +
* {{kbd|/button -1 shift_up}} - unassign the shift up button
 +
* {{kbd|/axis -1 clutch}} - unassign the clutch axis
  
−
Useful commands for scripts and controller buttons:
+
== Parameters for the key commands ({{kbd|press}} / {{kbd|shift}} / {{kbd|ctrl}} / {{kbd|alt}}) ==
  
−
/run X              :run the script X    (data\script\X.lfs)
+
* Letters A to Z
−
/exec E C            :run program E        (with command line C)
+
* Numbers 0 to 9
−
/wait E C            :like exec but LFS hangs until E exits
+
* F1 to F12
 +
* up, down, left, right
 +
* space, enter, esc, tab
 +
* less, more, minus, plus
  
−
/fov    [degrees]          - field of view
+
== Multiple commands on single line ==
−
/vlock      [car/filter/horizon]    - view lock
 
−
/lookf      [joystick/axis/steer/mouse_x/mouse_xy]
 
−
/control    [mouse_kb/wheel_js]    - controller type
 
−
/ff    [0-200]            - force feedback strength
 
−
/axis  [axis]  [function] - e.g. /axis 2 throttle  (see below)
 
−
/invert [0/1]    [function] - e.g. /invert 1 brake    (see below)
 
−
/button [button] [function] - e.g. /button 5 shift_up (see below)
 
−
/key    [key]    [function] - e.g. /key Q handbrake  (see below)
 
−
/head_tilt      [degrees]  - 1g head tilt
 
−
/lateral_shift  [m]        - 1g lateral shift
 
−
/forward_shift  [m]        - 1g forward shift
 
−
/vertical_shift  [m]        - 1g vertical shift
 
−
/hidetext  [yes/no]        - hide or show text (SHIFT + F)
 
−
/block      [0/1/2]        - block messages (none / user / all)
 
−
/showmouse  [yes/no]        - show or hide mouse (SHIFT + Z)
 
−
/say        [message]      - same as typing a chat message
 
−
/echo      [text]          - show text only on local screen
 
−
/ctrlf      [num] [text]    - change text e.g. "ctrlf 1 hello"
 
−
/altf      [num] [text]    - change text e.g. "altf 1 bye"
 
−
/wheel_turn [degrees]      - specify turn angle of controller
 
−
/press      [key]          - simulate key press (see PARAMETERS)
 
−
/shift      [key]          - SHIFT + key
 
−
/ctrl      [key]          - CTRL + key
 
−
/alt        [key]          - ALT + key
 
−
/autoclutch [0-1]          - turn autoclutch off / on
 
  
−
/shifter    [auto/sequential/shifter]    - shift type
+
Multiple commands can be added on a single line which sometimes
−
/view      [fol/heli/cam/driver/custom] - select view
+
can avoid the need for a script file, e.g. to set a button to
 +
change tyres in pit stop, you could use a double command:
  
−
/vr reset                      - position and orientation (default F8)
+
{{kbd|/pitins ftyre super /pitins rtyre super}}
−
/vr reset_headset              - instantly reset headset position
 
−
/vr use_relative                - instantly use relative position
 
−
/vr [on/off/toggle/rift/openvr] - instantly enter or leave vr mode
 
  
−
/view save                  - save any changes made to a custom view
+
NOTE: some commands cannot be followed by another command:
−
/view reload                - reload custom view (without saving)
 
  
−
* IN A SCRIPT: <code>//comment</code> - this line is ignored
+
{{kbd|/say /echo /join /rcm /pass /msg /altf /ctrlf}}
−
* IN CHAT BOX: <code>//xxx</code> - short for <code>/run xxx</code>
 
  
−
=== LFS World info ===
+
== LFS World info ==
  
 
You can retrieve LFS World info and statistics from in-game as well, by using the following text commands.
 
You can retrieve LFS World info and statistics from in-game as well, by using the following text commands.
Line 431: Line 741:
 
Basic usage:
 
Basic usage:
  
−
<code>/w COMMAND USERNAME</code> - (eg. <code>/w pb or /w pb johndoeracer</code>)
+
* {{kbd|/w COMMAND USERNAME}} - (eg. {{kbd|/w pb or /w pb johndoeracer}})
−
 
+
* {{kbd|/ws TRACK CAR COMMAND}} - (eg. {{kbd|/ws bl1 mrt laps}})
−
<code>/ws TRACK CAR COMMAND</code> - (eg. <code>/ws bl1 mrt laps</code>)
 
  
 
{| class="wikitable" style="font-size: 85%; text-align: center"
 
{| class="wikitable" style="font-size: 85%; text-align: center"
Line 623: Line 932:
 
[[LFS_World#Live_for_Speed_SMS_text_message_system|Read more about LFS World SMS-system]].
 
[[LFS_World#Live_for_Speed_SMS_text_message_system|Read more about LFS World SMS-system]].
  
−
=== Car Strings ===
+
[[Category:LFS programming]]
−
 
 
−
The <code>/cars</code> command for hosts or admins uses 3-character car codes.
 
−
 
 
−
/cars=XFG+XRG        :allow XF GTI and XR GT
 
−
/cars=MRT            :allow MRT5 only
 
−
 
 
−
These Car Groups can be used as well:
 
−
 
 
−
* ALL    - all cars
 
−
* ROAD  - road legal cars
 
−
* RACE  - race cars
 
−
* [[TBO]]    - same as [[XRT]]+[[RB4]]+[[FXO]]
 
−
* [[LRF]]    - same as [[LX6]]+[[RAC]]+[[FZ5]]
 
−
* [[GTR]]    - same as [[FXR]]+[[XRR]]+[[FZR]]
 
−
 
 
−
The plus and minus symbols can be used in conjuction with these:
 
−
 
 
−
/cars=TBO+LX4        :allow XRT, RB4, FXO and LX4
 
−
/cars=ROAD-UF1      :allow all road cars except the UF 1000
 
−
/cars+=XRT          :add XRT to the current list of cars
 
−
/cars-=BF1          :disallow the BF1
 
−
 
 
−
=== Mods ===
 
−
 
 
−
The <code>/mods</code> command for hosts or admins uses 6-character mod codes for [[Vehicle Mods|vehicle mods]].
 
−
 
 
−
/mods=C52608+B7B8DC  :set a list of allowed mods
 
−
/mods+=FC2B6F        :add to list
 
−
/mods-=C52608        :remove from list
 
−
/mods=ALL            :remove the list and set /allowmods=yes
 
−
/mods=NONE          :remove the list and set /allowmods=no
 
−
 
 
−
=== KEYS for the /key command ===
 
−
 
 
−
A to Z
 
−
0 to 9
 
−
space
 
−
up, down, left, right
 
−
pgup, pgdn
 
−
mousel, mouser, mousem
 
−
wheelu, wheeld
 
−
 
 
−
=== Function names for the /button AND /key commands ===
 
−
 
 
−
steer_left
 
−
steer_right
 
−
steer_fast
 
−
steer_slow
 
−
throttle
 
−
brake
 
−
shift_up
 
−
shift_down
 
−
clutch, handbrake
 
−
left_view
 
−
right_view
 
−
rear_view
 
−
horn
 
−
flash
 
−
reset
 
−
pit_speed
 
−
tc_disable
 
−
ignition
 
−
zoom_in
 
−
zoom_out
 
−
vr_click
 
−
escape
 
−
virtual_kb
 
−
talk
 
−
reverse
 
−
gear_1 - gear_7
 
−
ctrl_f1 - ctrl_f12
 
−
alt_f1 - alt_f12
 
−
 
 
−
=== Function names for the /axis AND /invert commands ===
 
−
 
 
−
steer
 
−
combined
 
−
throttle
 
−
brake
 
−
lookh
 
−
lookp
 
−
lookr
 
−
clutch
 
−
handbrake
 
−
shiftx
 
−
shifty
 
−
 
 
−
=== Unassigning a button or axis ===
 
−
 
 
−
To unassign a button or axis from a function,
 
−
you can assign -1 to that function.
 
−
 
 
−
Examples:
 
−
 
 
−
/button -1 shift_up        :unassign the shift up button
 
−
/axis -1 clutch            :unassign the clutch axis
 
−
 
 
−
=== Parameters for the key commands (press / shift / ctrl / alt) ===
 
−
 
 
−
* Letters A to Z
 
−
* Numbers 0 to 9
 
−
* F1 to F12
 
−
* up, down, left, right
 
−
* space, enter, esc, tab
 
−
* less, more, minus, plus
 
−
 
 
−
=== Multiple commands on single line ===
 
−
 
 
−
Multiple commands can be added on a single line which sometimes
 
−
can avoid the need for a script file, e.g. to set a button to
 
−
change tyres in pit stop, you could use a double command:
 
−
  /pitins ftyre super /pitins rtyre super
 
−
 
 
−
NOTE: some commands cannot be followed by another command:
 
−
  /say /echo /join /rcm /pass /msg /altf /ctrlf
 
−
 
 
−
[[Category:Programming]]
 

Latest revision as of 21:29, 27 October 2026

Unofficial LFS commands website: https://lfs-commands.vercel.app/

Command line options

LFS can be started using a command line or another program.

Before selecting host options, you may find it helpful to run LFS and try out the options on the Start New Host screen - the required upload bandwidth for those options is displayed on screen.

A command line or a command file is required for dedicated hosts.

The following command, if used, must be the first command on a command line or the first command in a command file.

/settings=X.txt - load settings from X.txt instead of cfg.txt

If the following command is used it must be before any other commands.

/join=Host Name - join an internet server

The following command may only be used after /join.

/pass=Pass - if required - password

The following commands are mainly for hosts but may also be used to override various cfg.txt settings or start InSim.

Command Description Example
/ip=X.X.X.X if required - local specified IP address /ip=192.168.1.1
/port=X a high number below 65536 /port=50000
/mode=X server mode to restrict allowed cars & tracks /mode=s2
/usemaster=X whether to use the master server /usemaster=yes
/track=XXCR track and config /track=FE2X
/weather=X track weather preset /weather=2
/cars=XXX allowed cars - see below: Car Strings /cars=FXO+XRG
/maxguests=X max number of guests that can join host /maxguests=6
/adminslots=X slots reserved for admins /adminslots=2
/carsmax=X max number of cars in a race /carsmax=8
/carshost=X max number of cars (real+AI) on host PC /carshost=2
/carsguest=X max number of cars (real+AI) per guest PC /carsguest=2
/pps=X smoothness - number of car updates per second /pps=6
/qual=X qualifying minutes, 0 for no qualifying /qual=10
/laps=X number of laps, 0 for practice, "no" for untimed /laps=8
/wind=X wind strength /wind=2
/dedicated=X dedicated host mode /dedicated=yes
/vote=X can guests vote to kick or ban /vote=yes
/select=X can guests select track /select=yes
/rstmin=X no restart for X seconds after race start /rstmin=30
/rstend=X no restart for X seconds after race finish /rstend=60
/autokick=X how the server reacts to wrong way drivers /autokick=ban
/midrace=X join during race /midrace=yes
/mustpit=X pit stop required /mustpit=yes
/canrefuel=X refuelling allowed /canrefuel=yes
/showfuel=X remote cars fuel visible /showfuel=yes
/canreset=X allow car reset /canreset=yes
/fcv=X force cockpit view /fcv=yes
/cruise=X allow wrong way /cruise=yes
/allowmods=X allow mods /allowmods=yes
/unapproved=X no / yes (allow unapproved mods) /unapproved=yes
/start=X default race start grid order /start=random
/vr=X avoid or enter VR mode /vr=on
/insim=X listen for InSim /insim=29999
/player=X use the specified player name /player=John Doe
/windowed=X windowed mode - overrides the cfg.txt setting /windowed=yes
/autosave=X MPR autosave /autosave=2
/mprdir=X set the data folder for saving multiplayer replays /mprdir=multi
/lytdir=X set the data folder for autocross layouts /lytdir=my_layouts

You can use a command file xxx.txt instead of a long command line.
The command file contains the command line parameters.
The parameters can be spread onto several lines.
The command file can contain comments, starting with two slashes //.

Then the command line would be simply:

LFS.exe /cfg=xxx.txt (where xxx.txt is the name of the config file)

Host commands

Some text commands are intended for hosts and administrators.

Using the normal text message system (pressing T in a normal host or typing into the virtual console at the host management web interface: https://www.lfs.net/hosting/admin), the message becomes a command if you start it with a slash character (/). For most commands with parameters, you can retrieve their current status by omitting the parameter (for example /rstend feeds back the currently active setting).

Simple commands with no parameter

Command Description
/restart start a race
/qualify start qualifying
/end return to race setup screen
/help get list of commands
/ck cancel any kick or ban votes in progress
/cv cancel game votes (restart / end / qualify)
/zero_all reset lap counters on all cars
/spec_all spectate all players

Commands with a parameter - race setup screen

Command Description Example
/track XXCR [W] track and config /track BL1R
/track FE2X
/track SO4 3
/weather W lighting /weather 1
/qual X qualifying minutes (0 = no qualifying) /qual 10
/laps X number of laps (0 = practice) /laps 5
/hours X number of hours (if laps not specified) /hours 24
/wind X wind strength /wind 2

Commands with a parameter - any time

Command Description Example
/maxguests X max number of guests that can join host /maxguests 40
/adminslots X slots reserved for admins (0 to 8) /adminslots 2
/carsmax X max number of cars in a race /carsmax 40
/carshost X max number of cars (real+ai) on host pc /carshost 5
/carsguest X max number of cars (real+ai) per guest pc /carsguest 1
/pps X smoothness (3-12) maximum car updates per second /pps 12
/msg X send system message /msg Hello!
/vote X no / yes (allow guest voting) /vote yes
/select X no / yes (guests select track) /select no
/rstmin X no restart for X seconds after race start /rstmin 60
/rstend X no restart for X seconds after race finish /rstmin 120
/specdnf X result blockers spectate with DNF after X seconds /specdnf 25
/autokick X action to take on wrong way drivers (no / kick / ban / spec) /autokick spec
/midrace X no / yes (join during race) /midrace no
/mustpit X no / yes (pit stop required) /mustpit yes
/canrefuel X no / yes (refuelling allowed) /canrefuel yes
/showfuel X no / yes (remote fuel gauges) /showfuel no
/canreset X no / yes (allow car reset) /canreset no
/fcv X no / yes (force cockpit view) /fcv no
/cruise X no / yes (allow wrong way) /cruise no
/allowmods X no / yes (allow mods) /allowmods yes
/unapproved X no / yes (unapproved mods) /unapproved no
/start X fixed/finish/reverse/random (default race start) /start finish
/pass X set new password (BLANK = no password) /pass secret
/setlap USERNAME Y set user's current lap to Y (negative = subtract) /setlap winnerjoe 4
/setstops USERNAME Y set user's number of stops to Y /setstops yettopitjoe 0
/cansiren USERNAME Y allow or disallow siren (Y = 0 or 1) /cansiren averagejoe 0
/ujoin USERNAME adds user to the race /ujoin spectatorjoe
/uai USERNAME adds user's AI driver to the race /uai spectatorai
/cars [cars] see below: "Car Strings" /cars XFG+XRG+FOX
/cars-=FOX
/mods [mods] see below: "Mods" /mods C52608
/mods ALL
/enforce spectate anyone who is driving a disallowed car /enforce
/welcome X.txt set welcome text file /welcome warmwelcome.txt
/tracks X.txt set list of allowed tracks /tracks mytracks.txt
/autosave X MPR autosave (0 = no / 1 = manual / 2 = auto) /autosave 2
/save_mpr X save MPR with name X (autosave must be 1 or 2) /save_mpr myfirstwin
/mprflush X flush mpr to file every X seconds (0 = disable) /mprflush 0
/ndebug X no / yes (network debug) /ndebug no
/h_mass username X set X kg of added mass for user's car /h_mass averagejoe 10
/h_tres username X set X % of restriction for user's car /h_mass averagejoe 5
/teamarrows X no / yes, arrows on non-race small map use name colour /teamarrows yes
/flood X no / yes, switch floodlights on or off /flood yes

Autocross layouts

Command Description Example
/axlist X get list of layouts for track X - e.g. AU1
/axload X load layout X on host
/axsave X save layout X on host
/axlaps X set autocross number of laps
/axclear clear layout

Time

If you only specify time or date the other one is unaffected. If you don't specify the utc offset then it is in local time zone for that track. You are free to use a single digit for minutes.

Command Description
/time report current time status
/time live set live time
/time offset +4 +4:00 optional +- days / optional +- hours:mins
/time set 23 Jan 16:00 utc+5 date optional / time optional / utc +- offset optional
/time mul X only for set time mode
/time demo [morning/afternoon/sunset] only for set time mode

Ban / kick / spectate commands - any time

Command Description Example
/spec X make user X join the spectators
/kick X disconnect user X
/ban X Y ban user X for Y days (0 = 12 hours)
/unban X remove ban on user X
/pitlane X send user X to the pit lane
/pit_all send all cars to the pit lane

Penalties

Command Description Example
/p_dt USERNAME give drive through penalty
/p_sg USERNAME give stop-go penalty
/p_30 USERNAME give 30 second time penalty
/p_45 USERNAME give 45 second time penalty
/p_clear USERNAME clear a time or pit penalty

Race Control Messages (big text in centre of screen)

Command Description Example
/rcm MESSAGE set a Race Control Message to be sent
/rcm_ply USERNAME send the RCM to USERNAME
/rcm_all send the RCM to all
/rcc_ply USERNAME clear USERNAME's RCM
/rcc_all clear all RCMs

Local commands

Most of these text commands replicate functions usually controlled by pressing on-screen buttons but can be useful in other situations, for example by binding them to a wheel button or when controlling LFS from an external program using InSim.

Race setup screen only

Command Description
/ready set ready
/cancel cancel ready
/clear clear all racers from list

Race setup screen or in game

Command Description Example
/car XXX select car /car XRT
/setup [X] select setup X (default if no X) /setup BL_race
/colour [X] select colour X (default if no X) /colour My colours
/join join the race
/ai [NAME] add AI driver (can specify NAME) /ai AI 1
/spec spectate or leave grid
/leave disconnect from host
/player X select existing player X /player John Doe
/lang X load language X (data/language/X.txt)
/horn X select horn type X (1 to 5)
/siren off/slow/fast switch siren (if allowed by host)
/cp copy free view text to clipboard
/cp X restore previously copied free view /cp -43992498 30282396 797584 -198 112 0.0 50.0
/axsel copy selected objects text to clipboard
/aiskill set AI skill level (for adding AI)
/aiset NAME X set AI driver to skill level X (1 to 5) /aiset AI 1 2
/aiset_all X set all local AI drivers to skill level X /aiset_all 2

Mode / replay control

Command Description Example
/spr X run single player replay from entry screen /spr Blackwood race
/mpr X run MP replay from entry screen /mpr temp_mpr
/end exit from replay back to entry screen
/sp go into single player from entry screen
/mp IP PORT join local server from entry screen /mp 1.2.3.4 56789
/join HOSTNAME join internet server from entry screen /join Race Server
/mprlag X simulate packet delay of X ms /mprlag 40
/mprsmooth X 0 / 1 (disable or enable input smoothing) /mprsmooth 1

Any time

Command Description
/exit exit LFS
/entry return to entry screen
/spectv no/yes auto select TV camera on spectate
/speedreduce X total speed steer reduction (0 to 1)
/reducehalf X speed in m/s for half of reduction
/loadkb X load kb settings file (data\misc\X.kbs)
/savekb X save kb settings file (data\misc\X.kbs)
/out X only seen by external programs
/log X.txt set message log file
/refresh refresh list of setups / hosts / replays
/rsh reload shaders
/rtex reload textures
/window X Y set window client area width and height
/window [min/max/monitor/virtual] adjust window (no param = restore)
/ss save screenshot in LFS\data\shots

In game

/status none|F9|F10|F11|F12|next|prev - sets status screen

E.g. /status next will cycle through the F9 to F12 status screens (you could assign it to a CTRL+ or ALT+ key and then a wheel button)

/light ind [off/left/right/all] - switch indicators/hazard
/light head [off/side/low/high/low_off/low_high/next/prev]
/light [rfog/ffog/extra] [off/on/toggle] - switch fog/extra
/light all [off/on] - all switchable lights off/on at once

Car lights

Command Description
/light ind [off/left/right/all] switch indicators / hazard
/light head [off/side/low/high/low_off/low_high/next/prev] switch headlights
/light [rfog/ffog/extra] [off/on/toggle] switch fog / extra lights
/light all [off/on] switch all switchable lights off / on at once

F11 and F12 menus

/liveset and /pitins

You can use operators:

  • = (set value)
  • += (add to value)
  • -= (subtract from value)

Available options for /pitins:

fuel, tyres, repair, symmetric
ftyre, fcamber_l, fpressure_l, fcamber_r, fpressure_r, fwing
rtyre, rcamber_l, rpressure_l, rcamber_r, rpressure_r, rwing
cancel, fcamber, fpressure, rcamber, rpressure

Available options for /liveset:

bbal, farb, rarb

Examples for both:

/pitins ftyre = r3 : change front tyres to R3 in pit stop
/pitins rtyre = super : change rear tyres to road super
/pitins fpressure = 1.1 : set front tyre pressure to 1.1 bar
/pitins fpressure += 0.1 : increase requested pressure by 0.1 bar
/pitins cancel : cancel all pit instructions
/pitins tyres always : change all tyres
/pitins tyres 20 : change tyres if wear > 20%
/liveset bbal 60 : set brake balance to 60%
/liveset rarb -= 0.1 : decrease rear anti-roll bar by 0.1

/pitins pressure commands can accept unit (psi/bar) (no unit = bar) E.g. /pitins fpressure 30 psi

Scripts and controller buttons

Command Description
/run X run the script X (data/script/X.lfs)
/exec E C run program E (with command line C)
/wait E C like /exec but LFS hangs until E exits
/fov [degrees] field of view
/vlock [car/filter/horizon] view lock
/lookf [joystick/axis/steer/mouse_x/mouse_xy] look function
/control [mouse_kb/wheel_js] controller type
/ff [0-200] force feedback strength
/axis [axis] [function] assign axis to function, e.g. /axis 2 throttle - see axis function names
/invert [0/1] [function] invert axis function, e.g. /invert 1 brake - see axis function names
/button [button] [function] assign button to function, e.g. /button 5 shift_up - see button / key function names
/key [key] [function] assign key to function, e.g. /key Q handbrake - see keys and function names
/head_tilt [degrees] 1g head tilt
/lateral_shift [m] 1g lateral shift
/forward_shift [m] 1g forward shift
/vertical_shift [m] 1g vertical shift
/hidetext [yes/no] hide or show text (⇧ Shift + F)
/block [0/1/2] block messages (0 = none / 1 = user / 2 = all)
/showmouse [yes/no] show or hide mouse (⇧ Shift + Z)
/say [message] same as typing a chat message
/echo [text] show text only on local screen
/ctrlf [num] [text] change text, e.g. /ctrlf 1 hello
/altf [num] [text] change text, e.g. /altf 1 bye
/wheel_turn [degrees] specify turn angle of controller
/press [key] simulate key press - see parameters
/shift [key] ⇧ Shift + key
/ctrl [key] Ctrl + key
/alt [key] ALT + key
/autoclutch [0-1] turn autoclutch off / on
/shifter [auto/sequential/shifter] shift type
/view [fol/heli/cam/driver/custom] select view
/view save save any changes made to a custom view
/view reload reload custom view (without saving)
/vr reset reset position and orientation (default F8)
/vr reset_headset instantly reset headset position
/vr use_relative instantly use relative position
/vr [on/off/toggle/rift/openvr] instantly enter or leave VR mode
  • IN A SCRIPT: //comment - this line is ignored
  • IN CHAT BOX: //xxx - short for /run xxx

Car strings

The /cars command for hosts or admins uses 3-character car codes.

These Car Groups can be used as well:

The plus and minus symbols can be used in conjuction with these:

  • /cars=TBO+LX4 - allow XRT, RB4, FXO and LX4
  • /cars=ROAD-UF1 - allow all road cars except the UF 1000
  • /cars+=XRT - add XRT to the current list of cars
  • /cars-=BF1 - disallow the BF1

Mods

The /mods command for hosts or admins uses 6-character mod codes for vehicle mods.

  • /mods=C52608+B7B8DC - set a list of allowed mods
  • /mods+=FC2B6F - add to list
  • /mods-=C52608 - remove from list
  • /mods=ALL - remove the list and set
  • /mods=NONE - remove the list and set

Keys for the /key command

A to Z
0 to 9
space
up, down, left, right
pgup, pgdn
mousel, mouser, mousem
wheelu, wheeld

Function names for the /button AND /key commands

steer_left
steer_right
steer_fast
steer_slow
throttle
brake
shift_up
shift_down
clutch, handbrake
left_view
right_view
rear_view
horn
flash
reset
pit_speed
tc_disable
ignition
zoom_in
zoom_out
vr_click
escape
virtual_kb
talk
reverse
gear_1 - gear_7
ctrl_f1 - ctrl_f12
alt_f1 - alt_f12

Function names for the /axis AND /invert commands

steer
combined
throttle
brake
lookh
lookp
lookr
clutch
handbrake
shiftx
shifty

Unassigning a button or axis

To unassign a button or axis from a function, you can assign -1 to that function.

Examples:

  • /button -1 shift_up - unassign the shift up button
  • /axis -1 clutch - unassign the clutch axis

Parameters for the key commands (press / shift / ctrl / alt)

  • Letters A to Z
  • Numbers 0 to 9
  • F1 to F12
  • up, down, left, right
  • space, enter, esc, tab
  • less, more, minus, plus

Multiple commands on single line

Multiple commands can be added on a single line which sometimes can avoid the need for a script file, e.g. to set a button to change tyres in pit stop, you could use a double command:

/pitins ftyre super /pitins rtyre super

NOTE: some commands cannot be followed by another command:

/say /echo /join /rcm /pass /msg /altf /ctrlf

LFS World info

You can retrieve LFS World info and statistics from in-game as well, by using the following text commands.

Basic usage:

  • /w COMMAND USERNAME - (eg. /w pb or /w pb johndoeracer)
  • /ws TRACK CAR COMMAND - (eg. /ws bl1 mrt laps)
Command Description Example 1 (core command for own stats, current combo) Example 2 (someone else's stats, current combo) Example 3 (/ws for custom combos)
Usage Output Usage Output Usage Output
pb personal best on this track with this car /w pb LFSW - PB on SO4 XRG : 2:04.80
LFSW - Split1 0:34.83 - Split2 1:19.57
/w pb [username] LFSW - PB for [username] on SO4 XRG : 2:04.08
LFSW - Split1 0:34.48 - Split2 1:18.83
/ws [track] [car] pb [username] LFSW - PB for [username] on FE4 FOX : 2:17.81
LFSW - Split1 0:48.78 - Split2 1:27.23 - Split3 1:41.14
hotlap
hl
hotlap on this track with this car /w hl LFSW - hotlap time : 1:24.65 /w hl [username] LFSW - hotlap time for [username] : 1:31.99 /ws [track] [car] hl [username] LFSW - hotlap time for [username] : 0:43.90
wr world record on this track with this car /w wr LFSW - WR by [wrholder] : 1:31.52 (21 Oct 2017)
LFSW - Split1 0:25.45 - Split2 1:04.04
- - /ws [track] [car] wr LFSW - WR by [wrholder] : 1:04.32 (16 Feb 2016)
LFSW - Split1 0:16.53 - Split2 0:44.86
laps
l
laps on this track with this car /w l LFSW - lapcount on BL2R XRG : 45 /w l [username] LFSW - lapcount for [username] on BL2R XRG : 140 /ws [track] [car] l [username] LFSW - lapcount for [username] on RO9 FBM : 79
fuel
f
fuel usage on this track with this car /w f LFSW - fuel usage on BL2R XRG : 0.99 % per lap /w f [username] LFSW - fuel usage for [username] on BL2R XRG : 1.02 % per lap /ws [track] [car] f [username] LFSW - fuel usage for [username] on RO9 FBM : 0.81 % per lap
tlaps
tl
all-time driven total laps /w tl LFSW - laps driven in total : 36143 /w tl [username] LFSW - laps driven in total for [username] : 47502 - -
distance
ds
all-time driven total distance /w ds LFSW - driven distance : 112156 km /w ds [username] LFSW - driven distance for [username] : 214291 km - -
win
1
all-time race wins /w 1 LFSW - won races : 459 /w 1 [username] LFSW - won races for [username] : 395 - -
second
2
all-time second places /w 2 LFSW - second positions : 348 /w 2 [username] LFSW - second positions for [username] : 277 - -
third
3
all-time third places /w 3 LFSW - third positions : 257 /w 3 [username] LFSW - third positions for [username] : 177 - -
drags
dr
all-time total drag races / wins /w dr LFSW - drags : 45 drags / wins : 30 /w dr [username] LFSW - drags for [username] : 25 drags / wins : 11 - -
finished
fin
all-time finishes /w fin LFSW - finished races : 3288 /w fin [username] LFSW - finished races for [username] : 4623 - -
find check if someone is online on any host /w find LFSW - You are at [servername] /w find [username] LFSW - [username] is at [servername] - -
help
?
command list and usage /w ? CMD = pb,hl,wr,l,tl,ds,f,1,2,3,fin,find
EG. /w pb OR /w pb username
- - - -
msg initiates sending an SMS to another LFS racer /w msg [username] - - - - -
txt [message] adds the text and sends it to the mobile phone /w txt [username] - - - - -
m users get the number of users online for each license level /m users Online : 61 DEMO + 3 S1 + 9 S2 + 142 S3 = 215 - - - -
m demo get the number of users online in demo version /m demo Demo : OLD 0 - NEW 52 - - - -
m hosts get the number of hosts online for each license level /m hosts Hosts : DEMO 50 - S1 11 - S2 36 - TOTAL 97 - - - -

Read more about LFS World SMS-system.