{
- Copyright (C) 2010-2015 MegaBrutal
+ Copyright (C) 2010-2018 MegaBrutal
This unit is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
{FTimeCorrection: integer;}
FTimeOffset: integer;
FTimeOffsetStr: string;
- FListenPorts: TStrings;
+ FListenAddresses: TStrings;
public
function GetVersionStr: string;
- property ListenPorts: TStrings read FListenPorts;
+ property ListenAddresses: TStrings read FListenAddresses;
property Databytes: longint read FDatabytes;
{property TimeCorrection: integer read FTimeCorrection;}
property TimeOffset: integer read FTimeOffset;
end;
constructor TMainServerConfig.Create(Config: TINIFile);
+var i: integer; rawaddresslist: string; portlist: TStringList;
begin
inherited Create(Config.ReadString('Server', 'Name', ''), Config, 'Server');
- FListenPorts:= TStringList.Create;
- FListenPorts.Delimiter:= ',';
- FListenPorts.DelimitedText:= Config.ReadString('Server', 'ListenPort', '25');
+ FListenAddresses:= TStringList.Create;
+ FListenAddresses.Delimiter:= ',';
+
+ rawaddresslist:= Config.ReadString('Server', 'ListenAddress', '');
+ if rawaddresslist <> '' then
+ FListenAddresses.DelimitedText:= rawaddresslist
+ else begin
+ portlist:= TStringList.Create;
+ portlist.Delimiter:= ',';
+ portlist.DelimitedText:= Config.ReadString('Server', 'ListenPort', '25');
+ for i:= 0 to portlist.Count - 1 do
+ FListenAddresses.Add('0.0.0.0:' + portlist.Strings[i]);
+ portlist.Free;
+ end;
FDatabytes:= Config.ReadInteger('Server', 'Databytes', 1024 * 1024 * 1024);
- {FTimeCorrection:= Config.ReadInteger('Server', 'TimeCorrection', 0);}
FTimeOffset:= Config.ReadInteger('Server', 'TimeOffset', Config.ReadInteger('Server', 'TimeCorrection', 0) * 100);
FTimeOffsetStr:= MakeTimeOffsetStr(FTimeOffset);