Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
220 lines
8.6 KiB
C++
220 lines
8.6 KiB
C++
// SetupPage6.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "SeverSetupDlg.h"
|
|
#include "SetupPage6.h"
|
|
#include "ServerGroup.h"
|
|
|
|
#include <Utility/Setup/ServerSetup.h>
|
|
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
|
#include ".\setuppage6.h"
|
|
|
|
|
|
// CSetupPage6 대화 상자입니다.
|
|
|
|
IMPLEMENT_DYNAMIC(CSetupPage6, CPropertyPage)
|
|
CSetupPage6::CSetupPage6()
|
|
: CPropertyPage(CSetupPage6::IDD)
|
|
, m_bEnabled(FALSE)
|
|
, m_szLogOtherServerListenPort(_T(""))
|
|
, m_szLogClientListenPort(_T(""))
|
|
, m_szLogDBInfo(_T(""))
|
|
, m_szChatServerID(_T(""))
|
|
, m_szChatGameServerListenPort(_T(""))
|
|
, m_szChatMonitoringToolListenPort(_T(""))
|
|
, m_bChatPingCheck(FALSE)
|
|
, m_szChatDBAgentServerAddr(_T(""))
|
|
, m_szAdminToolDBInfo(_T(""))
|
|
, m_bUserIPCheck(FALSE)
|
|
{
|
|
}
|
|
|
|
CSetupPage6::~CSetupPage6()
|
|
{
|
|
}
|
|
|
|
void CSetupPage6::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_LOG_OTHER_SERVER_PORT, m_szLogOtherServerListenPort);
|
|
DDX_Text(pDX, IDC_LOG_CLIENT_PORT, m_szLogClientListenPort);
|
|
DDX_Text(pDX, IDC_LOG_EDT_DBSETTING, m_szLogDBInfo);
|
|
DDX_Text(pDX, IDC_CHAT_SERVER_ID, m_szChatServerID);
|
|
DDX_Text(pDX, IDC_CHAT_GAME_SERVER_TCPPORT, m_szChatGameServerListenPort);
|
|
DDX_Text(pDX, IDC_CHAT_MONITORING_TOOL_TCP_PORT, m_szChatMonitoringToolListenPort);
|
|
DDX_Check(pDX, IDC_CHAT_PING_CHECK, m_bChatPingCheck);
|
|
DDX_Check(pDX, IDC_CHAT_USERIP_CHECK, m_bUserIPCheck);
|
|
DDX_Control(pDX, IDC_CHAT_SERVER_GROUP, m_cbChatServerGroup);
|
|
DDX_Control(pDX, IDC_CHAT_SERVER_CHANNEL, m_cbChatServerChannel);
|
|
DDX_Text(pDX, IDC_CHAT_DBAGENT_SERVER_ADDR, m_szChatDBAgentServerAddr);
|
|
DDX_Text(pDX, IDC_CHAT_EDT_DBSETTING, m_szAdminToolDBInfo);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSetupPage6, CPropertyPage)
|
|
ON_WM_ACTIVATE()
|
|
ON_BN_CLICKED(IDC_LOG_BTN_DBSETTING, OnBnClickedLogBtnDbsetting)
|
|
ON_BN_CLICKED(IDC_CHAT_BTN_DBSETTING, OnBnClickedChatBtnDbsetting)
|
|
ON_CBN_SELCHANGE(IDC_CHAT_SERVER_GROUP, OnCbnSelchangeChatServerGroup)
|
|
ON_CBN_SELCHANGE(IDC_CHAT_SERVER_CHANNEL, OnCbnSelchangeChatServerChannel)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CSetupPage6 메시지 처리기입니다.
|
|
|
|
BOOL CSetupPage6::OnInitDialog()
|
|
{
|
|
CPropertyPage::OnInitDialog();
|
|
|
|
m_szLogOtherServerListenPort.Format(_T("%d"), CServerSetup::LogServerOtherServerListen);
|
|
m_szLogClientListenPort.Format(_T("%d"), CServerSetup::LogServerLogClientListen);
|
|
|
|
m_szChatGameServerListenPort.Format(_T("%d"), CServerSetup::ChatServerGameServerListen);
|
|
m_szChatMonitoringToolListenPort.Format(_T("%d"), CServerSetup::ChatServerMonitoringToolListen);
|
|
|
|
SetServerGroup(m_cbChatServerGroup);
|
|
SetServerChannel(m_cbChatServerChannel);
|
|
|
|
ReadStringFromReg(g_szSetupFileName, _T("LogServer"), _T("LogDBType"), m_LogDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("LogServer"), _T("LogDBAddr"), m_LogDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("LogServer"), _T("LogDBName"), m_LogDB.m_szDBData[DBSetting::DB_NAME]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("LogServer"), _T("LogDBUser"), m_LogDB.m_szDBData[DBSetting::DB_USER]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("LogServer"), _T("LogDBPass"), m_LogDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
CString szChatPingCheck, szUserIPCheck;
|
|
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("ServerID"), m_szChatServerID);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("PingCheck"), szChatPingCheck);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("UserIPCheck"), szUserIPCheck);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("DBAgentAddress"), m_szChatDBAgentServerAddr);
|
|
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBType"), m_AdminToolDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBAddr"), m_AdminToolDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBName"), m_AdminToolDB.m_szDBData[DBSetting::DB_NAME]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBUser"), m_AdminToolDB.m_szDBData[DBSetting::DB_USER]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBPass"), m_AdminToolDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
SERVER_ID serverID = { 0, };
|
|
serverID.dwID = atol(m_szChatServerID);
|
|
|
|
m_cbChatServerGroup.SetCurSel(serverID.sID.Group);
|
|
m_cbChatServerChannel.SetCurSel(serverID.sID.Channel);
|
|
|
|
m_bChatPingCheck = (1 == atoi(szChatPingCheck));
|
|
m_bUserIPCheck = (1 == atoi(szUserIPCheck));
|
|
|
|
m_szLogDBInfo.SetString(_T("* LogServer DBSetting \r\n"));
|
|
CDBSetting::CreateDBInfoString(m_LogDB, m_szLogDBInfo);
|
|
|
|
m_szAdminToolDBInfo.SetString(_T("* AdminToolDBSetting (For chatting ban) \r\n"));
|
|
CDBSetting::CreateDBInfoString(m_AdminToolDB, m_szAdminToolDBInfo);
|
|
|
|
UpdateData(FALSE);
|
|
UpdateServerID();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
|
}
|
|
|
|
void CSetupPage6::Save()
|
|
{
|
|
if(m_bEnabled)
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
WriteStringToReg(g_szSetupFileName, _T("LogServer"), _T("LogDBType"), m_LogDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
WriteStringToReg(g_szSetupFileName, _T("LogServer"), _T("LogDBAddr"), m_LogDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
WriteStringToReg(g_szSetupFileName, _T("LogServer"), _T("LogDBName"), m_LogDB.m_szDBData[DBSetting::DB_NAME]);
|
|
WriteStringToReg(g_szSetupFileName, _T("LogServer"), _T("LogDBUser"), m_LogDB.m_szDBData[DBSetting::DB_USER]);
|
|
WriteStringToReg(g_szSetupFileName, _T("LogServer"), _T("LogDBPass"), m_LogDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
SERVER_ID serverID = {0,};
|
|
|
|
serverID.sID.Type = CServerSetup::ChatServer;
|
|
serverID.sID.Group = m_cbChatServerGroup.GetCurSel();
|
|
serverID.sID.Channel = m_cbChatServerChannel.GetCurSel();
|
|
|
|
CString szChatServerID;
|
|
CString szChatPingCheck;
|
|
CString szUserIPCheck;
|
|
|
|
szChatServerID.Format(_T("%d"), serverID.dwID);
|
|
szChatPingCheck.Format(_T("%s"), BOOLToString(m_bChatPingCheck));
|
|
szUserIPCheck.Format(_T("%s"), BOOLToString(m_bUserIPCheck));
|
|
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("ServerID"), szChatServerID);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("PingCheck"), szChatPingCheck);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("UserIPCheck"), szUserIPCheck);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("DBAgentAddress"), m_szChatDBAgentServerAddr);
|
|
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBType"), m_AdminToolDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBAddr"), m_AdminToolDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBName"), m_AdminToolDB.m_szDBData[DBSetting::DB_NAME]);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBUser"), m_AdminToolDB.m_szDBData[DBSetting::DB_USER]);
|
|
WriteStringToReg(g_szSetupFileName, _T("ChatServer"), _T("AdminToolDBPass"), m_AdminToolDB.m_szDBData[DBSetting::DB_PASS]);
|
|
}
|
|
}
|
|
|
|
BOOL CSetupPage6::OnSetActive()
|
|
{
|
|
UpdateData(FALSE);
|
|
m_bEnabled = TRUE;
|
|
return CPropertyPage::OnSetActive();
|
|
}
|
|
|
|
void CSetupPage6::UpdateServerID()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
SERVER_ID serverID = {0,};
|
|
|
|
serverID.sID.ID = 0;
|
|
serverID.sID.Type = CServerSetup::ChatServer;
|
|
serverID.sID.Group = m_cbChatServerGroup.GetCurSel();
|
|
serverID.sID.Channel = m_cbChatServerChannel.GetCurSel();
|
|
|
|
m_szChatServerID.Format("0x%08x", serverID.dwID);
|
|
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
|
|
void CSetupPage6::OnBnClickedLogBtnDbsetting()
|
|
{
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
UpdateData(TRUE);
|
|
|
|
if (CDBSetting::CreateDBSettingDlg(
|
|
_T("LogServer DBSetting"),
|
|
_T("* LogServer DBSetting \r\n"),
|
|
m_LogDB, m_szLogDBInfo))
|
|
{
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|
|
|
|
void CSetupPage6::OnBnClickedChatBtnDbsetting()
|
|
{
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
UpdateData(TRUE);
|
|
|
|
if (CDBSetting::CreateDBSettingDlg(
|
|
_T("AdminTool (For chatting ban) DBSetting"),
|
|
_T("* AdminToolDBSetting (For chatting ban) \r\n"),
|
|
m_AdminToolDB, m_szAdminToolDBInfo))
|
|
{
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|
|
|
|
void CSetupPage6::OnCbnSelchangeChatServerGroup()
|
|
{
|
|
UpdateServerID();
|
|
}
|
|
|
|
void CSetupPage6::OnCbnSelchangeChatServerChannel()
|
|
{
|
|
UpdateServerID();
|
|
}
|