´«ÆæÍâÍø¼ÜÉèÒÉÄÑÔÓ֢ȫ½âÎö£ºÒýÇæÑ¡Ôñµ½½Å±¾µ÷ÊÔʵսÁ´Â·

À´Ô´£º ×÷Õߣº µã»÷£º
Ò»¡¢ÒýÇæÑ¡ÐÍÓë°æ±¾±ß½çÅж¨
HERO/M2 ϵ£¨HeroM2¡¢BLUE¡¢LEGEND¡¢3K£©×ß DBC2000 + HeroDB£¬Àϰ汾½Å±¾¼æÈݺᢲå¼þ¶à£¬Êʺϸ´¹Åµ¥Ö°Òµ¡¢ºÏ»÷£»GOM/GEE ϵÄÚÖÃÊý¾Ý¿â»·¾³»ò×ß SQLite/MySQL£¬Ô­Éú³Ô PAK/Resources ·Ö²ã²¹¶¡¡¢Î¢¶Ë»úÖÆÍêÕû£¬ÊʺÏнçÃæ¡¢µ¥Îļþ´ó²¹¶¡¡¢ÍâÍø·Ö·¢£»GOM Óë GEE µÄ Pak.txt¡¢ResInfo.txt¡¢µÇ¼Æ÷ÅäÖÃÆ÷¸ñʽ²»»¥Í¨£¬°æ±¾°ü±ð»ìÓ㬻ìÓÃÖ±½ÓºÚÆÁ»ò M2 ±¨·Ç·¨×ÊÔ´¡£ÔÆ·þÎñÆ÷ÓÅÏÈÑ¡ Windows Server 2012R2 ÒÔÉÏ£¬¼ÒÍ¥¿í´øÐèÈ·ÈÏ WAN ¿ÚÊÇ·ñÎªÕæ¹«Íø IP£¨ip138 ²éµ½µÄ IP ±ØÐëµÈÓÚ·ÓÉÆ÷ WAN ¿Ú£¬10.x / 100.64.x ¿ªÍ·ÊÇ´óÄÚÍø£¬±ØÐëÕÒÔËÓªÉÌ»»¹«Íø»ò×ß´©Í¸£©¡£

¶þ¡¢Ä¿Â¼¹æ·¶Óë DBC/HeroDB °ó¶¨
·þÎñ¶Ë½âѹµ½´ÅÅ̸ùĿ¼ȫӢÎÄ·¾¶£¨D:\Mirserver£©£¬½ûÖÐÎÄ¡¢½û¿Õ¸ñ¡¢½û¹ý³¤Ç¶Ìס£HERO ϵװ DBC2000 → ¿ØÖÆÃæ°å BDE Administrator → Object → New → ±ðÃû HeroDB£¨±ØÐë´óд´Ëƴд£©→ ·¾¶Ö¸ D:\Mirserver\Mud2\DB → ±£´æ¡£Â·¾¶´í¡¢±ðÃûÆ´´í¡¢PDOXUSRS.NET ±»Õ¼Óö¼»áÈà M2 Æô¶¯±¨ Database Error¡£GOM/GEE аæÒ»¼ü¶Ë´ó¶àÒѼ¯³É¿â»·¾³£¬µ«ÈÔÒªºË¶Ô Mir200\Mud2\DB ÊÇ·ñ´æÔÚ StdItems.db¡¢Magic.db¡¢Monster.db£¬È±Ê§Ôò½ÇÉ«/ÎïÆ·/¹ÖÎïÈ«¿Õ¡£

