Commands

From LFS Manual
Revision as of 14:07, 4 February 2024 by Flame CZE (talk | contribs) (host commands wikitable)
(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 (/).

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:

/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)
/h_mass username X   :set added mass for user's car
/h_tres username X   :set restriction for user's car
/teamarrows=no/yes   :arrows on non-race small map use name colour

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

Penalties:

/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

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

Examples:

/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 ant-roll bar by 0.1

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

/pitins pressure commands can accept unit (psi/bar) (no unit = bar) E.g. /pitins fpressure 30 psi

Available options for /liveset:

bbal, farb, rarb

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

LFS World info

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.

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