Difference between revisions of "Commands"

From LFS Manual
Jump to navigationJump to search
(use wikitables and improve header formatting)
Line 8: 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 120: 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 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" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Simple commands with no parameter
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 145: Line 144:
 
| {{kbd|/zero_all}} || reset lap counters on all cars
 
| {{kbd|/zero_all}} || reset lap counters on all cars
 
|}
 
|}
 +
 +
=== Commands with a parameter - race setup screen ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Commands with a parameter - race setup screen
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 164: Line 164:
 
| {{kbd|/wind {{abbr|X|title = 0 = no wind / 1 = low wind / 2 = high wind}}}} || wind strength || {{kbd|/wind 2}}
 
| {{kbd|/wind {{abbr|X|title = 0 = no wind / 1 = low wind / 2 = high wind}}}} || wind strength || {{kbd|/wind 2}}
 
|}
 
|}
 +
 +
=== Commands with a parameter - any time ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Commands with a parameter - any time
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 253: Line 254:
 
| {{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}}
 
|}
 
|}
 +
 +
=== Autocross layout commands ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Autocross layout commands
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 270: Line 272:
 
| {{kbd|/axclear}} || clear layout
 
| {{kbd|/axclear}} || clear layout
 
|}
 
|}
 +
 +
=== Ban / kick / spectate commands - any time ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Ban / kick / spectate commands - any time
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 289: Line 292:
 
| {{kbd|/pit_all}} || send all cars to the pit lane
 
| {{kbd|/pit_all}} || send all cars to the pit lane
 
|}
 
|}
 +
 +
=== Penalties ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Penalties
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 306: Line 310:
 
| {{kbd|/p_clear USERNAME}} || clear a time or pit penalty
 
| {{kbd|/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%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Race Control Messages (big text in centre of screen):
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 324: Line 329:
 
|}
 
|}
  
−
=== 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 ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Race setup screen only
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 339: Line 345:
 
| {{kbd|/clear}} || clear all racers from list
 
| {{kbd|/clear}} || clear all racers from list
 
|}
 
|}
 +
 +
=== Race setup screen or in game ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Race setup screen or in game
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 380: Line 387:
 
| {{kbd|/aiset_all X}} || set all local AI drivers to skill level {{kbd|X}} || {{kbd|/aiset_all 2}}
 
| {{kbd|/aiset_all X}} || set all local AI drivers to skill level {{kbd|X}} || {{kbd|/aiset_all 2}}
 
|}
 
|}
 +
 +
=== Mode / replay control ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Mode / replay control
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 403: Line 411:
 
| {{kbd|/mprsmooth X}} || 0 / 1 (disable or enable input smoothing) || {{kbd|/mprsmooth 1}}
 
| {{kbd|/mprsmooth X}} || 0 / 1 (disable or enable input smoothing) || {{kbd|/mprsmooth 1}}
 
|}
 
|}
 +
 +
=== Any time ===
  
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
|+ Any time
 
 
! style="width: 190px" | Command
 
! style="width: 190px" | Command
 
! Description
 
! Description
Line 440: Line 449:
 
|}
 
|}
  
−
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 452: Line 461:
 
  /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}}
