- 打卡等级:殷海萨
- 打卡总天数:819
- 打卡月天数:9
- 打卡总奖励:5323
|
英文作者:lampros1996
简译:谷歌翻译
作者自测于六章没问题可用
此脚本用于修改engine.dll中的登录和游戏服务器端口,而不需要在l2.ini中进行任何更改。修改直接发生在engine.dll的二进制数据中,确保客户端连接到新端口。
- import os
- # New Ports
- NEW_PORT_2106 = 8888 # Login Server 8888
- NEW_PORT_7777 = 9999 # Game Server 9999
- # Μετατροπή σε HEX (Little Endian)
- OLD_HEX_2106 = bytes.fromhex("3A 08") # 2106
- NEW_HEX_2106 = NEW_PORT_2106.to_bytes(2, "little")
- OLD_HEX_7777 = bytes.fromhex("61 1E") # 7777
- NEW_HEX_7777 = NEW_PORT_7777.to_bytes(2, "little")
- # DLL
- with open("engine.dll", "rb") as f:
- dll_data = f.read()
- # Replace
- dll_data = dll_data.replace(OLD_HEX_2106, NEW_HEX_2106, 6)
- dll_data = dll_data.replace(OLD_HEX_7777, NEW_HEX_7777, 8)
- # Save New DLL
- with open("engine.dll", "wb") as f:
- f.write(dll_data)
- print(" New DDL save as 'engine_patched.dll'")
- print(f" - Login Server Port: {NEW_PORT_2106} (Your New Port)")
- print(f" - Game Server Port: {NEW_PORT_7777} (Your New Port)")
- print(" Replace engine.dll with a new!")
复制代码
这个脚本的意思是:
定义新端口
登录服务器:将默认端口2106更改为8888。
游戏服务器:将默认端口7777更改为9999。
您可以将这些值更改为您想要的任何端口!
将端口转换为HEX格式(小端)
2106 → 3A 08(旧)→转换为8888(22 22,十六进制)。
7777 → 61 1 E(旧)→转换为9999(0 F 27,十六进制)。
读取engine.dll
以二进制模式打开engine.dll并加载其内容。
用新端口值替换旧端口值
在engine.dll中查找表示旧端口的十六进制值,并将其替换为新端口。
替换2106的6个实例和7777的8个实例。
删除修改后的DLL
将更新的数据写回engine.dll,有效地修补它。
输出确认消息
确认engine.dll已成功修补。
显示新端口值。
不需要修改l2.ini,因为更改直接应用于engine.dll中。
自动工作,无需手动编辑客户端文件。
确保Lineage 2客户端的正确连接端口。
运行脚本以修补engine.dll。
将旧的engine.dll替换为Lineage 2系统文件夹中的补丁。
启动客户端-它现在将连接到新的端口(8888用于登录,9999用于游戏服务器)。
|
|