Advanced Server Settings
Plex Media Server has a number of advanced server settings that are not accessible from the Plex interface. Some settings can be accessed using the Plex Web App, while others can only be changed from outside of the Web app.
Most users, however, will not need to change these Plex server settings, and doing so can cause problems with your Plex Media server. If you would like to find and change these settings, you can use the information below.
Some of these settings are changed when you modify them to the suggested server settings.
Location of the advanced server settings
The location of the advanced server settings in Plex is different for each of the supported operating systems. For Windows, the settings are located in the registry, while other operating systems have a file in the data directory. The table below outlines where you can find the location of the Plex config file containing these server settings.
Operating System | Location |
---|---|
Windows | HKEY_CURRENT_USER\Software\Plex, Inc.\Plex Media Server\ |
macOS / OS X | ~/Library/Preferences/com.plexapp.plexmediaserver.plist |
Linux | Preferences.xml file is located in the Plex Media Server data directory. |
NVIDIA SHIELD | Preferences.xml file is located in the Plex Media Server data directory, but it isn’t accessible by a user. |
Available advanced settings
There are many different advanced settings for Plex Media Server that can be changed in the locations specified above. The various settings are outlined in the table below.
A few notes regarding Plex and Windows for the settings:
- The setting name is not case-sensitive in Windows. The setting name can begin with either a lowercase letter, as shown in the table below, or with an uppercase letter.
- A boolean value will be a DWORD type in the Windows registry. A true value will be 1, and a false value will be 0.
Setting Name | Value |
---|---|
albumSort | string Defines the default album sort using a field:directory value. Plex Media Server 1.4.1+ has a setting in the interface for library or artist. Example: year:desc |
allowMediaDeletion | boolean Specifies whether the server owner can delete media from disk. Example: True |
allowedNetworks | string Lists the networks that can access Plex Media Server without authentication. The full subnet must be listed. Example: 192.168.1.0/255.255.255.0,10.8.0.0/255.255.255.0 |
articleStrings | string A list of comma-separated words that are considered to be grammatical articles. They will be removed in sort titles. You can specify the words in different languages. Example: the, a, an, das |
autoEmptyTrash | boolean Empty trash automatically after every scan. Default: True. Example: True |
backgroundTranscodeLowPriority | boolean Causes the background transcodes to have a lower priority when this value is 1. Example: True |
butlerDatabaseBackupPath | string The backup directory where the database backups are stored. Default: {Plex Data Directory}/Plug-in Support/Databases Example: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Databases |
butlerEndHour | integer The hour when the background tasks stop running. The value is the hour number in a 24 hour clock. 0 (Midnight) to 23 (11 pm). Default: 5. Example: 3 (3 am) |
butlerStartHour | integer The hour when the background tasks start running. The value is the hour number in a 24 hour clock. 0 (Midnight) to 23 (11 pm). Default: 2. Example: 1 (1 am) |
butlerTaskBackupDatabase | boolean Backup the database every three days. Default: True. Example: True |
butlerTaskCleanOldBundles | boolean Clean old bundles every week. Default: True. Example: True |
butlerTaskCleanOldCacheFiles | boolean Remove old cache files every week. Default: True. Example: True |
butlerTaskDeepMediaAnalysis | boolean Perform extensive media analysis during maintenance. Default: True. Example: True |
butlerTaskGenerateAutoTags | boolean Analyze and tag photos. Default: True. Example: True |
butlerTaskOptimizeDatabase | boolean Optimize the database every week. Default: True. Example: True |
butlerTaskRefreshEpgGuides | boolean Perform refresh of program guide data. Default: True. Example: True |
butlerTaskRefreshLibraries | boolean Update all libraries during maintenance. Example: True |
butlerTaskRefreshLocalMedia | boolean Refresh local metadata every three days. Default: True. Example: True |
butlerTaskRefreshPeriodicMetadata | boolean Refresh metadata periodically. Default: True. Example: True |
butlerTaskUpgradeMediaAnalysis | boolean Upgrade media analysis during maintenance. Default: True. Example: True |
butlerUpdateChannel | integer The update channel. Values: 8 (Public) or 16 (Plex Pass). Default: 16. Example: 16 |
cinemaTrailersFromBluRay | boolean Include cinema trailers from new and upcoming movies on blu-ray. Plex Pass only. Example: True |
cinemaTrailersFromLibrary | boolean Include cinema trailers from movies in library. Plex Pass only. Example: True |
cinemaTrailersFromTheater | boolean Include cinema trailers from new and upcoming movies in theaters. Plex Pass only. Example: True |
cinemaTrailersPrerollID | string Cinema trailers pre-roll video. This field is the video's detail page URL. |
cinemaTrailersType | integer Choose cinema trailers from: 0 - all movies, 1 - only unwatched movies. Default is 1. Example: True |
collectUsageData | boolean Send anonymous usage data to Plex to help improve user experience. Default is 1. Example: True |
disableCapabilityChecking | boolean Disables plug-in compatibility checking. Compatibility checking ensures that plug-ins that are incompatible with the version of the Plex server, or the current client applications, are hidden. Default is 0. Example: False |
dlnaAnnouncementLeaseTime | integer The duration, in seconds, of the DLNA server SSDP announcement lease time. Default: 1800. Example: 1800 |
dlnaClientPreferences | string Client-specific configuration settings for the DLNA server. |
dlnaDefaultProtocolInfo | string DLNA default protocol info. The Protocol info value is used in GetProtocolInfo response by the DLNA server. Default: http-get::video/mpeg:,http-get::video/mp4:,http-get::video/vnd.dlna.mpeg-tts:,http-get::video/avi:,http-get::video/x-matroska:,http-get::video/x-ms-wmv:,http-get::video/wtv:,http-get::audio/mpeg:,http-get::audio/mp3:,http-get::audio/mp4:,http-get::audio/x-ms-wma,http-get::audio/wav:,http-get::audio/L16:,http-get:image/jpeg:,http-get:image/png:,http-get:image/gif:,http-get:image/tif |
dlnaDescriptionIcons | string DLNA server description icons. These are icons offered by DLNA server when devices request server description. Default: png, jpeg. 260x260, 120x120, 48x48. |
dlnaDeviceDiscoveryInterval | integer The number of seconds between DLNA media rendered discovery requests. Default: 60. Example: 60 |
dlnaEnabled | boolean Specifies whether DLNA is enabled. Default: True. Example: True |
dlnaPlatinumLoggingLevel | string Specified the separate, "Neptune DLNA" logging level. Values: OFF, FATAL, SEVERE, WARNING, INFO, FINE, FINER, FINEST, ALL. Default: OFF. Example: OFF |
dlnaReportTimeline | boolean The DLNA server timeline reporting. Enables the DLNA server to report timelines for video play activity. Default: True. Example: True |
enableIPv6 | boolean Turns on IPv6 support. Example: False |
friendlyName | string The friendly name for the Plex server that is shown in player apps. Example: My Plex Media Server |
fSEventLibraryPartialScanEnabled | boolean Specifies to only scan the library folder that is changed. FSEventLibraryUpdatesEnabled needs to be enabled. Example: True |
FSEventLibraryUpdatesEnabled | boolean Specifies whether a library scan is automatically started when changes to a library folder are detected. Example: True |
gdmEnabled | boolean Enables the GDM discovery for the Plex server from other players on the network. Set to 1 to enable. Example: True |
generateBIFBehavior | string Generate video preview thumbnails to provide live updates in 'Now Playing' and while seeking on supported apps. Thumbnail generation may cause high CPU usage, use more disk space, and take a long time. Thumbnail generation can be turned off for individual libraries in the library's advanced settings. Values: never, scheduled, asap. Default: never. |
generateBIFFrameInterval | integer Sets how often (in seconds) a video thumbnail is created. The default value is 2. Example: 2 |
generateBIFKeyframesOnly | boolean Specifies to only look at keyframes in a video when generating preview thumbnails for playback. This setting speeds up processing and reduces CPU usage. Default is 1. Example: True |
generateChapterThumbBehavior | string Generate chapter thumbnails to provide images in the chapter view on supported apps. The thumbnails can take a long time to generate and consume a lot of disk space. Values: never, scheduled, asap. Default: scheduled. |
iTunesLibraryXmlPath | path The path to the iTunes library XML file. Example: ~/Music/iTunes/iTunes Library.xml |
iTunesSharingEnabled | boolean Specifies whether the Plex server will try to connect with a local iTunes installation. Example: False |
LocalAppDataPath | string (Windows only) Sets the location of the Plex Media Server data directory. Default is C:\Users\{user_name}\AppData\Local\Plex Media Server. Example: D:\PlexData |
logDebug | boolean Specifies whether debug logging is enabled. Example: True |
logMemoryUse | boolean Sets the Plex Media Server to log memory use and the system total used memory. The server will need to restart, and is not recommended for normal use. Example: False |
logNumFiles | integer The number of past log files to keep. Default is 5. Example: 7 |
logTokens | boolean Allow Plex Media Server tokens in log. Plex tokens can be used to gain access to the server, and to perform tasks on the server. Don't share logs with tokens. A server restart is required for this change to take effect. Example: False |
logVerbose | boolean Specifies whether the logging is to be verbose. Not recommended for normal use. Default is 0. Example: False |
longRunningJobThreads | integer Specifies the number of threads used for long-running jobs. Default is half the total threads for the processor. Example: 4 |
manualPortMappingMode | boolean Indicates if the server is set to use port mapping for remote access. Example: False |
manualPortMappingPort | integer The manual port for remote access. ManualPortMappingMode needs to be set to 1. Example: 32400 |
minimumProgressTime | integer The minimum play time (in milliseconds) Plex will use to indicate a media item has started playing, and will allow user to resume playback. Default is 60000 (1 minute). Example: 60000 |
onDeckWindow | integer The numbers of weeks to use to determine if a media item is to be displayed for 'On Deck.' Default: 16. |
pluginsLaunchTimeout | integer The number of seconds to wait before a plug-in times out. Default: 180. Example: 180 |
ProcessedMachineIdentifier | string The SHA1 hash identifier for the Plex server. |
radioDaysSinceLastPlayed | integer For Radio or Smart Shuffle, have Plex prefer to include tracks that have not been recently played. This value is the recent period. Default is 2. Example: 5 |
radioDirectoryLimit | integer Controls how many "genre", "style", or "mood" radios are exposed, on clients that support those radio types. Default is 50. Example: 75 |
scannerLowPriority | boolean Run scanner tasks at a lower priority. Example: true |
scheduledLibraryUpdatesEnabled | boolean Specifies whether the Plex server will scan the libraries on a set interval Example: False |
scheduledLibraryUpdateInterval | integer The number of seconds between library scans. ScheduledLibraryUpdatesEnabled needs to be set to 1. Values: 900, 1800, 3600, 7200, 21600, 43200, 86400. Default: 3600. Example: 1800 |
secureConnections | integer Specifies how the server handles secure connections. Values: 2 (disabled), 1 (preferred), or 0 (required). Default: 1. Example: 1 |
sendCrashReports | boolean Specifies whether Plex Media Server sends crash reports when the server is launched after a crash. Example: False |
transcoderCanOnlyRemuxVideo | boolean Disables video stream transcoding. The transcoder may still transcode audio and remux video. Default: False. Example: False |
transcoderDefaultDuration | integer The duration (in minutes), the transcoder will work ahead of the current playback. Example: 60 |
transcoderH264OptionsOverride | string The x264 preset to use when transcoding. Example: veryfast |
transcoderLogLevel | string The Plex transcoder log level. Example: error (default) verbose |
transcoderPhotoFileSizeLimitMiB | integer The maximum photo size (in mebibytes) to be tagged or transcoded. Example: 75 |
transcoderTempDirectory | string The location where the temporary transcode segments are written. Example: D:\PlexTranscodes |
watchMusicSections | boolean Include music libraries in automatic updates. Linux limits the maximum number of watched directories; this might cause problems with large music libraries. |
Fixing settings issues
If you have issues with your Plex server after changing any of the above advanced settings, such as some Plex server settings missing, you can reset the values back to default by deleting either the preferences file or the keys in the Windows registry.
Deleting the preferences file will reset any changes you have made, and you will also lose any server shares or Mobile Sync items you may have. Your Plex Media Server library database will not be affected.
SysLog option
In addition to the above advanced settings, you can also have Plex enable syslogging on a Linux-based system. This can be done by setting the configuration variable: PLEX_MEDIA_SERVER_USE_SYSLOG=true
.
The variable will need to be added to the Plex Media Server configuration file. This file is located in the following locations:
CentOS/Fedora
Value: export PLEX_MEDIA_SERVER_USE_SYSLOG=true
Config File Location: /etc/sysconfig/PlexMediaServer
ReadyNAS
Value: export PLEX_MEDIA_SERVER_USE_SYSLOG=true
Config File Location: /etc/init.d/plexserver
Synology
Value: PLEX_MEDIA_SERVER_USE_SYSLOG=true
Config File Location: /var/packages/Plex Media Server/scripts/start-stop-status
Ubuntu 15 (and older)
Value: PLEX_MEDIA_SERVER_USE_SYSLOG=true
Config File Location: /etc/default/plexmediaserver
Ubuntu 16 (and newer)
Value: Environment="PLEX_MEDIA_SERVER_USE_SYSLOG=true"
Config File Location: /etc/systemd/system/plexmediaserver.service.d/override.conf