Èý¡¢¹«Íø IP¡¢¶¯Ì¬ IP ÓëÍø¹Ø°ó¶¨¹æÔò
ÒýÇæÅäÖÃÏòµ¼ÀÍâÍø IP Ìî¹«Íø IP£»ÈôÊǼÒÍ¥¶¯Ì¬ IP ±ØÐë¹´“¶¯Ì¬ IP ģʽ”£»Íø¹Ø°ó¶¨µØÖ·Ìî 0.0.0.0£¨²»ÔÊÐíÖ»°óÄÚÍø£¬·ñÔòÍâÍøÎÕÊÖʧ°Ü£©¡£BLUE/HERO ÀÏÒýÇæ¸Ä !Setup.txt¡¢LoginGate.ini¡¢!ServerInfo.txt¡¢DBServer\!AddrTable.txt£¬¸ñʽ£º
²âÊÔÒ»Çø 192.168.1.100 113.x.x.x:7100
!ServerInfo.txt£º127.0.0.1 192.168.1.100 113.x.x.x:7100
©¸Ä AddrTable µäÐÍÖ¢×´£ºÄܳöµÇ¼Æ÷¡¢ÊäÕ˺ź󿨓ÕýÔÚ½øÈëÓÎÏ·”»òÖ±½Ó»ØµÇ¼½çÃæ¡£

ËÄ¡¢¶Ë¿Ú¾ØÕóÓëÓ³Éä/°²È«×é·ÅÐÐ
ºËÐĶ˿ÚÇåµ¥£¨±ØÐëÄÚÍâÒ»Ö£©£º
• 7000 LoginGate µÇ¼¶Ë¿Ú

• 7100 SelGate/½ÇɫѡÔñÍø¹Ø

• 7200/7201/7202 GameGate ÓÎÏ·Íø¹Ø

- 8000/8008 ΢¶ËÍø¹ØÓë UpdateServer
• 443/80 ÁбíÎļþ HTTP Íйܣ¨¿ÉÑ¡£©

·ÓÉÆ÷ → ÐéÄâ·þÎñÆ÷/¶Ë¿Úת·¢ → Íⲿ¶Ë¿Ú=ÄÚ²¿¶Ë¿Ú=ÉÏÊöÖµ£¬ÄÚ²¿ IP Ìî·þÎñ¶ËÄÚÍø IP£¬Ð­Òé TCP£¨Î¢¶Ë¿É²¹ UDP£©¡£ÔÆ·þÎñÆ÷»¹ÒªÔÚ¿ØÖÆÌ¨°²È«×é¼ÓÈëÕ¾¹æÔò 7000-7300¡¢8000-8010 ·ÅÐÐ 0.0.0.0/0£¬Ö»¿ªÏµÍ³·À»ðǽ²»·Å°²È«×éÒ»Ñù²»Í¨¡£CMD Óà netstat -ano | findstr :7000 ²éÕ¼Óã¬PID ɱ֨¸´ M2/Íø¹Ø½ø³Ì¡£

Îå¡¢Æô¶¯Ë³ÐòÓë½ø³ÌÁª¶¯
Ñϸñ˳Ðò£ºDBC2000 ·þÎñ → LoginGate → SelGate → GameGate → DBServer → LoginSrv → M2Server →£¨ÍâÍø´øÎ¢¶Ë£©UpdateServer → MirUpdateGate¡£M2 ÈÕÖ¾ÎÞºìÉ«±¨´í¡¢GameGate ÏÔʾ“Á¬½Óµ½ M2 ³É¹¦”¡¢UpdateGate ÁÁµÆ²ÅËãÁ´Â·Í¨¡£ÏÈÆð M2 ºóÆðÍø¹Ø»á´¥·¢ IP ²»Æ¥Åä¡¢½ÇÉ«Íø¹Ø¶Á²»µ½ÔÚÏßÁÐ±í¡£

