Table of Contents

Unreal4 Configuration Documentation

This is the in-depth documentation for your server configuration.

Because the core for Unreal4 is still being developed (pre-alpha), the items in this documentation may change drastically before an alpha is released, and then even more before we get to beta!

About the Configuration File

Differences

Unreal4's configuration file will appear to be much the same as Unreal3.2. One of the most noticeable changes is that directives in the configuration now contain capital letters to make them more readable. Note that many configuration directives have been renamed, moved, or simply just don't exist anymore.

Comments

Currently comments are lines prefixed with // or #.

Variables

There are some variables pre-defined for use in the configuration, as well as the ability to reference other configuration directives through the use of variables.

If you want to reference a different part of the configuration, you simply but the directive notation inside a $(). For example, if you wanted to get the Description directive from the Me Block, you would use $(Me::Description).

As mentioned in the beginning of this section, Unreal has some built-in variables for use, which are as follows:

Required Configuration

Me Block

The Me Block defines basic information about your server.

Example of the Me Block

Me {
  ServerName     "irc.example.net";
  Description    "Example IRC Server";
  Network        "ExampleNet";
  Numeric         1;
  ReactorPoolSize 1;
  Threads         0;
};

Admin Block

The Admin Block contains information returned to a user when they send the ADMIN command.

Example of the Admin Block

Admin {
  Contact     "Server Administrator <admin@example.net>";
  Description $(Me::Description);
  Location    "Somewhere nice";
};

Limits Block

The Limits Block sets the maximum limits for certain user-settable strings on your server.

Example of the Limits Block:

Limits {
  Awaylen    250;
  Channellen 24;
  Nicklen    18;
  PingFreq   120;
  Topiclen   250;
  Userlen    10;
};

Listener Block

Defines the ports users may use to connect to your server. You may have as many of these as you want.

Example of the Listener Block:

Listener {
  Address        "0.0.0.0";
  Port           6667;
  MaxConnections 256;
  PingFreq       120;
  Type           "Client";
};

LoadModule Directive

Defines a module to be loaded when the server is started.

Example of LoadModule:

LoadModule modules/m_command.so;

Recommended Configuration

Operator Block

Operator configuration for logging in as an oper.

Example of an Operator Block

Operator {
  Name     "foo";
  Password "bar";
};

Optional Configuration

Include Directive

Includes a separate configuration file. This allows you to split up your configuration into multiple files. Many users to do this to simplify large configurations.

Example of Include:

Include "otherconf.conf";