📄 serverpatch.cpp
字号:
}
//file.WriteString("nation_name = KOREA\n"); //家胶瘤沥
//str.Format( "nation_name = %s\n", "USA" );
file.WriteString(str); //家胶瘤沥
file.WriteString("beta_server = 0\n"); //家胶瘤沥
file.WriteString("[server_info]\n");
str.Format("own_server_ip_for_server=%s\n",pInfo->Ip);
file.WriteString(str);
str.Format("own_server_port_for_server=%d\n",pInfo->Port);
file.WriteString(str);
file.WriteString("own_server_ip_for_user=\n");
file.WriteString("own_server_port_for_user=\n");
//proxy辑滚 茫扁..
int proxy=0;
for(int j=0; j<m_pApp->m_ServerSetInfo[ si ].nServerNum ; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 0)
{
proxy = j;
break;
}
}
pInfo2 = &m_pApp->m_ServerInfo[si][proxy];
str.Format("primary_proxy_server_ip=%s\n",pInfo2->Ip);
file.WriteString(str);
str.Format("primary_proxy_server_port=%d\n",pInfo2->Port);
file.WriteString(str);
str.Format("secondary_proxy_server_ip=%s\n",pInfo2->Ip);
file.WriteString(str);
file.WriteString("secondary_proxy_server_port=3002\n\n");
file.Close();
}
break;
//Map Server
case 3:
{
CStdioFile file;
CString destpath;
destpath.Format("%s\\%d",GetWriteFolder(2,i), pInfo->Port); //器飘锅龋肺 弃歹 积己窍扁 困茄 巩磊凯
if(!::CreateDirectory((LPCTSTR)destpath,NULL))
{
AfxMessageBox("Failure to Create file");
return;
}
CString subfolder;
subfolder = destpath + "\\output";
if(!::CreateDirectory((LPCTSTR)subfolder,NULL))
{
AfxMessageBox("Failure to Create Folder");
return;
}
subfolder = destpath + "\\logout";
if(!::CreateDirectory((LPCTSTR)subfolder,NULL))
{
AfxMessageBox("Failure to Create Folder");
return;
}
subfolder = destpath + "\\changelog"; // 030312
if(!::CreateDirectory((LPCTSTR)subfolder,NULL))
{
AfxMessageBox("Failure to Create Folder");
return;
}
destpath += "\\mapserver.ini"; //积己且 颇老疙篮 proxyserver.ini
if (file.Open(destpath, CFile::modeCreate | CFile::modeWrite, NULL)==FALSE)
{
AfxMessageBox("Cann't create mapserver.ini file ");
}
CString str;
//惫啊沥焊
file.WriteString("[nation_set]\n");
switch( g_iNation )
{
case NATION_TAIWAN:
{
str.Format( "nation_name = %s\n", "TAIWAN" );
break;
}
case NATION_CHINA:
{
str.Format( "nation_name = %s\n", "CHINA" );
break;
}
case NATION_HONGKONG:
{
str.Format( "nation_name = %s\n", "HONGKONG" );
break;
}
case NATION_THAILAND:
{
str.Format( "nation_name = %s\n", "THAI" );
break;
}
case NATION_USA:
{
str.Format( "nation_name = %s\n", "USA" );
break;
}
case NATION_JAPAN:
{
str.Format( "nation_name = %s\n", "JAPAN" );
break;
}
case NATION_MAL:
{
str.Format( "nation_name = %s\n", "MAL" );
break;
}
case NATION_KOREA:
default:
{
str.Format( "nation_name = %s\n", "KOREA" );
break;
}
}
//file.WriteString("nation_name = KOREA\n"); //家胶瘤沥
//str.Format( "nation_name = %s\n", "USA" );
file.WriteString(str); //家胶瘤沥
file.WriteString("beta_server = 0\n"); //家胶瘤沥
file.WriteString("[network]\n");
str.Format("path=%s\n",m_pApp->m_szGameServerDataPath[ pView->m_nCurServerSet ]);
file.WriteString(str);
str.Format("mapname=%s\n\n",pInfo->MapName);
file.WriteString(str);
file.WriteString("[server_info]\n");
str.Format("own_server_ip_for_server=%s\n",pInfo->Ip);
file.WriteString(str);
str.Format("own_server_port_for_server=%d\n",pInfo->Port);
file.WriteString(str);
file.WriteString("own_server_ip_for_user=\n");
file.WriteString("own_server_port_for_user=\n");
//proxy辑滚 茫扁..
int proxy=0;
for(int j=0; j<m_pApp->m_ServerSetInfo[ si ].nServerNum ; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 0)
{
proxy = j;
break;
}
}
pInfo2 = &m_pApp->m_ServerInfo[si][proxy];
str.Format("primary_proxy_server_ip=%s\n",pInfo2->Ip);
file.WriteString(str);
str.Format("primary_proxy_server_port=%d\n",pInfo2->Port);
file.WriteString(str);
str.Format("secondary_proxy_server_ip=%s\n",pInfo2->Ip);
file.WriteString(str);
file.WriteString("secondary_proxy_server_port=3002\n\n");
file.WriteString("[option]\n");
file.WriteString("DisconnectAccelatorUser=1\n\n");
file.WriteString("LogPath=..\\LogOutput\n\n"); // 030805 kyo
file.Close();
}
break;
}
}//for巩 场
::ShellExecute(m_hWnd, NULL, m_pApp->m_szIniMakePath, NULL, NULL, SW_SHOWNORMAL);
}
CString CServerPatch::GetWriteFolder(int ServerSetNum, int i)
{
ServerSetNum;
CServerView* pView = (CServerView*)GetParent();
int si = pView->m_nCurServerSet; //ServerIndex(si)
//IP弃歹 啊 乐绰瘤 绝绰瘤甫 炼荤茄促.
CFileFind finder;
CString destpath,foldername;
ServerInfo* pInfo = &m_pApp->m_ServerInfo[si][i];
destpath.Format("%s\\%s(%s)",m_pApp->m_szIniMakePath, pInfo->Ip, pInfo->MachineName);
foldername.Format("%s(%s)", pInfo->Ip,pInfo->MachineName);
BOOL bWorking = finder.FindFile(destpath);
BOOL FolderExist = 0;
while(bWorking)
{
bWorking = finder.FindNextFile();
if(finder.IsDirectory() && !finder.IsDots() && finder.GetFileName() == foldername)
{
FolderExist = 1;
}
}
CString name;
if(!FolderExist)
{
//父距 绝栏搁 IP狼 弃歹甫 货肺 父电促.
name.Format("%s\\%s(%s)",m_pApp->m_szIniMakePath, pInfo->Ip,pInfo->MachineName);
if(!::CreateDirectory((LPCTSTR)name,NULL))
{
AfxMessageBox("Failure to Create Folder.");
return "";
}
//角青 颇老 汗荤
CString source, dest;
//int type = pInfo->ServerType;
//角青 颇老疙父 眠免
// CString ExeFile = m_pApp->m_szServerFile[ type ].Right( m_pApp->m_szServerFile[ type ].GetLength() - m_pApp->m_szServerFile[ type ].ReverseFind('\\') - 1);
// dest.Format("%s\\%s",destpath,ExeFile);
// ::CopyFile((LPCTSTR)m_pApp->m_szServerFile[type],(LPCTSTR)dest,FALSE);
//
}
else
{
name.Format("%s\\%s(%s)",m_pApp->m_szIniMakePath, pInfo->Ip, pInfo->MachineName);
}
finder.Close();
return name;
}
BOOL CServerPatch::CheckExistSelectedList(WORD wPort)
{
WORD port;
int count = c_SelectList.GetItemCount();
for(int i=0; i<count ; i++)
{
port = (WORD)atoi(c_SelectList.GetItemText( i,1));//"辑滚疙", "器飘" , "惑怕", "辑滚鸥涝", "矫胶袍"
if(wPort == port) return TRUE;
}
return FALSE;
}
void CServerPatch::OnDownloadPath()
{
if( !RIGHT(MASK_14) ) return;
// TODO: Add your control notification handler code here
CServerView* pView = (CServerView*)GetParent();
CSetDownloadPathDlg dlg;
dlg.m_nCurServerSet = pView->m_nCurServerSet;
dlg.m_pPatchDlg = this;
dlg.DoModal();
}
void CServerPatch::OnCheckAgent()
{
// TODO: Add your control notification handler code here
if(m_CheckAgent)
{
m_CheckAgent = 0;
MoveToAllEachServer(1);
}
else
{
m_CheckAgent = 1;
MoveToSelectEachServer(1);
}
UpdateData(FALSE);
}
void CServerPatch::OnCheckDbdemon()
{
// TODO: Add your control notification handler code here
if(m_CheckDBDemon)
{
m_CheckDBDemon = 0;
MoveToAllEachServer(2);
}
else
{
m_CheckDBDemon = 1;
MoveToSelectEachServer(2);
}
UpdateData(FALSE);
}
void CServerPatch::OnCheckMap()
{
// TODO: Add your control notification handler code here
if(m_CheckMap)
{
m_CheckMap = 0;
MoveToAllEachServer(3);
}
else
{
m_CheckMap = 1;
MoveToSelectEachServer(3);
}
UpdateData(FALSE);
}
void CServerPatch::MoveToAllEachServer(int nServerType)
{
int nItem,port,i=0,count=0;
LVITEM item;
char str[128];
char* type[4] = {"PROXY","AGENT","DBDEMON","MAP"};
int num = c_SelectList.GetItemCount();
for(int k=0; k<num; k++)
{
nItem = k - count;
c_SelectList.GetItemText(nItem,3,str,128);
if(!strcmp(str, type[ nServerType ]))
{
port = atoi(c_SelectList.GetItemText(nItem,1));
i = c_AllList.GetItemCount();
c_SelectList.GetItemText(nItem,0,str,128);
//辑滚疙
item.mask = LVIF_TEXT | LVIF_PARAM;
item.pszText = str;
item.iItem = i; //青锅龋
item.iSubItem = 0; //凯锅龋
item.lParam = port;
c_AllList.InsertItem(&item);
c_SelectList.GetItemText(nItem,1,str,128);
//Port 锅龋
item.mask = LVIF_TEXT;
item.iSubItem = 1;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,2,str,128);
//泅犁 惑怕
item.mask = LVIF_TEXT;
item.iSubItem = 2;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,3,str,128);
//辑滚鸥涝
item.mask = LVIF_TEXT;
item.iSubItem = 3;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,4,str,128);
//System
item.mask = LVIF_TEXT;
item.iSubItem = 4;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,5,str,128);
//Ip
item.mask = LVIF_TEXT;
item.iSubItem = 5;
item.pszText = str;
c_AllList.SetItem(&item);
//nItem = nItem - count + 1;
c_SelectList.DeleteItem(nItem);
count++;
//盖 关栏肺 胶农费官 捞悼..
POINT point;
CHeaderCtrl* pHeader = (CHeaderCtrl*)c_AllList.GetDlgItem(0);
RECT rect;
pHeader->GetClientRect( &rect );
int header = rect.bottom;
c_AllList.GetItemPosition(i, &point);
c_AllList.Scroll(CSize(0, point.y - header));
}
}
CountConnectServer();
/* int nItem,port,i=0,count=0;
LVITEM item;
char str[128];
char* type[4] = {"PROXY","AGENT","DBDEMON","MAP"};
count = c_SelectList.GetItemCount();
while(count > 0)
{
nItem = c_SelectList.GetNextItem( -1, LVNI_ALL);
if( nItem < 0 ) break;
c_SelectList.GetItemText(nItem,3,str,128);
if(!strcmp(str, type[ nServerType ]))
{
port = atoi(c_SelectList.GetItemText(nItem,1));
i = c_AllList.GetItemCount();
c_SelectList.GetItemText(nItem,0,str,128);
//辑滚疙
item.mask = LVIF_TEXT | LVIF_PARAM;
item.pszText = str;
item.iItem = i; //青锅龋
item.iSubItem = 0; //凯锅龋
item.lParam = port;
c_AllList.InsertItem(&item);
c_SelectList.GetItemText(nItem,1,str,128);
//Port 锅龋
item.mask = LVIF_TEXT;
item.iSubItem = 1;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,2,str,128);
//泅犁 惑怕
item.mask = LVIF_TEXT;
item.iSubItem = 2;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,3,str,128);
//辑滚鸥涝
item.mask = LVIF_TEXT;
item.iSubItem = 3;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,4,str,128);
//System
item.mask = LVIF_TEXT;
item.iSubItem = 4;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.DeleteItem(nItem);
//盖 关栏肺 胶农费官 捞悼..
POINT point;
CHeaderCtrl* pHeader = (CHeaderCtrl*)c_AllList.GetDlgItem(0);
RECT rect;
pHeader->GetClientRect( &rect );
int header = rect.bottom;
c_AllList.GetItemPosition(i, &point);
c_AllList.Scroll(CSize(0, point.y - header));
}
count--;
}
*/
/*
int num = c_SelectList.GetItemCount();
for(int k=0; k<num; k++)
{
nItem = k - count;
c_SelectList.GetItemText(nItem,3,str,128);
if(!strcmp(str, type[ nServerType ]))
{
port = atoi(c_SelectList.GetItemText(nItem,1));
i = c_AllList.GetItemCount();
c_SelectList.GetItemText(nItem,0,str,128);
//辑滚疙
item.mask = LVIF_TEXT | LVIF_PARAM;
item.pszText = str;
item.iItem = i; //青锅龋
item.iSubItem = 0; //凯锅龋
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -