Difference between revisions of "Commands"

From LFS Manual
Jump to navigationJump to search
(→‎Host commands: forgot to delete old styled list, which is now in a table)
(set all tables to be max width of 800px)
 
(6 intermediate revisions by 2 users not shown)
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 122: Line 124:
 
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 not omitting the parameter (for example {{kbd|/rstend}} feeds back the currently active setting).
  
{| class="wikitable"
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
|+ Simple commands with no parameter
 
|+ Simple commands with no parameter
! Command !! Description
+
! style="width: 190px" | Command
 +
! Description
 
|-
 
|-
 
| {{kbd|/restart}} || start a race
 
| {{kbd|/restart}} || start a race
Line 141: Line 144:
 
|}
 
|}
  
{| class="wikitable"
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
|+ Commands with a parameter - race setup screen
 
|+ Commands with a parameter - race setup screen
! Command !! Description !! Example
+
! 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 163:
 
|}
 
|}
  
{| class="wikitable"
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 
|+ Commands with a parameter - any time
 
|+ Commands with a parameter - any time
! Command !! Description !! Example
+
! 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 245: Line 252:
 
|}
 
|}
  
Autocross layout commands:
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
|+ Autocross layout commands
 +
! style="width: 190px" | Command
 +
! Description
 +
! Example
 +
|-
 +
| {{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
 +
|}
  
/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
+
|+ Ban / kick / spectate commands - any time
/axsave X           :save layout X on host
+
! style="width: 190px" | Command
/axlaps X           :set autocross number of laps
+
! Description
/axclear            :clear layout
+
! 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
 +
|}
  
Ban / Kick / Spectate commands - any time:
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
 +
|+ Penalties
 +
! 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
 +
|}
  
/spec X              :make user X join the spectators
+
{| class="wikitable" style="min-width: calc(min(800px, 100%))"
/kick X              :disconnect user X
+
|+ Race Control Messages (big text in centre of screen):
/ban X Y            :ban user X for Y days (0 = 12 hours)
+
! style="width: 190px" | Command
/unban X            :remove ban on user X
+
! Description
/pitlane X          :send user X to the pit lane
+
! Example
/pit_all            :send all cars to the pit lane
+
|-
 
+
| {{kbd|/rcm MESSAGE}} || set a Race Control Message to be sent
Penalties:
+
|-
 
+
| {{kbd|/rcm_ply USERNAME}} || send the RCM to USERNAME
/p_dt USERNAME      :give drive through penalty
+
|-
/p_sg USERNAME      :give stop-go penalty
+
| {{kbd|/rcm_all}} || send the RCM to all
/p_30 USERNAME      :give 30 second time penalty
+
|-
/p_45 USERNAME      :give 45 second time penalty
+
| {{kbd|/rcc_ply USERNAME}} || clear USERNAME's RCM
/p_clear USERNAME    :clear a time or pit penalty
+
|-
 
+
| {{kbd|/rcc_all}} || clear all RCMs
Race Control Messages (big text in centre of screen):
+
|}
 
 
/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 ===
 
=== Local commands ===
  
Most of these text commands replicate functions usually controlled by
+
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]].
pressing on-screen buttons but can be useful in other situations, for
 
example when controlling LFS from an external program using [[InSim]].
 
  
 
Race setup screen only:
 
Race setup screen only:
Line 357: Line 399:
 
*{{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 366: Line 417:
 
  /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}}:
 
bbal, farb, rarb
 
  
 
Useful commands for scripts and controller buttons:
 
Useful commands for scripts and controller buttons:
Line 426: Line 468:
 
* 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 ===
 +
 +
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
  
 
=== LFS World info ===
 
=== LFS World info ===
Line 624: Line 783:
  
 
[[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 ===
 
 
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]]
 
[[Category:Programming]]

Latest revision as of 18:13, 5 September 2024

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.

List of commands

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

/ready               :set ready
/cancel              :cancel ready
/clear               :clear all racers from list

Race setup screen or in game:

/car XXX             :select car (e.g. XRT)
/setup  [X]          :select setup X (default if no X)
/colour [X]          :select colour X (default if no X)
/join                :join the race
/ai     [NAME]       :add ai driver (can specify NAME)
/spec                :spectate or leave grid
/leave               :disconnect from host
/player X            :select existing player X
/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
/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_all X         :set all local AI drivers to skill level X

Mode / replay control:

/spr X               :run a SP replay from entry (front end) screen
/mpr X               :run a MP replay from entry (front end) screen
/end                 :exit from replay back to entry screen
/sp                  :go into single player from entry screen
/mp IP Port          :join a local server from entry screen
/join Host Name      :join an internet server from entry screen
/mprlag X            :simulate packet delay of X ms (+ no smoothing)
/mprsmooth X         :0 / 1 (disable or enable input smoothing)

Any time:

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

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

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

Useful commands for scripts and controller buttons:

/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]
/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
/view       [fol/heli/cam/driver/custom] - select view
/vr 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
/view save                  - save any changes made to a custom view
/view reload                - reload custom view (without saving)
  • 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.