Commands
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).
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 |
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 |
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 |
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 |
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 |
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 |
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:
- 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 /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 | - | - | - | - |