워낙 중국 해커들 게임해킹 실력은 장난이 아니라서 왠만한 게임분석은 어렵지 않게 합니다.
옛날 중국애들이 분석한 리니지2 (천당2)의 게임를 분석한 내용입니다. 대충 보시면 어떻게 구성되고 구동되는지 짐작할 수 있습니다.
必备条件:
1、操作系统 Windows 2003 Enterprise Edition
2、数据库 Microsoft SQL Corpotation 2000+SP4
3、天堂II服务端程序
L2server.exe 及其相关配置文件
L2NPC.exe 及其相关配置文件
L2AuthD.exe 及其相关配置文件
Cached.exe 及其相关配置文件
Html 以及 Scrip t脚本目录
GeoData 地图文件
Patch.dll 四章功能扩展文件
4、数据库脚本
① lin2comm_new(IP) 脚本内包含服务器IP地址、数据库访问用户名(gamma)、对应用户名的密码用记事本打开修改一下
② 1_lin2db
③ 2_lin2db_update
④ lin2report
⑤ lin2user
⑥ 1_lin2world 脚本内包含服务器IP地址、数据库访问用户名(gamma)、对应用户名的密码 用记事本打开修改一下
⑦ 2_lin2world(这个是四章的第二个Lin2world库的脚本)
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB
减少lin2server停止错误(加完/3GB以后不要加载任何启动程序例如:防火墙系统容易蓝屏需要启动安全模式下删除启动程序)
之前请先确认你从来没有运行过服务器端的应用程序,如果运行了,请运行regedit删除
[HKEY_LOCAL_MACHINE\SOFTWARE\NCSOFT]
[HKEY_LOCAL_MACHINE\SOFTWARE\PROJECT_L2]
这两个键值,如果没有运行过轻跳过这一步,进入下面的步骤
调整好了操作系统之后就可以开始安装SQL了。SQL的安装过程就不用我多说了吧?自己记住SA的密码就好了。
安装好SQL之后打开企业管理器依次创建 Lin2comm Lin2db Lin2report Lin2user Lin2world这5个数据库。创建好了之后进入安全性--〉登陆 创建一个名为gamma的用户,然后在创建窗口最上面选择数据库访问标签。依次给Lin2comm Lin2db Lin2report Lin2user Lin2world这5个数据库选中Public以及db_owner角色。5个数据库全都要选择这2个角色。然后点确定,再次输入Gamma的确认密码就Ok了。
将Patch.dll复制到windows\system32 并且设置只读属性。
然后去ODBC建立文件DSN。过程:选择文件DSN标签--〉添加---〉SQL Server---〉下一步---〉数据源名字(和数据库名字一样就OK了。一共5个。)---〉剩下的一路填写相关信息就建立好了。对应5个数据库全部都要建立。
之后建立系统DSN,一共2个,一个指向Lin2db 一个指向Lin2world 使用Windows NT验证方式。
然后打开SQL的查询分析器,输入gamma的用户名和密码,对应每个数据库打开数据库脚本,然后执行就OK了。
注意:Lin2db和Lin2world都有2个脚本。按照顺序依次执行查询。
数据库脚本查询后的重要一步,打开lin2d库中的server表,填入以下内容
PS:此处填写的两个IP地址第一个是外网IP地址,第二个是内网IP,如果不开内网就写外网的。都不能使用域名。为什么别问我,NCsoft说了算。
1 名字 服务器ip 服务器ip 1 1 1 端口
1 XXWZ 222.222.222.222 222.222.222.222 1 1 1 7777
现在开始配置服务器端的配置文件
NewAuth\etc\config.txt
serverPort = 2104
serverExPort = 2106
serverIntPort = 2108
worldport = 7777
DBConnectionNum=10
encrypt = true
numServerThread = 2
numServerExThread = 2
numServerIntThread = 2
logDirectory="d:\l2serverwork\log"
;30206 : l2, 30310 : Sl
ProtocolVersion = 30810
;8:lineage2, 4 halo
GameID=8
DesApply=false
PacketSizeType = 3
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=3
DevConnectOuter=true
DevServerIP="222.222.222.222" <---此处填写外网IP地址
下面内容省略了。都一样。
L2Server\l2server.ini
[CacheD]
address="222.222.222.222" <---此处填写外网IP地址
port=2006
[AuthD]
;l2server
address="222.222.222.222" <---此处填写外网IP地址
port=2104
[World]
WorldId=3
UserLimit=1500 <---此处是服务器连接最大数限制
;LetBuilder=1
[PetitionD]
address="222.222.222.222" <---此处填写外网IP地址
port=2107
WorldName="publish03"
;world name must be exact 9 characters.
[Report]
Interval=50 <---此处是报告时间,调的长一点可以节约资源
[Setting]
country=3
UserPathFind=false
WorldCollision=false
ExceptionMailing=false
MailServer=mail.ncsoft.co.kr
AcceptLowerProtocol=true
IOBufferCount=6000 <---此处是个重要的参数,机器越差请调整的越低
;limit hour for week, (number means hour. 0 means don't use. default is 0)
playtimelimit=0
reconnectauth=1
;use auth reconn (1:use, 0:don't. default is 0)这里填写0为服务器维护 1为正常开启
www.5 uwl.net
L2NPC\ L2NPC.ini
[CacheD]
address="222.222.222.222" <---此处填写外网IP地址
port=2008
[Server]
address="222.222.222.222" <---此处填写外网IP地址
port=2002
[db]
address="222.222.222.222" <---此处填写外网IP地址
port=2005
user="gamma" <---此处填写数据库用户名
password="xxxxxxx" <---此处填写数据库密码
[map]
directory="geodata"
[LogD]
address="222.222.222.222" <---此处填写外网IP地址
port=3999
[World]
WorldId=3
[Setting]
country=3
ExceptionMailing=false
MailServer=ncs-mail.ncsoft.co.kr
全部配置完成后,请依次运行运行:
CacheD--------------------第1个启动
第一次输入
File DB:lin2world
Log Name:gamma
Passwoed:你的gamma密码
第二次输入
File DB:lin2comm
Log Name:gamma
Passwoed:你的gamma密码
NewAuth------------------第2个启动
File DB:lin2db
Log Name:gamma
Passwoed:你的gamma密码
L2Server------------------第3个启动
L2NPC--------------------第4个启动