论坛调整完毕,全面开放注册,无需认证。

四章服务器架设详细教程

主要为新人初期架设天堂2提供技术资料参考
回复
头像
hagcse
Mr.GL
Mr.GL
帖子: 150
注册时间: 2018-02-25 15:50

四章服务器架设详细教程

帖子 hagcse » 2018-03-10 16:24

必备条件:

1、操作系统 Windows 2003 Enterprise Edition (后面说操作系统补丁应该怎么打)

2、数据库 Microsoft SQL Corpotation 2000+SP4 (SQL数据库的补丁有多高打多高的)

3、天堂II服务端程序
L2server.exe及其相关配置文件
L2NPC.exe及其相关配置文件
L2AuthD.exe及其相关配置文件
Cached.exe及其相关配置文件
Html以及Script脚本目录
GeoData地图文件
Patch.dll 四章功能扩展文件

4、数据库脚本
①lin2comm_new(IP) 脚本内包含服务器IP地址、数据库访问用户名(gamma)、对应用户名的密码用记事本打开修改一下
②1_lin2db
③2_lin2db_update
④lin2report
⑤lin2user
⑥1_lin2world 脚本内包含服务器IP地址、数据库访问用户名(gamma)、对应用户名的密码 用记事本打开修改一下
⑦2_lin2world(这个是四章的第二个Lin2world库的脚本)

下面说一下2003服务器系统的补丁安装过程,这个必须要注意,否则后面会出现L2Server启动的时候报环境节点文件加载错误。

在安装2003的服务器操作系统之前一定要把www.microsoft.com/china上面提供的2003的相关安全补丁全部下载到本地服务器上,在安装2003服务器操作系统的时候最好进行断网安装,也就是说断开和互联网的连接,在最大程度上保证服务器的安全性。装好了2003的Server系统之后不要第一个安装SP1。要先挨个安装安全补丁,最后安装SP1,再去Windows Update进行一下自动升级就Ok了。否则就会出现L2Server启动的时候报环境节点文件加载错误。安装好了之后记得用Ghost做一个C盘的镜像哦,目前我所知道的解决办法就这么一个,也许是我孤陋寡闻吧。如果哪位大大知道更好地解决办法,希望可以共享出来哦。

增加/3GB

取消C:\\boot.ini的所有文件属性,用记事本打开。按照先面的/3GB的位置增加之后保存。增加boot.ini的原有属性。

[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)


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=\"password\" <---此处填写数据库密码

[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:lindb
Log Name:gamma
Passwoed:你的gamma密码
L2Server------------------第3个启动
L2NPC--------------------第4个启动

GM设置
打开SQL企业管理器找到lin2world数据库--〉表--〉找到builder_account右键返回所有行account_name填写游戏登陆账号 default_builder填写 1 然后注册一个account_name内填写的账号,GM设置完成,此账号内所有的人物均为拥有完全权限的GM。






关于服务器架设成功,登陆出现问题的总结

情况1:输入用户名密码后提示错误或不存在(前提是你注册成功,察看数据库存在你建立的用户),请检测你在客户端中l2.ini的ip设置,应该改成你服务器架设电脑的ip。
情况2:成功登陆后跳出,没能看到服务器,应该你的客户端少补丁,这个补丁本论坛中置定文章中有。
情况3:可以看到服务器,但显示,维护中9999ms,问题出在l2server.ini,其中有一行reconnect=0,改成1 ,应该 ok.
情况4:可以看到服务器,ping值4ms,点击后没反应或跳出,应该改数据库lin2db中server表,中最后一个端口,就是ports改成7777。






开启攻城方法总结

1。共享经验]攻城有关的
想体验攻城的朋友留意了,这个方法前提你必须会用GM了呵呵

