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>
245 lines
9.9 KiB
C++
245 lines
9.9 KiB
C++
// SetupPage2.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "SeverSetupDlg.h"
|
|
#include "ServerGroup.h"
|
|
#include "SetupPage2.h"
|
|
|
|
#include <Utility/Setup/ServerSetup.h>
|
|
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
|
#include ".\setuppage2.h"
|
|
|
|
|
|
// CSetupPage2 대화 상자입니다.
|
|
|
|
IMPLEMENT_DYNAMIC(CSetupPage2, CPropertyPage)
|
|
CSetupPage2::CSetupPage2()
|
|
: CPropertyPage(CSetupPage2::IDD)
|
|
, m_bEnabled(FALSE)
|
|
, m_szAuthServerID(_T(""))
|
|
, m_szAuthServerClientListenPort(_T(""))
|
|
, m_bPingCheck(FALSE)
|
|
, m_bKoreanCheck(FALSE)
|
|
, m_bTestGroup(FALSE)
|
|
, m_bSupressCharCreate(FALSE)
|
|
, m_bSupressCharDelete(FALSE)
|
|
, m_bBattleServer(FALSE)
|
|
, m_szAuthDBInfo(_T(""))
|
|
, m_szAdminToolDBInfo(_T(""))
|
|
, m_szDBAgentAddress(_T(""))
|
|
{
|
|
}
|
|
|
|
CSetupPage2::~CSetupPage2()
|
|
{
|
|
}
|
|
|
|
void CSetupPage2::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_AUTH_SERVER_ID, m_szAuthServerID);
|
|
DDX_Text(pDX, IDC_AUTH_CLIENT_LISTEN_PORT, m_szAuthServerClientListenPort);
|
|
DDX_Control(pDX, IDC_AUTH_SERVER_TYPE, m_cbAuthType);
|
|
DDX_Control(pDX, IDC_AUTH_SERVER_GROUP, m_cbAuthGroup);
|
|
DDX_Check(pDX, IDC_AUTH_PING_CHECK, m_bPingCheck);
|
|
DDX_Check(pDX, IDC_AUTH_HAN_CHECK, m_bKoreanCheck);
|
|
DDX_Check(pDX, IDC_AUTH_TEST_GROUP, m_bTestGroup);
|
|
DDX_Check(pDX, IDC_AUTH_SUPRESS_CHARCREATE, m_bSupressCharCreate);
|
|
DDX_Check(pDX, IDC_AUTH_SUPRESS_CHARDELETE, m_bSupressCharDelete);
|
|
DDX_Check(pDX, IDC_AUTH_BATTLESERVER, m_bBattleServer);
|
|
DDX_Text(pDX, IDC_AUTH_EDT_DBSETTING, m_szAuthDBInfo);
|
|
DDX_Text(pDX, IDC_AUTH_BLOCK_EDT_DBSETTING, m_szAdminToolDBInfo);
|
|
DDX_Text(pDX, IDC_AUTH_DBAGENT_ADDR, m_szDBAgentAddress);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSetupPage2, CPropertyPage)
|
|
ON_BN_CLICKED(IDC_AUTH_BTN_DBSETTING, OnBnClickedAuthBtnDbsetting)
|
|
ON_BN_CLICKED(IDC_AUTH_BLOCK_BTN_DBSETTING, OnBnClickedAuthBlockBtnDbsetting)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CSetupPage2 메시지 처리기입니다.
|
|
BOOL CSetupPage2::OnInitDialog()
|
|
{
|
|
CPropertyPage::OnInitDialog();
|
|
|
|
m_szAuthServerClientListenPort.Format(_T("%d"), CServerSetup::AuthServerClientListen);
|
|
|
|
SetAuthType(m_cbAuthType);
|
|
SetServerGroup(m_cbAuthGroup);
|
|
m_cbAuthGroup.SetCurSel(0);
|
|
|
|
CString szAuthType;
|
|
CString szPingCheck;
|
|
CString szKoreanLangCheck;
|
|
CString szBattleServerAuth;
|
|
CString szTestGroupAuth;
|
|
CString szSupressCharCreate;
|
|
CString szSupressCharDelete;
|
|
|
|
// 기본 정보
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("ServerID"), m_szAuthServerID);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthType"), szAuthType);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("DBAgentAddr"), m_szDBAgentAddress);
|
|
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("PingCheck"), szPingCheck);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("KoreanLangCheck"), szKoreanLangCheck);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("BattleServerAuth"), szBattleServerAuth);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("TestGroupAuth"), szTestGroupAuth);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("SupressCharCreate"), szSupressCharCreate);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("SupressCharDelete"), szSupressCharDelete);
|
|
|
|
// 인증 DB정보
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBType"), m_AuthDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBAddr"), m_AuthDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBName"), m_AuthDB.m_szDBData[DBSetting::DB_NAME]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBUser"), m_AuthDB.m_szDBData[DBSetting::DB_USER]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBPass"), m_AuthDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
// 운영툴 DB정보 (블럭 때문임)
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBType"), m_AdminToolDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBAddr"), m_AdminToolDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBName"), m_AdminToolDB.m_szDBData[DBSetting::DB_NAME]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBUser"), m_AdminToolDB.m_szDBData[DBSetting::DB_USER]);
|
|
ReadStringFromReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBPass"), m_AdminToolDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
SERVER_ID serverID;
|
|
serverID.dwID = atol(m_szAuthServerID);
|
|
|
|
serverID.sID.ID = 0;
|
|
serverID.sID.Type = CServerSetup::AuthServer;
|
|
serverID.sID.Channel = 0;
|
|
|
|
m_szAuthServerID.Format("0x%08x", serverID.dwID);
|
|
m_cbAuthType.SetCurSel(atol(szAuthType));
|
|
m_cbAuthGroup.SetCurSel(int(serverID.sID.Group));
|
|
|
|
m_bPingCheck = (1 == atol(szPingCheck));
|
|
m_bKoreanCheck = (1 == atol(szKoreanLangCheck));
|
|
m_bTestGroup = (1 == atol(szTestGroupAuth));
|
|
m_bSupressCharCreate = (1 == atol(szSupressCharCreate));
|
|
m_bSupressCharDelete = (1 == atol(szSupressCharDelete));
|
|
m_bBattleServer = (1 == atol(szBattleServerAuth));
|
|
|
|
CDBSetting::CreateDBInfoString(m_AuthDB, m_szAuthDBInfo);
|
|
CDBSetting::CreateDBInfoString(m_AdminToolDB, m_szAdminToolDBInfo);
|
|
|
|
UpdateData(FALSE);
|
|
UpdateServerID();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
|
}
|
|
|
|
void CSetupPage2::Save(void)
|
|
{
|
|
if(m_bEnabled)
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
CString szAuthServerID;
|
|
CString szAuthType;
|
|
CString szPingCheck;
|
|
CString szKoreanLangCheck;
|
|
CString szBattleServerAuth;
|
|
CString szTestGroupAuth;
|
|
CString szSupressCharCreate;
|
|
CString szSupressCharDelete;
|
|
|
|
SERVER_ID serverID;
|
|
|
|
serverID.sID.ID = 0;
|
|
serverID.sID.Type = CServerSetup::AuthServer;
|
|
serverID.sID.Group = m_cbAuthGroup.GetCurSel();
|
|
serverID.sID.Channel = 0;
|
|
|
|
szAuthServerID.Format(_T("%d"), serverID.dwID);
|
|
szAuthType.Format(_T("%d"), m_cbAuthType.GetCurSel());
|
|
szPingCheck.SetString(BOOLToString(m_bPingCheck));
|
|
szKoreanLangCheck.SetString(BOOLToString(m_bKoreanCheck));
|
|
szBattleServerAuth.SetString(BOOLToString(m_bBattleServer));
|
|
szTestGroupAuth.SetString(BOOLToString(m_bTestGroup));
|
|
szSupressCharCreate.SetString(BOOLToString(m_bSupressCharCreate));
|
|
szSupressCharDelete.SetString(BOOLToString(m_bSupressCharDelete));
|
|
|
|
// 기본 정보
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("ServerID"), szAuthServerID);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthType"), szAuthType);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("DBAgentAddr"), m_szDBAgentAddress);
|
|
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("PingCheck"), szPingCheck);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("KoreanLangCheck"), szKoreanLangCheck);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("BattleServerAuth"), szBattleServerAuth);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("TestGroupAuth"), szTestGroupAuth);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("SupressCharCreate"), szSupressCharCreate);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("SupressCharDelete"), szSupressCharDelete);
|
|
|
|
// 인증 DB정보
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBType"), m_AuthDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBAddr"), m_AuthDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBName"), m_AuthDB.m_szDBData[DBSetting::DB_NAME]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBUser"), m_AuthDB.m_szDBData[DBSetting::DB_USER]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AuthDBPass"), m_AuthDB.m_szDBData[DBSetting::DB_PASS]);
|
|
|
|
// 운영툴 DB정보 (블럭 때문임)
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBType"), m_AdminToolDB.m_szDBData[DBSetting::DB_TYPE]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBAddr"), m_AdminToolDB.m_szDBData[DBSetting::DB_ADDR]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBName"), m_AdminToolDB.m_szDBData[DBSetting::DB_NAME]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBUser"), m_AdminToolDB.m_szDBData[DBSetting::DB_USER]);
|
|
WriteStringToReg(g_szSetupFileName, _T("AuthServer"), _T("AdminToolDBPass"), m_AdminToolDB.m_szDBData[DBSetting::DB_PASS]);
|
|
}
|
|
}
|
|
|
|
BOOL CSetupPage2::OnSetActive()
|
|
{
|
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
|
UpdateData(FALSE);
|
|
m_bEnabled = TRUE;
|
|
return CPropertyPage::OnSetActive();
|
|
}
|
|
|
|
void CSetupPage2::UpdateServerID()
|
|
{
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
UpdateData(TRUE);
|
|
|
|
SERVER_ID serverID;
|
|
|
|
serverID.sID.ID = 0;
|
|
serverID.sID.Type = CServerSetup::AuthServer;
|
|
serverID.sID.Group = m_cbAuthGroup.GetCurSel();
|
|
serverID.sID.Channel = 0;
|
|
|
|
m_szAuthServerID.Format("0x%08x", serverID.dwID);
|
|
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSetupPage2::OnBnClickedAuthBtnDbsetting()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
if (CDBSetting::CreateDBSettingDlg(
|
|
_T("Auth DBSetting"),
|
|
_T("* Auth DBSetting \r\n"),
|
|
m_AuthDB, m_szAuthDBInfo))
|
|
{
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|
|
|
|
void CSetupPage2::OnBnClickedAuthBlockBtnDbsetting()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
if (CDBSetting::CreateDBSettingDlg(
|
|
_T("AdminTool DBSetting (for block user)"),
|
|
_T("* AdminTool DBSetting (for block user) \r\n"),
|
|
m_AdminToolDB, m_szAdminToolDBInfo))
|
|
{
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|