游戏乐悠悠网游开发网

标题: 绝对女神online源码研究笔记一 [打印本页]

作者: tianyalanzi    时间: 2012-2-25 21:21
标题: 绝对女神online源码研究笔记一
绝对女神online源码研究笔记一
(1)、GameServer和MasterServer占用CPU 100%解决方案
A、在netlib.cpp里的NET_CreateSendingThread函数中设置线程优先级为最低
GetPriorityClass( GetCurrentProcess() );
SetPriorityClass( GetCurrentProcess() , NORMAL_PRIORITY_CLASS);
  GetThreadPriority( hThread );
SetPriorityClass( GetCurrentProcess() , NORMAL_PRIORITY_CLASS);
SetThreadPriority( hThread, THREAD_PRIORITY_LOWEST );
B、在database.cpp里的DB_CreateQueryExecuterThread函数中设置线程优先级为最低,代码同上。
C、在database.cpp里的DB_QueryExecuterThread函数中调用sleep函数,休眠1豪秒降低查询线程的频率,让CPU做其他工作,当然对其他线程循环里都可以同样加上代码sleep(1)。
(2)、配置服务端连接数据库的用户名和密码
在database.cpp文件中的Initialize函数中修改
if ( DSNType == 1 ) // FILE DSN
  sprintf(connection, "FILEDSN=%s;UID=%sWD=%s", DSN,"你的用户名","你的密码");
else    // SYSTEM DSN
  sprintf(connection, "DSN=%s;UID=%sWD=%s", DSN,"你的用户名","你的密码");
(3)、客户端版本号与服务端版本对应
A、服务端可以修改MasterServer里的配置文件server.cfg中GAME_VERSION字段
GAME_VERSION 你的版本号
B、客户端版本号在CGameVersion.cpp里修改
m_iClientGameVersion = 1.20;
strncpy(m_szMasterServerVersion, "你的版本号", VERSIONSTRING);
(4)、修改客户端连接服务端的IP和端口
利用工具ConvertPackToZip将客户端的config.pack转换为config.i3d,利用winrar打开config.i3d,提取server_chn.cfg,修改masterserver的IP地址和端口,服务器名。
MASTER_SERVER_GROUP_NUMBER 1
MASTER_SERVER_GROUP_IDX 0
MASTER_SERVER_GROUP_NAME 你的服务器名
MASTER_SERVER_NUMBER  1
MASTER_SERVER_IP      你的服务器IP
MASTER_SERVER_PORT    你的服务器端口
GAME_VERSION          !080629@_TxEn!
SUB_VERSION           DEVELOPER
LANGUAGE_TYPE   CHINESE
修改完后替换config.i3d里的server_chn.cfg文件,保存后利用工具ConvertZipToPack工具转换为config.pack文件,替换客户端data目录里的config.pack即可。


作者: 帝鱼    时间: 2012-7-30 00:17
很厉害,解说的很好!
作者: monster007777    时间: 2012-8-15 14:59
解说的很好!




欢迎光临 游戏乐悠悠网游开发网 (http://bbs.yxlyy.club/) Powered by Discuz! X3.2