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
/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.
/ip=X.X.X.X :if required - local specified ip address /port=63392 :a high number below 65536 /mode=demo :demo / s1 / s2 / s3 /usemaster=yes :no / yes / hidden /track=XXCR :track and config (e.g. BL1 / SO3R / FE4) /weather=1 :weather: 1,2,3 in Blackwood /cars=[cars] :see below: "Car Strings" /maxguests=4 :max number of guests that can join host /adminslots=0 :slots reserved for admins (0 to 8) /carsmax=5 :max number of cars in a race /carshost=1 :max number of cars (real+ai) on host pc /carsguest=1 :max number of cars (real+ai) per guest pc /pps=4 :smoothness (3-12) number of car updates per second /qual=0 :qualifying minutes, 0 for no qualifying /laps=5 :number of lap, 0 for practice /wind=1 :0 no wind / 1 low wind / 2 high wind /dedicated=no :no / yes / nogfx / invisible /vote=yes :no / yes: can guests vote to kick or ban /select=yes :no / yes: can guests select track /rstmin=X :no restart for X seconds after race start /rstend=X :no restart for X seconds after race finish /autokick=no :no / kick / ban / spec (wrong way drivers) /midrace=yes :no / yes (join during race) /mustpit=no :no / yes (pit stop required) /canrefuel=no :no / yes (refuelling allowed) /showfuel=no :no / yes (remote cars fuel visible) /canreset=no :no / yes (allow car reset) /fcv=no :no / yes (force cockpit view) /cruise=no :no / yes (allow wrong way) /allowmods X :no / yes (allow mods) /unapproved X :no / yes (allow unapproved mods) /start=finish :fixed/finish/reverse/random (default race start) /vr=X :off / on / rift / openvr - avoid or enter vr mode /insim=PORT :listen for InSim (PORT is between 1 and 65535) /player=Name :use the specified player name /windowed=X :no / yes - overrides the cfg.txt setting /autosave=0 :MPR autosave (0-no / 1-manual / 2-auto) /mprdir=X :set the data folder for mpr saving /lytdir=X :set the data folder for 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)
Some text commands are intended for hosts and administrators.
Using the normal text message system (pressing T in a normal host or simply typing into a nogfx host), the message becomes a command if you start it with a slash character.
Simple commands with no parameter:
/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:
/track XXCR [W] :track and config (e.g. BL1 / SO3R / FE4) /weather W :lighting (W = 1, 2, 3...) /qual X :qualifying minutes (0 = no qualifying) /laps X :number of laps (0 = practice) /hours X :number of hours (if laps not specified) /wind X :0 no / 1 low / 2 high
Commands with a parameter - any time:
/maxguests X :max number of guests that can join host /adminslots X :slots reserved for admins (0 to 8) /carsmax X :max number of cars in a race /carshost X :max number of cars (real+ai) on host pc /carsguest X :max number of cars (real+ai) per guest pc /pps X :smoothness (3-12) maximum car updates per second /msg X :send system message /vote X :no / yes (allow guest voting) /select X :no / yes (guests select track) /rstmin X :no restart for X seconds after race start /rstend X :no restart for X seconds after race finish /autokick X :no / kick / ban / spec (wrong way drivers) /midrace X :no / yes (join during race) /mustpit X :no / yes (pit stop required) /canrefuel X :no / yes (refuelling allowed) /showfuel X :no / yes (remote fuel gauges) /canreset X :no / yes (allow car reset) /fcv X :no / yes (force cockpit view) /cruise X :no / yes (allow wrong way) /allowmods X :no / yes (allow mods) /unapproved X :no / yes (unapproved mods) /start X :fixed/finish/reverse/random (default race start) /pass X :set new password (BLANK = no password) /setlap USERNAME Y :set user's current lap to Y (negative = subtract) /cansiren USERNAME Y :allow or disallow siren (Y = 0 or 1) /ujoin USERNAME :adds user to the race /uai USERNAME :adds user's AI driver to the race /cars [cars] :see below: "Car Strings" /mods [mods] :see below: "Mods" /enforce :spectate anyone who is driving a disallowed car /welcome X.txt :set welcome text file /tracks X.txt :set list of allowed tracks /autosave X :MPR autosave (0-no / 1-manual / 2-auto) /save_mpr X :save MPR with name X (autosave must be 1 or 2) /mprflush X :flush mpr to file every X seconds (0 = disable) /ndebug X :no / yes (network debug)
Autocross layout commands:
/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:
/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
/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):
/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
Most of these text commands replicate functions usually controlled by 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:
/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)
/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 /window X Y :set window client area width and height /window [min/max/monitor/virtual] - adjust window (no param = restore)
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 /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
LFS World info
/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)|
|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 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 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 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|
|all-time driven total laps||/w tl||LFSW - laps driven in total : 36143||/w tl [username]||LFSW - laps driven in total for [username] : 47502||-||-|
|all-time driven total distance||/w ds||LFSW - driven distance : 112156 km||/w ds [username]||LFSW - driven distance for [username] : 214291 km||-||-|
|all-time race wins||/w 1||LFSW - won races : 459||/w 1 [username]||LFSW - won races for [username] : 395||-||-|
|all-time second places||/w 2||LFSW - second positions : 348||/w 2 [username]||LFSW - second positions for [username] : 277||-||-|
|all-time third places||/w 3||LFSW - third positions : 257||/w 3 [username]||LFSW - third positions for [username] : 177||-||-|
|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||-||-|
|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]||-||-|
|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||-||-||-||-|
/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 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
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
To unassign a button or axis from a function, you can assign -1 to that function.
/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