Iron Realms Entertainment
Most of the behavior of Rapture can be customized through command line options or (preferably) through a specified configuration file. Each configuration option that can be specified in the file can be set by prefixing ‘--’ to the name of the option and following it immediately by the value on the command line. Values specified in this way override any values already set by a config file. For purposes of this document we will assume all values are being set by the file mechanism.
Set Config Options
To set the options via a config files, simply create an empty text file (using your favorite text editor) and set the options, one per line. It simply parses each line and tries to set the first word (non-whitespace chunk of characters) to the value immediately following it on the rest of the line. If the first character of the line is a ‘#’ or the entire line is blank, then the entire line is treated as a comment and is ignored.
The -c option may be used on the command line to tell Rapture to load a configuration file:
$ rapture -c <config file>
or alternately, each option can be specified on the command line
$ rapture -<option> <value>...
Either way, the only option that absolutely must be set is the Executable option. This must point to the executable that needs to be run when ready to do so. Without it, Rapture has nothing to do and simply quits immediately (well technically it looks for a default of rapture.out but nobody uses that).
The Key File
Upon startup, the Rapture Runtime Environment looks for a valid key file in the current directory named rapture.key (or elsewhere if the KeyFile option has been specified). This checks for license integrity, expiration date, etc. If any of this should fail, Rapture will be unable to start. Upon passing all these tests, the code is loaded, databases opened, and execution begun.
The main() Procedure
In order to tell Rapture where to begin executing, you provide a subroutine named main() in your executable somewhere, Rapture finds this and begins execution there. Rapture will then only exit when too many errors have been generated or you return control from that main subroutine. If the reload() internal routine has been called prior to returning from main(), then the executable will be unloaded and loaded again (from the hard drive) and the process will begin again. All of this will happen without losing any database or network connections and allows a swapping in and out of the game logic and mechanics at runtime. This ``warm boot’’ is greatly advantageous in systems which cannot be shut down and run 24 hours a day. For example, a program can use this to implement new features and fix bugs all invisibly to any users currently connected to the system.
This is a list of the options that can be set in the config file for the Rapture Runtime Environment.
Rapture requires a valid license to run. When Rapture starts up, it looks for a file called rapture.key in the current directory. (Or another location if specified using the KeyFile config option). This key file contains information necessary to validate your license and permit Rapture to run normally. Rapture checks and performs validations automatically as long as the key file is present. If it is not, Rapture will interactively ask for both a license number and an activation code to be used in generate the key file. Once your license information has been authorized, Rapture will start up normally.
The initial authorization screen will look something like the following.
Rapture Runtime Engine v1.2.0 - Copyright (c) 2002 - Iron Realms Entertainment
Sometimes it is necessary for you to specify the location of the license authority so that your license may be authorized for use. This may be done using the LicenseAuth config option. Note that the format for this option is: <host address>:<port>. Example: achaea.com:28028. This information will be provided when you obtain your license.
Sample Config File