This appendix gives brief information about the contents of the configuration file for those administrators interested in editing it directly.
Editing the Configuration File
For those RealServer administrators who prefer to modify features by editing the configuration file directly, this appendix shows sample configuration file contents with brief descriptions. Detailed descriptions can be found in the chapters that describe each subject.
If you are going to modify the configuration file directly, please read the following sections:
It is recommended that you first use RealSystem Administrator to make changes, and then examine the configuration file to learn how changes are made. Noticing how lists are created and changed will be especially instructive.
 |
Warning |
|
Exit RealSystem Administrator before opening the
configuration file with a text editor or unexpected
changes may result.
|
Elements of the Configuration File
Settings are grouped into like categories. Variables that are not part of lists can appear anywhere in the configuration file, but are grouped here for clarity.
Most configuration file variables closely match names in RealSystem Administrator. Differences are noted here.
Ports
Port settings for RTSPPort, PNAPort, and HTTPPort are described in Chapter 4: Customizing RealServer Features. MonitorPort is described in Chapter 12: Monitoring Activity.
<Var RTSPPort="554"/> |
Where RealServer listens for RTSP requests. Default value is 554. |
<Var PNAPort="7070"/>
|
Where RealServer listens for PNA requests. Default value is 7070. |
<Var HTTPPort="8080"/>
|
Where RealServer listens for HTTP requests. Default value is 80 or 8080 if port 80 was unavailable during installation. |
<Var MonitorPort="9090"/>
|
The port which monitors (such as G2 Java Monitor) connect to RealServer. |
<Var AdminPort="7845"/>
|
Port number for RealSystem Administrator connection. |
Paths
LogPath and ErrorLogPath are described in Chapter 13: Reporting. PIDPath is described in Chapter 5: Advanced Features. PluginDirectory is described on Chapter 4: Customizing RealServer Features. LicenseDirectory is given on Chapter 3: Starting and Stopping RealServer.
Windows NT Variables
Path variables, along with typical paths used in Windows NT, are shown here.
<Var LogPath="C:\Program Files \Real\RealServer\Logs\rmaccess.log"/> |
LogPath indicates where and with what name the access log will be stored. If omitted, RealServer places rmaccess.log in the Logs directory. |
<Var ErrorLogPath="C:\Program Files \Real\RealServer\Logs\rmerror.log"/> |
ErrorLogPath gives the path and name of the error log file. If this setting is omitted, RealServer places rmerror.log in the Logs directory. |
<Var PluginDirectory="C:\Program Files Real\RealServer\Plugins"/> |
Shows where the plug-in files are stored. |
<Var LicenseDirectory="C:\Program File \Real\RealServer\License"/>
|
Gives the location of the license files. |
UNIX
One additional setting is found on RealServer running on a UNIX system: PIDPath.
<Var LogPath="/usr/bin/RealServer /Logs/rmaccess.log"/> |
LogPath indicates where and with what name the access log will be stored. If omitted, RealServer places rmaccess.log in the Logs directory. |
<Var ErrorLogPath="/usr/bin/RealServer /Logs/rmerror.log"/> |
ErrorLogPath gives the path and name of the error log file. If this setting is omitted, RealServer places rmerror.log in the Logs directory. |
<Var PluginDirectory="/usr/bin /RealServer/Plugins"/> |
Shows where the plug-in files are stored. |
<Var LicenseDirectory="/usr/bin /RealServer/License"/> |
Gives the location of the license files. |
<Var PidPath="/usr/bin/RealServer /Logs/rmserver.pid"/>
|
In UNIX systems, the location of the process id file. |
Passwords
MonitorPassword is described in Chapter 12: Monitoring Activity.
<Var MonitorPassword="letmein"/> |
Password used by G2 Java Monitor in connecting to RealServer. |
MIME Types
Setting up RealServer to send correct MIME type information with clips is described in Chapter 3: Starting and Stopping RealServer.
<List Name="MimeTypes"> |
<List Name="audio/x-pn-realaudio"> |
<Var Extension_01="ra"/> |
<Var Extension_02="ram"/> |
</List> |
<List Name="application/x-pn-realmedia"> |
<Var Extension_01="rm"/> |
</List> |
<List Name="application/x-pn-realmedia"> |
<Var Extension_01="rt"/> |
</List> |
<List Name="application/x-pn-realmedia"> |
<Var Extension_01="rp"/> |
</List> |
<List Name="application/x-pn-realmedia"> |
<Var Extension_01="smi"/> |
</List> |
<List Name="application/sdp"> |
<Var Extension_01="smi"/> |
</List> |
<List Name="text/html"> |
<Var Extension_01="html"/> |
<Var Extension_02="htm"/> |
</List> |
<List Name="image/gif"> |
<Var Extension_01="gif"/> |
</List> |
<List Name="image/jpg"> |
<Var Extension_01="jpg"/> |
<Var Extension_02="jpeg"/> |
</List> |
</List> |
Caching
This section allows media caches to request and cache streams on behalf of clients. Caching is described in Chapter 5: Advanced Features.
To selectively block media caches from requesting your content, add the media cache's IP address to the AccessControl list. In addition to specifying the IP address, indicate the port number to which access should be denied (usually 7802).
To block all media cache requests, set TSEnable to False.
To disable logging of cache requests, set the TSLog variable to 0.
<Var TSEnable="True"/> |
Permits media caches to request and then cache content streamed from RealServer (when set to True). (In RealSystem Administrator this is changed with Cache Requests.) |
<Var TSPort="7802"/> |
Port number to which media caches send their requests to RealServer. Do not change this unless you want to refuse requests from media caches. (In RealSystem Administrator this is changed with Cache Port.) |
<Var TSLog="1"/> |
Turns on the log of requests made by media caches. (In RealSystem Administrator this is changed with Cache Log.) |
<Var TSLogPath="C:\Program Files \Real\RealServer\Logs\cache.log"/> |
Path and file name of cache request log. The default location is the Logs directory, and the default name is ts.log. (In RealSystem Administrator this is changed with Cache Log Path.) |
<List Name="NoCacheDir"> |
List of directories whose content is not available to media caches. If RealServer receives a request for material included in the NoCacheDir list, it streams the file directly to the client rather than allowing it to be cached and re-transmitted. As always, RealServer records the transaction in the access log, and reports a download size of 0 bytes in the cached requests log file. |
<Var Directory_01="/nocache1/"/> |
For each directory you want to restrict, create another Directory variable. Each directory must start and end with a forward slash. |
<Var Directory_02="/nocache2/"/> |
</List> |
IP Binding
The ability to reserve specific addresses for RealServer's use is explained in Chapter 5: Advanced Features. This list uses variables numbered sequentially: Address_01, Address_02, and so on. Use one for each IP address you want to set aside for RealServer. Use the RealServer's IP address or DNS name for each variable; however, the IP address allows RealServer to be more efficient.
RealServer will bind to the specified addresses only; it will not bind to localhost.
If you don't use any values for the variables in the IPBinding list, RealServer binds to the host IP address and localhost. It does not bind to any others.
<List Name="IPBinding"> |
|
<Var Address_01="0.0.0.0"/> |
Each variable gives an address to reserve for use by RealServer. To reserve all addresses, set the address variable to 0.0.0.0 and remove all other address variables from the list. |
</List>
|
|
Live Archiving
The live archive feature is described in Chapter 7: Broadcasting Presentations.
For every virtual directory of live streams that you want to archive, create a list. The list must have the same name as the virtual directory. To archive all streams that arrive at the main content directory, name the list with an asterisk (*).
Each list must include either TargetDirectory (to indicate where to store the archived streams) or NoArchive (to indicate that the streams should not be archived) ; optional variables are FileSize, and FileTime, and BandwidthNegotiation.
<List Name="LiveArchive"> |
|
<List Name="*"> |
An asterisk for a list name indicates the main content directory. |
<Var TargetDirectory="/Archive"/> |
The virtual directory where RealServer will create the archive files. |
<Var FileSize="4"/> |
Creates archive files of live streams by their size. Given in megabytes. If you give values to both FileTime and FileSize, RealServer will use the first, or lower, limit reached. To save entire broadcasts without limiting the file size, omit both FileTime and FileSize. |
<Var BandwidthNegotiation= "True"/> |
Indicates that RealSystem 5.0-style bandwidth negotiation is in use. |
</List> |
|
<List Name="concerts"> |
|
<Var TargetDirectory="/Archive"/> |
|
<Var FileTime=1h"/> |
Creates archive files of live broadcasts in segments of this length. Format is XdYhZm where X is the number of days, Y is the number of hours, and Z is the number of minutes. You must enter them in dhm order. See also FileTime. RealServer requires that the units be in the mhd order, so if you specify a subset, be sure to use the correct order. |
</List> |
|
<List Name="secure"> |
|
<Var NoArchive="True"/> |
When set to True, disables archiving of live files for the given directory. |
</List> |
|
</List>
|
|
Allowance
Settings in this section refer to the allowance plug-in. They are described in Chapter 9: Limiting Access to RealServer.
If you establish values for both ClientConnections and MaxBandwidth, RealServer will limit access when the lower threshold is reached.
When set to On, ValidPlayerOnly sends a message to any clients other than RealNetworks RealPlayer version 5.0 or RealNetworks RealPlayer G2 directing them to upgrade to the latest version of RealPlayer. If set to Off, all clients can receive all clips. In Basic Server and Basic Server Plus, this is set to On and cannot be changed.
<Var ClientConnections="25"/> |
Limits the number of connections can be in use simultaneously. Must be less than or equal to the number of streams in your license. Range is 1 to 32767. If omitted or set to 0, RealServer uses the number in your license. |
<Var MaxBandwidth="64"/> |
Limits the amount of bandwidth in use by RealServer. The value is given in kilobits per second. |
<Var ValidPlayersOnly="True"/>
|
Allows only RealPlayer version 5.0 and RealPlayer G2 to access content. Any other clients attempting to view or listen to content display a message directing them to upgrade to the latest version of RealPlayer. If ValidPlayerOnly is set to Off, all clients can receive all clips. In Basic Server and Basic Server Plus, this is set to On and cannot be changed. |
<Var MinPlayerVersion="2"/>
|
Sets the minimum RealPlayer version that can access the content. To limit to version 2.0 and later, set MinPlayerVersion to 2, and so on. To allow only RealPlayer G2, set it to 6. |
<Var MinPlayerProtocol="0"/>
|
Limits access by protocol number. Use one of the following values for MinPlayerVersion:
1 RealAudio Player version 1.0
2 RealAudio Player version 2.0
3 RealAudio Player version 3.0
4 RealPlayer version 4.0
5 RealPlayer version 5.0
6 RealPlayer G2 |
<Var PlusOnly="False"/>
|
When set to True, PlusOnly allows only RealPlayer Plus to play content. |
HTTP Support
This feature, which indicates the virtual directories whose content can be streamed via HTTP, is explained in Chapter 9: Limiting Access to RealServer. Each Path variable gives the name of a virtual directory whose content can be streamed via HTTP.
Be sure that Admin and Ramgen are on this list; Admin refers to RealSystem Administrator, which is served via HTTP. Clips streamed with Ramgen may be requested in HTTP format. Also, the mount point used in the Scalable Multicast list must be included; this value is usually scalable. And push splitting uses HTTP for the initial connection conversation; add the push splitting mount point to this list, usually farm.
<List Name="HTTPDeliverable"> |
|
<Var Path_01="/admin"/> |
Each Path variable gives the name of a mount point, directory or virtual directory whose content can be streamed via HTTP. |
<Var Path_02="/localadminfs"/> |
<Var Path_03="/ramgen"/> |
<Var Path_04="/farm"/> |
<Var Path_05="/scalable"/> |
</List>
|
|
Access Control
Restricting access to RealServer content via the requesting client's IP address is described in Chapter 9: Limiting Access to RealServer. For every address or address range to which you want to restrict access, create a list with a unique number. The number can be any length, but a number of more than one digit is recommended in case more lists are added later; with multiple digits, the new lists can be inserted between existing lists.
Each list is called a rule. Rules are processed in numerical order. RealServer searches the list of rules to find the first rule that matches the address. Because RealServer searches the list of rules in numerical order, make your broadest categories first.
Within each list, the following settings are used: Access, Transport, To, From, and a list named Ports.
<List Name="AccessControl"> |
|
<List Name="100"> |
|
<Var Access="Allow"/> |
Whether access is allowed or denied: set to Allow or Deny. |
<Var Transport="TCP"/> |
Transmission method being accessed. TCP is the only option for this list. |
<Var To="127.0.0.1"/> |
Address of the host RealServer or network card of hosting machine. Use specific address or Any. |
<Var From="any"/> |
Address of the client computer whose access you are limiting. Use specific address or Any. To specify a range of IP addresses, either place a colon after the IP address and give the full subnet mask, or place a slash mark after the IP address and give the number of bytes for the subnet mask. For example, the following are equivalent values to use in the From variable: 172.16.3.0:255.255.255.0 and 172.16.3.0/24. Both examples specify the range of addresses from 172.16.3.0 to 172.16.3.254. |
<List Name="Ports"> |
List of ports to which access is restricted. |
<Var Port_01="554"/> |
The port number should match the port numbers which RealServer is using for other features, such as RTSPPort, HTTPPort, and the port value used by the encoder list. |
<Var Port_02="4040"/> |
<Var Port_03="5050"/> |
<Var Port_04="7070"/> |
<Var Port_05="8080"/> |
<Var Port_06="9090"/> |
</List> |
|
</List> |
|
</List> |
|
File Systems
The FSMount section of the configuration file gives the names of all the configurable file system plug-ins in use. The plug-ins themselves are stored in a directory indicated by the PluginDirectory variable.
All requests of the RealServer are processed by plug-ins. Plug-ins control which features are available. The modular plug-in design means that new features can be programmed and easily substituted for the existing plug-ins. New plug-ins may require different list arrangements and variables; check with the developer of the plug-in for this information.
 |