Áù¡¢Î¢¶ËÓë Pak.txt ·¾¶¶ÔÆë£¨ÍâÍøºÚÆÁÍ·ºÅÔ­Òò£©
UpdateServer »ù±¾ÉèÖ㺿ͻ§¶Ë·¾¶ = ÅäÌ׿ͻ§¶Ë¸ùĿ¼£¨E:\Legend of mir£©£»Resources Ŀ¼Ãû = ²¹¶¡Îļþ¼ÐÃû£¨Resources / Patch£©£¬±ØÐëºÍµÇ¼Æ÷ÅäÖÃÆ÷¡¢Pak.txt ÄÚд·¨ÍêȫһÖ¡£Pak.txt ÀïËùÓб¾µØÂ·¾¶È«ÎÄÌæ»»³É¿Í»§¶Ë¾ø¶Ô·¾¶£¨Èç E:\Legend of mir\Data£©£¬¿½±´½ø UpdateServer Ŀ¼£»Ã÷ÎÄÃÜÂëÌî°æ±¾ PAK ÃÜÂ룬ÃÜÎÄ×Ô¶¯Éú³É£¬µÇ¼Æ÷ÅäÖÃÆ÷Àï¸üÐÂÃÜÂë±ØÐëֵͬ¡£Resources ·Ö²ã½á¹¹£º¿Í»§¶Ë¸ù\Resources\Data\*.pak ¶ÔÓ¦·þÎñ¶Ë²¹¶¡£¬È±Ò»²ã¾ÍºÚÆÁ¡£Î¢¶ËÍø¹ØÅäÖãºÎ¢¶ËµØÖ·Ìî UpdateServer ËùÔÚ IP£¬¶Ë¿ÚÌî UpdateServer ¶Ë¿Ú£¬Ïß·ÁÐ±í±ØÐ뺬“ĬÈÏ”¡£

Æß¡¢µÇ¼Æ÷ÓëÁбíÎļþ·¢²¼
ÁбíÎļþ£¨123.txt / ServerList.txt£©¸ñʽ£º
²âÊÔÒ»Çø 113.x.x.x 7000 0
»ò GEE ¸ñʽ£º·þÎñÆ÷Ãû113.x.x.x:7000
113.x.x.x:8000
ÉÏ´«µ½¿É¹«Íø·ÃÎ浀 HTTP ¿Õ¼ä£¬ä¯ÀÀÆ÷Ö±½Ó´ò¿ªÄÜ¿´µ½Îı¾£»µÇ¼Æ÷ÅäÖÃÆ÷ÌîÁбí URL£¬¹´´¿Î¢¶Ëģʽʱɾµô“¿Í»§¶ËËÑË÷Ìõ¼þ”ÀïµÄ¼ì²âĿ¼/Îļþ¡£Éú³É GameLogin.exe ¸øÍæ¼Ò£¬Íæ¼Ò±¾µØ¿Í»§¶Ë°æ±¾±ØÐëÓë·þÎñ¶ËÆ¥Å䣨Èç 1.76 Åä 16 ÖÜÄê¿Í»§¶Ë£©£¬·ñÔò½øÍ¼»¨ÆÁ¡£

°Ë¡¢½Å±¾µ÷ÊÔÓë M2 ±¨´í¶¨Î»
½øÓÎÏ·ºó NPC ²»¶Ô»°¡¢ÈÎÎñ²»´¥·¢¡¢Ê°È¡ÎÞ·´Ó¦ → ¿´ M2 ¿ØÖÆÌ¨ºìÉ« Script Error£¬¶¨Î» Mir200\Envir\MapQuest_def\ »ò QuestDiary\ ¶ÔÓ¦Ðкţº
- “Undefined variable” → ±äÁ¿Î´ÉùÃ÷£¨A..Z / G.. ǰ׺ÓÃ´í£©
• “Script dead loop” → ËÀÑ­»·£¨#IF ºóÎÞ #ACT/#ELSEACT£¬»ò WHILE ÎÞÏÞ£©

- “Cannot find label @xxx” → [@xxx] ±êǩƴ´í»ò½Å±¾Î´ÖØÔØ
• “Item not found” → CheckItem/GiveItem ÎïÆ·ÃûÓë StdItems.DB ²»Ò»ÖÂ

¸ÄÍê½Å±¾µã M2 → ¿ØÖÆ → ÖØÐ¼ÓÔØ → ÖØÐ¼ÓÔØ½Å±¾£¬²»±ØÖØÆôÈ«·þ¡£MapInfo.txt µØÍ¼ºÅÓë Mir200\Map\*.map ÎļþÃû²»Ò»Ö»ᵼÖ½øÍ¼Ö±½ÓµôÏ߻سǡ£

¾Å¡¢ÍâÍøµäÐ͹ÊÕÏËÙ²é±í
- µÇ¼Æ÷Áбí¿Õ°×£ºÁбí URL ²»Í¨¡¢HTTP Í··Ç text/plain¡¢ÓòÃû DNS δÉúЧ
• ÊäÕ˺ŻصǼ½çÃæ£ºAddrTable.txt / !ServerInfo.txt δÌî¹«Íø IP¡¢7100 δӳÉä

