t';
LOGINSRVGETINFO = 'LoginSrv_GateInfo.txt';
LOGINSRVUSERLIMIT = 'LoginSrv_UserLimit.txt';
M2SERVERCONFIGFILE = '!Setup.txt';
M2SERVERSECTIONNAME1 = 'Server';
M2SERVERSECTIONNAME2 = 'Share';
M2SERVERSEGuildBase = SERVERGAMEDATADIR + 'GuildBase\';
M2SERVERSEGuildDir = M2SERVERSEGuildBase + 'Guilds\';
M2SERVERSEGuildFile = M2SERVERSEGuildBase + 'GuildList.txt';
M2SERVERSEConLogDir = SERVERLOGDIR + 'M2ConLog\';
M2SERVERSECastleDir = SERVERGAMEDATADIR + 'Castle\';
M2SERVERSECastleFile = SERVERGAMEDATADIR + 'Castle\List.txt';
M2SERVERSELogDir = SERVERLOGDIR + 'M2Log\';
M2SERVERSEEMailDir = SERVERLOGDIR + 'M2Log\';
M2SERVERSEnvirDir = 'Envir\';
M2SERVERSMapDir = 'Map\';
M2SERVERSALLOWADDR = 'M2Server_AllowAddr.txt';
M2SERVERSEmailDir = SERVERGAMEDATADIR + 'EMail\';
LOGSERVERSECTIONNAME2 = 'LogDataServer';
LOGSERVERBaseDir = SERVERGAMEDATADIR + 'GameLog\';
RunGateSectionName2 = 'RunGate';
SelGateSectionName2 = 'SelGate';
LoginGateSectionName2 = 'LoginGate';
PlugTopDIR=SERVERGAMEDATADIR +'\mir200\';
type
{定义每个服务的应用程序状态结构指针}
pTProgram = ^TProgram;
TProgram = packed record
boGetStart: Boolean; //DBServer启动标志 (源码自带注释)
boReStart: Boolean; //程序异常停止,是否重新启动 (源码自带注释)
btStartStatus: Byte;//0,1,2,3 未启动,正在启动,已启动,正在关闭 (源码自带注释)
sProgramFile: string[50];
sDirectory: string[100];
ProcessInfo: TProcessInformation; //服务的进程信息(进程,线程,进程ID,线程ID)
ProcessHandle: THandle; //进程句柄
MainFormHandle: THandle; //主窗口句柄,后续改为每个服务对应的活动窗口句柄
nMainFormX: Integer; //服务端启动后窗口位置
nMainFormY: Integer;
end;
{应该是加载地图文件的结构指针}
pTDataListInfo = ^TDataListInfo;
TDataListInfo = packed record
sFileName: string[255];
MapFileHandle: THandle;
MapFileBuffer: PChar;
DateTime: TDateTime;
Data: PChar;
DataSize: Integer;
Item: TListItem;
end;
{检测服务运行状态}
TCheckCode = packed record
dwThread0: LongWord;
sThread0: string;
end;
{下边的一堆CONFIG是对应的每个服务状态的结构}
TDBServerConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GatePort: Integer;
ServerPort: Integer;
GetStart: Boolean;
ProgramFile: string[50];
end;
TLoginSrvConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GatePort: Integer;
ServerPort: Integer;
MonPort: Integer;
GetStart: Boolean;
ProgramFile: string[50];
end;
TM2ServerConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GatePort: Integer;
MsgSrvPort: Integer;
GetStart: Boolean;
ProgramFile: string[50];
end;
TLogServerConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
Port: Integer;
GetStart: Boolean;
ProgramFile: string[50];
end;
TPlugTopConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
Port: Integer;
GetStart: Boolean;
ProgramFile: string[50];
end;
TRunGateConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GetStart: array[0..MAXRUNGATECOUNT - 1] of Boolean;
GatePort: array[0..MAXRUNGATECOUNT - 1] of Integer;
ProgramFile: string[50];
end;
TSelGateConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GatePort: array[0..1] of Integer;
GetStart1: Boolean;
GetStart2: Boolean;
ProgramFile: string[50];
end;
TLoginGateConfig = packed record
MainFormX: Integer;
MainFormY: Integer;
GatePor |