Difference between revisions of "Viewer parameters"

From Second Life Wiki
Jump to navigation Jump to search
(→‎Parameter reference: Many updates for v7.1.X, including macOS specific info, new parameters, etc. Overall refactoring.)
(29 intermediate revisions by 13 users not shown)
Line 8: Line 8:
=== Command line ===
=== Command line ===


On all platforms, you may specify parameters directly on the command line running the Viewer from a shell.
When running the Viewer from a command shell you may specify parameters directly on the command line. For example, on Windows:
For example:


  SecondLife.exe --channel "Test 123"  --settings settings_workspace.xml --set InstallLanguage en
  SecondLife.exe --channel "Test 123"  --settings settings_workspace.xml --set InstallLanguage en


=== Windows shortcut ===
Add --args on Mac:


On Windows, you can also specify command line parameters as follows:
open ./Second\ Life\ Viewer.app --args --channel "Test 123"  --settings settings_workspace.xml --set InstallLanguage en


# Create a shortcut to the SecondLife.exe executable.
=== Settings Files ===
# Edit the shortcut properties
# Add any of the above parameters in the first editable text field.
# The parameters go at the end of the line, after the closing quotation mark, if any.


=== Linux ===
On all platforms, you can also construct a settings file and specify that with the <tt>--sessionsettings</tt> command line switch. Please see the table below to understand the settings variables engaged by each command-line switch.


On Linux, specify command line parameters as follows:
If you edit the user_settings/settings.xml file, that affects future Second Life sessions initiated from your OS account.
# Edit the gridargs.dat file in the Second Life folder with a text editor.
# Add any of the above parameters to the file, separated either by a space or a newline.
# Save the file.


The next time Second Life is launched, it will use the specified options.
Alternatively, you can edit the first_last/settings.xml file, which affects only Second Life sessions for that login user. For example, if your Second Life name is "FooBar Baz", you should find that file in foobar_baz/settings.xml. (Caution: this file uses a different XML format than the other settings files.)
 
=== Mac OS X Parameter File ===
On Mac OS X, specify command line parameters as follows:
 
# Create a file called Second Life.app/Contents/Resources/arguments.txt
# List the parameters to use, one per line.
 
The next time Second Life is launched, it will use the specified options.


=== Mac OS X AppleScripts ===
=== Mac OS X AppleScripts ===
Line 44: Line 29:
Follow these steps:
Follow these steps:


# In /Applications/AppleScript open Script Editor.
<ol>
# Open a new document and paste the following text into it:
<li> In <code>/Applications/AppleScript</code> open Script Editor.
:<pre>do shell script "\"/Applications/Second Life.app/Contents/MacOS/Second Life\" -grid Aditi"</pre>
<li> Open a new document and paste the following text into it:
:The script includes an example parameter that will cause the Viewer to log in to the beta grid; change the parameters as desired.
<pre>do shell script "\"/Applications/Second Life.app/Contents/MacOS/Second Life\" -grid Aditi"</pre>
# Once you're happy with the parameters, click "Compile"
The script includes an example parameter that will cause the Viewer to log in to the beta grid; change the parameters as desired.
# Choose File > Save As
<li> Once you're happy with the parameters, click "Compile"
# Save the script as an Application, and select "Run Only" (may be "Execute" on OS X.4 Tiger).
<li> Choose File > Save As
: If you want to tweak the script then you can save it as not run-only, and/or save a copy as "Script".
<li> Save the script as an Application, and select "Run Only" (may be "Execute" on OS X.4 Tiger). If you want to tweak the script then you can save it as not run-only, and/or save a copy as "Script".
</ol>


Double-click the application you've compiled to launch the Viewer with the specified parameters.
Double-click the application you've compiled to launch the Viewer with the specified parameters.


