TA的每日心情 | 无聊 2014-8-8 12:31 |
---|
签到天数: 37 天 [LV.5]常住居民I 鲜花( 0) 鸡蛋( 0)
|
绝对女神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即可。
|
|