The first thing you’ll want to specify in the configuration file is the “directory” entry.
Note that for DGD versions before August of 2020 you will always have to specify the full, absolute path to the relevant directory for any new DGD installation, including a simple “git clone”, before your application will run. Later DGD versions using an absolute path for “directory” have the same requirement.
Directory
DGD versions from September 2020 or later permit using a relative directory entry - for instance, if your DGD root is called “root” under the main directory, you could just say ‘directory = “root”;’.
Earlier DGD versions require you to specify an absolute path starting with “/” to the specific installed directory for DGD.
Other Configuration
- telnet_port (mapping)
- A mapping containing host:port pairs, where the host
or string is a name, an IP number or “*”, and the port
number number is a port on which to accept telnet connections.
Alternatively, a telnet port number.
- binary_port (mapping)
- A mapping containing host:port pairs, where the host
or string is a name, an IP number or “*”, and the port
number number is a port on which to accept raw TCP/IP
connections. Alternatively, a binary port number.
- datagram_port (mapping)
- A mapping containing host:port pairs, where the host
or string is a name, an IP number or “*”, and the port
number number is a port on which to accept datagram
connections. Alternatively, a datagram port number. (optional)
- directory (string)
- The base directory for the system.
- modules (mapping)
- A mapping containing module:config pairs, where the
module string is the path of a runtime extension
module, and the config string is used to initialize it.
(optional)
- users (number)
- The maximum number of active telnet and binary connections.
- datagram_users (number)
- The maximum number of active datagram connections. (optional)
- editors (number)
- The maximum number of simultaneously active editor instances.
- ed_tmpfile (string)
- The proto editor temporary file (actual files will have a number appended).
- swap_file (string)
- The name of the swap file.
- swap_size (number)
- The total number of sectors in the swap file.
- cache_size (number)
- The number of sectors in the swap cache in memory.
- sector_size (number)
- The size of a swap sector in bytes.
- swap_fragment (number)
- The fragment of all objects to swap out at the end of
each task (e.g. with a swap_fragment of 32, 1/32th
of all objects will be swapped out).
- static_chunk (number) and dynamic_chunk (number)
- The size in bytes of a static or dynamic chunk of memory.
Memory is divided into static memory
and dynamic memory; static memory is never freed.
Both are allocated in chunks of the specified size.
Setting the size of the static chunk to 0 will
cause the system never to swap out everything to
make more room for static memory, but will also
increase fragmentation.
- dump_file (string)
- The name of the snapshot file.
- dump_interval (number)
- The expected interval between snapshots, in seconds.
Effectively, the time during which the swapfile will be
fully recreated.
- hotboot (string*)
- Program, with arguments, to execute during hotboot. (optional)
- typechecking (number)
- If zero, only functions with a declared type are typechecked.
If one, all LPC functions are typechecked.
If two, additionally, nil (the value of an uninitialized
string, object, array or mapping variable) is a value
distinct from integer 0.
- include_file (string)
- The standard include file, which is always
included automatically for each compiled object
(relative to the base directory).
- include_dirs (string*)
- The standard system include directories (relative
to the base directory). In the first of those,
the include files which are automatically
generated on startup will be placed.
- auto_object (string)
- The file name of the auto object (relative to the base directory).
- driver_object (string)
- The file name of the driver object (relative to the base directory).
- create (string)
- The name of the create function.
- array_size (int)
- The maximum array and mapping size.
- objects (int)
- The maximum number of objects.
- call_outs (int)
- The maximum number of simultaneously active callouts.