Applications contain the commands you can enter into the system. There are a couple of application included with the system.
To install a application to have to add it to the application list of the GatewatDaemon in the system configuration:
[UnGateway.GatewayDaemon] ApplicationClasses=<application class 1> ApplicationClasses=<application class 2> ApplicationClasses=...You can add as many application classes as you want.
The following application classes are included with the system:
|Contains debug commands, there's no need to install this application|
|Contain default commands like "help" and "quit"|
|Provides a cron daemon to program commands to be executed at a set time.|
|Provides general system commands for UT2004, like shutdown and servertravel|
|Contains commands to change settings and maplists|
Out of the box UnGateway doesn't do much. You need to configure interfaces and applications that are available. To add an interface add the following to your system configuration:
[UnGateway.GatewayDaemon] InterfaceClasses=<interface class 1> InterfaceClasses=<interface class 2> InterfaceClasses=...
The following interface classes are available:
|Telnet server, emulates a VT102 terminal server|
Other optionsBesides the interfaces and the applications you can also change the following setting. However, most of these don't require any changes.
[UnGateway.GatewayDaemon] Verbose=0 AuthClass=UnGateway.GAuthSystem CmdAliases=(alias="reboot",command="shutdown now \"restarting the server, please return in a couple of second\"") CmdAliases=(alias="p",command="players %@") ...
- This sets the log verbosity. It's a binary list of flags: Error = 1; Warning = 2; Info = 4; Event = 8; Debug = 128. You probably only want to set the Error flag and maybe the Warning flag.
- This is the authentication system used to authenticate the logins. The system comes with one system
UnGateway.GAuthSystem, this will just used the UT2004's AccessControll class to validate the logins.
- This will allow you to create aliases for certain commands. You can have as many aliases as you want, you can only use real commands in the command value of the alias. Aliases have a higher priority than the actual commands. these aliases are system wide, so every user can use these aliases. By default no aliases have been configured.
General interface configurationEach interface has the following configuration options. Additional configuration options may be available per interface.
iListenPort=0 bUseNextAvailable=false iMaxClients=10 AccessPolicy=(hostmask="*",policy=AP_Allow) ...
- The TCP port to listen on for incoming connections. By default the built-in interfaces have not configured any listen port. So you will have to set them up correctly before you start the server.
- If the listen port is already in use, use the next available port to bind to. It's adviced to set this value to false.
- The maximum number of clients allowed. If the max has been reached, new clients will be denied.
- This controlls from which IP mask client may or may not connect from. The default policy is to accept clients from any IP mask. The order of the AccessPolicy is important, the last match has the final ruling.
The hostmask can contain the following wildcards: * = zero or more matches; ? = one single character.
The policy can either be
Application configurationSome applications have configurable options. Unless stated otherwise, all configurations belong in the system configuration.
- the Cron daemon class, no need to change this
[UnGateway.Cron] DummyClientClass=UnGateway.CronClient Crontab=(Command="somecommand",Type=EC_Delay,Time="5",Desc="added by Admin",bDisabled=False) ...
- The dummy client used to capture the output of commands. No need to change this
- The cron configuration. You can add as many cron entries as you want.
field description Command the command to secute Type
Time time configuration, format depends on the value of Type. Desc description bDisabled when true the command will never be executed
- The command will be executed after set number of minutes after the level has been loaded.
- The command will be executed when the set time has been reached.
Time field format, 5 fields:
minute hour day month day_of_week
minute: 0-59 hour: 0-23 day: 0-31 month: 0-11 day_of_week: 0-6
[UnGateway.CronClient] bSilent=false bExternalLog=false LogFilename="crondaemon_%P"
- only log errors
- use and external log file
Log filename to use. The following formatting rules are accepted:
%P server port %Y year %M month %D day %H hour %I minute %S second %W day of the week
Interface configurationMost interfaces (or it's client handlers) have additional configuration options.
UnGateway.GITelnetdNo additional configuration options for the interface. But the client handler has some options.
[UnGateway.GCTelnet] CommandPrompt="%username%@%computername%:~$ " iMaxLogin=3 fDelayInitial=0.0 fDelayWrongPassword=5.0 bDisableAuth=false bEnablePager=true bSaveHistory=false CommandHistoryClass=UnGateway.TelnetCommandHistory ChatMode=CM_Disabled bShowMotd=true MOTD=... MOTD=... ...
- The command prompt format. The following replacements can be used:
%username%, %computername%, %hostname%, %hostaddress%, %clientaddress%
- The maximum login tries before the connection is closed.
- the number of seconds to wait before the user can try to log in.
- Number of seconds to wait before a user can try to log in again. this prevents brute forcing a password.
- Disable authentication completely. You should not do this, it will allow everybody to login without a username and password.
- The pager is the automatic scroll feature that allows users to scroll up or down when a command output is more than could fit on the screen.
- Save each user's command history to the UnGateway.ini file. This will add some useless overhead during login and logout.
- The class to spawn for saving\loading the command history
- The intial chat mode. With full chat mode everything the user enters
will be a chat command. With partial chat only part of the screen is
reserved for messages and only when the user uses the say command it
will be considerd as a chat message.
Full chat mode
Partial chat mode
toggle partial chat mode
full chat mode
- Show the message of the day
- The Messsage Of The Day.
UnGateway.GIIRCdNo additional configuration options for the interface. But the client handler has some options.
[UnGateway.GCIRC] bShowMotd=true bMustLogin=false MaxChannels=2 bAllowCreateChannel=false MOTD=... MOTD=... ...
- Show the message of the day on login
- if set the user must login with a valid username and password when they register
- Maximum Channels a user can join
- Allow channel creation. It's strongly adviced not to enable this
- The message of the day. You can use the following replacements: %hostname%, %channels%