输入以下命令
//set_siege 城堡名字[一定要用英文] 年 月 日 时 分
设置攻城时间,如果你想参加攻城,一定要在攻城时间前24小时申请。
例如当前服务器的时间是2004 9 27 1 15
你就要设置攻城时间为 2004 9 28 1 20。比如攻古鲁丁就输入命令 //set_siege gludio_castle 2004 9 28 1 20(有空格的)设置好之后就去申请攻城。
如果你想在申请后马上可以攻城的话
马上攻城:
//set_quick_siege 城池的名字 几秒后开始攻城的数字
如30秒后古鲁丁城开始攻城:
//set_quick_siege gludio_castle 30
另外再给出各个城的英文名字

古鲁丁 gludio_castle
狄恩 dion_castle
奇岩 giran_castle
欧瑞 oren_castle
亚丁 aden_castle

2。修改数据库lin2worldb;
笨方法呵呵 不会用GM的同志可以用
需要从新启动服务器,想测试攻城的同志们关闭服务器程序 呵呵

在表 casle 內改 next_war_time 的攻城時間 再將 status 改成1 一定要改这个1注意,會自動攻城


next_war_time 修改的时候用秒例如2004年9月26日17点0时换算变成秒就是1096189200 把这个填入next_war_time 表格。
注意修改时间的时候要注意:
比如当前服务器时间是2004年9月26日17点你要填入next_war_time 的攻城时间要推后大于24小时,例如填入一个2004年9月27日18点(1096279200)
也就是提前1天零一个小时公布了攻城时间。

玩过天2的朋友应该知道:攻城战登陆时间限制:攻城24小时前要完成申请登陆
否则24小时候就不让你申请了呵呵,
系统显示:不是攻城登记时间,因此不能登记或取消! 呵呵

我上边设计了过25小时 攻城就是给自己1个小时时间去npc 那里申请攻城 呵呵
设置好时间了以后你自己肯定给自己时间去申请攻城了 status 的 1 千万不要忘了改!

启动服务器吧 ! 进去申请攻城!!也!注意你的血盟要4级以上!

申请完毕 想立刻攻城
马上攻城:
//set_quick_siege 城池的名字 几秒后开始攻城的数字
如30秒后古鲁丁城开始攻城:
//set_quick_siege gludio_castle 30下面提供那个计算秒的工具






教你如何简单架设简体4章私服

服务端的电脑必须要装jdk1.5,L2Jcn-0217中文汉化版

最后是在装载天二所要注意的事项(请熟读):

1.如果你之前是用MYSQL来装载天堂2的话,记住要完全的移除,而不是简单的把档案杀掉而已,要到新增移除程式里面去移除,在移除之后还要到C:\\Program Files里面确定没有MYSQL的相关文件。

2.在启动START后,要确定服务端是否有正确的启动,到windows防火墙里面的例外的选项,而且确定有出现Apache HTTP Server和mysqld-nt这两个选项有被勾选。

3.启动START后,要確定電腦里有\"W\"硬盤.

4.如果还是无法启动,请确定下载了教学里的连结system,server还有JDK1.5,大部分都是这方面的问题。

5.如何知道自己的IP地址,请到http://bbs.99nets.com/index.php,左边便会出现你的IP位置。

6.运行server里的start后出现网页,在点前往PHPMySQLAdmin出现
Warning: require_once(./lang/chinese_simplified-gb2312.inc.php) [function.require-once]: failed to open stream: No such file or directory in W:homeadminwwwlibrariesselect_lang.lib.php on line 313
要先按STOP,如果试了很久还是用不出来... 我教你一招叫\"移花接木\"
首先把C:\\server\\diskw\\home\\admin\\www\\lang里的chinese_simplified-utf-8.inc.php备份到别的资料夹或桌面,然后再把本来的C:\\server\\diskw\\home\\admin\\www\\lang里面的chinese_simplified-utf-8.inc.php改成chinese_simplified-gb2312.inc.php,然后再把之前的备份到别的资料夹或桌面的chinese_simplified-utf-8.inc.php放回到C:\\server\\diskw\\home\\admin\\www\\lang, 这样档案里面除了有本来的chinese_simplified-utf-8.inc.php,还多出了个chinese_simplified-gb2312.inc.php。^^
之后还有出现相同类似的情况,你也可以试试看。^^

