端,我安装的是大陆版,173M。
配置2台,其一为英文Win2000 Adv Server(命名为A),CPU双志强2G,物理内存2G,虚拟内存6G,实际消耗内存3.3G--内存主要是瓶颈,CPU消耗很低,另一台安装的中文Windows2000,SQL2000企业版(命名为B)。
ini文件
所有天堂II服务器端程序运行在A上,除了L2AuthD.exe的配置文件config.txt下的DevServerIP设置的IP是B的地址。其余必须运行的CacheD.exe、L2Server.exe和L2NPC.exe三个程序的配置文件ini中的Address都是设置的A的地址。
新装服务器的时候,很多人由于心理没底,都在服务器端出现红色警告后就不知所措,这里总结一下,如果遇到如下错误,恭喜你,不用担心服务器能否正常运行,我的上也有是这样的错误。
1.CacheD.exe
09/25/2004 16:25:56.755, [Account.cpp][381] Cannot load day uesed time for account [1]
09/25/2004 16:25:56.755, [Account.cpp][321]Error. Cannot load Week play time, account id [1]
copyright dedecms 09/25/2004 15:43:27.913, Can't connect to log server
2.L2authD.exe
09/25/2004 15:42:47.258, Error sql: EXECUTE lin_CheckLogTimeTable2 'L2004_09_24_', 3 (0)
09/25/2004 15:42:47.258, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_CheckLogTimeTable2'.
09/25/2004 15:42:47.258, Error sql: EXECUTE lin_BulkInsert 'lin2log.dbo.L2004_09_24_log_data_3',
'D:\CHN_Server_20040604\L2logD\log\in\2004-09-24-01-03-server-in0.log' (0)
09/25/2004 15:42:47.258, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_BulkInsert'.
这个问题很奇怪,lin_CheckLogTimeTable2和lin_BulkInsert的存储过程在SQL里都是有的,直接在查询分析器中运行同样的命令是可以正常执行,但是L2logD.exe还是报错,不知道如何解决。。。
3.L2Server.exe
09/25/2004 16:14:32.784, AuthSocket Close 4e99c(635e3d4c). GetLastError(64)
09/25/2004 16:14:32.784, Auth socket is closed.
织梦好,好织梦 Exception occured. Flush Flush!!!
09/25/2004 16:15:40.032, CWatchList::ParseWatchList() file open failed. GetLastError(2)
........
09/25/2004 17:18:46.444, CWatchList::ParseWatchList() file open failed. GetLastError(2)
09/25/2004 17:19:05.787, [Path.cpp][449] loading ..\geodata\pathnode.bin failed!
09/25/2004 17:19:17.553, DBSocket open 4e93c(635e14dc)
09/25/2004 17:19:17.553, DBSocket open 4e94c(635e28e4)
09/25/2004 17:19:17.600, Too many builders[0]
09/25/2004 17:19:17.725, AuthSocket open 4e990(635e3d4c)
09/25/2004 17:19:18.740, Can't connect to log server
09/25/2004 17:19:18.740, Can't connect to petition server
......
09/25/2004 17:22:16.362, [NpcSocket.cpp][1077] Not a cached buy-sell list[1109424664]
....
09/25/2004 20:00:05.336, [Path.cpp][552] Invalid offset[0] count[0]
09/25/2004 20:00:05.336, [Path.cpp][552] Invalid offset[0] count[0]
09/25/2004 20:00:05.336, [Path.cpp][552] Invalid offset[0] count[0]
4.l2npc.exe
09/25/2004 16:32:02.263, Can't connect to log server
织梦好,好织梦 09/25/2004 16:33:06.528, [c:\serverservice\l2npc\ThreadSafeLibrary.h][2023] Invalid Class[0] sid[0]
09/25/2004 16:33:06.590, null spawn define at file[NPC.cpp], line[616]
09/25/2004 16:33:21.121, Npcmaker of which 1st territory [19_21_1129_NPC06] cannot generate random pos!
09/25/2004 16:33:38.887, Npcmaker of which 1st territory [22_22_NPC_031201_02] cannot generate random pos!
09/25/2004 16:38:59.865, server socket close 19560(47139b24) error(64)
09/25/2004 16:38:59.865, --- call stack ---
09/25/2004 16:38:59.865, [0] void IOThread_common(void *arglist)
09/25/2004 16:38:59.880, [1] void CIOSocket::Close()
09/25/2004 16:38:59.880, [2] void CServerSocket::OnClose()
安装过程中需要注意:
1.在使用DBScript导入数据库的时候,可能会遇到如下错误,
Specified owner name 'DBO' either does not exist or you do not have permission to use it
Invalid column name 'shop_Income_Temp'
Must declare the variable '@dbname'
.....
这是因为SQL有时候是区分大小写,通过两个方法解决:
copyright dedecms
1)将所有脚本的变量都全部统一成小写
2)将数据库重建,字符集选chinese_PRC_CI_AI并重新导入DBScript中的脚本。
原先发布中不统一的地方我已经做了调整,可以直接下载使用(见后):
2.第一次运行L2AuthD程序时,出现的认证信息,不要使用默认的l2conn或者是lin2comm,而是lin2db。如果你第一次填错了,下一次L2Authd.exe运行时不会提示你的,可以在注册表中找到HKLM\software\NCSoft\L2AUTHD,删掉L2Conn的值重新运行L2AuthD
3.通过以下方法手工增加用户信息后,在上一定不要使用自带的L2AuthD.exe,而是使用非加密颁布的L2AuthD.exe,以前网友提供的完美12位密码L2AuthD.rar(下载见后):
在lin2db数据库中:
INSERT INTO user_auth VALUES ('帐号', convert(binary, '密码'), 'test', 'test', 0x700061007300730077006F0072006400, 0x700061007300730077006F0072006400)
INSERT INTO user_account (account,pay_stat,login_flag,warn_flag,block_flag,block_flag2) VALUES ('帐号','101','0','0','0','0')
copyright dedecms
4.select * from user_item了解到任何用户身上的物品
如下命令向某用户增加10万块钱(字段item_type对应物品ID,字段amount对应数量,如果是直接放到库管处,warehouse字段置1即可,字段enc
hant,eroded,wished,bless,ident作用不能确认):
insert into user_item (char_id,item_type,amount,enchant,eroded,bless,ident,wished,warehouse) values ('1','57','100000','0','0','0','0','0','0')。
5.l2decrypt.exe工具非常实用,可以将LineageII客户端安装目录下的大部分加密的文本文件解码后阅读,例如itemname-cn.txt解码后的文件是itemname-cn.clear.txt,可以方便的找到物品对应ID,从中可以了解到:钱的ID是57,返回卷轴的ID是736,这里物品共计4676个,通过上述第4个方法,对应这张表,可以向用户添加任何东西(下载见后)。
(User_Activeskill中有81个字段,81个技能?)
6.库lin2world中的user_data表存储个人属性:级别/HP/SP/MP/EXP/...知道怎么做了吧!:)
内容来自dedecms 通过update user_data set sp=10000 where char_id='帐户id' 可以给用户设置SP值为10000(关掉客户端再运行此命令,否则系统会自动写回原值)。
7.个性化登陆信息,在数据库Lin2db的Server表中,按照如下ID设置符合你的省份信息
id=1 name=[上海]
id=2 name=[北京]
id=3 name=[浙江]
id=4 name=[江苏]
id=5 name=[山东]
id=6 name=[四川]
id=7 name=[重庆]
id=8 name=[广东]
id=9 name=[福建]
id=10 name=[东北]
id=11 name=[华中]
id=12 name=[天津]
id=13 name=[黑龙]
id=14 name=[吉林]
id=15 name=[辽宁]
id=16 name=[陕西]
id=17 name=[广西]
id=18 name=[贵州]
id=19 name=[云南]
id=20 name=[河北]
id=21 name=[河南]
id=22 name=[湖北]
copyright dedecms id=23 name=[湖南]
id=24 name=[江西]
id=25 name=[安徽]
id=26 name=[海南]
id=27 name=[内蒙]
id=28 name=[山西]
id=29 name=[新疆]
id=30 name=[甘肃]
id=31 name=[青海]
id=32 name=[香港]
id=33 name=[澳门]
id=34 name=[宁夏]