Additional Information |
|
RealSystem G2 SDK Developer's Guide provides developers
with the public interfaces used to extend and customize
RealSystem G2 to stream new datatypes, create new
clients, or to customize RealServer by building a new
plug-in.
|
ShortName Variable
Each list within FSMount gives a short name for the plug-in. The short name is also stored within the plug-in file itself, and RealServer uses this to identify the correct file to use. To add a plug-in to your RealServer, you must know the name to use in the FSMount section; this name is supplied by the developer of the plug-in. The short name is referenced with the ShortName variable in each file systems list.
RealNetworks Plug-in Names
| ShortName |
Windows Filename |
UNIX Filename |
Description |
pn-local |
smpl3260.dll |
smplfsys.so.6.0 |
Local File System |
pn-admin |
admi3260.dll |
adminfs.so.6.0 |
Admin File System |
pn-encoder |
enco3260.dll |
encoplin.so.6.0 |
G2 Live Encoder Plug-in |
pn-live3 |
liv33260.dll |
liv3plin.so.6.0 |
Pre-G2 Live Encoder Plug-in |
pn-ramgen |
ramp3260.dll |
ramplin.so.6.0 |
Ramgen File System |
pn-splitter |
pull3260.dll |
pullplin.so.6.0 |
Pull Splitting File System |
pn-farmsplit |
push3260.dll |
pushplin.so.6.0 |
Push Splitting File System |
pn-scalable |
pply3260.dll |
pplyplin.so.6.0 |
Scalable Multicasting File System |
Local File System
The local file system, which handles requests for nearly all streamed media content, is described in Chapter 2: Overview.
The local file system handles requests for static media clips. It uses the variables ShortName, MountPoint and BasePath.
If clips are stored on more than one disk drive, add multiple local file system lists, each with its own mount point. The list names need to be unique.
<List Name="RealContent"> |
Identifies this list as the main content list. |
<Var ShortName="pn-local"/> |
The short name indicates which file system handles requests directed to this mount point. |
<Var MountPoint="/"/> |
The mount point for your main content will be set to /, which means that no additional information need be specified in URLs for clips to be handled by the local file system. |
<Var BasePath="C:\Program Files\Real\RealServer\ Content"/> |
BasePath defaults to the Content subdirectory of your RealServer directory, which refers to the Content directory created during installation. All directories that you refer to in URLs will be relative to this directory. |
</List>
|
|
RealSystem Administrator
Two files systems work together to operate RealSystem Administrator: the local file system and the administration file system.
The administration file system accepts the initial URL for RealSystem Administrator. It requests the HTML files from the local file system. Once the local file system delivers the HTML files, the administration file system looks up your RealServer's values and displays them at the appropriate points in RealSystem Administrator.
Three variables are used for the RealAdministrator list: ShortName, MountPoint, and BasePath.
Five variables are use in the RealAdministrator_Files list: ShortName, MountPoint, Authorized_User_Group, Authentication, and Realm.
This tool is described in Chapter 4: Customizing RealServer Features.
<List Name="RealAdministrator_Files"> |
|
<Var ShortName="pn-admin"> |
RealSystem Administrator uses the pn-admin plugin. |
<Var MountPoint="/admin/"/> |
The default value for MountPoint is /admin/. If you change this, you will need to type a new URL to connect to RealSystem Administrator. |
<Var BaseMountPoint= "/localadmin/"/> |
This special form of mount point reflects the mount point of the RealAdministrator list. |
<Var Realm="AdminRealm"/> |
The Realm variable identifies which AuthenticationRealm settings will be used with requests sent to the RealSystem Administrator mount point. |
</List> |
|
|
|
<List Name="RealAdministrator"> |
|
<Var ShortName="pn-local"/> |
RealSystem Administrator uses the local file system. |
<Var MountPoint="/localadmin/"/> |
Mount point, used when RealAdministrator_Files list requests files from this plugin. The default value is /localadmin/. If you change this, be sure to change the RealAdministrator_Files list's BaseMountPoint to match. |
<Var BasePath="C:\Program Files \Real\RealServer \RealAdministrator"/> |
Location of the RealSystem Administrator files. |
</List> |
|
Ramgen
Ramgen is described in Chapter 2: Overview and in RealSystem G2 Production Guide. There are only two variables associated with Ramgen: ShortName and MountPoint.
|
<List Name="RAM_File_Generator">
|
|
|
<Var ShortName="pn-ramgen"/> |
The short name of the ram file generator is pn-ramgen. |
|
<Var MountPoint="/ramgen/"/> |
The default mount point is /ramgen/. |
</List>
|
|
Encoders
G2 Encoders
Receiving streams from both RealSystem G2 encoders and earlier versions are explained in Chapter 7: Broadcasting Presentations. These variables are used in this list: ShortName, MountPoint, Port, AssociatedMediaPath, and Realm.
Unlike other plug-ins, encoder lists cannot have multiple mount points.
<List Name="G2_Encoders"> |
|
<Var ShortName="pn-encoder"/> |
Short name of G2 live encoder plugin. See "RealNetworks Plug-in Names" table for values. |
<Var MountPoint="/encoder/"/> |
Portion of URL that indicates the type of request and therefore which file system will handle the request. |
<Var Port="4040"/> |
Port to which G2 encoders will send their live streams. Default value is 4040. |
<Var AssociatedMediaPath= "events"/> |
Name of directory containing event files. A live stream whose name matches a file in this directory will merge its live streams with the events. |
<Var EncoderRealm= "EncoderRealm"/> |
List of authentication protocols and databases. See AuthenticationRealms list. |
</List> |
|
Pre-G2-Encoders
The list for encoders such as RealEncoder and RealPublisher versions 5.0 and earlier uses these variables: ShortName, MountPoint, Port, AssociatedMediaPath, Realm, and Password.
Unlike other plug-ins, encoder lists cannot have multiple mount points.
<List Name="Pre_G2_Encoders"> |
|
<Var ShortName="pn-live3"> |
Short name of 5.0 and older live encoder plugin. See "RealNetworks Plug-in Names" table for values. |
<Var MountPoint="/live/"/> |
Portion of URL that indicates the type of request and therefore which file system will handle the request. |
<Var Port="5050"/> |
Port to which older encoders will send their live streams. Default value is 5050. |
<Var AssociatedMediaPath= "events"/> |
Name of directory containing event files. A live stream whose name matches a file in this directory will merge its live streams with the events. |
<Var Password="letmein"/> |
Password used by encoders to connect to RealServer. |
</List> |
|
Splitting
Push Splitting
The push splitting method is described in Chapter 8: Splitting and Multicasting. Settings that go on both the source RealServer and the splitter are ShortName, MountPoint, Port, SplitterHostName, and the FarmSplitSources list.
The source uses the SplitterResendBuffer and SplitterSourceTimeout variables.
The splitter uses the SplitterSourceList with one or many sublists, and the SplitterBufferDelay, SplitterTimeout, SplitterSourceProbeInterval, and SupportPathDirectory variables.
You can create another push splitting list by copying the list structure and changing the name of the overall list from Splitter_Farm to something different.
<List Name="Splitter_Farm"> |
Push splitting list. |
<Var ShortName="pn-farmsplit"/> |
The short name of pn-farmsplit indicates the plugin to use. |
<Var MountPoint="/farm/"/> |
Mount point used in URLs. |
<Var SplitterHostName= "myhost.domain.com"/> |
Domain and name of this RealServer. |
|
|
<!-- source variables --> |
The next two variables are necessary only on the source. |
<List Name="FarmSplitSources"> |
Identifies which directories will not be split. Each sublist of FarmSplitSources names a directory. To indicate all directories at once, use an asterisk (*) for the list name. The NoSplit variable indicates whether the directory will be split. To allow streams from all directories to be split, set NoSplit to False (or set Split All Streams to Yes in RealSystem Administrator). |
<List Name="/live/concerts/"> |
<Var NoSplit="True"/> |
</List> |
</List> |
<Var SupportPathDirectory= "c:\Program Files\Real\ RealServer\Lib"/> |
Gives the location of the encnet.dll (Windows) or encnet.so.6.0 (UNIX) file, usually the RealServer Lib directory. |
<Var SplitterResendBuffer="60"/> |
Size of the buffer for UDP resends, in seconds. Permitted values are from 0 to 32767. |
<Var SplitterSourceTimeout="60"/> |
Limits how many seconds the source RealServer will wait before sending data to a splitter that is not responding. |
|
|
<!-- splitter variables --> |
The following settings are necessary on the splitter only. |
<Var Port="11002"/> |
Port number on the receive splitter which will receive splitter connections. |
<List Name="SplitterSourceList"> |
List of source RealServers that this splitter should contact for live streams. |
<List Name="Host1"> |
Names each source RealServer from which this splitter will be splitting streams, one list per source. |
<Var Address="host.domain .com"/> |
Name or IP address of the RealServer to contact for streams. |
<Var Port="8080/> |
Port number on the source RealServer to which this splitter will direct its probes. |
</List> |
</List> |
|
<Var SplitterBufferDelay="60"/> |
Seconds of data to store in the buffer, thus reducing dropouts over a splitter connection. |
<Var SplitterTimeout="60"/> |
Seconds a splitter will wait before considering a stream inactive. Range is from 0 to 32767. |
<Var SplitterSourceProbeInterval= "60"/> |
Frequency with which the splitter requests a stream from a source. Given in seconds. |
</List> |
|
Pull Splitting
The second splitting method, pull splitting, is described in Chapter 8: Splitting and Multicasting.
Only three variables appear in the pull splitting: ShortName, MountPoint, and Port. The source RealServer and the splitter have the same information in their Splitter_DoubleURL sections, but each system is interested in different information: the RealServer looks at the Port value, and the splitter looks at the mount point.
<List Name="Splitter_DoubleURL"> |
|
<Var ShortName="pn-splitter"/> |
Short name of the pull splitting plugin. Default is pn-splitter. |
<Var MountPoint="/split/"/> |
Mount point. Used in URLs that reference pull splitting streams. Default is /split/. |
<Var Port="3030"/> |
Port number to which the source RealServer will listen for pull splitting requests. |
</List>
|
|
Multicasting
Two methods of multicasting are available: scalable and back-channel.
Scalable Multicasting
Scalable multicasting is described in Chapter 8: Splitting and Multicasting. Located within the FSMount list, scalable multicasting uses the following variables: ShortName, Enabled, HostAddress, MountPoint, PortRange, AddressRange, VirtualPath, and TTL.
Create one list within the Sources list for every virtual path you want to make available for scalable multicasting.
Be sure to add the mount point to the HTTPDeliverable list.
<List Name="FSMount"> |
|
... |
|
<List Name="Scalable Multicast"> |
|
<Var ShortName="pn-scalable"/> |
Gives the short name of the plugin file. |
<Var HostAddress=""/> |
Indicates name of RealServer host computer. |
<Var MountPoint="/scalable/"/> |
Mount point used in all URLs for scalable multicasts. |
<List Name="Sources" |
Each list within this list represents a virtual directory that is to be streamed via scalable multicast. |
<List Name="Concerts"> |
Name of this list. |
<Var VirtualPath="French"/> |
Live streams encoded to the French virtual directory will be available via scalable multicast. To indicate that all live sources should be available for scalable multicast, use an asterisk (*)for the virtual path name. |
<Var Enabled="True"/> |
Enables scalable multicasting for this virtual directory. |
<Var AddressRange= "231.1.1.1-231.1.1.10"/> |
Range of addresses to which you want to send streams. RealServer uses the first available address in this range. |
<Var PortRange="7300-7320"/> |
Range of addresses to which RealServer can send a multicast stream. RealServer uses the first available address. |
<Var TTL="16"/> |
Time To Live for multicast packets travelling over the network. |
</List> |
|
<List Name="Live Concerts"> |
Name of this list. |
<Var VirtualPath= "Liveconcerts"/> |
Virtual directory which will be available via scalable multicast. |
<Var Enabled="True"/> |
See description earlier in this section. |
<Var AddressRange= "231.1.1.1-231.1.1.10"/> |
See description earlier in this section. |
<Var PortRange="7300-7320"/> |
See description earlier in this section. |
<Var TTL="16"/> |
See description earlier in this section. |
</List> |
|
... |
|
</List> |
|
Back-Channel Multicasting
Unlike scalable multicasting, back-channel multicast settings are not located within the FSMount list. Back-channel multicasting, both RTSP and PNA methods, is described in Chapter 8: Splitting and Multicasting.
Settings used with this list are AddressRange, DeliveryOnly, PNAPort, RTSPPort, Resend, and TTL.
<List Name="Multicast"> |
|
<Var AddressRange=""/> |
Range of addresses to which you want to send streams, in the form of address-address. RealServer uses the first available address in this range. If you are using other types of multicast, be sure that the address ranges are different and do not overlap. If your multicast streams are referenced in SMIL files, you will need one address for each stream. |
<List Name="ControlList"> |
The ControlList list gives the addresses of clients allowed to receive multicast transmissions. |
<Var Allow= "164.16.2.24:255.0.0.0"/> |
Address and netmask, separated by a colon, of clients allowed to receive multicast transmissions. Uses same format as From variable in AccessControl list. |
</List> |
<Var DeliveryOnly="False"/> |
Requires clients listed in ControlList to receive only multicast transmissions from RealServer. When DeliveryOnly is False, clients on ControlList can receive both multicasts and unicasts. |
<Var PNAPort="7070"/> |
Port on client machines to which RealServer sends PNA streams. Default value is 7070. |
<Var RTSPPort="554"/> |
Port on client machines to which RealServer sends RTSP streams. Default value is 554. |
<Var TTL="16"/> |
Time To Live for multicast packets travelling over the network. |
<Var Resend="True"/> |
Allows or denies requests from clients for resends of missing UDP packets. |
</List> |
|
Authentication and Commerce
Authentication is described in Chapter 10: Authenticating RealServer Visitors.
Authentication Realms
A realm is a way of associating a group of users and the protocol used to verify their credentials.
Each sublist of AuthenticationRealms gives properties for a different realm. Every realm has a name (identified by the Realm variable), and a list that identifies what type of authentication is used in that realm. Depending on which authentication type you choose, different variables are required within the sublist (see the "AuthenticationRealms PluginID Settings" table). When RealServer is installed on a Windows NT system, you can take advantage of NT authentication and direct RealServer to use the list of authorized users.
<List Name="AuthenticationRealms"> |
|
<List Name="SecureAdmin"> |
A realm. |
<Var Realm="AdminRealm"/> |
Name of this realm. Lists in the CommerceRules and FSMount lists may refer to this. |
<List Name="NTLMAuthenticator"> |
User-defined description of authentication to use in this realm. Use only one type of authentication per realm. |
<Var PluginID="rn-auth-sspi"/> |
Plug-in which performs the authentication. For a list of options, see the "AuthenticationRealms PluginID Settings" table below. |
<Var Provider="NTLM"/> |
|
<Var Group="Administrators"/> |
Name of an NT administrator-defined user group, whose members are allowed access. In this example, only members of the "Administrators" group are permitted to view content controlled by this realm. |
</List> |
</List> |
<List Name="SecureEncoder"> |
A realm. |
<Var Realm="EncoderRealm"/> |
See description earlier in this section. |
<List Name="RN5Authenticator"> |
User-defined description of authentication to use in this realm. Use only one type of authentication per realm. |
<Var PluginID="rn-auth-rn5"/> |
Plug-in which performs the authentication. For a list of options, see the "AuthenticationRealms PluginID Settings" table below. |
<Var DatabaseID= "Encoder_RN5"/> |
Identifies which database to look in for authentication data. Refers to a list name within the Databases list. |
</List> |
</List> |
<List Name="SecureContent"> |
A realm. |
<Var Realm="ContentRealm"/> |
See description earlier in this section. |
<List Name="NTLMAuthenticator"> |
User-defined description of authentication to use in this realm. Use only one type of authentication per realm. |
<Var PluginID="rn-auth-sspi"/> |
Plug-in which performs the authentication. For a list of options, see the "AuthenticationRealms PluginID Settings" table below. |
<Var Provider="NTLM"/> |
See description earlier in this section. |
</List> |
|
</List> |
|
</List> |
|
AuthenticationRealms PluginID Settings
| PluginID Value |
Authentication Protocol |
Associated Variables |
rn-auth-basic |
Basic |
DatabaseID (required) |
rn-auth-rn5 |
RN5 |
DatabaseID (required) |
rn-auth-sspi |
Windows NTLM Challenge/Response |
Provider (required), Group (optional) |
Commerce Rules List
The commerce rules list associates part of an URL with authentication. When RealServer looks through the URL to decide which plugin should process the request, it compares each section of the URL with the ProtectedVirtualPath. Should this match, RealServer looks at the other information within the list to determine which realm protects the content, and which database lists the permissions (if any).
Each sublist within SecureContent associates the mount point with the information. The mount point for RealSystem Administrator does not need to go here.
Variables used with sublists are ProtectedVirtualPath, Realm, UseGUIDValidation, EvaluatePermissions, AllowDuplicateIDs, and DatabaseID. Use Realm or UseGUIDValidation, but not both.
<List Name="CommerceRules"> |
|
<List Name="SecureContent"> |
|
<Var ProtectedVirtualPath= "/secure"/> |
Name of the mount path, virtual directory, or actual directory, used in URLs, that you want RealServer to authenticate. |
<Var Realm="ContentRealm"/> |
This points to the realm names in AuthenticationRealms list. Sets up user authentication. Don't use if UseGUIDValidation is also in use. |
<Var EvaluatePermissions="True"/> |
Instructs RealServer whether or not to look t the permissions list, or to just allow access to all content. |
<Var DatabaseID="Content_RN5"/> |
Points to the database identifiers in the Databases list. |
<Var AllowDuplicateIDs="False"/> |
Determines whether someone who's already logged on can successfully log on at another location. When set to False, a user gets the error message "Your account is locked" if they attempt to log on using the same account or player ID. |
</List> |
|
<List Name="SecureLiveContent"> |
|
<Var ProtectedVirtualPath= "/encoder/secure"/> |
Name of the mount path, virtual directory, or actual directory, used in URLs, that you want RealServer to authenticate. |
<Var UseGUIDValidation="True"/> |
Sets up player authentication. Gathers the client's ID, but not the user's name. Don't use if Realm is in use. |
<Var EvaluatePermissions="True"/> |
See description earlier in this section. |
<Var DatabaseID="Content_RN5"/> |
Points to the database identifiers in the Databases list. |
<Var AllowDuplicateIDs="True"/> |
See description earlier in this section. |
</List> |
|
</List> |
|
Player Authentication
In player authentication, the client sends a special string to RealServer indicating that the client is registering. The GUIDRegistrationPrefixes list identifies the special string (the GUIDRegistrationPrefix variable) and the database in which to store the player identification. You must embed this string in the link on teh Web page.
Two variables are required for each sublist: GUIDRegistrationPrefix and DatabaseID.
<List Name= "GUIDRegistrationPrefixes"> |
|
<List Name="FirstDatabase"> |
|
<Var GUIDRegistrationPrefix= "register1"/> |
String required from client in registering. Can be any single word, with any combination of letters and integers. Must be unique in the GUIDRegistrationPrefixes list. |
<Var DatabaseID="Content_RN5"/> |
Name of database, from Databases list, that will store this type of data. |
</List> |
<List Name="SecondDatabase"> |
|
<Var GUIDRegistrationPrefix= "register2"/> |
String required from client in registering. Can be any single word, with any combination of letters and integers. Must be unique in the GUIDRegistrationPrefixes list. |
<Var DatabaseID="Content_ODBC"/> |
Name of database, from Databases list, that will store this type of data. |
</List> |
</List> |
|
Databases List
The databases list is the master list of available databases for each type of authentication. Databases store usernames and passwords of authorized users.
Within the list, sublists associate database plugins with location information.
The options available to each sublist are PluginID, Path, DBName, DBLoginPassword, and DBLoginPassword. The last two are only required if the PathToDBPlugin is set to ppvm3260 or ppvo3260.
<List Name="Databases"> |
|
<List Name="Admin_Basic"> |
|
<Var PluginID="rn-db-flatfile"/> |
Name of plugin that will interact with the database. See "Databases PluginID Values" table for a list of options. |
<Var Path="C:\Program Files \Real\RealServer\adm_b_db"/> |
Location where the database files are stored or will be stored. |
</List> |
|
<List Name="Encoder_RN5"> |
|
<Var PluginID="rn-db-wrapper"/> |
Name of plugin that will interact with the database. See "Databases PluginID Values" table for a list of options. |
<Var Path="C:\Program Files \Real\RealServer\enc_r_db"/> |
Location where the database files are stored or will be stored. |
</List> |
|
<List Name="Content_RN5"> |
|
<Var PluginID="rn-db-wrapper"/> |
Name of plugin that will interact with the database. See "Databases PluginID Values" table for a list of options. |
<Var PathToDBPlugin="C:\Program Files\Real\realserver\Plugins \ppvb3260.dll"/> |
Location of plugin file. |
<Var DBName="C:\Program Files \Real\RealServer\con_r_db"/> |
Location where the database files are stored or will be stored. |
<Var DBLoginUsername="amanda"/> |
User name required by database. (Optional.) |
<Var DBLoginPassword="q27df"/> |
Password required by database. (Optional.) |
</List> |
|
</List> |
|
Databases PluginID Values
| PluginID Value |
Data Store Method |
Associated Variables |
rn-db-wrapper |
Interface to work with older protocols |
PathToDBPlugin (required), DBName (required) |
Logging
Logging and reporting features are described in Chapter 13: Reporting. Variables which control the locations of the access and error log files are described in "Paths" of this chapter.
<Var LoggingStyle="3"/> |
Determines how much data about clips served is gathered in the access log. |
<Var StatsMask="0"/>
|
Determines how much data about clients is gathered in the access log. |
<Var LogRollFrequency="4W"/>
|
Creates a new access log for each period specified. The period is indicated in the format xD, xW, or xM, where x is a number. See also LogRollSize. For example, 4D will keep 4 days of information in the log file. |
<Var LogRollSize="50"/>
|
Creates a new access log when the indicated file size is reached. See also LogRollFrequency. If you include both LogRollFrequency and LogRollSize, RealServer uses the variable it finds first. |
Disable log file rolling by changing the LogRollFrequency and LogRollSize variables to 0.
Copyright © 1998
RealNetworks
This file last updated on 11/20/98 at 15:21:52.