- ½øÓÎÏ·ºÚÆÁÄÜÅÜ£ºResources Ŀ¼Ãû´í¡¢Pak.txt ·¾¶Î´¸Ä¡¢PAK ÃÜÂë´í¡¢Î¢¶ËδÆð
• ¿¨“ÕýÔÚÁ¬½Ó·þÎñÆ÷”£º7000 δ·ÅÐС¢Íø¹Ø°óÁË 127.0.0.1¡¢Ôư²È«×éû¿ª

• M2 ÉÁÍË£ºVC++ ÔËÐпâȱ¡¢HeroDB Ö¸Ïò´í¡¢Mir200 ÊÚȨÎļþȱʧ¡¢Â·¾¶º¬ÖÐÎÄ

- ÍâÍøÄܽøÄÚÍø²»Äܽø»ò·´Ö®£ºÍø¹Ø°ó¶¨ 0.0.0.0 û¹´¡¢¶¯Ì¬ IP ģʽ먦µ¼Ö»ذü·¢ÏòÄÚÍø
• ¹¥³Ç/ɳ³ÇÂß¼­´í£ºCastleMapList.txt µØÍ¼ºÅÓë MapInfo ²»Ò»Ö¡¢SabukW.txt Î´ÖØÔØ

- ¿çÔËÓªÉÌ¿¨¶Ù£ºµ¥Ïß¿í´øÎÞ BGP£¬»»ÔÆ BGP »ú·¿»òÈÃÍæ¼Ò×ß¼ÓËÙ½Úµã

Ê®¡¢¼ÒÓö¯Ì¬ IP Óë DDNS ´¦Àí
¹âÃ¨ÖØÆôºó¹«Íø IP ±ä»¯£¬µÇ¼Æ÷ÁбíдËÀ IP ´ÎÈÕʧЧ¡£´¦Àí·½Ê½£ºÂ·ÓÉÆ÷¹Ò DDNS£¨»¨Éú¿Ç/°¢ÀïÔÆ½âÎö£©£¬µÇ¼Æ÷ÁбíÌîÓòÃû£»»òÒýÇæ¹´¶¯Ì¬ IP ģʽ + ÁÐ±íµØÖ·×ß HTTP ¶¯Ì¬Éú³É£»´¿ºÃÓÑÁª»ú¿ÉÓà ZeroTier / ÄÚÍø´©Í¸Ìæ´ú¶Ë¿ÚÓ³É䣬µ«ÑÓ³ÙËæ½Úµã²¨¶¯¡£DMZ Ö÷»ú·½°¸½öÏÞÁÙʱ²âÊÔ£¬³¤ÆÚ¿ª×ŵÈÓÚÂ㱼ȫ²¿¶Ë¿Ú¸ø¹«Íø¡£

ÕûÌ×ÍâÍøÁ´Â·´®ÆðÀ´¾ÍÊÇ£ºÑ¡ÒýÇæ → ¸ùĿ¼ӢÎÄ + HeroDB/DBC → Åä¹«Íø IP Óë 0.0.0.0 °ó¶¨ → Ó³Éä 7000/7100/7200/8000 ²¢·Å°²È«×é → °´Ë³ÐòÆðÍø¹ØÓë M2 → UpdateServer ÔØ Pak.txt + Resources → µÇ¼Æ÷Áбí×ß HTTP → Íæ¼Ò¶Ë°æ±¾Æ¥Åä¡£ÈÎÒâÒ»²ã IP¡¢¶Ë¿Ú¡¢Â·¾¶¡¢ÃÜÂëËÄÒªËØ²»Ò»Ö£¬±íÏÖ²ã¾ÍÊÇºÚÆÁ¡¢»ØµÇ¼¡¢¿¨Á¬½ÓÈýÖÖ±íÏ󣬷´²é°´Íø¹ØÈÕÖ¾ → M2 ÈÕÖ¾ → Pak.txt → ÁбíÎļþ˳Ðò×ßÒ»±é¼´¿É¶¨Î»¡£