1. **ÀûÓÃÒýÇæ×Ô´øµÄµ÷ÊÔ¹¦ÄÜ**
- **²é¿´ÈÕÖ¾Îļþ**£ºGOMÒýÇæ¿ÉÄÜ»áÓÐһЩ»ù±¾µÄÈÕÖ¾¼Ç¼¹¦ÄÜ¡£¼ì²é·þÎñ¶ËµÄÈÕÖ¾Îļþ£¬¿´ÊÇ·ñÓйØÓÚÄÚ´æÊ¹ÓÃÒì³£µÄ¼Ç¼¡£ÀýÈ磬ÓÐЩÒýÇæ»áÔÚÄÚ´æÕ¼Óùý¸ß»òÕß³öÏÖ¿ÉÄܵÄÄÚ´æÐ¹Â©Çé¿öʱ£¬¼Ç¼ÏÂÏà¹ØµÄ¾¯¸æÐÅÏ¢£¬Èç“ÄÚ´æÕ¼Óó¬¹ýãÐÖµ”»ò“ÒÉËÆÄÚ´æÐ¹Â©µÄ¶ÔÏó´´½¨²Ù×÷”¡£
- **ÆôÓõ÷ÊÔģʽ**£º²¿·ÖGOMÒýÇæÖ§³Öµ÷ÊÔģʽ£¬ÔÚÕâÖÖģʽÏ£¬¿ÉÒÔ»ñÈ¡¸üÏêϸµÄ½Å±¾ÔËÐÐÐÅÏ¢£¬°üÀ¨ÄÚ´æµÄ·ÖÅäºÍÊÍ·ÅÇé¿ö¡£Í¨¹ýÔÚÒýÇæµÄÅäÖÃÎļþ»òÕ߯ô¶¯²ÎÊýÖпªÆôµ÷ÊÔģʽ£¬È»ºó¹Û²ìÊä³öµÄµ÷ÊÔÐÅÏ¢À´²éÕÒÄÚ´æÐ¹Â©µÄÏßË÷¡£²»¹ýҪעÒ⣬µ÷ÊÔģʽ¿ÉÄÜ»á¶ÔÐÔÄܲúÉúÒ»¶¨µÄÓ°Ï죬²¢ÇÒÊä³öµÄÐÅÏ¢Á¿¿ÉÄܽϴó£¬ÐèÒª×ÐϸɸѡÓÐÓõÄÐÅÏ¢¡£
2. **ʹÓõÚÈý·½ÄÚ´æ¼à²â¹¤¾ß£¨Èç¹ûÊÊÓã©**
- **ÐÔÄܼà²âÈí¼þ**£ºÓÐЩͨÓõķþÎñÆ÷ÐÔÄܼà²âÈí¼þ¿ÉÒÔÓÃÓÚ¼à²â´«Ææ·þÎñÆ÷ÄÚ´æÇé¿ö¡£ÕâЩÈí¼þ¿ÉÒÔʵʱÏÔʾÄÚ´æµÄÕ¼ÓÃÁ¿¡¢ÄÚ´æµÄʹÓÃÇ÷ÊÆµÈÐÅÏ¢¡£ÀýÈ磬Prometheus½áºÏGrafana¿ÉÒÔ¶Ô·þÎñÆ÷µÄÄÚ´æµÈÖ¸±ê½øÐпÉÊÓ»¯¼à¿Ø¡£Í¨¹ý¹Û²ìÄÚ´æÊ¹ÓÃÇúÏߣ¬Èç¹û·¢ÏÖÄÚ´æÊ¹ÓÃÁ¿ÔÚ¼ÙÈ˵Ǽ½Å±¾ÔËÐйý³ÌÖгÖÐøÉÏÉý£¬ÇÒûÓÐϽµµÄÇ÷ÊÆ£¬Õâ¿ÉÄܰµÊ¾´æÔÚÄÚ´æÐ¹Â©¡£
- **½Å±¾ÓïÑÔÌØ¶¨µÄ¹¤¾ß**£ºÈç¹û¼ÙÈ˵Ǽ½Å±¾ÊÇÓÃijÖÖÌØ¶¨µÄ½Å±¾ÓïÑÔ±àдµÄ£¬ÈçLua£¨GOMÒýÇæ¿ÉÄÜÖ§³ÖLua½Å±¾£©£¬¿ÉÒÔʹÓøýű¾ÓïÑÔ¶ÔÓ¦µÄÄÚ´æ¼à²â¹¤¾ß¡£ÒÔLuaΪÀý£¬Óй¤¾ß¿ÉÒÔ¸ú×ÙLua½Å±¾ÖжÔÏóµÄ´´½¨ºÍÏú»ÙÇé¿ö£¬°ïÖúÈ·¶¨ÊÇ·ñÓжÔÏóûÓб»ÕýÈ·ÊÍ·Å¡£ÕâЩ¹¤¾ßͨ³£»áÌṩһЩº¯ÊýÀ´Êä³öÄÚ´æÊ¹ÓõÄͳ¼ÆÐÅÏ¢£¬Èç¶ÔÏóµÄÊýÁ¿¡¢ÄÚ´æ¿éµÄ´óСµÈ¡£
3. **ÊÖ¶¯¼ì²éÄÚ´æÊ¹ÓÃÇé¿ö**
- **Ìí¼ÓÄÚ´æÍ³¼Æ´úÂëÆ¬¶Î**£ºÔÚ¼ÙÈ˵Ǽ½Å±¾ÖÐÌí¼Ó´úÂëÀ´ÊÖ¶¯Í³¼ÆÄÚ´æÊ¹ÓÃÇé¿ö¡£ÀýÈ磬¶ÔÓÚһЩ¼òµ¥µÄ½Å±¾ÓïÑÔ£¬¿ÉÒÔ¶¨ÒåÒ»¸ö±äÁ¿À´¼Ç¼µ±Ç°ÒÑ·ÖÅäµÄÄÚ´æ¿éÊýÁ¿»òÕßÄÚ´æÕ¼ÓÃ×Ö½ÚÊý¡£ÔÚÿ´Î´´½¨¿ÉÄÜÕ¼ÓÃÄÚ´æµÄ¶ÔÏó£¨Èç½ÇÉ«¶ÔÏó¡¢×°±¸¶ÔÏóµÈ£©Ê±£¬Ôö¼ÓÕâ¸ö±äÁ¿µÄÖµ£»ÔÚ¶ÔÏóÏú»Ùʱ£¬¼õÉÙÕâ¸ö±äÁ¿µÄÖµ¡£Í¨¹ý¶¨ÆÚÊä³öÕâ¸ö±äÁ¿µÄÖµ£¬¿ÉÒÔ¹Û²ìÄÚ´æµÄ´óÖÂʹÓÃÇé¿ö¡£
- **¼Ç¼¹Ø¼ü¶ÔÏóµÄÉúÃüÖÜÆÚ**£º¶ÔÓÚһЩ¹Ø¼üµÄ¡¢¿ÉÄܵ¼ÖÂÄÚ´æÐ¹Â©µÄ¶ÔÏó£¬ÈçÊý¾Ý¿âÁ¬½Ó¶ÔÏó¡¢ÍøÂçͨÐŶÔÏóµÈ£¬¼Ç¼ËüÃǵĴ´½¨Ê±¼äºÍÔ¤ÆÚµÄÏú»Ùʱ¼ä¡£Í¨¹ý¶Ô±Èʵ¼ÊµÄÔËÐÐÇé¿ö£¬Èç¹û·¢ÏÖij¸ö¶ÔÏóµÄ´æ»îʱ¼äÔ¶Ô¶³¬¹ýÁËÔ¤ÆÚ£¬¾ÍÐèÒª¼ì²éÕâ¸ö¶ÔÏóÊÇ·ñûÓб»ÕýÈ·ÊÍ·Å¡£ÀýÈ磬¿ÉÒÔÔÚ´´½¨Ò»¸öÊý¾Ý¿âÁ¬½Ó¶ÔÏóʱ¼Ç¼ʱ¼ä´Á£º
```
local dbConnection = mysql_connect("localhost", "user", "password", "database")
local createTime = os.time()
```
- È»ºóÔÚºÏÊʵĵط½£¨Èç½Å±¾µÄÇåÀí½×¶Î£©¼ì²éÕâ¸ö¶ÔÏóÊÇ·ñ»¹´æÔÚ²¢ÇÒ´æ»îʱ¼ä¹ý³¤£º
```
if dbConnection and (os.time() - createTime > maxLifetime) then
// ¿ÉÄÜ´æÔÚÄÚ´æÐ¹Â©£¬¼ì²éÏà¹ØµÄÊÍ·Å´úÂëÊÇ·ñÕýÈ·Ö´ÐÐ
mysql_close(dbConnection)
end
```
4. **¶Ô±È²»Í¬ÔËÐн׶εÄÄÚ´æÕ¼ÓÃ**
- **¿ÕÔØ²âÊÔ**£ºÏÈÔÚûÓмÙÈ˵Ǽ½Å±¾ÔËÐлòÕßÖ»ÓÐÉÙÁ¿¼ÙÈ˵ǼµÄÇé¿öÏ£¬¼Ç¼·þÎñÆ÷µÄÄÚ´æÕ¼ÓÃÁ¿×÷Ϊ»ù×¼¡£¿ÉÒÔͨ¹ý²Ù×÷ϵͳÌṩµÄÈÎÎñ¹ÜÀíÆ÷£¨Windows£©»òÕß`top`ÃüÁLinux£©À´²é¿´ÄÚ´æÕ¼ÓÃÇé¿ö¡£
- **¸ºÔزâÊÔ**£ºÈ»ºóÖð²½Ôö¼Ó¼ÙÈ˵ǼµÄÊýÁ¿»òÕ߯µ·±ÔËÐмÙÈ˵Ǽ½Å±¾£¬¹Û²ìÄÚ´æÕ¼ÓÃÁ¿µÄ±ä»¯¡£Èç¹ûÄÚ´æÕ¼ÓÃÁ¿Ëæ×żÙÈ˵Ǽ²Ù×÷µÄÔö¼Ó¶øÏßÐÔÔö³¤£¬²¢ÇÒÔÚ¼ÙÈË×¢Ïú»òÕ߽ű¾½áÊøºóûÓлָ´µ½½Ó½ü»ù×¼ÖµµÄˮƽ£¬Õâ¿ÉÄܱíÃ÷´æÔÚÄÚ´æÐ¹Â©¡£Í¨¹ýÕâÖֶԱȣ¬¿ÉÒÔ³õ²½È·¶¨ÄÚ´æÐ¹Â©ÊÇÔÚ¼ÙÈ˵Ǽ½Å±¾ÔËÐйý³ÌÖеÄÄĸö»·½Ú³öÏֵġ£
ÔÚ´«Ææ GOM ÒýÇæÖУ¬Ä¿Ç°²¢Ã»ÓÐÖ±½ÓÕë¶Ô¼ÙÈ˵Ǽ½Å±¾¼à²âÄÚ´æÐ¹Â©µÄÌØ¶¨·½·¨¡£µ«ÎÒÃÇ¿ÉÒԲο¼Ò»°ãµÄÄÚ´æÐ¹Â©ÅŲ鷽·¨À´³¢ÊÔ¶Ô¿ÉÄÜÉæ¼°¼ÙÈ˵Ǽ½Å±¾µÄ²¿·Ö½øÐмà²â¡£
ÄÚ´æÐ¹Â©ÊÇÓÉÓÚÍü¼ÇÊÍ·ÅÄÚ´æ¡¢Âß¼´íÎó»òÊÍ·ÅÄÚ´æÏûÏ¢±»¶ÂÈûµÈÔÒòµ¼Öµġ£Èç¹û³öÏÖÄÚ´æÐ¹Â©£¬¿ÉÄÜ»áÒýÆðϵͳ¹¦ÄÜȱʧÉõÖÁ±ÀÀ£¡£
¶ÔÓÚÒ»°ãµÄÄÚ´æÐ¹Â©ÅŲ鷽·¨£¬Ò»ÖÖÊÇͨ¹ý¼Ç¼ËùÓгÌÐòµÄÔËÐй켣£¬ÈçʹÓà memleak£¬ÔÚº¯ÊýµÄÈë¿ÚºÍ³ö¿Ú·Ö±ð²åÈëÌØ¶¨´úÂ룬±àÒëʱ¼ÓÉÏÌØ¶¨²ÎÊý£¬°ÑÔËÐеÄËùÓгÌÐò¼Ç¼ÏÂÀ´£¬È»ºóɸѡÏëÒªµÄº¯Êý£¬Èç¼Ç¼ malloc¡¢free µÈº¯Êý£¬ÒòΪÄÚ´æÐ¹Â©Ö÷ÒªÓÉÕâЩº¯ÊýÒýÆð¡£¿ÉÒÔͨ¹ýÉèÖÃÈõ·ûºÏºÍÇ¿·ûºÏÀ´Ìæ»»ÔÀ´µÄº¯Êý£¬´Ó¶ø¼Ç¼ËùÐ躯Êý¡£Èç¹ûÊǵ¥Ị̈߳¬ÔËÐнáÊøºó¿É½«Êý¾Ý dump ³öÀ´²é¿´ÊÇÄÄЩ½Ó¿ÚδÊÍ·ÅÄڴ棻Èç¹ûÊǶàỊ̈߳¬ÔòÐèÒªÓöàÏ̵߳Ĵ洢»úÖÆÈç TSD ¶àÏ̴߳洢»úÖÆÀ´±£´æÊý¾Ý£¬ÒÔ±ãÈ·¶¨ÊÇÄĸöÏ̲߳úÉúµÄÊý¾Ý¡£
ÔÚ´«Ææ GOM ÒýÇæµÄ¼ÙÈ˵Ǽ½Å±¾·½Ã棬ĿǰÒÑÖªµÄÏà¹ØÄÚÈÝÓмì²â¼ÙÈËÉí·Ý£¬Í¨¹ý ISDUMMY ÃüÁî¼ì²âµÇ¼µÄÊÇ·ñΪ¼ÙÈË£»¼ÓÔØÅäÖÃÎļþ£¬Ê¹Óà GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû£¬È»ºóÓà SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁî¼ÓÔØ¸ÃÎļþ£»ÉèÖüÙÈËÐÐΪ£¬ÅäÖÃÎļþ¶¨Òå¼ÙÈ˵ÄÐж¯Ä£Ê½£¬Èç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ£»¼ÙÈËÓ¢Ð۵ǼÁ÷³ÌÓë¼ÙÈËÀàËÆ£¬µ«¼ÓÔØµÄÊÇÓ¢ÐÛµÄÅäÖÃÎļþ¡£
ËäȻĿǰûÓÐרÃÅÕë¶Ô´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÄÚ´æÐ¹Â©¼à²â·½·¨£¬µ«ÎÒÃÇ¿ÉÒÔ½èÖúͨÓõÄÄÚ´æÐ¹Â©ÅŲ鷽·¨£¬½áºÏ¶Ô¼ÙÈ˵Ǽ½Å±¾Ö´Ðйý³ÌµÄ¹Û²ìºÍ·ÖÎö£¬¾¡¿ÉÄܵط¢ÏÖ¿ÉÄÜ´æÔÚµÄÄÚ´æÐ¹Â©ÎÊÌ⡣ͬʱ£¬ÔÚʹÓà GOM ÒýÇæ½øÐд«ÆæÓÎÏ·¿ª·¢ºÍά»¤¹ý³ÌÖУ¬Ó¦ÃÜÇйØ×¢ÏµÍ³ÐÔÄܺÍÄÚ´æÊ¹ÓÃÇé¿ö£¬¼°Ê±·¢ÏÖ²¢½â¾öDZÔÚµÄÎÊÌâ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÖ´Ðйý³Ì
´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÖ´ÐÐÓÐ×ÅһϵÁи´ÔӵĹý³Ì¡£Ê×ÏÈ£¬¼ÙÈËÉÏÏßǰÐèҪΪÆäÆðÒ»¸öÃû×Ö£¬ÔÚ D:\\mirserver\\Mir200\\Envir ·¾¶ÏÂÕÒµ½ÃûΪ DummyNameList.txt µÄÎĵµ£¬ÔÚÀïÃæÊäÈëһЩϲ»¶µÄÃû×Ö£¬Ã¿¸öÃû×ÖÐèÁíÆðÒ»ÐС£Èç¹ûÊÇÓ¢ÐÛ°æ±¾£¬»¹ÐèÔÚ DummyHeroNameList.txt ¸ø¼ÙÈ˵ÄÓ¢ÐÛÆðÃû¡£½Ó×Å£¬Æô¶¯ÒýÇæ¿ØÖÆÆ÷£¬ÕÒµ½ M2£¬µã»÷Ñ¡Ïî - ¼ÙÈËÉèÖã¬ÉèÖóöÉúµØÍ¼ºÍ×ø±ê£¬ÕâÑù¼ÙÈ˾ͻáÔÚÖ¸¶¨Î»ÖÿªÊ¼ÉÏÏß¡£Ôڽű¾Ö´Ðйý³ÌÖУ¬»áͨ¹ýһϵÁÐÃüÁîÀ´¿ØÖƼÙÈ˵ÄÐÐΪ¡£ÀýÈ磬¼ì²â¼ÙÈËÉí·Ýʱ»áʹÓà ISDUMMY ÃüÁ¼ÓÔØÅäÖÃÎļþʱ»áʹÓà GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû£¬È»ºóÓà SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁî¼ÓÔØ¸ÃÎļþ¡£ÉèÖüÙÈËÐÐΪʱ£¬ÅäÖÃÎļþ»á¶¨Òå¼ÙÈ˵ÄÐж¯Ä£Ê½£¬Èç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ¡£´ËÍ⣬¼ÙÈËÓ¢Ð۵ǼÁ÷³ÌÓë¼ÙÈËÀàËÆ£¬µ«¼ÓÔØµÄÊÇÓ¢ÐÛµÄÅäÖÃÎļþ¡£Õû¸ö¹ý³ÌÉæ¼°¶à¸ö½Å±¾ÎĵµºÍÃüÁîµÄÐͬ×÷Óã¬È·±£¼ÙÈËÄܹ»ÔÚÓÎÏ·ÖÐÄ£ÄâÕæÊµÍæ¼ÒµÄÐÐΪ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÉí·ÝÈçºÎ¼ì²â
ÔÚ´«Ææ GOM ÒýÇæÖУ¬¼ì²â¼ÙÈËÉí·ÝÖ÷Ҫͨ¹ý ISDUMMY ÃüÁîÀ´ÊµÏÖ¡£µ±½Å±¾Ö´ÐÐʱ£¬Ê×ÏÈ»áÔËÓÃÕâ¸öÃüÁîÀ´ÅжϵǼµÄÊÇ·ñΪ¼ÙÈË¡£Èç¹û·µ»Ø½á¹ûÎªÕæ£¬Ôò±íÃ÷µ±Ç°µÇ¼µÄÊǼÙÈË£»Èç¹û·µ»Ø½á¹ûΪ¼Ù£¬ÔòÊÇÕæÊµÍæ¼ÒµÇ¼¡£ÕâÖÖ¼ì²â·½Ê½ÎªºóÐø¶Ô¼ÙÈ˵IJ»Í¬´¦ÀíÌṩÁËÒÀ¾Ý¡£ÀýÈ磬ÔÚ¼ÓÔØÅäÖÃÎļþºÍÉèÖÃÐÐΪģʽʱ£¬¾Í¿ÉÒÔ¸ù¾Ý¼ÙÈËÉí·ÝµÄ¼ì²â½á¹ûÀ´½øÐÐÕë¶ÔÐԵIJÙ×÷¡£Í¬Ê±£¬¼ÙÈËÉí·ÝµÄ¼ì²âÒ²ÓÐÖúÓÚÇø·Ö²»Í¬ÀàÐ͵ÄÍæ¼Ò£¬ÒÔ±ã¸üºÃµØ¹ÜÀíÓÎÏ·Öеĸ÷ÖÖ½ÇÉ«¡£Í¨¹ýÕâÖÖ·½Ê½£¬¿ÉÒÔÈ·±£¼ÙÈ˵ÄÐÐΪºÍÕæÊµÍæ¼ÒÓÐËùÇø±ð£¬Í¬Ê±Ò²ÄܸüºÃµØ¿ØÖƼÙÈ˵Ļ£¬Ê¹ÆäÔÚÓÎÏ·Öз¢»ÓÌØ¶¨µÄ×÷Óá£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÅäÖÃÎļþÈçºÎ¼ÓÔØ
´«Ææ GOM ÒýÇæÖмÙÈËÅäÖÃÎļþµÄ¼ÓÔØÓÐÌØ¶¨µÄ²½Öè¡£Ê×ÏÈ£¬Í¨¹ý GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû¡£È»ºó£¬Ê¹Óà SETDUMMYCONFIGFILENAME ÃüÁîÉèÖüÙÈËÅäÖÃÎļþµÄ·¾¶£¬Í¨³£¸ñʽΪ SETDUMMYCONFIGFILENAME Îļþ·¾¶£¬±ÈÈç SETDUMMYCONFIGFILENAME..\\QuestDiary\\ÖÇÄÜÅãÁ·\\Ò»¼¶Å®·¨ÅãÁ·.txt¡£×îºó£¬Ê¹Óà LOADDUMMYCONFIGFILE ÃüÁî¶ÁÈ¡¼ÙÈËÅäÖÃÎļþ£¬½«ÅäÖÃÎļþÖеIJÎÊý¶ÁÈ¡µ½¼ÙÈË¡£Õâ¸ö¹ý³ÌÊÇÈ·±£¼ÙÈËÄܹ»°´ÕÕÔ¤ÉèµÄÐÐΪģʽÐж¯µÄ¹Ø¼ü¡£ÅäÖÃÎļþ¶¨ÒåÁ˼ÙÈ˵ÄÐж¯Ä£Ê½£¬ÈçÒÆ¶¯µ½Ìض¨ÇøÓò¡¢ÉèÖù¥»÷ģʽµÈ¡£²»Í¬µÄÅäÖÃÎļþ¿ÉÒÔÈüÙÈ˱íÏÖ³ö²»Í¬µÄÐÐÎªÌØµã£¬´Ó¶øÔö¼ÓÓÎÏ·µÄ¶àÑùÐÔºÍȤζÐÔ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÐÐΪÈçºÎÉèÖÃ
´«Ææ GOM ÒýÇæÖмÙÈ˵ÄÐÐΪÉèÖÃÖ÷ÒªÒÀÀµÓÚÅäÖÃÎļþ¡£ÅäÖÃÎļþÖж¨ÒåÁ˼ÙÈ˵ĸ÷ÖÖÐж¯Ä£Ê½£¬ÀýÈç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ¡£¹¥»÷ģʽÓжàÖÖÑ¡Ôñ£¬Èç 0-È«Ìå¹¥»÷£¨Ö÷¶¯¹¥»÷£©¡¢1-ºÍƽ¹¥»÷£¨²» PK£©¡¢2-·òÆÞ¹¥»÷¡¢3-ʦͽ¹¥»÷¡¢4-±à×é¹¥»÷¡¢5-Ðлṥ»÷¡¢6-ºìÃû¹¥»÷£¨²»Ö÷¶¯¹¥»÷£¬Êܹ¥»÷ºó·´»÷£©¡£Í¨¹ýÉèÖò»Í¬µÄ²ÎÊý£¬¿ÉÒÔÈüÙÈËÔÚÓÎÏ·ÖбíÏÖ³ö²»Í¬µÄÐÐÎªÌØµã¡£´ËÍ⣬¼ÙÈË»¹¿ÉÒÔ¸ù¾ÝÅäÖÃÎļþ½øÐдò¹Ö¡¢Ê°È¡ÎïÆ·¡¢»ØÊÕ×°±¸µÈÐÐΪ¡£ÔÚ Qfunction-0.txt ÖУ¬»¹¿ÉÒÔ¸ø¼ÙÈËÅäÖÃ×°±¸£¬¿ØÖƼÙÈ˵Ĵ©´÷×°±¸¡¢Ö°Òµ¡¢ÐԱ𡢵ȼ¶¡¢ÊôÐԵ㡢³ÆºÅµÈ¡£Í¨¹ýÕâЩÉèÖ㬿ÉÒÔÈüÙÈ˸ü¼Ó±ÆÕæµØÄ£ÄâÕæÊµÍæ¼ÒµÄÐÐΪ£¬ÎªÓÎÏ·ÔöÌí¸ü¶àµÄȤζÐÔºÍÌôÕ½ÐÔ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÓ¢Ð۵ǼÁ÷³Ì
´«Ææ GOM ÒýÇæÖмÙÈËÓ¢Ð۵ĵǼÁ÷³ÌÓë¼ÙÈËÀàËÆ¡£Ê×ÏÈ£¬Ò²ÐèÒª´Ó¼ÙÈËÁбí»ò¼ÙÈËÓ¢ÐÛÁбíÖлñȡһ¸öûÓеǼ¹ýµÄÃû³Æ¡£ÈËÎïµÄÃû³ÆÁбíÔÚ D:\\MirServer\\Mir200\\Envir\\DummyNameList.txt£¬Ó¢ÐÛµÄÃû³ÆÁбíÔÚ D:\\MirServer\\Mir200\\Envir\\DummyHeroNameList.txt¡£»ñÈ¡Ãû³ÆµÄ¸ñʽΪ GETDUMMYNAME ±£´æ±äÁ¿ ÁбíÀàÐÍ£¨0=ÈËÎïÁбí 1=Ó¢ÐÛÁÐ±í£© »ñÈ¡ÀàÐÍ£¨0=˳Ðò»ñÈ¡ 1=Ëæ»ú»ñÈ¡£©¡£½Ó×Å£¬¼ÓÔØÓ¢ÐÛµÄÅäÖÃÎļþ£¬Óë¼ÙÈËÅäÖÃÎļþµÄ¼ÓÔØ·½Ê½ÀàËÆ£¬Ò²ÊÇͨ¹ý SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁîÀ´ÊµÏÖ¡£Ó¢ÐÛµÄÅäÖÃÎļþ¶¨ÒåÁËÓ¢ÐÛµÄÐÐΪģʽ£¬Èç¹¥»÷·½Ê½¡¢¼¼ÄÜʹÓõȡ£Í¨¹ýÕâÑùµÄÁ÷³Ì£¬¼ÙÈËÓ¢ÐÛÄܹ»ÔÚÓÎÏ·ÖÐÓë¼ÙÈËÐͬ×÷Õ½£¬ÎªÓÎÏ·ÔöÌí¸ü¶àµÄÕ½¶·²ßÂÔºÍȤζÐÔ¡£
´«Ææ GOM ÒýÇæµÄ¼ÙÈËϵͳΪÓÎÏ·´øÀ´Á˸ü¶àµÄ¿ÉÄÜÐÔºÍȤζÐÔ¡£Í¨¹ý¶Ô¼ÙÈ˵Ǽ½Å±¾µÄÖ´Ðйý³Ì¡¢¼ÙÈËÉí·Ý¼ì²â¡¢ÅäÖÃÎļþ¼ÓÔØ¡¢ÐÐΪÉèÖÃÒÔ¼°Ó¢Ð۵ǼÁ÷³ÌµÄÁ˽⣬¿ÉÒÔ¸üºÃµØÕÆÎÕ´«Ææ GOM ÒýÇæÖмÙÈ˵ÄÔË×÷»úÖÆ£¬ÎªÓÎÏ·µÄ¿ª·¢ºÍÓÅ»¯Ìṩ²Î¿¼¡£¶ÔÓÚÈçºÎÔÚ´«Ææ gom ÒýÇæ¼ÙÈ˵Ǽ½Å±¾Öмà²âÄÚ´æÐ¹Â©µÄÎÊÌ⣬Ŀǰ²¢Ã»ÓÐÖ±½ÓÏà¹ØµÄÄÚÈÝ¿ÉÒÔ½â´ð¡£µ«¿ÉÒÔͨ¹ýһЩͨÓõÄÄÚ´æ¼à²â¹¤¾ß£¬Èç Visual Studio µÄÄÚ´æÕï¶Ï¹¤¾ß¡¢Valgrind µÈ£¬ÔÚÔËÐÐÓÎϷʱ¶ÔÄÚ´æÊ¹ÓÃÇé¿ö½øÐмà²â£¬¹Û²ìÊÇ·ñ´æÔÚÄÚ´æÐ¹Â©µÄ¼£Ïó¡£Í¬Ê±£¬ÔÚ¿ª·¢ºÍά»¤¼ÙÈ˵Ǽ½Å±¾Ê±£¬Òª×¢ÒâºÏÀí¹ÜÀíÄÚ´æ×ÊÔ´£¬¼°Ê±ÊͷŲ»ÔÙʹÓõÄÄڴ棬±ÜÃâ³öÏÖÄÚ´æÐ¹Â©µÄÎÊÌâ¡£
- **²é¿´ÈÕÖ¾Îļþ**£ºGOMÒýÇæ¿ÉÄÜ»áÓÐһЩ»ù±¾µÄÈÕÖ¾¼Ç¼¹¦ÄÜ¡£¼ì²é·þÎñ¶ËµÄÈÕÖ¾Îļþ£¬¿´ÊÇ·ñÓйØÓÚÄÚ´æÊ¹ÓÃÒì³£µÄ¼Ç¼¡£ÀýÈ磬ÓÐЩÒýÇæ»áÔÚÄÚ´æÕ¼Óùý¸ß»òÕß³öÏÖ¿ÉÄܵÄÄÚ´æÐ¹Â©Çé¿öʱ£¬¼Ç¼ÏÂÏà¹ØµÄ¾¯¸æÐÅÏ¢£¬Èç“ÄÚ´æÕ¼Óó¬¹ýãÐÖµ”»ò“ÒÉËÆÄÚ´æÐ¹Â©µÄ¶ÔÏó´´½¨²Ù×÷”¡£
- **ÆôÓõ÷ÊÔģʽ**£º²¿·ÖGOMÒýÇæÖ§³Öµ÷ÊÔģʽ£¬ÔÚÕâÖÖģʽÏ£¬¿ÉÒÔ»ñÈ¡¸üÏêϸµÄ½Å±¾ÔËÐÐÐÅÏ¢£¬°üÀ¨ÄÚ´æµÄ·ÖÅäºÍÊÍ·ÅÇé¿ö¡£Í¨¹ýÔÚÒýÇæµÄÅäÖÃÎļþ»òÕ߯ô¶¯²ÎÊýÖпªÆôµ÷ÊÔģʽ£¬È»ºó¹Û²ìÊä³öµÄµ÷ÊÔÐÅÏ¢À´²éÕÒÄÚ´æÐ¹Â©µÄÏßË÷¡£²»¹ýҪעÒ⣬µ÷ÊÔģʽ¿ÉÄÜ»á¶ÔÐÔÄܲúÉúÒ»¶¨µÄÓ°Ï죬²¢ÇÒÊä³öµÄÐÅÏ¢Á¿¿ÉÄܽϴó£¬ÐèÒª×ÐϸɸѡÓÐÓõÄÐÅÏ¢¡£
2. **ʹÓõÚÈý·½ÄÚ´æ¼à²â¹¤¾ß£¨Èç¹ûÊÊÓã©**
- **ÐÔÄܼà²âÈí¼þ**£ºÓÐЩͨÓõķþÎñÆ÷ÐÔÄܼà²âÈí¼þ¿ÉÒÔÓÃÓÚ¼à²â´«Ææ·þÎñÆ÷ÄÚ´æÇé¿ö¡£ÕâЩÈí¼þ¿ÉÒÔʵʱÏÔʾÄÚ´æµÄÕ¼ÓÃÁ¿¡¢ÄÚ´æµÄʹÓÃÇ÷ÊÆµÈÐÅÏ¢¡£ÀýÈ磬Prometheus½áºÏGrafana¿ÉÒÔ¶Ô·þÎñÆ÷µÄÄÚ´æµÈÖ¸±ê½øÐпÉÊÓ»¯¼à¿Ø¡£Í¨¹ý¹Û²ìÄÚ´æÊ¹ÓÃÇúÏߣ¬Èç¹û·¢ÏÖÄÚ´æÊ¹ÓÃÁ¿ÔÚ¼ÙÈ˵Ǽ½Å±¾ÔËÐйý³ÌÖгÖÐøÉÏÉý£¬ÇÒûÓÐϽµµÄÇ÷ÊÆ£¬Õâ¿ÉÄܰµÊ¾´æÔÚÄÚ´æÐ¹Â©¡£
- **½Å±¾ÓïÑÔÌØ¶¨µÄ¹¤¾ß**£ºÈç¹û¼ÙÈ˵Ǽ½Å±¾ÊÇÓÃijÖÖÌØ¶¨µÄ½Å±¾ÓïÑÔ±àдµÄ£¬ÈçLua£¨GOMÒýÇæ¿ÉÄÜÖ§³ÖLua½Å±¾£©£¬¿ÉÒÔʹÓøýű¾ÓïÑÔ¶ÔÓ¦µÄÄÚ´æ¼à²â¹¤¾ß¡£ÒÔLuaΪÀý£¬Óй¤¾ß¿ÉÒÔ¸ú×ÙLua½Å±¾ÖжÔÏóµÄ´´½¨ºÍÏú»ÙÇé¿ö£¬°ïÖúÈ·¶¨ÊÇ·ñÓжÔÏóûÓб»ÕýÈ·ÊÍ·Å¡£ÕâЩ¹¤¾ßͨ³£»áÌṩһЩº¯ÊýÀ´Êä³öÄÚ´æÊ¹ÓõÄͳ¼ÆÐÅÏ¢£¬Èç¶ÔÏóµÄÊýÁ¿¡¢ÄÚ´æ¿éµÄ´óСµÈ¡£
3. **ÊÖ¶¯¼ì²éÄÚ´æÊ¹ÓÃÇé¿ö**
- **Ìí¼ÓÄÚ´æÍ³¼Æ´úÂëÆ¬¶Î**£ºÔÚ¼ÙÈ˵Ǽ½Å±¾ÖÐÌí¼Ó´úÂëÀ´ÊÖ¶¯Í³¼ÆÄÚ´æÊ¹ÓÃÇé¿ö¡£ÀýÈ磬¶ÔÓÚһЩ¼òµ¥µÄ½Å±¾ÓïÑÔ£¬¿ÉÒÔ¶¨ÒåÒ»¸ö±äÁ¿À´¼Ç¼µ±Ç°ÒÑ·ÖÅäµÄÄÚ´æ¿éÊýÁ¿»òÕßÄÚ´æÕ¼ÓÃ×Ö½ÚÊý¡£ÔÚÿ´Î´´½¨¿ÉÄÜÕ¼ÓÃÄÚ´æµÄ¶ÔÏó£¨Èç½ÇÉ«¶ÔÏó¡¢×°±¸¶ÔÏóµÈ£©Ê±£¬Ôö¼ÓÕâ¸ö±äÁ¿µÄÖµ£»ÔÚ¶ÔÏóÏú»Ùʱ£¬¼õÉÙÕâ¸ö±äÁ¿µÄÖµ¡£Í¨¹ý¶¨ÆÚÊä³öÕâ¸ö±äÁ¿µÄÖµ£¬¿ÉÒÔ¹Û²ìÄÚ´æµÄ´óÖÂʹÓÃÇé¿ö¡£
- **¼Ç¼¹Ø¼ü¶ÔÏóµÄÉúÃüÖÜÆÚ**£º¶ÔÓÚһЩ¹Ø¼üµÄ¡¢¿ÉÄܵ¼ÖÂÄÚ´æÐ¹Â©µÄ¶ÔÏó£¬ÈçÊý¾Ý¿âÁ¬½Ó¶ÔÏó¡¢ÍøÂçͨÐŶÔÏóµÈ£¬¼Ç¼ËüÃǵĴ´½¨Ê±¼äºÍÔ¤ÆÚµÄÏú»Ùʱ¼ä¡£Í¨¹ý¶Ô±Èʵ¼ÊµÄÔËÐÐÇé¿ö£¬Èç¹û·¢ÏÖij¸ö¶ÔÏóµÄ´æ»îʱ¼äÔ¶Ô¶³¬¹ýÁËÔ¤ÆÚ£¬¾ÍÐèÒª¼ì²éÕâ¸ö¶ÔÏóÊÇ·ñûÓб»ÕýÈ·ÊÍ·Å¡£ÀýÈ磬¿ÉÒÔÔÚ´´½¨Ò»¸öÊý¾Ý¿âÁ¬½Ó¶ÔÏóʱ¼Ç¼ʱ¼ä´Á£º
```
local dbConnection = mysql_connect("localhost", "user", "password", "database")
local createTime = os.time()
```
- È»ºóÔÚºÏÊʵĵط½£¨Èç½Å±¾µÄÇåÀí½×¶Î£©¼ì²éÕâ¸ö¶ÔÏóÊÇ·ñ»¹´æÔÚ²¢ÇÒ´æ»îʱ¼ä¹ý³¤£º
```
if dbConnection and (os.time() - createTime > maxLifetime) then
// ¿ÉÄÜ´æÔÚÄÚ´æÐ¹Â©£¬¼ì²éÏà¹ØµÄÊÍ·Å´úÂëÊÇ·ñÕýÈ·Ö´ÐÐ
mysql_close(dbConnection)
end
```
4. **¶Ô±È²»Í¬ÔËÐн׶εÄÄÚ´æÕ¼ÓÃ**
- **¿ÕÔØ²âÊÔ**£ºÏÈÔÚûÓмÙÈ˵Ǽ½Å±¾ÔËÐлòÕßÖ»ÓÐÉÙÁ¿¼ÙÈ˵ǼµÄÇé¿öÏ£¬¼Ç¼·þÎñÆ÷µÄÄÚ´æÕ¼ÓÃÁ¿×÷Ϊ»ù×¼¡£¿ÉÒÔͨ¹ý²Ù×÷ϵͳÌṩµÄÈÎÎñ¹ÜÀíÆ÷£¨Windows£©»òÕß`top`ÃüÁLinux£©À´²é¿´ÄÚ´æÕ¼ÓÃÇé¿ö¡£
- **¸ºÔزâÊÔ**£ºÈ»ºóÖð²½Ôö¼Ó¼ÙÈ˵ǼµÄÊýÁ¿»òÕ߯µ·±ÔËÐмÙÈ˵Ǽ½Å±¾£¬¹Û²ìÄÚ´æÕ¼ÓÃÁ¿µÄ±ä»¯¡£Èç¹ûÄÚ´æÕ¼ÓÃÁ¿Ëæ×żÙÈ˵Ǽ²Ù×÷µÄÔö¼Ó¶øÏßÐÔÔö³¤£¬²¢ÇÒÔÚ¼ÙÈË×¢Ïú»òÕ߽ű¾½áÊøºóûÓлָ´µ½½Ó½ü»ù×¼ÖµµÄˮƽ£¬Õâ¿ÉÄܱíÃ÷´æÔÚÄÚ´æÐ¹Â©¡£Í¨¹ýÕâÖֶԱȣ¬¿ÉÒÔ³õ²½È·¶¨ÄÚ´æÐ¹Â©ÊÇÔÚ¼ÙÈ˵Ǽ½Å±¾ÔËÐйý³ÌÖеÄÄĸö»·½Ú³öÏֵġ£
ÔÚ´«Ææ GOM ÒýÇæÖУ¬Ä¿Ç°²¢Ã»ÓÐÖ±½ÓÕë¶Ô¼ÙÈ˵Ǽ½Å±¾¼à²âÄÚ´æÐ¹Â©µÄÌØ¶¨·½·¨¡£µ«ÎÒÃÇ¿ÉÒԲο¼Ò»°ãµÄÄÚ´æÐ¹Â©ÅŲ鷽·¨À´³¢ÊÔ¶Ô¿ÉÄÜÉæ¼°¼ÙÈ˵Ǽ½Å±¾µÄ²¿·Ö½øÐмà²â¡£
ÄÚ´æÐ¹Â©ÊÇÓÉÓÚÍü¼ÇÊÍ·ÅÄÚ´æ¡¢Âß¼´íÎó»òÊÍ·ÅÄÚ´æÏûÏ¢±»¶ÂÈûµÈÔÒòµ¼Öµġ£Èç¹û³öÏÖÄÚ´æÐ¹Â©£¬¿ÉÄÜ»áÒýÆðϵͳ¹¦ÄÜȱʧÉõÖÁ±ÀÀ£¡£
¶ÔÓÚÒ»°ãµÄÄÚ´æÐ¹Â©ÅŲ鷽·¨£¬Ò»ÖÖÊÇͨ¹ý¼Ç¼ËùÓгÌÐòµÄÔËÐй켣£¬ÈçʹÓà memleak£¬ÔÚº¯ÊýµÄÈë¿ÚºÍ³ö¿Ú·Ö±ð²åÈëÌØ¶¨´úÂ룬±àÒëʱ¼ÓÉÏÌØ¶¨²ÎÊý£¬°ÑÔËÐеÄËùÓгÌÐò¼Ç¼ÏÂÀ´£¬È»ºóɸѡÏëÒªµÄº¯Êý£¬Èç¼Ç¼ malloc¡¢free µÈº¯Êý£¬ÒòΪÄÚ´æÐ¹Â©Ö÷ÒªÓÉÕâЩº¯ÊýÒýÆð¡£¿ÉÒÔͨ¹ýÉèÖÃÈõ·ûºÏºÍÇ¿·ûºÏÀ´Ìæ»»ÔÀ´µÄº¯Êý£¬´Ó¶ø¼Ç¼ËùÐ躯Êý¡£Èç¹ûÊǵ¥Ị̈߳¬ÔËÐнáÊøºó¿É½«Êý¾Ý dump ³öÀ´²é¿´ÊÇÄÄЩ½Ó¿ÚδÊÍ·ÅÄڴ棻Èç¹ûÊǶàỊ̈߳¬ÔòÐèÒªÓöàÏ̵߳Ĵ洢»úÖÆÈç TSD ¶àÏ̴߳洢»úÖÆÀ´±£´æÊý¾Ý£¬ÒÔ±ãÈ·¶¨ÊÇÄĸöÏ̲߳úÉúµÄÊý¾Ý¡£
ÔÚ´«Ææ GOM ÒýÇæµÄ¼ÙÈ˵Ǽ½Å±¾·½Ã棬ĿǰÒÑÖªµÄÏà¹ØÄÚÈÝÓмì²â¼ÙÈËÉí·Ý£¬Í¨¹ý ISDUMMY ÃüÁî¼ì²âµÇ¼µÄÊÇ·ñΪ¼ÙÈË£»¼ÓÔØÅäÖÃÎļþ£¬Ê¹Óà GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû£¬È»ºóÓà SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁî¼ÓÔØ¸ÃÎļþ£»ÉèÖüÙÈËÐÐΪ£¬ÅäÖÃÎļþ¶¨Òå¼ÙÈ˵ÄÐж¯Ä£Ê½£¬Èç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ£»¼ÙÈËÓ¢Ð۵ǼÁ÷³ÌÓë¼ÙÈËÀàËÆ£¬µ«¼ÓÔØµÄÊÇÓ¢ÐÛµÄÅäÖÃÎļþ¡£
ËäȻĿǰûÓÐרÃÅÕë¶Ô´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÄÚ´æÐ¹Â©¼à²â·½·¨£¬µ«ÎÒÃÇ¿ÉÒÔ½èÖúͨÓõÄÄÚ´æÐ¹Â©ÅŲ鷽·¨£¬½áºÏ¶Ô¼ÙÈ˵Ǽ½Å±¾Ö´Ðйý³ÌµÄ¹Û²ìºÍ·ÖÎö£¬¾¡¿ÉÄܵط¢ÏÖ¿ÉÄÜ´æÔÚµÄÄÚ´æÐ¹Â©ÎÊÌ⡣ͬʱ£¬ÔÚʹÓà GOM ÒýÇæ½øÐд«ÆæÓÎÏ·¿ª·¢ºÍά»¤¹ý³ÌÖУ¬Ó¦ÃÜÇйØ×¢ÏµÍ³ÐÔÄܺÍÄÚ´æÊ¹ÓÃÇé¿ö£¬¼°Ê±·¢ÏÖ²¢½â¾öDZÔÚµÄÎÊÌâ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÖ´Ðйý³Ì
´«Ææ GOM ÒýÇæ¼ÙÈ˵Ǽ½Å±¾µÄÖ´ÐÐÓÐ×ÅһϵÁи´ÔӵĹý³Ì¡£Ê×ÏÈ£¬¼ÙÈËÉÏÏßǰÐèҪΪÆäÆðÒ»¸öÃû×Ö£¬ÔÚ D:\\mirserver\\Mir200\\Envir ·¾¶ÏÂÕÒµ½ÃûΪ DummyNameList.txt µÄÎĵµ£¬ÔÚÀïÃæÊäÈëһЩϲ»¶µÄÃû×Ö£¬Ã¿¸öÃû×ÖÐèÁíÆðÒ»ÐС£Èç¹ûÊÇÓ¢ÐÛ°æ±¾£¬»¹ÐèÔÚ DummyHeroNameList.txt ¸ø¼ÙÈ˵ÄÓ¢ÐÛÆðÃû¡£½Ó×Å£¬Æô¶¯ÒýÇæ¿ØÖÆÆ÷£¬ÕÒµ½ M2£¬µã»÷Ñ¡Ïî - ¼ÙÈËÉèÖã¬ÉèÖóöÉúµØÍ¼ºÍ×ø±ê£¬ÕâÑù¼ÙÈ˾ͻáÔÚÖ¸¶¨Î»ÖÿªÊ¼ÉÏÏß¡£Ôڽű¾Ö´Ðйý³ÌÖУ¬»áͨ¹ýһϵÁÐÃüÁîÀ´¿ØÖƼÙÈ˵ÄÐÐΪ¡£ÀýÈ磬¼ì²â¼ÙÈËÉí·Ýʱ»áʹÓà ISDUMMY ÃüÁ¼ÓÔØÅäÖÃÎļþʱ»áʹÓà GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû£¬È»ºóÓà SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁî¼ÓÔØ¸ÃÎļþ¡£ÉèÖüÙÈËÐÐΪʱ£¬ÅäÖÃÎļþ»á¶¨Òå¼ÙÈ˵ÄÐж¯Ä£Ê½£¬Èç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ¡£´ËÍ⣬¼ÙÈËÓ¢Ð۵ǼÁ÷³ÌÓë¼ÙÈËÀàËÆ£¬µ«¼ÓÔØµÄÊÇÓ¢ÐÛµÄÅäÖÃÎļþ¡£Õû¸ö¹ý³ÌÉæ¼°¶à¸ö½Å±¾ÎĵµºÍÃüÁîµÄÐͬ×÷Óã¬È·±£¼ÙÈËÄܹ»ÔÚÓÎÏ·ÖÐÄ£ÄâÕæÊµÍæ¼ÒµÄÐÐΪ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÉí·ÝÈçºÎ¼ì²â
ÔÚ´«Ææ GOM ÒýÇæÖУ¬¼ì²â¼ÙÈËÉí·ÝÖ÷Ҫͨ¹ý ISDUMMY ÃüÁîÀ´ÊµÏÖ¡£µ±½Å±¾Ö´ÐÐʱ£¬Ê×ÏÈ»áÔËÓÃÕâ¸öÃüÁîÀ´ÅжϵǼµÄÊÇ·ñΪ¼ÙÈË¡£Èç¹û·µ»Ø½á¹ûÎªÕæ£¬Ôò±íÃ÷µ±Ç°µÇ¼µÄÊǼÙÈË£»Èç¹û·µ»Ø½á¹ûΪ¼Ù£¬ÔòÊÇÕæÊµÍæ¼ÒµÇ¼¡£ÕâÖÖ¼ì²â·½Ê½ÎªºóÐø¶Ô¼ÙÈ˵IJ»Í¬´¦ÀíÌṩÁËÒÀ¾Ý¡£ÀýÈ磬ÔÚ¼ÓÔØÅäÖÃÎļþºÍÉèÖÃÐÐΪģʽʱ£¬¾Í¿ÉÒÔ¸ù¾Ý¼ÙÈËÉí·ÝµÄ¼ì²â½á¹ûÀ´½øÐÐÕë¶ÔÐԵIJÙ×÷¡£Í¬Ê±£¬¼ÙÈËÉí·ÝµÄ¼ì²âÒ²ÓÐÖúÓÚÇø·Ö²»Í¬ÀàÐ͵ÄÍæ¼Ò£¬ÒÔ±ã¸üºÃµØ¹ÜÀíÓÎÏ·Öеĸ÷ÖÖ½ÇÉ«¡£Í¨¹ýÕâÖÖ·½Ê½£¬¿ÉÒÔÈ·±£¼ÙÈ˵ÄÐÐΪºÍÕæÊµÍæ¼ÒÓÐËùÇø±ð£¬Í¬Ê±Ò²ÄܸüºÃµØ¿ØÖƼÙÈ˵Ļ£¬Ê¹ÆäÔÚÓÎÏ·Öз¢»ÓÌØ¶¨µÄ×÷Óá£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÅäÖÃÎļþÈçºÎ¼ÓÔØ
´«Ææ GOM ÒýÇæÖмÙÈËÅäÖÃÎļþµÄ¼ÓÔØÓÐÌØ¶¨µÄ²½Öè¡£Ê×ÏÈ£¬Í¨¹ý GETRANDOMLINETEXT ÃüÁî´ÓÖ¸¶¨Â·¾¶ÏµÄÎı¾ÎļþÖÐËæ»úѡȡһÐÐ×÷ΪÅäÖÃÎļþÃû¡£È»ºó£¬Ê¹Óà SETDUMMYCONFIGFILENAME ÃüÁîÉèÖüÙÈËÅäÖÃÎļþµÄ·¾¶£¬Í¨³£¸ñʽΪ SETDUMMYCONFIGFILENAME Îļþ·¾¶£¬±ÈÈç SETDUMMYCONFIGFILENAME..\\QuestDiary\\ÖÇÄÜÅãÁ·\\Ò»¼¶Å®·¨ÅãÁ·.txt¡£×îºó£¬Ê¹Óà LOADDUMMYCONFIGFILE ÃüÁî¶ÁÈ¡¼ÙÈËÅäÖÃÎļþ£¬½«ÅäÖÃÎļþÖеIJÎÊý¶ÁÈ¡µ½¼ÙÈË¡£Õâ¸ö¹ý³ÌÊÇÈ·±£¼ÙÈËÄܹ»°´ÕÕÔ¤ÉèµÄÐÐΪģʽÐж¯µÄ¹Ø¼ü¡£ÅäÖÃÎļþ¶¨ÒåÁ˼ÙÈ˵ÄÐж¯Ä£Ê½£¬ÈçÒÆ¶¯µ½Ìض¨ÇøÓò¡¢ÉèÖù¥»÷ģʽµÈ¡£²»Í¬µÄÅäÖÃÎļþ¿ÉÒÔÈüÙÈ˱íÏÖ³ö²»Í¬µÄÐÐÎªÌØµã£¬´Ó¶øÔö¼ÓÓÎÏ·µÄ¶àÑùÐÔºÍȤζÐÔ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÐÐΪÈçºÎÉèÖÃ
´«Ææ GOM ÒýÇæÖмÙÈ˵ÄÐÐΪÉèÖÃÖ÷ÒªÒÀÀµÓÚÅäÖÃÎļþ¡£ÅäÖÃÎļþÖж¨ÒåÁ˼ÙÈ˵ĸ÷ÖÖÐж¯Ä£Ê½£¬ÀýÈç MOVRD06 ±íÊ¾ÒÆ¶¯µ½Ö¸¶¨ÇøÓò£¬CHANGEATTATCKMODE ÉèÖù¥»÷ģʽµÈ¡£¹¥»÷ģʽÓжàÖÖÑ¡Ôñ£¬Èç 0-È«Ìå¹¥»÷£¨Ö÷¶¯¹¥»÷£©¡¢1-ºÍƽ¹¥»÷£¨²» PK£©¡¢2-·òÆÞ¹¥»÷¡¢3-ʦͽ¹¥»÷¡¢4-±à×é¹¥»÷¡¢5-Ðлṥ»÷¡¢6-ºìÃû¹¥»÷£¨²»Ö÷¶¯¹¥»÷£¬Êܹ¥»÷ºó·´»÷£©¡£Í¨¹ýÉèÖò»Í¬µÄ²ÎÊý£¬¿ÉÒÔÈüÙÈËÔÚÓÎÏ·ÖбíÏÖ³ö²»Í¬µÄÐÐÎªÌØµã¡£´ËÍ⣬¼ÙÈË»¹¿ÉÒÔ¸ù¾ÝÅäÖÃÎļþ½øÐдò¹Ö¡¢Ê°È¡ÎïÆ·¡¢»ØÊÕ×°±¸µÈÐÐΪ¡£ÔÚ Qfunction-0.txt ÖУ¬»¹¿ÉÒÔ¸ø¼ÙÈËÅäÖÃ×°±¸£¬¿ØÖƼÙÈ˵Ĵ©´÷×°±¸¡¢Ö°Òµ¡¢ÐԱ𡢵ȼ¶¡¢ÊôÐԵ㡢³ÆºÅµÈ¡£Í¨¹ýÕâЩÉèÖ㬿ÉÒÔÈüÙÈ˸ü¼Ó±ÆÕæµØÄ£ÄâÕæÊµÍæ¼ÒµÄÐÐΪ£¬ÎªÓÎÏ·ÔöÌí¸ü¶àµÄȤζÐÔºÍÌôÕ½ÐÔ¡£
### ´«Ææ GOM ÒýÇæ¼ÙÈËÓ¢Ð۵ǼÁ÷³Ì
´«Ææ GOM ÒýÇæÖмÙÈËÓ¢Ð۵ĵǼÁ÷³ÌÓë¼ÙÈËÀàËÆ¡£Ê×ÏÈ£¬Ò²ÐèÒª´Ó¼ÙÈËÁбí»ò¼ÙÈËÓ¢ÐÛÁбíÖлñȡһ¸öûÓеǼ¹ýµÄÃû³Æ¡£ÈËÎïµÄÃû³ÆÁбíÔÚ D:\\MirServer\\Mir200\\Envir\\DummyNameList.txt£¬Ó¢ÐÛµÄÃû³ÆÁбíÔÚ D:\\MirServer\\Mir200\\Envir\\DummyHeroNameList.txt¡£»ñÈ¡Ãû³ÆµÄ¸ñʽΪ GETDUMMYNAME ±£´æ±äÁ¿ ÁбíÀàÐÍ£¨0=ÈËÎïÁбí 1=Ó¢ÐÛÁÐ±í£© »ñÈ¡ÀàÐÍ£¨0=˳Ðò»ñÈ¡ 1=Ëæ»ú»ñÈ¡£©¡£½Ó×Å£¬¼ÓÔØÓ¢ÐÛµÄÅäÖÃÎļþ£¬Óë¼ÙÈËÅäÖÃÎļþµÄ¼ÓÔØ·½Ê½ÀàËÆ£¬Ò²ÊÇͨ¹ý SETDUMMYCONFIGFILENAME ºÍ LOADDUMMYCONFIGFILE ÃüÁîÀ´ÊµÏÖ¡£Ó¢ÐÛµÄÅäÖÃÎļþ¶¨ÒåÁËÓ¢ÐÛµÄÐÐΪģʽ£¬Èç¹¥»÷·½Ê½¡¢¼¼ÄÜʹÓõȡ£Í¨¹ýÕâÑùµÄÁ÷³Ì£¬¼ÙÈËÓ¢ÐÛÄܹ»ÔÚÓÎÏ·ÖÐÓë¼ÙÈËÐͬ×÷Õ½£¬ÎªÓÎÏ·ÔöÌí¸ü¶àµÄÕ½¶·²ßÂÔºÍȤζÐÔ¡£
´«Ææ GOM ÒýÇæµÄ¼ÙÈËϵͳΪÓÎÏ·´øÀ´Á˸ü¶àµÄ¿ÉÄÜÐÔºÍȤζÐÔ¡£Í¨¹ý¶Ô¼ÙÈ˵Ǽ½Å±¾µÄÖ´Ðйý³Ì¡¢¼ÙÈËÉí·Ý¼ì²â¡¢ÅäÖÃÎļþ¼ÓÔØ¡¢ÐÐΪÉèÖÃÒÔ¼°Ó¢Ð۵ǼÁ÷³ÌµÄÁ˽⣬¿ÉÒÔ¸üºÃµØÕÆÎÕ´«Ææ GOM ÒýÇæÖмÙÈ˵ÄÔË×÷»úÖÆ£¬ÎªÓÎÏ·µÄ¿ª·¢ºÍÓÅ»¯Ìṩ²Î¿¼¡£¶ÔÓÚÈçºÎÔÚ´«Ææ gom ÒýÇæ¼ÙÈ˵Ǽ½Å±¾Öмà²âÄÚ´æÐ¹Â©µÄÎÊÌ⣬Ŀǰ²¢Ã»ÓÐÖ±½ÓÏà¹ØµÄÄÚÈÝ¿ÉÒÔ½â´ð¡£µ«¿ÉÒÔͨ¹ýһЩͨÓõÄÄÚ´æ¼à²â¹¤¾ß£¬Èç Visual Studio µÄÄÚ´æÕï¶Ï¹¤¾ß¡¢Valgrind µÈ£¬ÔÚÔËÐÐÓÎϷʱ¶ÔÄÚ´æÊ¹ÓÃÇé¿ö½øÐмà²â£¬¹Û²ìÊÇ·ñ´æÔÚÄÚ´æÐ¹Â©µÄ¼£Ïó¡£Í¬Ê±£¬ÔÚ¿ª·¢ºÍά»¤¼ÙÈ˵Ǽ½Å±¾Ê±£¬Òª×¢ÒâºÏÀí¹ÜÀíÄÚ´æ×ÊÔ´£¬¼°Ê±ÊͷŲ»ÔÙʹÓõÄÄڴ棬±ÜÃâ³öÏÖÄÚ´æÐ¹Â©µÄÎÊÌâ¡£