+
=== Light commands ===
 +
 
 +
{| 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 482: Line 508:
 
E.g. {{kbd|/pitins fpressure 30 psi}}
 
E.g. {{kbd|/pitins fpressure 30 psi}}
  
−
Useful commands for scripts and controller buttons:
+
=== Scripts and controller buttons ===
  
−
/run X               :run the script X     (data\script\X.lfs)
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
−
/exec E C           :run program E       (with command line C)
+
! style="width: 190px" | Command
−
/wait E C           :like exec but LFS hangs until E exits
+
! Description
−
 
+
|-
−
/fov   [degrees]           - field of view
+
| {{kbd|/run X}} || run the script X ({{folder|data/script/X.lfs}})
−
/vlock     [car/filter/horizon]   - view lock
+
|-
−
/lookf     [joystick/axis/steer/mouse_x/mouse_xy]
+
| {{kbd|/exec E C}} || run program E (with command line C)
−
/control   [mouse_kb/wheel_js]     - controller type
+
|-
−
/ff     [0-200]             - force feedback strength
+
| {{kbd|/wait E C}} || like {{kbd|/exec}} but LFS hangs until E exits
−
/axis   [axis]   [function] - e.g. /axis 2 throttle   (see below)
+
|-
−
/invert [0/1]   [function] - e.g. /invert 1 brake   (see below)
+
| {{kbd|/fov [degrees]}} || field of view
−
/button [button] [function] - e.g. /button 5 shift_up (see below)
+
|-
−
/key   [key]   [function] - e.g. /key Q handbrake   (see below)
+
| {{kbd|/vlock [car/filter/horizon]}} || view lock
−
/head_tilt       [degrees] - 1g head tilt
+
|-
−
/lateral_shift   [m]       - 1g lateral shift
+
| {{kbd|/lookf [joystick/axis/steer/mouse_x/mouse_xy]}} || look function
−
/forward_shift   [m]       - 1g forward shift
+
|-
−
/vertical_shift [m]       - 1g vertical shift
+
| {{kbd|/control [mouse_kb/wheel_js]}} || controller type
−
/hidetext   [yes/no]       - hide or show text (SHIFT + F)
+
|-
−
/block     [0/1/2]         - block messages (none / user / all)
+
| {{kbd|/ff [0-200]}} || force feedback strength
−
/showmouse [yes/no]       - show or hide mouse (SHIFT + Z)
+
|-
−
/say       [message]       - same as typing a chat message
+
| {{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]]
−
/echo       [text]         - show text only on local screen
+
|-
−
/ctrlf     [num] [text]   - change text e.g. "ctrlf 1 hello"
+
| {{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]]
−
/altf       [num] [text]   - change text e.g. "altf 1 bye"
+
|-
−
/wheel_turn [degrees]       - specify turn angle of controller
+
| {{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]]
−
/press     [key]           - simulate key press (see PARAMETERS)
+
|-
−
/shift     [key]           - SHIFT + key
+
| {{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]]
−
/ctrl       [key]           - CTRL + key
+
|-
−
/alt       [key]           - ALT + key
+
| {{kbd|/head_tilt [degrees]}} || 1g head tilt
−
/autoclutch [0-1]           - turn autoclutch off / on
+
|-
−
 
+
| {{kbd|/lateral_shift [m]}} || 1g lateral shift
−
/shifter   [auto/sequential/shifter]   - shift type
+
|-
−
/view       [fol/heli/cam/driver/custom] - select view
+
| {{kbd|/forward_shift [m]}} || 1g forward shift
−
 
+
|-
−
/vr reset                       - position and orientation (default F8)
+
| {{kbd|/vertical_shift [m]}} || 1g vertical shift
−
/vr reset_headset               - instantly reset headset position
+
|-
−
/vr use_relative               - instantly use relative position
+
| {{kbd|/hidetext [yes/no]}} || hide or show text ({{key press|SHIFT}} + {{key press|F}})
−
/vr [on/off/toggle/rift/openvr] - instantly enter or leave vr mode
+
|-
−
 
+
| {{kbd|/block [0/1/2]}} || block messages (0 = none / 1 = user / 2 = all)
−
/view save                  - save any changes made to a custom view
+
|-
−
/view reload                - reload custom view (without saving)
+
| {{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: <code>//comment</code> - this line is ignored
 
* IN A SCRIPT: <code>//comment</code> - this line is ignored
 
* IN CHAT BOX: <code>//xxx</code> - short for <code>/run xxx</code>
 
* IN CHAT BOX: <code>//xxx</code> - short for <code>/run xxx</code>
  
−
=== Car Strings ===
+
== Car strings ==
  
 
The <code>/cars</code> command for hosts or admins uses 3-character car codes.
 
The <code>/cars</code> command for hosts or admins uses 3-character car codes.
Line 541: Line 604:
 
* ROAD  - road legal cars
 
* ROAD  - road legal cars
 
* RACE  - race cars
 
* RACE  - race cars
−
* [[TBO]]    - same as [[XRT]]+[[RB4]]+[[FXO]]
+
* [[:Category:TBO cars|TBO]]    - same as [[XRT]]+[[RB4]]+[[FXO]]
−
* [[LRF]]    - same as [[LX6]]+[[RAC]]+[[FZ5]]
+
* [[:Category:LRF cars|LRF]]    - same as [[LX6]]+[[RAC]]+[[FZ5]]
−
* [[GTR]]    - same as [[FXR]]+[[XRR]]+[[FZR]]
+
* [[:Category:GTR cars|GTR]]    - same as [[FXR]]+[[XRR]]+[[FZR]]
  
 
The plus and minus symbols can be used in conjuction with these:
 
The plus and minus symbols can be used in conjuction with these:
Line 552: Line 615:
 
  /cars-=BF1          :disallow the BF1
 
  /cars-=BF1          :disallow the BF1
  
−
=== Mods ===
+
== Mods ==
  
−
The <code>/mods</code> command for hosts or admins uses 6-character mod codes for [[Vehicle Mods|vehicle mods]].
+
The {{kbd|/mods}} 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=C52608+B7B8DC  :set a list of allowed mods
Line 562: Line 625:
 
  /mods=NONE          :remove the list and set /allowmods=no
 
  /mods=NONE          :remove the list and set /allowmods=no
  
−
=== KEYS for the /key command ===
+
== Keys for the {{kbd|/key}} command ==
  
 
  A to Z
 
  A to Z
Line 572: Line 635:
 
  wheelu, wheeld
 
  wheelu, wheeld
  
−
=== Function names for the /button AND /key commands ===
+
== Function names for the {{kbd|/button}} AND {{kbd|/key}} commands ==
  
 
  steer_left
 
  steer_left
Line 603: Line 666:
 
  alt_f1 - alt_f12
 
  alt_f1 - alt_f12
  
−
=== Function names for the /axis AND /invert commands ===
+
== Function names for the {{kbd|/axis}} AND {{kbd|/invert}} commands ==
  
 
  steer
 
  steer
Line 617: Line 680:
 
  shifty
 
  shifty
  
−
=== Unassigning a button or axis ===
+
== Unassigning a button or axis ==
  
−
To unassign a button or axis from a function,
+
To unassign a button or axis from a function, you can assign -1 to that function.
−
you can assign -1 to that function.
 
  
 
Examples:
 
Examples:
  
−
/button -1 shift_up         :unassign the shift up button
+
* {{kbd|/button -1 shift_up}} - unassign the shift up button
−
/axis -1 clutch             :unassign the clutch axis
+
* {{kbd|/axis -1 clutch}} - unassign the clutch axis
  
−
=== Parameters for the key commands (press / shift / ctrl / alt) ===
+
== Parameters for the key commands ({{kbd|press}} / {{kbd|shift}} / {{kbd|ctrl}} / {{kbd|alt}}) ==
  
 
* Letters A to Z
 
* Letters A to Z
Line 636: Line 698:
 
* less, more, minus, plus
 
* less, more, minus, plus
  
−
=== Multiple commands on single line ===
+
== Multiple commands on single line ==
  
 
Multiple commands can be added on a single line which sometimes
 
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
 
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:
 
change tyres in pit stop, you could use a double command:
−
  /pitins ftyre super /pitins rtyre super
+
 
 +
{{kbd|/pitins ftyre super /pitins rtyre super}}
  
 
NOTE: some commands cannot be followed by another command:
 
NOTE: some commands cannot be followed by another command:
−
  /say /echo /join /rcm /pass /msg /altf /ctrlf
 
  
−
=== LFS World info ===
+
{{kbd|/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.
 
You can retrieve LFS World info and statistics from in-game as well, by using the following text commands.
Line 652: Line 716:
 
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"

Revision as of 21:09, 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

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

Autocross layout commands

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

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

Light commands

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.

/cars=XFG+XRG        :allow XF GTI and XR GT
/cars=MRT            :allow MRT5 only

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 /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

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.