📄 serverpatch.cpp
字号:
CString szTemp, szTemp2;
szTemp = m_pApp->m_szDownloadPath[ pView->m_nCurServerSet ];
char drive = szTemp.GetAt(0);
szTemp2 = szTemp.Mid(3, szTemp.GetLength() - 3);
//促弗累诀甸肺 牢秦 老何 Listener狼 促款肺靛 版肺啊 函版登菌阑 啊瓷己捞 乐栏骨肺 老褒利栏肺 嘎苗林磊..
PACKET_SET_DOWNLOAD_PATH packet3(drive, szTemp2.GetBuffer(szTemp2.GetLength()));
g_pFt->Send((char*)&packet3, (unsigned short)packet3.GetPacketSize());
//器飘 罐酒坷绊..
c_SelectList.GetItemText(i, 1, str, 128);
WORD wPort = (WORD)atoi(str);
//角青窍扼绰 皋技瘤 傈价 ...
PACKET_LISTENER_SERVER_EXCUTE packet4(0, wPort, m_szExeName.GetBuffer( filelen ));
g_pFt->Send((char*)&packet4, (unsigned short)packet4.GetPacketSize());
g_pFt->CloseClientSocket();
count = 1;
}
}
//恐 辑滚肺 楷搬窍绰啊?
g_pNet->Send(GetConnection(), packet2, offset);
//g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], packet2, offset);
#ifdef RM_LOG_MODE
CString str2; str2.Format("ServerPatch :: Execute Server!(Applied: %d) -> Server: %d", count, m_nRadioExecute);
m_pApp->LogServer(pView->m_nCurServerSet, str2);
#endif
}
void CServerPatch::OnMakeIni()
{
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
if( !RIGHT(MASK_14) ) return;
int count = c_SelectList.GetItemCount();
if(count == 0)
{
MessageBox("Select Server to Create");
return;
}
CServerView* pView = (CServerView*)GetParent();
//弃歹甫 厚款促... 蓖满栏聪 肯傈促 昏力饶 积己..ぱ_-;;
m_pApp->DelTree(m_pApp->m_szIniMakePath.GetBuffer(m_pApp->m_szIniMakePath.GetLength()));
::CreateDirectory(m_pApp->m_szIniMakePath.GetBuffer(m_pApp->m_szIniMakePath.GetLength()), NULL);
//绢恫 辆幅狼 角青 颇老墨乔啊 鞘夸茄瘤 眉农..
int nTypeCheck[4] = {0,};
char str[ 128 ];
for(int i=0; i<count ; i++)
{
c_SelectList.GetItemText(i,3,str,128);//"辑滚疙", "器飘" , "惑怕", "辑滚鸥涝", "矫胶袍"
if(!strcmp(str,"PROXY")) nTypeCheck[0] = 1;
else if(!strcmp(str,"AGENT")) nTypeCheck[1] = 1;
else if(!strcmp(str,"DBDEMON")) nTypeCheck[2] = 1;
else if(!strcmp(str,"MAP")) nTypeCheck[3] = 1;
}
//眉农茄 搬苞甫 啊瘤绊 傈价俊 鞘夸茄 辑滚 颇老甸 汗荤
for(i=0; i<4 ; i++)
{
if(nTypeCheck[i])
{
CString ExeFile = m_pApp->m_szServerFile[ pView->m_nCurServerSet ][i].Right( m_pApp->m_szServerFile[ pView->m_nCurServerSet ][i].GetLength()
- m_pApp->m_szServerFile[ pView->m_nCurServerSet ][i].ReverseFind('\\') - 1);
char temp[ MAX_PATH ];
sprintf(temp,"%s\\%s",m_pApp->m_szIniMakePath, ExeFile);
::CopyFile(m_pApp->m_szServerFile[ pView->m_nCurServerSet ][i], temp, FALSE);
}
}
//ini 颇老苞 弃歹 积己 苞沥
//CString SourceFilePath = "d:\\SourceFile";
int si = pView->m_nCurServerSet; //ServerIndex(si)
if(si < 0) return;
ServerInfo *pInfo = NULL;
ServerInfo *pInfo2 = NULL;
for(i=0; i< m_pApp->m_ServerSetInfo[ si ].nServerNum ; i++)
{
pInfo = &m_pApp->m_ServerInfo[si][i];
if(!CheckExistSelectedList( (WORD)pInfo->Port ))
continue;
switch(pInfo->ServerType)
{
//Proxy Server
case 0:
{
CStdioFile file;
CString destpath;
destpath.Format("%s\\proxy%d",GetWriteFolder(2,i), pInfo->Port); //器飘锅龋肺 弃歹 积己窍扁 困茄 巩磊凯
if(!::CreateDirectory((LPCTSTR)destpath,NULL))
{
AfxMessageBox("Faillure to Create Folder.");
return;
}
destpath += "\\proxyserver.ini"; //积己且 颇老疙篮 proxyserver.ini
if (file.Open(destpath, CFile::modeCreate | CFile::modeWrite, NULL)==FALSE)
{
AfxMessageBox("Failure to Create 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("[server_set_info]\n");
int nSet = g_NationAccount.iDragon_DB_ServerIndex[ si ];
//if(si == 2)
// nSet = 100; //海鸥辑滚(俺惯磊)
//else
// nSet = si+1;
str.Format("own_server_set_number = %d\n",nSet);
file.WriteString(str);
file.WriteString("default_max_user_can_login = 3000\n");
file.WriteString("default_max_user_can_login_per_sec = 5\n\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);
str.Format("own_server_ip_for_user=%s\n",pInfo->Ip);
file.WriteString(str);
file.WriteString("own_server_port_for_user=9000\n");
file.WriteString("primary_proxy_server_ip=\n");
file.WriteString("primary_proxy_server_port=\n");
file.WriteString("secondary_proxy_server_ip=\n");
file.WriteString("secondary_proxy_server_port=\n\n");
//唱吝俊 瘤快磊.. 救镜何盒
/*
file.WriteString("[server_manager]\n");
file.WriteString("num_of_available_manager_ip = 9\n");
file.WriteString("manager_ip0 = 203.227.17.17\n");
file.WriteString("manager_ip1 = 203.227.17.4\n");
file.WriteString("manager_ip2 = 203.227.17.5\n");
file.WriteString("manager_ip3 = 203.227.17.10\n");
file.WriteString("manager_ip4 = 203.227.17.11\n");
file.WriteString("manager_ip5 = 211.55.70.116\n");
file.WriteString("manager_ip6 = 211.55.70.63\n");
file.WriteString("manager_ip7 = 203.227.17.103\n");
file.WriteString("manager_ip8 = 203.227.17.104\n\n");
//
*/
file.WriteString("[external_server_info]\n");
str.Format("num_of_external_servers = %d\n\n", m_pApp->m_ServerSetInfo[ si ].nServerNum - 1);
file.WriteString(str);
file.WriteString(";/////////////// agent ///////////////\n\n");
int count = 0;
for(int j=0; j < m_pApp->m_ServerSetInfo[ si ].nServerNum; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 1) //Agent 辑滚父
{
str.Format(";%s\n",pInfo2->MachineName);
file.WriteString(str);
str.Format("external_server_ip%d = %s\n",count, pInfo2->Ip);
file.WriteString(str);
str.Format("external_server_port%d = %d\n",count, pInfo2->Port);
file.WriteString(str);
str.Format("external_server_ip_for_user%d = %s\n",count, pInfo2->Ip);
file.WriteString(str);
str.Format("external_server_port_for_user%d = 9000\n",count);
file.WriteString(str);
count++;
}
}
file.WriteString("\n;/////////////// DB ///////////////\n\n");
for(j=0; j < m_pApp->m_ServerSetInfo[ si ].nServerNum; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 2) //DB Demon父
{
str.Format(";%s\n",pInfo2->MachineName);
file.WriteString(str);
str.Format("external_server_ip%d = %s\n",count, pInfo2->Ip);
file.WriteString(str);
str.Format("external_server_port%d = %d\n",count, pInfo2->Port);
file.WriteString(str);
count++;
}
}
file.WriteString("\n;/////////////// maps ///////////////\n\n");
for(j=0; j < m_pApp->m_ServerSetInfo[ si ].nServerNum; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 3) //DB Demon父
{
str.Format(";%s\n",pInfo2->MachineName);
file.WriteString(str);
str.Format("external_server_ip%d = %s\n",count, pInfo2->Ip);
file.WriteString(str);
str.Format("external_server_port%d = %d\n",count, pInfo2->Port);
file.WriteString(str);
count++;
}
}
file.WriteString("\n[RMTool_Info]\n");
CertainIPList iplist[20]; memset(iplist,0,sizeof(iplist));
int ret = g_pDb->OpenRecord(L"Select IP from rm_log_info where LoginType >= 100", iplist, 20, (BYTE)TOTAL_DB);
str.Format("CertainIPNum = %d\n",ret);
file.WriteString(str);
for(int i=0; i<ret; i++)
{
str.Format("CertainIP%d = %s\n",i+1,iplist[i].ip);
file.WriteString(str);
}
file.Close();
} //case 0:
break;
//Agent Server
case 1:
{
CStdioFile file;
CString destpath;
destpath.Format("%s\\agent%d",GetWriteFolder(2,i),
pInfo->Port); //器飘锅龋肺 弃歹 积己窍扁 困茄 巩磊凯
if(!::CreateDirectory((LPCTSTR)destpath,NULL))
{
AfxMessageBox("Failure to Create folder.");
return;
}
destpath += "\\agentserver.ini"; //积己且 颇老疙篮 proxyserver.ini
if (file.Open(destpath, CFile::modeCreate | CFile::modeWrite, NULL)==FALSE)
{
AfxMessageBox("failure to Create 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("[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);
str.Format("own_server_ip_for_user=%s\n",pInfo->Ip);
file.WriteString(str);
file.WriteString("own_server_port_for_user=9001\n");
//proxy辑滚 茫扁..
int proxy;proxy=0;
for(int j=0; m_pApp->m_ServerSetInfo[ si ].nServerNum ; j++)
{
pInfo2 = &m_pApp->m_ServerInfo[si][j];
if(pInfo2->ServerType == 0)
{
proxy = j;
break;
}
}
str.Format("primary_proxy_server_ip=%s\n",m_pApp->m_ServerInfo[si][proxy].Ip);
file.WriteString(str);
str.Format("primary_proxy_server_port=%d\n",m_pApp->m_ServerInfo[si][proxy].Port);
file.WriteString(str);
str.Format("secondary_proxy_server_ip=%s\n",m_pApp->m_ServerInfo[si][proxy].Ip);
file.WriteString(str);
file.WriteString("secondary_proxy_server_port=3002\n\n");
file.WriteString("[debug]\n");
file.WriteString("makemode = 1\n");
file.WriteString("pc_neverdie = 1\n");
file.Close();
}
break;
//DB Demon
case 2:
{
CStdioFile file;
CString destpath;
destpath.Format("%s\\db%d",GetWriteFolder(2,i),
pInfo->Port); //器飘锅龋肺 弃歹 积己窍扁 困茄 巩磊凯
if(!::CreateDirectory((LPCTSTR)destpath,NULL))
{
AfxMessageBox("Failure to Create Folder.");
return;
}
destpath += "\\DBDemon.ini"; //积己且 颇老疙篮 proxyserver.ini
if (file.Open(destpath, CFile::modeCreate | CFile::modeWrite, NULL) == FALSE)
{
AfxMessageBox("Failure to Create 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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -