Commands

From LFS Manual
Revision as of 18:13, 5 September 2024 by Flame CZE (talk | contribs) (set all tables to be max width of 800px)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to navigationJump to search

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.