µ±ÈÈѪ½ºþ³É¹¦ÔËÐкó£¬ÕæÕýµÄÌôÕ½²Å¸Õ¿ªÊ¼¡£¶Ë¿Ú³åÍ»¡¢¹¥»÷Á÷Á¿¡¢Íæ¼Ò»Øµµ¡¢²å¼þʧЧ...ÕâЩÎÊÌâ²»½ö¹Øºõ·þÎñÆ÷Îȶ¨£¬¸üÖ±½ÓÓ°ÏìÍæ¼ÒÁô´æ¡£±¾ÎÄרΪ½â¾öÔËάÖеĸ߽×Í´µã¶øÉú£¬Ìṩ¿ÉÂ䵨µÄ¼¼Êõ·½°¸Óë¹ÜÀí²ßÂÔ£¨ÔÙ´ÎÉùÃ÷£ºÔËÓªÉæ¼°·¨ÂÉ·çÏÕ£¬±¾ÎĽö×÷¼¼Êõ̽ÌÖ£©¡£
Ò»¡¢·þÎñÆ÷¼ÜÉèÆª£º¶ã¿ª90%µÄÆô¶¯±ÀÀ£
ÎÊÌâ1£º¶Ë¿Ú³åÍ»£¨Error: Port xxx is already in use£©
ÔÒò£º
LoginServer£¨µÇ¼·þÎñ£©¡¢GameServer£¨ÓÎÏ··þÎñ£©¡¢Êý¾Ý¿â£¨MySQL/Redis£© ¶Ë¿Ú±»ÆäËû½ø³ÌÕ¼Óá£
½â¾ö·½°¸£º
# Linux/Mac ²éѯ¶Ë¿ÚÕ¼ÓÃ
netstat -tuln | grep <¶Ë¿ÚºÅ>
# Windows ²éѯ
netstat -ano | findstr ":<¶Ë¿ÚºÅ>"
# ÖÕÖ¹½ø³Ì£¨É÷Óã©
taskkill /PID <½ø³ÌID> /F
Ìæ´ú·½°¸£ºÐ޸ķþÎñ¶ËÅäÖÃÎļþÖеĶ˿ڣ¨Èç server.properties£©£¬±ÜÃâʹÓà 3306¡¢80¡¢443 µÈ³£¼û¶Ë¿Ú¡£
ÎÊÌâ2£ºÊý¾Ý¿âÁ¬½Óʧ°Ü£¨DB Connection Failed£©
¼ì²éÇåµ¥£º
✅ Êý¾Ý¿âÊÇ·ñÆô¶¯£¿
✅ ÅäÖÃÎļþÖÐIP/Óû§Ãû/ÃÜÂëÊÇ·ñÕýÈ·£¿
✅ Êý¾Ý¿âȨÏÞÊÇ·ñÔÊÐíÔ¶³ÌÁ¬½Ó£¿£¨ÊÚȨÃüÁGRANT ALL ON . TO 'user'@'%' WITH GRANT OPTION;)
✅ ·À»ðǽÊÇ·ñ·ÅÐÐÊý¾Ý¿â¶Ë¿Ú£¨Ä¬ÈÏ3306£©£¿
ÎÊÌâ3£ººËÐÄÎļþȱʧ£¨.dll/.so not found£©
±Ø×°ÒÀÀµ£º
Windows: VC++ Redistributable 2010-2022 (x86+x64)
Linux: glibc 2.17+¡¢libstdc++.so.6£¨Éý¼¶ÃüÁyum install glibc libstdc++£©
¶þ¡¢ÍøÂ簲ȫƪ£º¿¸×¡¹¥»÷Á÷Á¿ÓëÈëÇÖ
ÎÊÌâ1£ºDDOS¹¥»÷µ¼Ö·þÎñÆ÷̱»¾
µÍ³É±¾·ÀÓù·½°¸£º
graph LR
A[Íæ¼ÒÁ÷Á¿] --> B[CloudflareÃâ·ÑCDN]
--> C[Òþ²ØÕæÊµ·þÎñÆ÷IP]
--> D[¹ýÂ˹¥»÷Á÷Á¿]
²Ù×÷¹Ø¼ü£º
ÓòÃû½âÎö¸ÄÓÃCloudflare´úÀí£¨¿ªÆôProxy״̬£º☁️ͼ±ê£©
·þÎñÆ÷·À»ðǽ½ö·ÅÐÐCloudflare IP¶Î£¨https://www.cloudflare.com/ips/£©
ÎÊÌâ2£ºÍæ¼ÒÕ˺ÅÅúÁ¿±»µÁ£¨Êý¾Ý¿âй¶£©
Êý¾Ý¼ÓÃÜÔÔò£º
ÃÜÂë±ØÐë¼ÓÑÎHash´æ´¢£¨Èçbcrypt£¬½ûÖ¹Ã÷ÎÄ»òMD5£©
Ãô¸Ð½Ó¿ÚÇ¿ÖÆHTTPS£¨Ãâ·ÑÖ¤Ê飺https://letsencrypt.org/£©
¶¨ÆÚ±¸·ÝÊý¾Ý¿â²¢ÀëÏß´æ´¢
ÎÊÌâ3£ºÍâ¹ÒÆÆ½â£¨ÄÚ´æÐÞ¸Ä/·â°ü´Û¸Ä£©
·´×÷±×·½°¸£º
·þÎñ¶ËУÑ鹨¼üÊý¾Ý£¨ÈçÉ˺¦Öµ¡¢Òƶ¯ËÙ¶È£©
ʹÓÃWPE·â°ü¼ì²â¹¤¾ß£¨È磺Wireshark¹ýÂËÒì³£°ü£©
¶¯Ì¬¼ÓÃÜÐÒé£¨ÍÆ¼ö¿ªÔ´¹¤¾ß£ºhttps://protobuf.dev/£©
Èý¡¢Êý¾ÝÔÖÄÑÆª£º±ÜÃâ»ØµµÓë»ÙÃðÐÔ±ÀÀ£
ÎÊÌâ1£ºÍæ¼ÒÊý¾Ý»Øµµ£¨Êý¾Ý¿âË𻵣©
½ô¼±»Ö¸´²½Ö裺
Á¢¼´¹Ø±Õ·þÎñ¶Ë
ʹÓÃÊý¾Ý¿âÐÞ¸´ÃüÁMySQL£ºmysqlcheck --auto-repair <Êý¾Ý¿âÃû>£©
´Ó×îºóÒ»´ÎÍêÕû±¸·Ý»Ö¸´Êý¾Ý£¨½¨ÒéÿÈÕ×Ô¶¯±¸·Ý£ºmysqldump -u root -p db > backup.sql£©
ÎÊÌâ2£ºµØÍ¼/×°±¸Êý¾Ý´íÂÒ£¨XML/SQLÅäÖôíÎó£©
ÅŲ鹤¾ß£º
Óà Navicat ¼ì²éÎïÆ·±íÒ»ÖÂÐÔ£¨È磺item_db¡¢mob_db£©
ÈÕÖ¾·ÖÎö£¨¹Ø¼ü±¨´í£ºFailed to load map¡¢Invalid item ID£©
ʹÓÃVSCodeÈ«¾ÖËÑË÷´íÎóID¶¨Î»ÅäÖÃλÖÃ
ËÄ¡¢Íæ¼ÒÔËӪƪ£º¾À·×´¦ÀíÓë·¨ÂÉ×Ô±£
ÎÊÌâ1£ºÍæ¼Ò³äÖµÕùÒé
±ÜÀײßÂÔ£º
½ûÓÃÖ±½ÓתÕË£¬²ÉÓõÚÈý·½Ö§¸¶Æ½Ì¨£¨ÈçPayPal¡¢Stripe£©
Ã÷È·¹«¸æ£º“³äÖµÊÓΪÔÞÖú£¬²»³ÐŵÈκÎÐéÄâ±£ÕÏ”
¼Ç¼ËùÓн»Ò×Á÷Ë®£¨Ê±¼ä¡¢½ð¶î¡¢Íæ¼ÒID£©
ÎÊÌâ2£º°æÈ¨·½¾¯¸æº¯/ÂÉʦº¯
Ó¦¼±ÏìÓ¦£º
Á¢¼´ÏÂÏßÓÎÏ·²¢Çå³ý·þÎñÆ÷Êý¾Ý
²»¹«¿ªÕù±ç¡¢²»³ÐÈÏÇÖȨ
ѰÇó·¨ÂɹËÎÊ£¨Öص㿹±ç£º·ÇÓ¯ÀûÐÔÖÊ£©
ÖÕ¼«ÅäÖÃÇåµ¥£¨·þÎñ¶Ë°²È«¼Ó¹Ì£©
·çÏյ㠼ӹ̷½°¸
·þÎñÆ÷µÇ¼ ½ûÓÃroot£¬¸ÄÓÃSSHÃÜÔ¿µÇ¼
Êý¾Ý¿â·ÃÎÊ ÏÞÖÆIP°×Ãûµ¥ + ÐÞ¸ÄĬÈ϶˿Ú
ºǫ́¹ÜÀíÃæ°å Éè¶þ´ÎÑéÖ¤£¨Google Authenticator£©
Íæ¼ÒÊý¾Ý ×Ô¶¯»¯±¸·Ý£¨rsyncÿÈÕͬ²½µ½ÒìµØ´æ´¢£©
ÈÕÖ¾¼à¿Ø ÆôÓÃfail2banÆÁ±Î±©Á¦ÆÆ½âIP
·¨ÂÉÃâÔðÉùÃ÷Óë¼¼ÊõºìÏß
⚠️ ±¾ÎÄÄÚÈݽöÓÃÓÚ¼¼ÊõѧϰÓëÑо¿Ä¿µÄ£º
½ûÖ¹ÓÃÓÚÔËÓªÉÌÒµÓ¯Àû£¨Ö±½ÓÊÛÂô×°±¸/µÈ¼¶ÊôÎ¥·¨£©
½ûÖ¹ÆÆ½â¹Ù·½´úÂë»òÇÔÈ¡Óû§Êý¾Ý
½¨ÒéʹÓòâÊÔרÓ÷þÎñÆ÷£¨·ÇÉú²ú»·¾³£©
Ò»¡¢·þÎñÆ÷¼ÜÉèÆª£º¶ã¿ª90%µÄÆô¶¯±ÀÀ£
ÎÊÌâ1£º¶Ë¿Ú³åÍ»£¨Error: Port xxx is already in use£©
ÔÒò£º
LoginServer£¨µÇ¼·þÎñ£©¡¢GameServer£¨ÓÎÏ··þÎñ£©¡¢Êý¾Ý¿â£¨MySQL/Redis£© ¶Ë¿Ú±»ÆäËû½ø³ÌÕ¼Óá£
½â¾ö·½°¸£º
# Linux/Mac ²éѯ¶Ë¿ÚÕ¼ÓÃ
netstat -tuln | grep <¶Ë¿ÚºÅ>
# Windows ²éѯ
netstat -ano | findstr ":<¶Ë¿ÚºÅ>"
# ÖÕÖ¹½ø³Ì£¨É÷Óã©
taskkill /PID <½ø³ÌID> /F
Ìæ´ú·½°¸£ºÐ޸ķþÎñ¶ËÅäÖÃÎļþÖеĶ˿ڣ¨Èç server.properties£©£¬±ÜÃâʹÓà 3306¡¢80¡¢443 µÈ³£¼û¶Ë¿Ú¡£
ÎÊÌâ2£ºÊý¾Ý¿âÁ¬½Óʧ°Ü£¨DB Connection Failed£©
¼ì²éÇåµ¥£º
✅ Êý¾Ý¿âÊÇ·ñÆô¶¯£¿
✅ ÅäÖÃÎļþÖÐIP/Óû§Ãû/ÃÜÂëÊÇ·ñÕýÈ·£¿
✅ Êý¾Ý¿âȨÏÞÊÇ·ñÔÊÐíÔ¶³ÌÁ¬½Ó£¿£¨ÊÚȨÃüÁGRANT ALL ON . TO 'user'@'%' WITH GRANT OPTION;)
✅ ·À»ðǽÊÇ·ñ·ÅÐÐÊý¾Ý¿â¶Ë¿Ú£¨Ä¬ÈÏ3306£©£¿
ÎÊÌâ3£ººËÐÄÎļþȱʧ£¨.dll/.so not found£©
±Ø×°ÒÀÀµ£º
Windows: VC++ Redistributable 2010-2022 (x86+x64)
Linux: glibc 2.17+¡¢libstdc++.so.6£¨Éý¼¶ÃüÁyum install glibc libstdc++£©
¶þ¡¢ÍøÂ簲ȫƪ£º¿¸×¡¹¥»÷Á÷Á¿ÓëÈëÇÖ
ÎÊÌâ1£ºDDOS¹¥»÷µ¼Ö·þÎñÆ÷̱»¾
µÍ³É±¾·ÀÓù·½°¸£º
graph LR
A[Íæ¼ÒÁ÷Á¿] --> B[CloudflareÃâ·ÑCDN]
--> C[Òþ²ØÕæÊµ·þÎñÆ÷IP]
--> D[¹ýÂ˹¥»÷Á÷Á¿]
²Ù×÷¹Ø¼ü£º
ÓòÃû½âÎö¸ÄÓÃCloudflare´úÀí£¨¿ªÆôProxy״̬£º☁️ͼ±ê£©
·þÎñÆ÷·À»ðǽ½ö·ÅÐÐCloudflare IP¶Î£¨https://www.cloudflare.com/ips/£©
ÎÊÌâ2£ºÍæ¼ÒÕ˺ÅÅúÁ¿±»µÁ£¨Êý¾Ý¿âй¶£©
Êý¾Ý¼ÓÃÜÔÔò£º
ÃÜÂë±ØÐë¼ÓÑÎHash´æ´¢£¨Èçbcrypt£¬½ûÖ¹Ã÷ÎÄ»òMD5£©
Ãô¸Ð½Ó¿ÚÇ¿ÖÆHTTPS£¨Ãâ·ÑÖ¤Ê飺https://letsencrypt.org/£©
¶¨ÆÚ±¸·ÝÊý¾Ý¿â²¢ÀëÏß´æ´¢
ÎÊÌâ3£ºÍâ¹ÒÆÆ½â£¨ÄÚ´æÐÞ¸Ä/·â°ü´Û¸Ä£©
·´×÷±×·½°¸£º
·þÎñ¶ËУÑ鹨¼üÊý¾Ý£¨ÈçÉ˺¦Öµ¡¢Òƶ¯ËÙ¶È£©
ʹÓÃWPE·â°ü¼ì²â¹¤¾ß£¨È磺Wireshark¹ýÂËÒì³£°ü£©
¶¯Ì¬¼ÓÃÜÐÒé£¨ÍÆ¼ö¿ªÔ´¹¤¾ß£ºhttps://protobuf.dev/£©
Èý¡¢Êý¾ÝÔÖÄÑÆª£º±ÜÃâ»ØµµÓë»ÙÃðÐÔ±ÀÀ£
ÎÊÌâ1£ºÍæ¼ÒÊý¾Ý»Øµµ£¨Êý¾Ý¿âË𻵣©
½ô¼±»Ö¸´²½Ö裺
Á¢¼´¹Ø±Õ·þÎñ¶Ë
ʹÓÃÊý¾Ý¿âÐÞ¸´ÃüÁMySQL£ºmysqlcheck --auto-repair <Êý¾Ý¿âÃû>£©
´Ó×îºóÒ»´ÎÍêÕû±¸·Ý»Ö¸´Êý¾Ý£¨½¨ÒéÿÈÕ×Ô¶¯±¸·Ý£ºmysqldump -u root -p db > backup.sql£©
ÎÊÌâ2£ºµØÍ¼/×°±¸Êý¾Ý´íÂÒ£¨XML/SQLÅäÖôíÎó£©
ÅŲ鹤¾ß£º
Óà Navicat ¼ì²éÎïÆ·±íÒ»ÖÂÐÔ£¨È磺item_db¡¢mob_db£©
ÈÕÖ¾·ÖÎö£¨¹Ø¼ü±¨´í£ºFailed to load map¡¢Invalid item ID£©
ʹÓÃVSCodeÈ«¾ÖËÑË÷´íÎóID¶¨Î»ÅäÖÃλÖÃ
ËÄ¡¢Íæ¼ÒÔËӪƪ£º¾À·×´¦ÀíÓë·¨ÂÉ×Ô±£
ÎÊÌâ1£ºÍæ¼Ò³äÖµÕùÒé
±ÜÀײßÂÔ£º
½ûÓÃÖ±½ÓתÕË£¬²ÉÓõÚÈý·½Ö§¸¶Æ½Ì¨£¨ÈçPayPal¡¢Stripe£©
Ã÷È·¹«¸æ£º“³äÖµÊÓΪÔÞÖú£¬²»³ÐŵÈκÎÐéÄâ±£ÕÏ”
¼Ç¼ËùÓн»Ò×Á÷Ë®£¨Ê±¼ä¡¢½ð¶î¡¢Íæ¼ÒID£©
ÎÊÌâ2£º°æÈ¨·½¾¯¸æº¯/ÂÉʦº¯
Ó¦¼±ÏìÓ¦£º
Á¢¼´ÏÂÏßÓÎÏ·²¢Çå³ý·þÎñÆ÷Êý¾Ý
²»¹«¿ªÕù±ç¡¢²»³ÐÈÏÇÖȨ
ѰÇó·¨ÂɹËÎÊ£¨Öص㿹±ç£º·ÇÓ¯ÀûÐÔÖÊ£©
ÖÕ¼«ÅäÖÃÇåµ¥£¨·þÎñ¶Ë°²È«¼Ó¹Ì£©
·çÏյ㠼ӹ̷½°¸
·þÎñÆ÷µÇ¼ ½ûÓÃroot£¬¸ÄÓÃSSHÃÜÔ¿µÇ¼
Êý¾Ý¿â·ÃÎÊ ÏÞÖÆIP°×Ãûµ¥ + ÐÞ¸ÄĬÈ϶˿Ú
ºǫ́¹ÜÀíÃæ°å Éè¶þ´ÎÑéÖ¤£¨Google Authenticator£©
Íæ¼ÒÊý¾Ý ×Ô¶¯»¯±¸·Ý£¨rsyncÿÈÕͬ²½µ½ÒìµØ´æ´¢£©
ÈÕÖ¾¼à¿Ø ÆôÓÃfail2banÆÁ±Î±©Á¦ÆÆ½âIP
·¨ÂÉÃâÔðÉùÃ÷Óë¼¼ÊõºìÏß
⚠️ ±¾ÎÄÄÚÈݽöÓÃÓÚ¼¼ÊõѧϰÓëÑо¿Ä¿µÄ£º
½ûÖ¹ÓÃÓÚÔËÓªÉÌÒµÓ¯Àû£¨Ö±½ÓÊÛÂô×°±¸/µÈ¼¶ÊôÎ¥·¨£©
½ûÖ¹ÆÆ½â¹Ù·½´úÂë»òÇÔÈ¡Óû§Êý¾Ý
½¨ÒéʹÓòâÊÔרÓ÷þÎñÆ÷£¨·ÇÉú²ú»·¾³£©

