📄 gmain.~pas
字号:
if (nMsgSrvPort < 0) or (nMsgSrvPort > 65535) then begin
Application.MessageBox('通讯端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
EditM2ServerMsgSrvPort.SetFocus;
exit;
end;
g_nM2Server_GatePort := nGatePort;
g_nM2Server_MsgSrvPort := nMsgSrvPort;
PageControl3.ActivePageIndex := 8;
end;
procedure TfrmMain.ButtonPrv4Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 2;
end;
procedure TfrmMain.ButtonPrv5Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 3;
end;
procedure TfrmMain.ButtonPrv6Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 4;
end;
procedure TfrmMain.ButtonPrv7Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 5;
end;
procedure TfrmMain.ButtonPrv8Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 6;
end;
procedure TfrmMain.ButtonPrv9Click(Sender: TObject);
begin
PageControl3.ActivePageIndex := 7;
end;
procedure TfrmMain.ButtonSaveClick(Sender: TObject);
begin
// ButtonSave.Enabled:=False;
g_IniConf.WriteInteger('GameConf', 'dwStopTimeOut', g_dwStopTimeOut);
g_IniConf.WriteString('GameConf', 'GameDirectory', g_sGameDirectory);
g_IniConf.WriteString('GameConf', 'HeroDBName', g_sHeroDBName);
g_IniConf.WriteString('GameConf', 'GameName', g_sGameName);
g_IniConf.WriteString('GameConf', 'ExtIPaddr', g_sExtIPaddr);
g_IniConf.WriteBool('GameConf', 'DynamicIPMode', g_boDynamicIPMode);
g_IniConf.WriteInteger('DBServer', 'MainFormX', g_nDBServer_MainFormX);
g_IniConf.WriteInteger('DBServer', 'MainFormY', g_nDBServer_MainFormY);
g_IniConf.WriteInteger('DBServer', 'GatePort', g_nDBServer_Config_GatePort);
g_IniConf.WriteInteger('DBServer', 'ServerPort', g_nDBServer_Config_ServerPort);
g_IniConf.WriteBool('DBServer', 'DisableAutoGame', g_boDBServer_DisableAutoGame);
g_IniConf.WriteBool('DBServer', 'GetStart', g_boDBServer_GetStart);
g_IniConf.WriteInteger('M2Server', 'MainFormX', g_nM2Server_MainFormX);
g_IniConf.WriteInteger('M2Server', 'MainFormY', g_nM2Server_MainFormY);
g_IniConf.WriteInteger('M2Server', 'TestLevel', g_nM2Server_TestLevel);
g_IniConf.WriteInteger('M2Server', 'TestGold', g_nM2Server_TestGold);
g_IniConf.WriteInteger('M2Server', 'GatePort', g_nM2Server_GatePort);
g_IniConf.WriteInteger('M2Server', 'MsgSrvPort', g_nM2Server_MsgSrvPort);
g_IniConf.WriteBool('M2Server', 'GetStart', g_boM2Server_GetStart);
g_IniConf.WriteInteger('RunGate', 'GatePort1', g_nRunGate_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort2', g_nRunGate1_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort3', g_nRunGate2_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort4', g_nRunGate3_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort5', g_nRunGate4_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort6', g_nRunGate5_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort7', g_nRunGate6_GatePort);
g_IniConf.WriteInteger('RunGate', 'GatePort8', g_nRunGate7_GatePort);
g_IniConf.WriteInteger('LoginGate', 'MainFormX', g_nLoginGate_MainFormX);
g_IniConf.WriteInteger('LoginGate', 'MainFormY', g_nLoginGate_MainFormY);
g_IniConf.WriteBool('LoginGate', 'GetStart', g_boLoginGate_GetStart);
g_IniConf.WriteInteger('LoginGate', 'GatePort', g_nLoginGate_GatePort);
g_IniConf.WriteInteger('SelGate', 'MainFormX', g_nSelGate_MainFormX);
g_IniConf.WriteInteger('SelGate', 'MainFormY', g_nSelGate_MainFormY);
g_IniConf.WriteBool('SelGate', 'GetStart', g_boSelGate_GetStart);
g_IniConf.WriteInteger('SelGate', 'GatePort', g_nSeLGate_GatePort);
g_IniConf.WriteInteger('SelGate', 'GatePort1', g_nSeLGate_GatePort1);
g_IniConf.WriteInteger('RunGate', 'Count', g_nRunGate_Count);
g_IniConf.WriteInteger('LoginServer', 'MainFormX', g_nLoginServer_MainFormX);
g_IniConf.WriteInteger('LoginServer', 'MainFormY', g_nLoginServer_MainFormY);
g_IniConf.WriteInteger('LoginServer', 'GatePort', g_nLoginServer_GatePort);
g_IniConf.WriteInteger('LoginServer', 'ServerPort', g_nLoginServer_ServerPort);
g_IniConf.WriteBool('LoginServer', 'GetStart', g_boLoginServer_GetStart);
g_IniConf.WriteInteger('LogServer', 'MainFormX', g_nLogServer_MainFormX);
g_IniConf.WriteInteger('LogServer', 'MainFormY', g_nLogServer_MainFormY);
g_IniConf.WriteInteger('LogServer', 'Port', g_nLogServer_Port);
g_IniConf.WriteBool('LogServer', 'GetStart', g_boLogServer_GetStart);
Application.MessageBox('配置文件已经保存完毕...', '提示信息', MB_OK + MB_ICONINFORMATION);
if Application.MessageBox('是否生成新的游戏服务器配置文件...', '提示信息', MB_YESNO + MB_ICONQUESTION) = mrYes then begin
ButtonGenGameConfigClick(ButtonGenGameConfig);
end;
PageControl3.ActivePageIndex := 0;
PageControl1.ActivePageIndex := 0;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
m_boOpen := False;
//EditSkin.MaxValue:=SkinStore.Store.Count -1;
g_nFormIdx := g_IniConf.ReadInteger('Setup', 'FormID', g_nFormIdx);
{EditSkin.Value:=g_nFormIdx;
if g_nFormIdx >= 0 then begin
//SkinData.LoadFromCollection(SkinStore,g_nFormIdx);
if not SkinData.Active then SkinData.Active:=True;
end else begin
SkinData.Active:=False;
end; }
// Application.OnMessage:=ProcessMessage;
PageControl1.ActivePageIndex := 0;
PageControl3.ActivePageIndex := 0;
m_nStartStatus := 0;
MemoLog.Clear;
LoadConfig();
if not StartService() then exit;
RefGameConsole();
TabSheetDebug.TabVisible := False;
if g_boShowDebugTab then begin
TabSheetDebug.TabVisible := True;
TimerCheckDebug.Enabled := True;
end;
m_boOpen := True;
//MainOutMessage('游戏控制器启动成功...');
// SetWindowPos(Self.Handle,HWND_TOPMOST,Self.Left,Self.Top,Self.Width,Self.Height,$40);
end;
procedure TfrmMain.ButtonGenGameConfigClick(Sender: TObject);
begin
// ButtonGenGameConfig.Enabled:=False;
GenGameConfig();
RefGameConsole();
Application.MessageBox('引擎配置文件已经生成完毕...', '提示信息', MB_OK + MB_ICONINFORMATION);
end;
procedure TfrmMain.GenGameConfig;
begin
GenDBServerConfig();
GenLoginServerConfig();
GenLogServerConfig();
GenM2ServerConfig();
GenLoginGateConfig();
GenSelGateConfig();
GenRunGateConfig();
end;
procedure TfrmMain.GenDBServerConfig;
var
IniGameConf: TIniFile;
sIniFile: String;
SaveList: TStringList;
begin
sIniFile := g_sGameDirectory + g_sDBServer_Directory;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
IniGameConf := TIniFile.Create(sIniFile + g_sDBServer_ConfigFile);
IniGameConf.WriteString('Setup', 'ServerName', g_sGameName);
IniGameConf.WriteString('Setup', 'ServerAddr', g_sDBServer_Config_ServerAddr);
IniGameConf.WriteInteger('Setup', 'ServerPort', g_nDBServer_Config_ServerPort);
IniGameConf.WriteString('Setup', 'MapFile', g_sDBServer_Config_MapFile);
IniGameConf.WriteBool('Setup', 'ViewHackMsg', g_boDBServer_Config_ViewHackMsg);
IniGameConf.WriteBool('Setup', 'DynamicIPMode', g_boDynamicIPMode);
IniGameConf.WriteBool('Setup', 'DisableAutoGame', g_boDBServer_DisableAutoGame);
IniGameConf.WriteString('Setup', 'GateAddr', g_sDBServer_Config_GateAddr);
IniGameConf.WriteInteger('Setup', 'GatePort', g_nDBServer_Config_GatePort);
IniGameConf.WriteString('Server', 'IDSAddr', g_sLoginServer_ServerAddr); //登录服务器IP
IniGameConf.WriteInteger('Server', 'IDSPort', g_nLoginServer_ServerPort); //登录服务器端口
IniGameConf.WriteInteger('DBClear', 'Interval', g_nDBServer_Config_Interval);
IniGameConf.WriteInteger('DBClear', 'Level1', g_nDBServer_Config_Level1);
IniGameConf.WriteInteger('DBClear', 'Level2', g_nDBServer_Config_Level2);
IniGameConf.WriteInteger('DBClear', 'Level3', g_nDBServer_Config_Level3);
IniGameConf.WriteInteger('DBClear', 'Day1', g_nDBServer_Config_Day1);
IniGameConf.WriteInteger('DBClear', 'Day2', g_nDBServer_Config_Day2);
IniGameConf.WriteInteger('DBClear', 'Day3', g_nDBServer_Config_Day3);
IniGameConf.WriteInteger('DBClear', 'Month1', g_nDBServer_Config_Month1);
IniGameConf.WriteInteger('DBClear', 'Month2', g_nDBServer_Config_Month2);
IniGameConf.WriteInteger('DBClear', 'Month3', g_nDBServer_Config_Month3);
IniGameConf.WriteString('DB', 'Dir', sIniFile + g_sDBServer_Config_Dir);
IniGameConf.WriteString('DB', 'IdDir', sIniFile + g_sDBServer_Config_IdDir);
IniGameConf.WriteString('DB', 'HumDir', sIniFile + g_sDBServer_Config_HumDir);
IniGameConf.WriteString('DB', 'FeeDir', sIniFile + g_sDBServer_Config_FeeDir);
IniGameConf.WriteString('DB', 'BackupDir', sIniFile + g_sDBServer_Config_BackupDir);
IniGameConf.WriteString('DB', 'ConnectDir', sIniFile + g_sDBServer_Config_ConnectDir);
IniGameConf.WriteString('DB', 'LogDir', sIniFile + g_sDBServer_Config_LogDir);
IniGameConf.Free;
SaveList := TStringList.Create;
SaveList.Add(g_sLocalIPaddr);
SaveList.Add(g_sExtIPaddr);
SaveList.SaveToFile(sIniFile + g_sDBServer_AddrTableFile);
SaveList.Clear;
case g_nRunGate_Count of //
1: SaveList.Add(format('%s %s %d', [g_sLocalIPaddr, g_sExtIPaddr, g_nRunGate_GatePort]));
2: SaveList.Add(format('%s %s %d %s %d', [g_sLocalIPaddr, g_sExtIPaddr, g_nRunGate_GatePort, g_sExtIPaddr, g_nRunGate1_GatePort]));
3: SaveList.Add(format('%s %s %d %s %d %s %d', [g_sLocalIPaddr, g_sExtIPaddr, g_nRunGate_GatePort, g_sExtIPaddr, g_nRunGate1_GatePort, g_sExtIPaddr, g_nRunGate2_GatePort]));
else SaveList.Add(format('%s %s %d %s %d %s %d %s %d', [g_sLocalIPaddr, g_sExtIPaddr, g_nRunGate_GatePort, g_sExtIPaddr, g_nRunGate1_GatePort, g_sExtIPaddr, g_nRunGate2_GatePort, g_sExtIPaddr, g_nRunGate3_GatePort]));
end;
if g_nRunGate_Count > 4 then
case g_nRunGate_Count of //
5: SaveList.Add(format('%s %s %d', [g_sExtIPaddr, g_sExtIPaddr, g_nRunGate4_GatePort]));
6: SaveList.Add(format('%s %s %d %s %d', [g_sExtIPaddr, g_sExtIPaddr, g_nRunGate4_GatePort, g_sExtIPaddr, g_nRunGate5_GatePort]));
7: SaveList.Add(format('%s %s %d %s %d %s %d', [g_sExtIPaddr, g_sExtIPaddr, g_nRunGate4_GatePort, g_sExtIPaddr, g_nRunGate5_GatePort, g_sExtIPaddr, g_nRunGate6_GatePort]));
8: SaveList.Add(format('%s %s %d %s %d %s %d %s %d', [g_sExtIPaddr, g_sExtIPaddr, g_nRunGate4_GatePort, g_sExtIPaddr, g_nRunGate5_GatePort, g_sExtIPaddr, g_nRunGate6_GatePort, g_sExtIPaddr, g_nRunGate7_GatePort]));
end;
SaveList.SaveToFile(sIniFile + g_sDBServer_ServerinfoFile);
SaveList.Free;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_Dir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_IdDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_HumDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_FeeDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_BackupDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_ConnectDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sDBServer_Directory + g_sDBServer_Config_LogDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
end;
procedure TfrmMain.GenLoginServerConfig;
var
IniGameConf: TIniFile;
sIniFile: String;
SaveList: TStringList;
begin
sIniFile := g_sGameDirectory + g_sLoginServer_Directory;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
IniGameConf := TIniFile.Create(sIniFile + g_sLoginServer_ConfigFile);
IniGameConf.WriteInteger('Server', 'ReadyServers', g_sLoginServer_ReadyServers);
IniGameConf.WriteString('Server', 'EnableMakingID', BoolToStr(g_sLoginServer_EnableMakingID));
IniGameConf.WriteString('Server', 'EnableTrial', BoolToStr(g_sLoginServer_EnableTrial));
IniGameConf.WriteString('Server', 'TestServer', BoolToStr(g_sLoginServer_TestServer));
IniGameConf.WriteBool('Server', 'DynamicIPMode', g_boDynamicIPMode);
IniGameConf.WriteString('Server', 'GateAddr', g_sLoginServer_GateAddr);
IniGameConf.WriteInteger('Server', 'GatePort', g_nLoginServer_GatePort);
IniGameConf.WriteString('Server', 'ServerAddr', g_sLoginServer_ServerAddr);
IniGameConf.WriteString('Server', 'ServerName', g_sGameName);
IniGameConf.WriteInteger('Server', 'ServerPort', g_nLoginServer_ServerPort);
IniGameConf.WriteString('DB', 'IdDir', sIniFile + g_sLoginServer_IdDir);
IniGameConf.WriteString('DB', 'FeedIDList', sIniFile + g_sLoginServer_FeedIDList);
IniGameConf.WriteString('DB', 'FeedIPList', sIniFile + g_sLoginServer_FeedIPList);
IniGameConf.WriteString('DB', 'CountLogDir', sIniFile + g_sLoginServer_CountLogDir);
IniGameConf.WriteString('DB', 'WebLogDir', sIniFile + g_sLoginServer_WebLogDir);
IniGameConf.Free;
SaveList := TStringList.Create;
if g_boRunGate4_GetStart then begin
SaveList.Add(format('%s %s %s %s %s:%d %s:%d', [g_sGameName, 'Title1', g_sLocalIPaddr, g_sLocalIPaddr, g_sExtIPaddr, g_nSeLGate_GatePort, g_sExtIPaddr, g_nSeLGate_GatePort1]));
end else begin
SaveList.Add(format('%s %s %s %s %s:%d', [g_sGameName, 'Title1', g_sLocalIPaddr, g_sLocalIPaddr, g_sExtIPaddr, g_nSeLGate_GatePort]));
end;
SaveList.SaveToFile(sIniFile + g_sLoginServer_AddrTableFile);
SaveList.Clear;
SaveList.Add(g_sLocalIPaddr);
SaveList.SaveToFile(sIniFile + g_sLoginServer_ServeraddrFile);
SaveList.Clear;
SaveList.Add(format('%s %s %d', [g_sGameName, g_sGameName, g_nLimitOnlineUser]));
SaveList.SaveToFile(sIniFile + g_sLoginServerUserLimitFile);
SaveList.Free;
sIniFile := g_sGameDirectory + g_sLoginServer_Directory + g_sLoginServer_IdDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sLoginServer_Directory + g_sLoginServer_CountLogDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
sIniFile := g_sGameDirectory + g_sLoginServer_Directory + g_sLoginServer_WebLogDir;
if not DirectoryExists(sIniFile) then begin
CreateDir(sIniFile);
end;
end;
procedure TfrmMain.GenLogServerConfig;
var
IniGameConf: TIniFile;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -