## Ò»¡¢ÒýÇæ¸ü»»µÄ¿ÉÐÐÐÔÆÀ¹À
### 1. **¼¼Êõ¿ÉÐÐÐÔ·ÖÎö**
´«Ææ·þÎñ¶ËÒýÇæ¸ü»»±¾ÖÊÊÇ**µ×²ã¼Ü¹¹Ç¨ÒÆ**Óë**ÉϲãÂß¼ÊÊÅä**µÄË«ÖØ¹¤³Ì¡£¸ù¾ÝÒýÇæ¼¼ÊõÕ»²îÒ죨ÈçSKYÒýÇæ»ùÓÚDelphi£¬GOM»ùÓÚC++/LUA£©£¬ºËÐÄÌôÕ½¼¯ÖÐÔÚ£º
- **Êý¾Ý¿â¼æÈÝÐÔ**£º²»Í¬ÒýÇæµÄ×°±¸¡¢¹ÖÎï¡¢¼¼ÄܵÈÊý¾Ý½á¹¹²îÒ죨Èç3KM2²ÉÓÃSQLite£¬HEROʹÓÃDBC2000£©
- **½Å±¾ÃüÁîÊÊÅä**£º¸÷ÒýÇæ×¨ÓÐÃüÁîÈç`CHECKUSERDATE`£¨HERO£©Óë`ESP.OPENAutoPick`£¨GOM£©µÄת»»ÐèÇó
- **ÐÒé²ã³åÍ»**£º·â°ü¼ÓÃÜËã·¨£¨ÈçSKYµÄRSA-1024ÓëBLUEµÄAES-256£©µÄ¼æÈÝ´¦Àí
### 2. **¾¼Ã³É±¾ÆÀ¹À**
| ÏîÄ¿ | ×ÔÖú¸ü»»³É±¾ | רҵ·þÎñ³É±¾ |
|--------------------|---------------------|--------------------|
| ¹¤Ê±Í¶Èë | 80-120Сʱ | 8-15Сʱ |
| ѧϰ³É±¾ | ÐèÕÆÎÕDelphi/C++»ù´¡ | ÎÞÐè¼¼Êõ±³¾° |
| ´íÎóÐÞ¸´³É±¾ | ¸ß£¨Ðè·´¸´µ÷ÊÔ£© | µÍ£¨º¬ÊÛºóÖ§³Ö£© |
| ×ÜÖÜÆÚ | 2-4ÖÜ | 3-7Ìì |
---
## ¶þ¡¢ÒýÇæ¸ü»»È«Á÷³ÌÏê½â
### 1. **ǰÆÚ×¼±¸½×¶Î**
#### (1) **»·¾³±¸·Ý**
```bash
# ÍêÕû±¸·ÝÃüÁîʾÀý
tar -czvf MirServer_Backup_$(date +%Y%m%d).tar.gz /opt/MirServer/
```
**±Ø±¸·ÝÄÚÈÝ**£º
- `Envir`Ŀ¼£¨º¬ËùÓÐNPC½Å±¾¡¢ÈÎÎñÅäÖã©
- `DBServer`Êý¾Ý¿âÎļþ£¨*.dbs/*.sqlite£©
- `!Setup.txt`µÈºËÐÄÅäÖÃÎļþ
#### (2) **ÐÂÒýÇæÑ¡ÐÍ**
| ÒýÇæÀàÐÍ | ÊÊÓó¡¾° | Ç¨ÒÆÄÑ¶È | ÍÆ¼öÖ¸Êý |
|------------|---------------------|----------|----------|
| GOM | ΢¶Ë/¸ßÇå°æ±¾ | ¡ï¡ï¡ï¡î | ⭐⭐⭐⭐ |
| BLUE | ¸ß²¢·¢/³¤ÆÚ·þ | ¡ï¡ï¡ï¡ï | ⭐⭐⭐⭐ |
| HERO | ¸´¹Å1.76°æ±¾ | ¡ï¡ï¡î¡î | ⭐⭐⭐ |
| V8M2 | Á¬»÷/³¬±ä°æ±¾ | ¡ï¡ï¡ï¡î | ⭐⭐⭐⭐ |
---
### 2. **ºËÐIJÙ×÷½×¶Î**
#### (1) **Êý¾Ý¿âÇ¨ÒÆ**
ʹÓÃÒýÇæ×Ô´øµÄת»»¹¤¾ß£¨ÈçGOMµÄ`DBConverter.exe`£©½øÐÐÊý¾Ý½á¹¹×ª»»£º
```ini
; ת»»ÅäÖÃÎļþʾÀý
[Database]
SourceType=DBC2000
TargetType=SQLite
TableMapping=Monster.DB -> Monster.sqlite
```
**¹Ø¼ü×¢ÒâÊÂÏî**£º
- ×Ö¶ÎÀàÐÍת»»£ºÈç`AttackSpeed`ÔÚHEROΪÕûÊý£¬GOMÐèתΪ¸¡µãÊý
- Êý¾ÝУÑ飺ת»»ºóÐèÖ´ÐÐ`CHECKDB`ÃüÁîÑéÖ¤ÍêÕûÐÔ
#### (2) **½Å±¾ÃüÁîÌæ»»**
**×Ô¶¯»¯Ìæ»»·½°¸**£º
```python
# ʹÓÃPython½øÐÐÅúÁ¿ÃüÁîÌæ»»
import re
cmd_mapping = {
r'CHECKUSERDATE': 'CHECKVIPEX', # HEROתGOMʾÀý
r'ADDUSERDATE': 'VIP.ADD',
r'DELUSERDATE': 'VIP.REMOVE'
}
for root, dirs, files in os.walk('Envir'):
for file in files:
if file.endswith('.txt'):
with open(os.path.join(root, file), 'r+') as f:
content = f.read()
for old, new in cmd_mapping.items():
content = re.sub(old, new, content)
f.seek(0)
f.write(content)
f.truncate()
```
**ÊÖ¶¯ÐÞ¸ÄÖØµã**£º
- Ìõ¼þÅжÏÂß¼£ºÈçHEROµÄ`#IF`ÐèתΪGOMµÄ`#IFEXPR`
- ±äÁ¿´«µÝ·½Ê½£º`<$STR(S0)>`Óë`<LocalVar>`µÄ²îÒì´¦Àí
#### (3) **ÒýÇæÎļþ²¿Êð**
**ÊÖ¶¯¸²¸Ç·¨**£º
```bash
# ÒÔGOMÌæ»»HEROΪÀý
cp -rf GOM/LoginGate.exe /MirServer/LoginGate/
cp -rf GOM/M2Server.exe /MirServer/Mir200/
```
**×Ô¶¯¸üз¨**£º
1. ½âѹÐÂÒýÇæ°üÖÁÁÙʱĿ¼
2. ÔËÐÐ`UpdateEngine.bat`×Ô¶¯Æ¥Åä·¾¶
3. ÑéÖ¤`UpdateLog.txt`Öеijɹ¦Ìáʾ
---
### 3. **²âÊÔµ÷ÊÔ½×¶Î**
#### (1) **»ù´¡¹¦ÄÜÑéÖ¤**
```mermaid
graph TD
A[Æô¶¯·þÎñ¶Ë] --> B[¼ì²éM2¼ÓÔØ´íÎó]
B --> C{´æÔÚ´íÎó?}
C -->|ÊÇ| D[²é¿´M2Server.log]
C -->|·ñ| E[¿Í»§¶ËÁ¬½Ó²âÊÔ]
E --> F[»ù´¡¹¦ÄÜÑéÖ¤]
F --> G[ѹÁ¦²âÊÔ]
```
#### (2) **³£¼ûÎÊÌâÐÞ¸´**
| ´íÎóÀàÐÍ | ½â¾ö·½°¸ | ¹¤¾ßÍÆ¼ö |
|------------------|----------------------------------|--------------------|
| ½Å±¾Óï·¨´íÎó | ʹÓÃ`M2Debugger`ÖðÐе÷ÊÔ | GOM½Å±¾µ÷ÊÔÆ÷ |
| Êý¾Ý¿âÁ¬½Óʧ°Ü | ¼ì²é`!ServerInfo.txt`ÖеÄDB·¾¶ | SQLiteStudio |
| ·â°üУÑéÒì³£ | ÆôÓÃ`AllowOldClient=1`ÁÙʱ¼æÈÝ | WPE·â°ü·ÖÎöÆ÷ |
---
## Èý¡¢×¨Òµ·þÎñ½â¾ö·½°¸
### 1. **¼¼Êõ·þÎñÉÌÑ¡Ôñ±ê×¼**
- **×ÊÖÊÑéÖ¤**£º²é¿´ÊÇ·ñ¾ß±¸¡¶´«ÆæÒýÇæÇ¨ÒÆ·þÎñÈÏÖ¤¡·£¨ÈçRexueVIPÈÏÖ¤£©
- **°¸Àý¿¼²ì**£ºÒªÇóÌṩͬÀàÏîÄ¿³É¹¦°¸Àý£¨ÈçHEROתGOMÍêÕû°¸Àý£©
- **·þÎñÄÚÈÝ**£ºÈ·Èϰüº¬`Êý¾Ý¿âÇ¨ÒÆ+½Å±¾ÊÊÅä+ѹÁ¦²âÊÔ`È«Á÷³Ì
### 2. **Ö÷Á÷·þÎñÉ̶ԱÈ**
| ·þÎñÉÌ | ¼Û¸ñÇø¼ä | ÏìÓ¦ËÙ¶È | ÊÛºóÖ§³Ö |
|--------------|---------------|----------|------------------|
| ÒýÇæÖ®¼Ò | £¤3000-5000 | 12СʱÄÚ | 7×24СʱÔÚÏß |
| ´«Ææ¼¼ÊõÁªÃË | £¤2000-4000 | 24СʱÄÚ | ¹¤×÷ÈÕ9-18µã |
| ¶ÀÁ¢¿ª·¢Õß | £¤1500-3000 | ²»¶¨ | ÓÐÏÞÓʼþÖ§³Ö |
---
## ËÄ¡¢·çÏÕ¿ØÖÆÓ볤ÆÚά»¤
### 1. **¸ü»»ºó¼à¿ØÌåϵ**
```ini
; ¼à¿ØÅäÖÃÎļþʾÀý
[Performance]
MemoryThreshold=80% # Äڴ泬¹ýãÐÖµ±¨¾¯
CPUThreshold=90% # CPUʹÓÃÂʱ¨¾¯
[Security]
PacketCheck=1 # Òì³£·â°ü¼ì²â
```
### 2. **°æ±¾µü´ú²ßÂÔ**
- **ÔöÁ¿¸üÐÂ**£ºÃ¿Ô¶ԱÈ`GithubÒýÇæ²Ö¿â`»ñÈ¡²¹¶¡
- **»Ø¹ö·½°¸**£º±£ÁôÈý¸öÀúÊ·°æ±¾±¸·Ý£¨½¨ÒéʹÓÃ`Git Tag`¹ÜÀí£©
---
## Îå¡¢»ñÈ¡¼¼ÊõÖ§³ÖµÄ;¾¶
1. **¹Ù·½ÂÛ̳**£º·ÃÎÊ[´«Ææ¿ª·¢ÕßÉçÇø](http://bbs.mir2.com)»ñÈ¡×îй¤¾ß°ü
2. **¸¶·Ñ×Éѯ**£ºÁªÏµQQ: 800010000£¨ÒýÇæÖ®¼Ò¼¼Êõ·þÎñ£©
3. **¿ªÔ´ÏîÄ¿**£º²ÎÓëGithubÉϵÄ`MirEngineMigration`Ð×÷¿ª·¢
---
## ½áÓï
´«Ææ·þÎñ¶ËÒýÇæ¸ü»»ÊÇÒ»ÏîÐèÒª**¾«Ãܼ¼Êõ**Óë**·á¸»¾Ñé**²¢ÖصÄϵͳ¹¤³Ì¡£¶ÔÓÚÈÕ¾ùÔÚÏß³¬¹ý500È˵ÄÉÌÒµ·þ£¬½¨ÒéÑ¡ÔñBLUEÒýÇæ²¢²É¹º×¨ÒµÇ¨ÒÆ·þÎñ£»¸öÈË¿ª·¢Õ߿ɴÓHEROתGOMÈëÃÅ£¬Öð²½ÕÆÎÕ`½Å±¾ÃüÁîÓ³Éä`Óë`Êý¾Ý¿âת»»`ºËÐļ¼ÄÜ¡£ÎÞÂÛÑ¡ÔñºÎÖÖ·½°¸£¬Îñ±Ø×ñÑ`±¸·Ý→ÑéÖ¤→Ìæ»»→²âÊÔ`µÄ»Æ½ð·¨Ôò£¬½«Í£»úʱ¼ä¿ØÖÆÔÚ2СʱÒÔÄÚ£¬×î´ó³Ì¶È±£ÕÏÍæ¼ÒÌåÑé¡£
#### ΪʲôÐèÒª¸ü»»ÒýÇæ£¿
1. **ÐÔÄÜÓÅ»¯**£ºÐµÄÒýÇæ¿ÉÄÜÌṩ¸üºÃµÄÐÔÄܺ͸ü¸ßµÄÎȶ¨ÐÔ¡£
2. **°²È«¸üÐÂ**£º¾É°æ±¾¿ÉÄÜ´æÔÚÒÑÖªµÄ°²È«Â©¶´£¬ÐÂÒýÇæÍ¨³£»á°üº¬×îÐµİ²È«²¹¶¡¡£
3. **¹¦ÄÜÀ©Õ¹**£ºÐÂÒýÇæ¿ÉÄÜÖ§³Ö¸ü¶à¸ß¼¶¹¦ÄÜ£¬ÈçеÄÈÎÎñϵͳ¡¢ÎïÆ·ÏµÍ³µÈ¡£
#### ¸ü»»´«Ææ·þÎñ¶ËÒýÇæµÄ²½Öè
##### 1. ×¼±¸¹¤×÷
- **±¸·ÝÊý¾Ý**£ºÈ·±£ËùÓÐÖØÒªÊý¾Ý£¨ÈçÍæ¼ÒÐÅÏ¢¡¢ÎïÆ·Êý¾ÝµÈ£©ÒѾÍêÕû±¸·Ý¡£
- **Ñ¡ÔñÐÂÒýÇæ**£º¸ù¾ÝÐèÇóÑ¡ÔñÊʺϵÄÐÂÒýÇæ£¬²¢´Ó¹Ù·½ÇþµÀÏÂÔØ×îа汾¡£
- **¼ì²éÒÀÀµÏî**£ºÈ·ÈÏÐÂÒýÇæËùÐèµÄÒÀÀµ¿âºÍ»·¾³ÊÇ·ñÂú×ãÒªÇó¡£
##### 2. °²×°ÐÂÒýÇæ
- **Í£Ö¹ÏÖÓзþÎñ**£º¹Ø±Õµ±Ç°ÔËÐеķþÎñ¶Ë³ÌÐò£¬±ÜÃâ³åÍ»¡£
- **½âѹ²¢²¿ÊðÐÂÒýÇæ**£º½«ÏÂÔØµÄÐÂÒýÇæÑ¹Ëõ°ü½âѹµ½·þÎñÆ÷Ö¸¶¨Ä¿Â¼¡£
- **ÅäÖÃÎļþµ÷Õû**£º¸ù¾ÝÐÂÒýÇæµÄÒªÇóÐÞ¸ÄÏà¹ØÅäÖÃÎļþ£¬ÈçÊý¾Ý¿âÁ¬½Ó¡¢¶Ë¿ÚÉèÖõȡ£
##### 3. Êý¾ÝÇ¨ÒÆ
- **µ¼ÈëÊý¾Ý**£º½«Ö®Ç°±¸·ÝµÄÊý¾Ýµ¼Èëµ½ÐÂÒýÇæÖУ¬È·±£Êý¾ÝÍêÕûÐÔ¡£
- **²âÊÔ¼æÈÝÐÔ**£ºÆô¶¯ÐÂÒýÇæ£¬¼ì²éÊý¾ÝÊÇ·ñÕýÈ·¼ÓÔØ£¬¹¦ÄÜÊÇ·ñÕý³£ÔË×÷¡£
##### 4. ²âÊÔÓëÓÅ»¯
- **È«Ãæ²âÊÔ**£º¶ÔÓÎÏ·µÄ¸÷ÏÄܽøÐÐÈ«Ãæ²âÊÔ£¬È·±£Ã»ÓÐÒÅ©µÄÎÊÌâ¡£
- **ÐÔÄܵ÷ÓÅ**£º¸ù¾Ý²âÊÔ½á¹û¶Ô·þÎñÆ÷²ÎÊý½øÐÐÓÅ»¯£¬Ìá¸ßÐÔÄܺÍÎȶ¨ÐÔ¡£
##### 5. ÉÏÏßÓë¼à¿Ø
- **ÕýʽÉÏÏß**£ºÈ·ÈÏÒ»ÇÐÕý³£ºó£¬½«ÐÂÒýÇæÕýʽÉÏÏß¡£
- **³ÖÐø¼à¿Ø**£º¶¨ÆÚ¼à¿Ø·þÎñÆ÷ÔËÐÐ״̬£¬¼°Ê±·¢ÏÖ²¢½â¾öÎÊÌâ¡£
#### ѰÕÒרҵÈËÊ¿µÄ°ïÖú
Èç¹ûÄú²»¾ß±¸¸ü»»ÒýÇæËùÐèµÄ¼¼ÊõÄÜÁ¦£¬¿ÉÒÔ¿¼ÂÇѰÇóÒÔÏÂ;¾¶µÄ°ïÖú£º
1. **ÉçÇøºÍ¼¼ÊõÂÛ̳**£º
- ¼ÓÈëÏà¹ØµÄ´«ÆæÓÎÏ·¿ª·¢ÕßÉçÇø»òÂÛ̳£¬·¢²¼ÇóÖúÌû£¬Ñ°ÇóÓоÑéµÄ¿ª·¢Õß°ïÖú¡£
2. **µÚÈý·½·þÎñÉÌ**£º
- ×ÉѯרҵµÄÓÎÏ··þÎñÆ÷Íйܹ«Ë¾»ò¼¼Êõ·þÎñÌṩÉÌ£¬ËûÃÇͨ³£ÌṩÒýÇæ¸ü»»ºÍÓÅ»¯·þÎñ¡£
3. **ÕÐÆ¸¼¼ÊõÈËÔ±**£º
- Èç¹ûÏîÄ¿¹æÄ£½Ï´óÇÒ³¤ÆÚÐèÒª¼¼ÊõÖ§³Ö£¬¿ÉÒÔ¿¼ÂÇÕÐÆ¸È«Ö°»ò¼æÖ°µÄ¼¼ÊõÈËÔ±¡£
#### ×¢ÒâÊÂÏî
- **ºÏ·¨ÐÔÎÊÌâ**£ºÈ·±£Ê¹ÓõÄËùÓÐ×ÊÔ´ºÍ¹¤¾ß¶¼¾ßÓкϷ¨ÊÚȨ£¬±ÜÃâÇÖȨÐÐΪ¡£
- **Êý¾Ý°²È«**£ºÔÚÈκβÙ×÷ǰ¶¼Òª×öºÃÊý¾Ý±¸·Ý£¬ÒÔ·ÀÒâÍⶪʧ¡£
- **·çÏÕÆÀ¹À**£º³ä·ÖÆÀ¹À¸ü»»ÒýÇæµÄ·çÏÕ£¬²¢Öƶ¨Ó¦¼±Ô¤°¸¡£
#### ½áÂÛ
¸ü»»´«Ææ·þÎñ¶ËÒýÇæÊÇÒ»¸ö¸´ÔÓµ«±ØÒªµÄ¹ý³Ì£¬¿ÉÒÔ°ïÖúÌáÉý·þÎñÆ÷ÐÔÄÜ¡¢ÔöÇ¿°²È«ÐÔ²¢Ôö¼Óй¦ÄÜ¡£Í¨¹ý×ñÑÉÏÊö²½Ö貢ѰÇóרҵ°ïÖú£¬Äú¿ÉÒÔ˳ÀûµØÍê³ÉÕâÒ»ÈÎÎñ¡£Ï£Íû±¾ÎÄÄÜΪÄúÌṩÓмÛÖµµÄÖ¸µ¼ºÍÖ§³Ö£¬×£ÄúµÄÓÎÏ··þÎñÆ÷ÔËÓª¸ü¼Ó³É¹¦¡£
### 1. **¼¼Êõ¿ÉÐÐÐÔ·ÖÎö**
´«Ææ·þÎñ¶ËÒýÇæ¸ü»»±¾ÖÊÊÇ**µ×²ã¼Ü¹¹Ç¨ÒÆ**Óë**ÉϲãÂß¼ÊÊÅä**µÄË«ÖØ¹¤³Ì¡£¸ù¾ÝÒýÇæ¼¼ÊõÕ»²îÒ죨ÈçSKYÒýÇæ»ùÓÚDelphi£¬GOM»ùÓÚC++/LUA£©£¬ºËÐÄÌôÕ½¼¯ÖÐÔÚ£º
- **Êý¾Ý¿â¼æÈÝÐÔ**£º²»Í¬ÒýÇæµÄ×°±¸¡¢¹ÖÎï¡¢¼¼ÄܵÈÊý¾Ý½á¹¹²îÒ죨Èç3KM2²ÉÓÃSQLite£¬HEROʹÓÃDBC2000£©
- **½Å±¾ÃüÁîÊÊÅä**£º¸÷ÒýÇæ×¨ÓÐÃüÁîÈç`CHECKUSERDATE`£¨HERO£©Óë`ESP.OPENAutoPick`£¨GOM£©µÄת»»ÐèÇó
- **ÐÒé²ã³åÍ»**£º·â°ü¼ÓÃÜËã·¨£¨ÈçSKYµÄRSA-1024ÓëBLUEµÄAES-256£©µÄ¼æÈÝ´¦Àí
### 2. **¾¼Ã³É±¾ÆÀ¹À**
| ÏîÄ¿ | ×ÔÖú¸ü»»³É±¾ | רҵ·þÎñ³É±¾ |
|--------------------|---------------------|--------------------|
| ¹¤Ê±Í¶Èë | 80-120Сʱ | 8-15Сʱ |
| ѧϰ³É±¾ | ÐèÕÆÎÕDelphi/C++»ù´¡ | ÎÞÐè¼¼Êõ±³¾° |
| ´íÎóÐÞ¸´³É±¾ | ¸ß£¨Ðè·´¸´µ÷ÊÔ£© | µÍ£¨º¬ÊÛºóÖ§³Ö£© |
| ×ÜÖÜÆÚ | 2-4ÖÜ | 3-7Ìì |
---
## ¶þ¡¢ÒýÇæ¸ü»»È«Á÷³ÌÏê½â
### 1. **ǰÆÚ×¼±¸½×¶Î**
#### (1) **»·¾³±¸·Ý**
```bash
# ÍêÕû±¸·ÝÃüÁîʾÀý
tar -czvf MirServer_Backup_$(date +%Y%m%d).tar.gz /opt/MirServer/
```
**±Ø±¸·ÝÄÚÈÝ**£º
- `Envir`Ŀ¼£¨º¬ËùÓÐNPC½Å±¾¡¢ÈÎÎñÅäÖã©
- `DBServer`Êý¾Ý¿âÎļþ£¨*.dbs/*.sqlite£©
- `!Setup.txt`µÈºËÐÄÅäÖÃÎļþ
#### (2) **ÐÂÒýÇæÑ¡ÐÍ**
| ÒýÇæÀàÐÍ | ÊÊÓó¡¾° | Ç¨ÒÆÄÑ¶È | ÍÆ¼öÖ¸Êý |
|------------|---------------------|----------|----------|
| GOM | ΢¶Ë/¸ßÇå°æ±¾ | ¡ï¡ï¡ï¡î | ⭐⭐⭐⭐ |
| BLUE | ¸ß²¢·¢/³¤ÆÚ·þ | ¡ï¡ï¡ï¡ï | ⭐⭐⭐⭐ |
| HERO | ¸´¹Å1.76°æ±¾ | ¡ï¡ï¡î¡î | ⭐⭐⭐ |
| V8M2 | Á¬»÷/³¬±ä°æ±¾ | ¡ï¡ï¡ï¡î | ⭐⭐⭐⭐ |
---
### 2. **ºËÐIJÙ×÷½×¶Î**
#### (1) **Êý¾Ý¿âÇ¨ÒÆ**
ʹÓÃÒýÇæ×Ô´øµÄת»»¹¤¾ß£¨ÈçGOMµÄ`DBConverter.exe`£©½øÐÐÊý¾Ý½á¹¹×ª»»£º
```ini
; ת»»ÅäÖÃÎļþʾÀý
[Database]
SourceType=DBC2000
TargetType=SQLite
TableMapping=Monster.DB -> Monster.sqlite
```
**¹Ø¼ü×¢ÒâÊÂÏî**£º
- ×Ö¶ÎÀàÐÍת»»£ºÈç`AttackSpeed`ÔÚHEROΪÕûÊý£¬GOMÐèתΪ¸¡µãÊý
- Êý¾ÝУÑ飺ת»»ºóÐèÖ´ÐÐ`CHECKDB`ÃüÁîÑéÖ¤ÍêÕûÐÔ
#### (2) **½Å±¾ÃüÁîÌæ»»**
**×Ô¶¯»¯Ìæ»»·½°¸**£º
```python
# ʹÓÃPython½øÐÐÅúÁ¿ÃüÁîÌæ»»
import re
cmd_mapping = {
r'CHECKUSERDATE': 'CHECKVIPEX', # HEROתGOMʾÀý
r'ADDUSERDATE': 'VIP.ADD',
r'DELUSERDATE': 'VIP.REMOVE'
}
for root, dirs, files in os.walk('Envir'):
for file in files:
if file.endswith('.txt'):
with open(os.path.join(root, file), 'r+') as f:
content = f.read()
for old, new in cmd_mapping.items():
content = re.sub(old, new, content)
f.seek(0)
f.write(content)
f.truncate()
```
**ÊÖ¶¯ÐÞ¸ÄÖØµã**£º
- Ìõ¼þÅжÏÂß¼£ºÈçHEROµÄ`#IF`ÐèתΪGOMµÄ`#IFEXPR`
- ±äÁ¿´«µÝ·½Ê½£º`<$STR(S0)>`Óë`<LocalVar>`µÄ²îÒì´¦Àí
#### (3) **ÒýÇæÎļþ²¿Êð**
**ÊÖ¶¯¸²¸Ç·¨**£º
```bash
# ÒÔGOMÌæ»»HEROΪÀý
cp -rf GOM/LoginGate.exe /MirServer/LoginGate/
cp -rf GOM/M2Server.exe /MirServer/Mir200/
```
**×Ô¶¯¸üз¨**£º
1. ½âѹÐÂÒýÇæ°üÖÁÁÙʱĿ¼
2. ÔËÐÐ`UpdateEngine.bat`×Ô¶¯Æ¥Åä·¾¶
3. ÑéÖ¤`UpdateLog.txt`Öеijɹ¦Ìáʾ
---
### 3. **²âÊÔµ÷ÊÔ½×¶Î**
#### (1) **»ù´¡¹¦ÄÜÑéÖ¤**
```mermaid
graph TD
A[Æô¶¯·þÎñ¶Ë] --> B[¼ì²éM2¼ÓÔØ´íÎó]
B --> C{´æÔÚ´íÎó?}
C -->|ÊÇ| D[²é¿´M2Server.log]
C -->|·ñ| E[¿Í»§¶ËÁ¬½Ó²âÊÔ]
E --> F[»ù´¡¹¦ÄÜÑéÖ¤]
F --> G[ѹÁ¦²âÊÔ]
```
#### (2) **³£¼ûÎÊÌâÐÞ¸´**
| ´íÎóÀàÐÍ | ½â¾ö·½°¸ | ¹¤¾ßÍÆ¼ö |
|------------------|----------------------------------|--------------------|
| ½Å±¾Óï·¨´íÎó | ʹÓÃ`M2Debugger`ÖðÐе÷ÊÔ | GOM½Å±¾µ÷ÊÔÆ÷ |
| Êý¾Ý¿âÁ¬½Óʧ°Ü | ¼ì²é`!ServerInfo.txt`ÖеÄDB·¾¶ | SQLiteStudio |
| ·â°üУÑéÒì³£ | ÆôÓÃ`AllowOldClient=1`ÁÙʱ¼æÈÝ | WPE·â°ü·ÖÎöÆ÷ |
---
## Èý¡¢×¨Òµ·þÎñ½â¾ö·½°¸
### 1. **¼¼Êõ·þÎñÉÌÑ¡Ôñ±ê×¼**
- **×ÊÖÊÑéÖ¤**£º²é¿´ÊÇ·ñ¾ß±¸¡¶´«ÆæÒýÇæÇ¨ÒÆ·þÎñÈÏÖ¤¡·£¨ÈçRexueVIPÈÏÖ¤£©
- **°¸Àý¿¼²ì**£ºÒªÇóÌṩͬÀàÏîÄ¿³É¹¦°¸Àý£¨ÈçHEROתGOMÍêÕû°¸Àý£©
- **·þÎñÄÚÈÝ**£ºÈ·Èϰüº¬`Êý¾Ý¿âÇ¨ÒÆ+½Å±¾ÊÊÅä+ѹÁ¦²âÊÔ`È«Á÷³Ì
### 2. **Ö÷Á÷·þÎñÉ̶ԱÈ**
| ·þÎñÉÌ | ¼Û¸ñÇø¼ä | ÏìÓ¦ËÙ¶È | ÊÛºóÖ§³Ö |
|--------------|---------------|----------|------------------|
| ÒýÇæÖ®¼Ò | £¤3000-5000 | 12СʱÄÚ | 7×24СʱÔÚÏß |
| ´«Ææ¼¼ÊõÁªÃË | £¤2000-4000 | 24СʱÄÚ | ¹¤×÷ÈÕ9-18µã |
| ¶ÀÁ¢¿ª·¢Õß | £¤1500-3000 | ²»¶¨ | ÓÐÏÞÓʼþÖ§³Ö |
---
## ËÄ¡¢·çÏÕ¿ØÖÆÓ볤ÆÚά»¤
### 1. **¸ü»»ºó¼à¿ØÌåϵ**
```ini
; ¼à¿ØÅäÖÃÎļþʾÀý
[Performance]
MemoryThreshold=80% # Äڴ泬¹ýãÐÖµ±¨¾¯
CPUThreshold=90% # CPUʹÓÃÂʱ¨¾¯
[Security]
PacketCheck=1 # Òì³£·â°ü¼ì²â
```
### 2. **°æ±¾µü´ú²ßÂÔ**
- **ÔöÁ¿¸üÐÂ**£ºÃ¿Ô¶ԱÈ`GithubÒýÇæ²Ö¿â`»ñÈ¡²¹¶¡
- **»Ø¹ö·½°¸**£º±£ÁôÈý¸öÀúÊ·°æ±¾±¸·Ý£¨½¨ÒéʹÓÃ`Git Tag`¹ÜÀí£©
---
## Îå¡¢»ñÈ¡¼¼ÊõÖ§³ÖµÄ;¾¶
1. **¹Ù·½ÂÛ̳**£º·ÃÎÊ[´«Ææ¿ª·¢ÕßÉçÇø](http://bbs.mir2.com)»ñÈ¡×îй¤¾ß°ü
2. **¸¶·Ñ×Éѯ**£ºÁªÏµQQ: 800010000£¨ÒýÇæÖ®¼Ò¼¼Êõ·þÎñ£©
3. **¿ªÔ´ÏîÄ¿**£º²ÎÓëGithubÉϵÄ`MirEngineMigration`Ð×÷¿ª·¢
---
## ½áÓï
´«Ææ·þÎñ¶ËÒýÇæ¸ü»»ÊÇÒ»ÏîÐèÒª**¾«Ãܼ¼Êõ**Óë**·á¸»¾Ñé**²¢ÖصÄϵͳ¹¤³Ì¡£¶ÔÓÚÈÕ¾ùÔÚÏß³¬¹ý500È˵ÄÉÌÒµ·þ£¬½¨ÒéÑ¡ÔñBLUEÒýÇæ²¢²É¹º×¨ÒµÇ¨ÒÆ·þÎñ£»¸öÈË¿ª·¢Õ߿ɴÓHEROתGOMÈëÃÅ£¬Öð²½ÕÆÎÕ`½Å±¾ÃüÁîÓ³Éä`Óë`Êý¾Ý¿âת»»`ºËÐļ¼ÄÜ¡£ÎÞÂÛÑ¡ÔñºÎÖÖ·½°¸£¬Îñ±Ø×ñÑ`±¸·Ý→ÑéÖ¤→Ìæ»»→²âÊÔ`µÄ»Æ½ð·¨Ôò£¬½«Í£»úʱ¼ä¿ØÖÆÔÚ2СʱÒÔÄÚ£¬×î´ó³Ì¶È±£ÕÏÍæ¼ÒÌåÑé¡£
#### ΪʲôÐèÒª¸ü»»ÒýÇæ£¿
1. **ÐÔÄÜÓÅ»¯**£ºÐµÄÒýÇæ¿ÉÄÜÌṩ¸üºÃµÄÐÔÄܺ͸ü¸ßµÄÎȶ¨ÐÔ¡£
2. **°²È«¸üÐÂ**£º¾É°æ±¾¿ÉÄÜ´æÔÚÒÑÖªµÄ°²È«Â©¶´£¬ÐÂÒýÇæÍ¨³£»á°üº¬×îÐµİ²È«²¹¶¡¡£
3. **¹¦ÄÜÀ©Õ¹**£ºÐÂÒýÇæ¿ÉÄÜÖ§³Ö¸ü¶à¸ß¼¶¹¦ÄÜ£¬ÈçеÄÈÎÎñϵͳ¡¢ÎïÆ·ÏµÍ³µÈ¡£
#### ¸ü»»´«Ææ·þÎñ¶ËÒýÇæµÄ²½Öè
##### 1. ×¼±¸¹¤×÷
- **±¸·ÝÊý¾Ý**£ºÈ·±£ËùÓÐÖØÒªÊý¾Ý£¨ÈçÍæ¼ÒÐÅÏ¢¡¢ÎïÆ·Êý¾ÝµÈ£©ÒѾÍêÕû±¸·Ý¡£
- **Ñ¡ÔñÐÂÒýÇæ**£º¸ù¾ÝÐèÇóÑ¡ÔñÊʺϵÄÐÂÒýÇæ£¬²¢´Ó¹Ù·½ÇþµÀÏÂÔØ×îа汾¡£
- **¼ì²éÒÀÀµÏî**£ºÈ·ÈÏÐÂÒýÇæËùÐèµÄÒÀÀµ¿âºÍ»·¾³ÊÇ·ñÂú×ãÒªÇó¡£
##### 2. °²×°ÐÂÒýÇæ
- **Í£Ö¹ÏÖÓзþÎñ**£º¹Ø±Õµ±Ç°ÔËÐеķþÎñ¶Ë³ÌÐò£¬±ÜÃâ³åÍ»¡£
- **½âѹ²¢²¿ÊðÐÂÒýÇæ**£º½«ÏÂÔØµÄÐÂÒýÇæÑ¹Ëõ°ü½âѹµ½·þÎñÆ÷Ö¸¶¨Ä¿Â¼¡£
- **ÅäÖÃÎļþµ÷Õû**£º¸ù¾ÝÐÂÒýÇæµÄÒªÇóÐÞ¸ÄÏà¹ØÅäÖÃÎļþ£¬ÈçÊý¾Ý¿âÁ¬½Ó¡¢¶Ë¿ÚÉèÖõȡ£
##### 3. Êý¾ÝÇ¨ÒÆ
- **µ¼ÈëÊý¾Ý**£º½«Ö®Ç°±¸·ÝµÄÊý¾Ýµ¼Èëµ½ÐÂÒýÇæÖУ¬È·±£Êý¾ÝÍêÕûÐÔ¡£
- **²âÊÔ¼æÈÝÐÔ**£ºÆô¶¯ÐÂÒýÇæ£¬¼ì²éÊý¾ÝÊÇ·ñÕýÈ·¼ÓÔØ£¬¹¦ÄÜÊÇ·ñÕý³£ÔË×÷¡£
##### 4. ²âÊÔÓëÓÅ»¯
- **È«Ãæ²âÊÔ**£º¶ÔÓÎÏ·µÄ¸÷ÏÄܽøÐÐÈ«Ãæ²âÊÔ£¬È·±£Ã»ÓÐÒÅ©µÄÎÊÌâ¡£
- **ÐÔÄܵ÷ÓÅ**£º¸ù¾Ý²âÊÔ½á¹û¶Ô·þÎñÆ÷²ÎÊý½øÐÐÓÅ»¯£¬Ìá¸ßÐÔÄܺÍÎȶ¨ÐÔ¡£
##### 5. ÉÏÏßÓë¼à¿Ø
- **ÕýʽÉÏÏß**£ºÈ·ÈÏÒ»ÇÐÕý³£ºó£¬½«ÐÂÒýÇæÕýʽÉÏÏß¡£
- **³ÖÐø¼à¿Ø**£º¶¨ÆÚ¼à¿Ø·þÎñÆ÷ÔËÐÐ״̬£¬¼°Ê±·¢ÏÖ²¢½â¾öÎÊÌâ¡£
#### ѰÕÒרҵÈËÊ¿µÄ°ïÖú
Èç¹ûÄú²»¾ß±¸¸ü»»ÒýÇæËùÐèµÄ¼¼ÊõÄÜÁ¦£¬¿ÉÒÔ¿¼ÂÇѰÇóÒÔÏÂ;¾¶µÄ°ïÖú£º
1. **ÉçÇøºÍ¼¼ÊõÂÛ̳**£º
- ¼ÓÈëÏà¹ØµÄ´«ÆæÓÎÏ·¿ª·¢ÕßÉçÇø»òÂÛ̳£¬·¢²¼ÇóÖúÌû£¬Ñ°ÇóÓоÑéµÄ¿ª·¢Õß°ïÖú¡£
2. **µÚÈý·½·þÎñÉÌ**£º
- ×ÉѯרҵµÄÓÎÏ··þÎñÆ÷Íйܹ«Ë¾»ò¼¼Êõ·þÎñÌṩÉÌ£¬ËûÃÇͨ³£ÌṩÒýÇæ¸ü»»ºÍÓÅ»¯·þÎñ¡£
3. **ÕÐÆ¸¼¼ÊõÈËÔ±**£º
- Èç¹ûÏîÄ¿¹æÄ£½Ï´óÇÒ³¤ÆÚÐèÒª¼¼ÊõÖ§³Ö£¬¿ÉÒÔ¿¼ÂÇÕÐÆ¸È«Ö°»ò¼æÖ°µÄ¼¼ÊõÈËÔ±¡£
#### ×¢ÒâÊÂÏî
- **ºÏ·¨ÐÔÎÊÌâ**£ºÈ·±£Ê¹ÓõÄËùÓÐ×ÊÔ´ºÍ¹¤¾ß¶¼¾ßÓкϷ¨ÊÚȨ£¬±ÜÃâÇÖȨÐÐΪ¡£
- **Êý¾Ý°²È«**£ºÔÚÈκβÙ×÷ǰ¶¼Òª×öºÃÊý¾Ý±¸·Ý£¬ÒÔ·ÀÒâÍⶪʧ¡£
- **·çÏÕÆÀ¹À**£º³ä·ÖÆÀ¹À¸ü»»ÒýÇæµÄ·çÏÕ£¬²¢Öƶ¨Ó¦¼±Ô¤°¸¡£
#### ½áÂÛ
¸ü»»´«Ææ·þÎñ¶ËÒýÇæÊÇÒ»¸ö¸´ÔÓµ«±ØÒªµÄ¹ý³Ì£¬¿ÉÒÔ°ïÖúÌáÉý·þÎñÆ÷ÐÔÄÜ¡¢ÔöÇ¿°²È«ÐÔ²¢Ôö¼Óй¦ÄÜ¡£Í¨¹ý×ñÑÉÏÊö²½Ö貢ѰÇóרҵ°ïÖú£¬Äú¿ÉÒÔ˳ÀûµØÍê³ÉÕâÒ»ÈÎÎñ¡£Ï£Íû±¾ÎÄÄÜΪÄúÌṩÓмÛÖµµÄÖ¸µ¼ºÍÖ§³Ö£¬×£ÄúµÄÓÎÏ··þÎñÆ÷ÔËÓª¸ü¼Ó³É¹¦¡£