7.请按照教程一步一步来使用。

8.如果你是玩单机的朋友,教程就不用看了,下载后直接运行Start, 然后开启startLoginServer, startGameServer,最后再启动l2.exe就能玩了

jdk1.5的设置很简单,下载之后就一路按下一步就能自动安装了!
至于tyang777大大所提供的L2Jcn-0217中文汉化版就需要讲解了

把L2Jcn-0217中文汉化版下载后记得解压缩,解压缩找出Start这个执行档
在启动Start这个执行档前有两项事情要注意:
1.如果你以前有安装过MYSQL的程式记得要把它\"彻彻底底\"的移除掉
2.要先编辑Start这个执行档
echo The server is working on the disk %Disk%:\\ [http/127.0.0.1/a/a]
把后面的IP改成你服务端电脑的IP
以上步骤都做到后才执行Start这个执行档

然后\"我的电脑\"就会出现一个多出来的\"W虚拟硬盘\"
之后到打开L2J\\login\\config里的loginserver
更改
ExternalHostname=填上你的IP网址
InternalHostname=127.0.0.1(把后面的IP删除掉)
保存

再到L2J\\gameserver\\config里的server
更改
ExternalHostname=填上你的IP网址
InternalHostname=127.0.0.1(把后面的IP删除掉)
LoginHost=填上你的IP网址
保存

之后先到L2J\\login开启startLoginServer
出现最后一行字是Telnet server is currently disabled.
然后到L2J\\gameserver开启startGameServer
出现最后一行字也是Telnet server is currently disabled.
注意:StartLoginServer和startGameServer都要开!!且都不能关!!

然后到你客户端的电脑上,把tjy2005大大所提供的4章简体system破解文件解压缩放在你的天堂2四章的目录里
然后到system的目录里面打开一个程式叫\"解加密L2.INI文件\"
更改
ServerAddr=服务端电脑的IP
保存

之后启动L2.exe这个档案就能开始玩你的天堂2四章了






总结GM设置成功之做法

GM设置步骤:
1、lin2world数据库的builder_account就是GM数据表,其中account_name是GM的游戏账号,builder_id从1开始填写,表示GM的id值,account_id填写对应GM游戏账号的account_id值(即user_data表中GM角色的account_id值);
2、在lin2world数据库的use_data表中找到对应GM角色的builder,填写为builder_account表中的builder_id值,这一步很重要,很多贴没有说清楚这一点。
3、重起服务器就ok了。

最后说一句:如果想进行大多的-_-作,需要先执行//hide off,否则默认是隐身状态,不能穿装备和打怪的。

Gm命令
//recall 人物名 ---召唤某人到身边
//gmspeed (0-5) ---走路加速
//hide (on,off) ---开启关闭隐身
//setkarma ---自身红名
//startpet ---打开诉求
//stosay ---终止诉求
//sendhome ---传送某人回出生地
//announce 内容 ---公告
//setannounce 公告ID 公告内容 ---进入游戏时显示的公告
//delannounce 公告ID ---删除公告
//whisper ---允许接受密聊
//ride (0-2) ---骑乘 (0 不骑宠,1 骑恐龙,2 骑飞龙)
//ask_now ---查看服务器当前时间
//auction_close ---关闭拍卖
//setskill 技能ID 技能等级 ----增加一个技能
//delskill 技能ID ----删除技能
//bbs ---查看布告栏
//killme ---自杀
//kick 人物名 ---踢人下线
//event ---查看活动
//create_pet (1-2) 1是狼 2是龙
//set_quick_siege --设置几秒钟后进行城战
//set_interval_announce --设置循环公告
//healthy 玩家 == 将玩家的体力补满
//killme == 自杀
//teleport (x,y,[z])== 传送到指定坐标
//gmon == 开启gm模式
//gmliston == 加入gm列表 gmliston off == 移出gm列表
//teleportto (玩家id) == 傳送
//killnpc == 殺除NPC
//summon (物品id) == 創造物品
//undying on|off == 不死狀態
图片

回复