Difference between revisions of "Viewer parameters"

From Second Life Wiki
Jump to navigation Jump to search
Line 328: Line 328:


|-
|-
| --sessionsettings
| --sessionsettings <filename>
| name of a file in app_settings
| name of a file in app_settings
| Use '''settings_minimal.xml''' to force Basic mode on login, an invalid name like '''none''' to force Advanced mode. Note that currently (2.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.
| Use '''settings_minimal.xml''' to force Basic mode on login, an invalid name like '''none''' to force Advanced mode. Note that currently (2.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.

Revision as of 09:46, 18 May 2011

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

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

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

Windows shortcut

On Windows, you can also specify command line parameters as follows:

  1. Create a shortcut to the SecondLife.exe executable.
  2. Edit the shortcut properties
  3. Add any of the following parameters in the first editable text field.
  4. The parameters go at the end of the line, after the closing quotation mark, if any.

Linux

On Linux, specify command line parameters as follows:

  1. Edit the gridargs.dat file in the Second Life folder with a text editor.
  2. Add any of the following parameters to the file, separated either by a space or a newline.
  3. Save the file.

The next time Second Life is launched, it will use the specified options.

Mac OS X Parameter File

On Mac OS X, specify command line parameters as follows:

  1. Create a file called Second Life.app/Contents/Resources/arguments.txt
  2. 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

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.

Bugs

It should be noted when using the viewer parameters to launch Second Life that there are a few bugs associated with doing so. The following is a (static) summary of current JIRA issues, if you would like to see these issues fixed then please vote on them:



   Command Line Issues
   Logging in to Second Life using command-line arguments fails with new license agreement or version
   Using the -login parameter makes some keys and right click menus not work
   -set CacheLocation command does not work?

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
--analyzeperformance None Compare gathered metrics with baseline. Must be used with --logmetrics or --logperformance. AnalyzePerformance
--autologin None Login in as last saved user. AutoLogin
--channel <name> Channel name Specify version channel name. (For Testing) VersionChannelName
--console <show> TRUE or FALSE Show a debugging console (Windows only) ShowConsoleWindow
--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. N/A
--debugviews None Enable UI view debugging information. DebugViews
--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
--god None Login in god mode if you are authorized. ConnectAsGod
--grid <grid choice> Grid name or IP Specify the grid to connect to. Can be an IP address. GridChoice
--help None Show a message box with available options listed. N/A
--helperuri <URI> URI Helper web cgi prefix to use ??? HelperURI
--ignorepixeldepth None Ignore pixel depth settings. IgnorePixelDepth
--inbw <bits> Bits per second Specify input bandwidth limit. InBandwidth
--loginpage <URL> URL of page Login authentication page to use.
--loginuri <URI> URI Login server to connect to. LoginURI
--log None Log network messages. LogMessages
--logfile <filename> File name Specify a file name for log output. UserLogFile
--login <firstname> <lastname> <password> Account first name, last name, and password with which to log in. Specify login values. UserLoginInfo
--logmetrics MetricName Log metrics data in MetricName.slp. See Performance Testers for details. LogMetrics
--logperformance None Log performance data in performance.slp. See Performance Testers for details. LogPerformance
--multiple None Allow multiple viewers running concurrently. AllowMultipleViewers
--noaudio None Disable sound from the client. NoAudio
--noinvlib None Do not request inventory library. NoInventoryLibrary
Parameter Argument (if any) Description Overridden Setting
--no-verify-ssl-cert None Disable SSL certificate verification. NoVerifySSLCert
--nopreload None Disable precaching of sound and bitmaps used by the client. NoPreload
--noprobe None Disable hardware checking at startup. NoHardwareProbe
--noquicktime None Disable use of quicktime by the client. NoQuickTime
--nosound None Disable sound from the client. NoAudio
--novoice None Disable voice chat. DisableVoice
--outbw <bits> Bits per second Specify output bandwidth limit. OutBandwidth
--purge None Force the client to clear cached downloads during startup. PurgeCacheOnNextStartup
--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) ViewerPort
--qa None Enable UI features for used for testing. QAMode
--quitafter <secs> Number of seconds to wait before quitting Have the client quit after the specified duration. QuitAfterSeconds
--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
--safe None Reset preferences and run in safe mode. SafeMode
--sessionsettings <filename> name of a file in app_settings Use settings_minimal.xml to force Basic mode on login, an invalid name like none to force Advanced mode. Note that currently (2.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. SessionSettingsFile
--set <parameter> <value> First argument is the name of setting; second is the value to assign to it. Specify the value of the named setting. Maps to <setting> arg.
--settings <filename> Local file name Specify the name of the user settings file. UserSettingsFile
--skin <folder> Folder name Specify the skin folder to use. (eg. korean, spanish) SkinFolder
--url <SLurl> SLurl Specify the starting region and position (for example, secondlife://Ahern/128/128).

This must be the last parameter on the command line.

SecondLifeURL

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.