NOTE: If the Viewer launches then immediately quits, open it normally since there is likely an update available:
NOTE: If the Viewer launches then immediately quits, open it normally since there is likely an update available:
download it and your script will work again. There is a [http://jira.secondlife.com/browse/VWR-5835 Jira issue] for this.
download it and your script will work again. There is a [http://jira.secondlife.com/browse/VWR-5835 JIRA issue] for this.


=== Visual Studio ===
=== Visual Studio ===
Line 62: Line 48:


=== XCode ===
=== XCode ===
In XCode, first select "newview" under the "Executables" group in XCode. Then open the "Get Info" dialog and click the "Arguments" tab. Add any of the above options to the "Arguments to be passed on launch" pane.
In XCode, first select "newview" under the "Executables" group in XCode. Then open the "Get Info" dialog and click the "Arguments" tab. Add any of the following options to the "Arguments to be passed on launch" pane.


== Parameter reference ==
== Parameter reference ==
Line 78: Line 64:
! Description
! Description
! Overridden Setting
! Overridden Setting
! Notes
|-
| --analyzeperformance
| None
| When used in conjunction with logperformance, analyzes result of log against baseline.
| AnalyzePerformance
| New help message as of SL Viewer 7.1.X on macOS


|-  
|-  
Line 89: Line 83:
| Channel name
| Channel name
| Specify version channel name. (For Testing)
| Specify version channel name. (For Testing)
| VersionChannelName
| CmdLineChannel
| 7.1.X help says N/A on macOS


|-  
|-  
| --console <show>
| --console <show>
| ?
| '''[[TRUE]]''' ''or'' '''[[FALSE]]'''
| Show a debugging console (Windows only)
| Show a debugging console (Windows only).
| ShowConsoleWindow
| ShowConsoleWindow
| 7.1.X help says N/A on macOS


|-  
|-  
Line 106: Line 102:
| --crashonstartup
| --crashonstartup
| None
| None
| Crashes on startup. For debugging.
| Crashes on startup. For debugging and quality assurance.
| N/A
| CrashOnStartup
 
|-
| --debugsession
| None
| Run as if {{code|RenderDebugGL}} is '''[[TRUE]]''', but log errors until end of session.
| DebugSession


|-  
|-  
Line 114: Line 116:
| Enable UI view debugging information.
| Enable UI view debugging information.
| DebugViews
| DebugViews
| 7.1.X help says N/A on macOS
|-
| --disablecrashlogger
| None
| Disables the crash logger and lets the OS handle crashes.
| DisableCrashLogger


|-  
|-  
Line 120: Line 129:
| Specify a percentage of packets to drop.  
| Specify a percentage of packets to drop.  
| PacketDropPercentage
| PacketDropPercentage
| 7.1.X help says N/A on macOS


|-  
|-  
| --god
| --god
| None
| None
| Login in [[God Mode|god mode]] if you are authorized.
| Log in [[God Mode|god mode]] if you are authorized.
| ConnectAsGod
| ConnectAsGod
|-
| --graphicslevel
| integer level
| Set the detail level: 0 - low, 1 - medium, 2 - high, 3 - ultra.
| RenderQualityPerformance
| New help message as of SL Viewer 7.1.X on macOS


|-  
|-  
| --grid <grid choice>
| --grid <grid name>
| Grid name or IP
| Grid name
| Specify the grid to connect to. Can be an IP address.  
| Specify the grid to connect to. Must specify either a hard-coded grid ('''[[Land#Agni|Agni]]''' or '''[[Land#Aditi|Aditi]]'''), or one defined in {{code|grids.xml}}.
| GridChoice
| CmdLineGridChoice


|-
|-
| --help
| -h [ --help ]
| None
| None
| Show a message box with available options listed.
| Show a message box with available options listed.<ref>At least on macOS, this means that the whole viewer will launch, show the display box, allow you to click '''Okay''', and then shut down the viewer.</ref>
| N/A
| N/A


|-  
|-  
| --helperuri <URI>
| {{strike|--helperuri <URI>}}
| URI
|  
| Helper web cgi prefix to use ???
| '''Obsolete'''- no longer supported.  May only be set in the grid definition file ({{code|grids.xml}}).
| HelperURI
|  


|-  
|-  
Line 156: Line 173:
| Specify input bandwidth limit.  
| Specify input bandwidth limit.  
| InBandwidth
| InBandwidth
| 7.1.X help says N/A on macOS


|-
|-
| --loginpage <URL>
| --leap <path>
| URL of page
| Path to executable
| Login authentication page to use.
| Command line to run an [[LEAP|LLSD Event API Plugin]].
|
| N/A
 
| This is what allows [[How Puppetry Works|Puppetry]] among other [[LEAP]] goodies.
|-
| --loginuri <URI>
| URI
| Login server to connect to.  
| LoginURI
 
|-
| --log
| None
| Log network messages.
| LogMessages


|-  
|-  
Line 180: Line 187:
| Specify a file name for log output.
| Specify a file name for log output.
| UserLogFile
| UserLogFile
| 7.1.X help says N/A on macOS
|-
| {{strike|--loginpage <URL>}}
|
| '''Obsolete'''- no longer supported.  May only be set in the grid definition file ({{code|grids.xml}}).
|
|-
| {{strike|--loginuri <URI>}}
|
| '''Obsolete'''- no longer supported.  May only be set in the grid definition file ({{code|grids.xml}}).
|


|-  
|-  
Line 186: Line 206:
| Specify login values.
| Specify login values.
| UserLoginInfo
| UserLoginInfo
|-
| --logmetrics <name>
| MetricName
| Log metrics data for benchmarking in {{code|MetricName.slp}}. See [[Performance Testers]] for details.
| LogMetrics
|-
| --logperformance
| None
| Log performance data for benchmarking in {{code|performance.slp}}. See [[Performance Testers]] for details.
| LogPerformance


|-  
|-  
Line 192: Line 224:
| Allow multiple viewers running concurrently.
| Allow multiple viewers running concurrently.
| AllowMultipleViewers
| AllowMultipleViewers
|-
| --no-verify-ssl-cert
| None
| Disable SSL certificate verification.
| NoVerifySSLCert
| 7.1.X help says N/A on macOS


|-  
|-  
Line 198: Line 237:
| Disable sound from the client.
| Disable sound from the client.
| NoAudio
| NoAudio
| 7.1.X help says N/A on macOS
|-
| --nofmod
| None
| Disables the FMOD library?
|
| 7.1.X help says N/A on macOS


|-  
|-  
| --noinvlib
| {{strike|--noinvlib}}
|
| '''Obsolete'''- no longer supported.
|
 
|-
| --noninteractive
| None
| None
| Do not request inventory library.
| Run in semi-headless mode where only login and logout need to work.
| NoInventoryLibrary
|
|


|-  
|-
| --no-verify-ssl-cert
| --nonotifications
| None
| None
| Disable SSL certificate verification.
| User will not get any notifications. NOTE: All notifications that occur will get added to ignore file for future runs.
| NoVerifySSLCert
|
|


|-  
|-  
Line 216: Line 272:
| Disable precaching of sound and bitmaps used by the client.
| Disable precaching of sound and bitmaps used by the client.
| NoPreload
| NoPreload
| 7.1.X help says N/A on macOS


|-  
|-  
Line 222: Line 279:
| Disable hardware checking at startup.
| Disable hardware checking at startup.
| NoHardwareProbe
| NoHardwareProbe
| 7.1.X help says N/A on macOS


|-  
|-  
| --noquicktime
| --noquicktime
| None
| None
| Disable use of quicktime by the client.
| Disable use of [https://support.apple.com/downloads/quicktime QuickTime] by the client.
| NoQuickTime
| NoQuickTime
| 7.1.X help says N/A on macOS


|-  
|-  
Line 234: Line 293:
| Disable sound from the client.
| Disable sound from the client.
| NoAudio
| NoAudio
| 7.1.X help says N/A on macOS


|-  
|-  
Line 239: Line 299:
| None
| None
| Disable voice chat.
| Disable voice chat.
| DisableVoice
| CmdLineDisableVoice


|-  
|-  
Line 246: Line 306:
| Specify output bandwidth limit.  
| Specify output bandwidth limit.  
| OutBandwidth
| OutBandwidth
| 7.1.X help says N/A on macOS
|-
| --port <n>
| Port number
| Set the TCP port for the client; useful to run multiple instances of SL on the same local home network. Values that may work: 13000 and 13001 (Valid numbers are 13000 to 13050)
| UserConnectionPort
| 7.1.X help says N/A on macOS


|-  
|-  
| --purge
| --purge
| None
| None
| Force the client to clear cached downloads during startup.
| Force the client to clear all cached downloads during startup.
| PurgeCacheOnNextStartup
| PurgeCacheOnNextStartup


|-
|-
| --port <n>
| --psn <n>
| Port number
| ?
| Set the TCP port for the client; useful to run multiple instances of SL on the same local home network. Values that may work: 13000 and 13001 (Valid numbers are 13000 to 13050)
| macOS process serial number.
| ViewerPort
|
| Unknown functionality. Note: when using {{code|-h}}, this line is not alphabetically sorted.


|-  
|-  
| --qa
| --qa
| None
| None
| Enable UI features for used for testing.
| Enable UI features to be used for testing.
| QAMode
| QAMode


Line 270: Line 339:
| Have the client quit after the specified duration.
| Have the client quit after the specified duration.
| QuitAfterSeconds
| QuitAfterSeconds
| 7.1.X help says N/A on macOS
|-
| --replaysession
| None
| Use a saved autoplay file to perform viewer actions automatically. Must be used with {{code|--autologin}}.
| ReplaySession


|-  
|-  
Line 276: Line 352:
| Force the avatar to rotate to the right. (For Testing)
| Force the avatar to rotate to the right. (For Testing)
| RotateRight
| RotateRight
| 7.1.X help says N/A on macOS


|-  
|-  
Line 283: Line 360:
| SafeMode
| SafeMode


|-
| --sessionsettings <filename>
| name of a file in {{code|app_settings}}
| Specify the filename of a configuration file that contains temporary per-session configuration overrides.
| Use {{code|settings_minimal.xml}} to force Basic mode on login, an invalid name like '''none''' to force Advanced mode. Note that under v2.6 the login screen mode menu will show "Basic" if this setting appears at all, but the command line setting will still override on actual login.{{Citation needed|reason=None of this is displayed by -h|date=February 2024}}


|-  
|-  
| --set <parameter> <value>
| --set <parameter> <value>
| First argument is the name of setting; second is the value to assign to it.
| First argument is the name of setting; second is the value to assign to it.
| Specify the value of the named setting.
| Specify the value of a particular configuration variable that overrides all other settings. (view a full list [[Debug Settings|here]]).
| Maps to <setting> arg.
 
|-
| --setdefault <parameter> <value>
| First argument is the name of setting; second is the value to assign to it.
| Specify the value of a particular configuration variable which can be overridden by {{code|settings.xml}}.
| Maps to <setting> arg.
| Maps to <setting> arg.


Line 293: Line 381:
| --settings <filename>
| --settings <filename>
| Local file name
| Local file name
| Specify the name of the user settings file.
| Specify the filename of a configuration file.
| UserSettingsFile
| Note: this is the user settings file.


|-  
|-  
| --skin <folder>
| --skin <folder>
| Folder name
| Folder name
| Specify the skin folder to use. (eg. korean, spanish)
| Specify the ui/branding skin folder to use. (e.g. Korean, Spanish)
| SkinFolder
| SkinCurrent
 
|-
| --skipupdatecheck
| None
| Skips update check at startup.
 
|-
| --slurl <SLurl>
| [[SLurl]]
| Specify the SLurl with the starting region and position (for example, {{code|secondlife://Ahern/128/128}}).
This must be the last parameter on the command line.
| CmdLineLoginLocation
| Note: the example given here is not a valid SLurl...
 
|-
| --update-service <url>
| base URL for the viewer version manager update query
| Override the URL base for the update query by specifying the viewer version manager service to use (primarily for upgrade testing)
| CmdLineUpdateService


|-  
|-  
| --url <SLURL>
| --url <SLurl>
| SLURL
| [[SLurl]]
| Specify the starting region and position (for example, secondlife://Ahern/128/128).  
| Specify the startup location (region and position, e.g. {{code|secondlife://Ahern/128/128}}).  
This must be the last parameter on the command line.
This must be the last parameter on the command line.
| SecondLifeURL
| CmdLineLoginLocation
| Is the format exactly the same as --slurl?
 
|-
| --usersessionsettings <filename>
| name of a file in {{code|app_settings}}
| Specify the filename of a configuration file that contains temporary per-session configuration user overrides.
|


|}
|}
Line 323: Line 437:
* map-to - specify a user setting to map the option to.
* map-to - specify a user setting to map the option to.
The file uses [[LLSD]] syntax. Use the existing options as reference.
The file uses [[LLSD]] syntax. Use the existing options as reference.
== Examples ==
=== Setting a Custom Cache Location ===
To set a custom cache location when launching Second Life, you should use the <code>set</code> parameter with a value of <code>NewCacheLocation</code> followed by the desired cache folder to use. This will tell Second Life to startup using this location as a new cache location.<br>
'''Example:''' <code>--set CacheLocation j:\SL_Cache --set NewCacheLocation j:\SL_Cache</code>
'''NOTE''':
Per '''STORM-334 ''' The double command above <span style="text-decoration: line-through;">will</span> should retain the previous cache and switch to the new cache.
Using just NewChacheLocation will clear any existing cache folder that it has been using. So, to prevent this you can also the <code>CacheLocation</code> setting to the same value and ahead of NewCacheLocation, which will preserve any cache folder saved in your viewer settings.
This allows you to, use two different shortcuts in order to launch two different Second Life accounts, each with their own separate cache folder, allowing each to have a fully cached home location, for example. Or, a more complex case, a shortcut could create a temporary RAM disk for use as a cache folder, and set this value for Second Life to use, taking advantage of a RAM disk's speed, before saving the contents to disk afterwards.
{{KBnote|This command is not working with the Project Bento Viewer 5.0.0.315657 or the current default viewer 4.0.5.315117. These viewers do, however, automatically create separate inventory caches for each grid. As an alternative, you can use [[#Command_line|separate settings files]] as above, then use the normal preferences route to set a custom cache location.}}

Revision as of 15:14, 10 February 2024

For versions of Second Life prior 1.20 see: Pre 1.20 Client parameters

Using Viewer parameters

There are many ways of passing command line parameters to the Viewer.

Command line

When running the Viewer from a command shell you may specify parameters directly on the command line. For example, on Windows:

SecondLife.exe --channel "Test 123"  --settings settings_workspace.xml --set InstallLanguage en

Add --args on Mac:

open ./Second\ Life\ Viewer.app --args --channel "Test 123"  --settings settings_workspace.xml --set InstallLanguage en

Settings Files

On all platforms, you can also construct a settings file and specify that with the --sessionsettings command line switch. Please see the table below to understand the settings variables engaged by each command-line switch.

If you edit the user_settings/settings.xml file, that affects future Second Life sessions initiated from your OS account.

Alternatively, you can edit the first_last/settings.xml file, which affects only Second Life sessions for that login user. For example, if your Second Life name is "FooBar Baz", you should find that file in foobar_baz/settings.xml. (Caution: this file uses a different XML format than the other settings files.)

Mac OS X AppleScripts

An alternative (and often easier) way to launch Second Life with command line parameters is to use an AppleScript.

Follow these steps:

  1. In /Applications/AppleScript open Script Editor.
  2. Open a new document and paste the following text into it:
    do shell script "\"/Applications/Second Life.app/Contents/MacOS/Second Life\" -grid Aditi"

    The script includes an example parameter that will cause the Viewer to log in to the beta grid; change the parameters as desired.

  3. Once you're happy with the parameters, click "Compile"
  4. Choose File > Save As
  5. Save the script as an Application, and select "Run Only" (may be "Execute" on OS X.4 Tiger). If you want to tweak the script then you can save it as not run-only, and/or save a copy as "Script".

Double-click the application you've compiled to launch the Viewer with the specified parameters.

NOTE: If the Viewer launches then immediately quits, open it normally since there is likely an update available: download it and your script will work again. There is a JIRA issue for this.

Visual Studio

In Visual Studio, the command line paramaters are in the Debug Options pane of the newview project preferences. Ensure newview is your startup project, and launch the compiled viewer from within the debugger for these options to take effect.

XCode

In XCode, first select "newview" under the "Executables" group in XCode. Then open the "Get Info" dialog and click the "Arguments" tab. Add any of the following options to the "Arguments to be passed on launch" pane.

Parameter reference

NOTE: A parameter refers to a directive provided on the command-line following a double-dash (--). An argument is a value provided for a parameter. For example in --port 13001, "port" is the parameter and "13001" is the argument.


Parameter Argument (if any) Description Overridden Setting Notes
--analyzeperformance None When used in conjunction with logperformance, analyzes result of log against baseline. AnalyzePerformance New help message as of SL Viewer 7.1.X on macOS
--autologin None Login in as last saved user. AutoLogin
--channel <name> Channel name Specify version channel name. (For Testing) CmdLineChannel 7.1.X help says N/A on macOS
--console <show> TRUE or FALSE Show a debugging console (Windows only). ShowConsoleWindow 7.1.X help says N/A on macOS
--cooperative <ms to yield> Milliseconds to yield per frame Yield specified time to host on each frame. YieldTime
--crashonstartup None Crashes on startup. For debugging and quality assurance. CrashOnStartup
--debugsession None Run as if RenderDebugGL is TRUE, but log errors until end of session. DebugSession
--debugviews None Enable UI view debugging information. DebugViews 7.1.X help says N/A on macOS
--disablecrashlogger None Disables the crash logger and lets the OS handle crashes. DisableCrashLogger
--drop <percentage> Percentage to drop (0 - 100) Specify a percentage of packets to drop. PacketDropPercentage 7.1.X help says N/A on macOS
--god None Log in god mode if you are authorized. ConnectAsGod
--graphicslevel integer level Set the detail level: 0 - low, 1 - medium, 2 - high, 3 - ultra. RenderQualityPerformance New help message as of SL Viewer 7.1.X on macOS
--grid <grid name> Grid name Specify the grid to connect to. Must specify either a hard-coded grid (Agni or Aditi), or one defined in grids.xml. CmdLineGridChoice
-h [ --help ] None Show a message box with available options listed.[1] N/A
--helperuri <URI> Obsolete- no longer supported. May only be set in the grid definition file (grids.xml).
--ignorepixeldepth None Ignore pixel depth settings. IgnorePixelDepth
--inbw <bits> Bits per second Specify input bandwidth limit. InBandwidth 7.1.X help says N/A on macOS
--leap <path> Path to executable Command line to run an LLSD Event API Plugin. N/A This is what allows Puppetry among other LEAP goodies.
--logfile <filename> File name Specify a file name for log output. UserLogFile 7.1.X help says N/A on macOS
--loginpage <URL> Obsolete- no longer supported. May only be set in the grid definition file (grids.xml).
--loginuri <URI> Obsolete- no longer supported. May only be set in the grid definition file (grids.xml).
--login <firstname> <lastname> <password> Account first name, last name, and password with which to log in. Specify login values. UserLoginInfo
--logmetrics <name> MetricName Log metrics data for benchmarking in MetricName.slp. See Performance Testers for details. LogMetrics
--logperformance None Log performance data for benchmarking in performance.slp. See Performance Testers for details. LogPerformance
--multiple None Allow multiple viewers running concurrently. AllowMultipleViewers
--no-verify-ssl-cert None Disable SSL certificate verification. NoVerifySSLCert 7.1.X help says N/A on macOS
--noaudio None Disable sound from the client. NoAudio 7.1.X help says N/A on macOS
--nofmod None Disables the FMOD library? 7.1.X help says N/A on macOS


--noinvlib Obsolete- no longer supported.
--noninteractive None Run in semi-headless mode where only login and logout need to work.
--nonotifications None User will not get any notifications. NOTE: All notifications that occur will get added to ignore file for future runs.
--nopreload None Disable precaching of sound and bitmaps used by the client. NoPreload 7.1.X help says N/A on macOS
--noprobe None Disable hardware checking at startup. NoHardwareProbe 7.1.X help says N/A on macOS
--noquicktime None Disable use of QuickTime by the client. NoQuickTime 7.1.X help says N/A on macOS
--nosound None Disable sound from the client. NoAudio 7.1.X help says N/A on macOS
--novoice None Disable voice chat. CmdLineDisableVoice
--outbw <bits> Bits per second Specify output bandwidth limit. OutBandwidth 7.1.X help says N/A on macOS
--port <n> Port number Set the TCP port for the client; useful to run multiple instances of SL on the same local home network. Values that may work: 13000 and 13001 (Valid numbers are 13000 to 13050) UserConnectionPort 7.1.X help says N/A on macOS
--purge None Force the client to clear all cached downloads during startup. PurgeCacheOnNextStartup
--psn <n> ? macOS process serial number. Unknown functionality. Note: when using -h, this line is not alphabetically sorted.
--qa None Enable UI features to be used for testing. QAMode
--quitafter <secs> Number of seconds to wait before quitting Have the client quit after the specified duration. QuitAfterSeconds 7.1.X help says N/A on macOS
--replaysession None Use a saved autoplay file to perform viewer actions automatically. Must be used with --autologin. ReplaySession
--rotate None Force the avatar to rotate to the right. (For Testing) RotateRight 7.1.X help says N/A on macOS
--safe None Reset preferences and run in safe mode. SafeMode
--sessionsettings <filename> name of a file in app_settings Specify the filename of a configuration file that contains temporary per-session configuration overrides. Use settings_minimal.xml to force Basic mode on login, an invalid name like none to force Advanced mode. Note that under v2.6 the login screen mode menu will show "Basic" if this setting appears at all, but the command line setting will still override on actual login.[citation needed]
--set <parameter> <value> First argument is the name of setting; second is the value to assign to it. Specify the value of a particular configuration variable that overrides all other settings. (view a full list here). Maps to <setting> arg.
--setdefault <parameter> <value> First argument is the name of setting; second is the value to assign to it. Specify the value of a particular configuration variable which can be overridden by settings.xml. Maps to <setting> arg.
--settings <filename> Local file name Specify the filename of a configuration file. Note: this is the user settings file.
--skin <folder> Folder name Specify the ui/branding skin folder to use. (e.g. Korean, Spanish) SkinCurrent
--skipupdatecheck None Skips update check at startup.
--slurl <SLurl> SLurl Specify the SLurl with the starting region and position (for example, secondlife://Ahern/128/128).

This must be the last parameter on the command line.

CmdLineLoginLocation Note: the example given here is not a valid SLurl...
--update-service <url> base URL for the viewer version manager update query Override the URL base for the update query by specifying the viewer version manager service to use (primarily for upgrade testing) CmdLineUpdateService
--url <SLurl> SLurl Specify the startup location (region and position, e.g. secondlife://Ahern/128/128).

This must be the last parameter on the command line.

CmdLineLoginLocation Is the format exactly the same as --slurl?
--usersessionsettings <filename> name of a file in app_settings Specify the filename of a configuration file that contains temporary per-session configuration user overrides.

Specifying new command line parameters

To add a new command line parameter, use the configuration file app_settings/cmd_line.xml to map a command line paramter to a user setting. A parameter can have the following options:

  • desc - A description of the paramter.
  • short - a single character to map to the paramter.
  • count - the number of tokens to follow a option.
  • compose - true if the option can be specified multiple times.
  • positional - true if the option can be specified without --name.
  • last_option - true if the option should be the last option.
  • map-to - specify a user setting to map the option to.

The file uses LLSD syntax. Use the existing options as reference.

Examples

Setting a Custom Cache Location

To set a custom cache location when launching Second Life, you should use the set parameter with a value of NewCacheLocation followed by the desired cache folder to use. This will tell Second Life to startup using this location as a new cache location.

Example: --set CacheLocation j:\SL_Cache --set NewCacheLocation j:\SL_Cache

NOTE: Per STORM-334 The double command above will should retain the previous cache and switch to the new cache.

Using just NewChacheLocation will clear any existing cache folder that it has been using. So, to prevent this you can also the CacheLocation setting to the same value and ahead of NewCacheLocation, which will preserve any cache folder saved in your viewer settings.

This allows you to, use two different shortcuts in order to launch two different Second Life accounts, each with their own separate cache folder, allowing each to have a fully cached home location, for example. Or, a more complex case, a shortcut could create a temporary RAM disk for use as a cache folder, and set this value for Second Life to use, taking advantage of a RAM disk's speed, before saving the contents to disk afterwards.

KBnote.png Note: This command is not working with the Project Bento Viewer 5.0.0.315657 or the current default viewer 4.0.5.315117. These viewers do, however, automatically create separate inventory caches for each grid. As an alternative, you can use separate settings files as above, then use the normal preferences route to set a custom cache location.
  1. At least on macOS, this means that the whole viewer will launch, show the display box, allow you to click Okay, and then shut down the viewer.