32bit 天堂2服务端多机负载

第一步..先确定..单机架设成功..
第二步..复制整个服务器端文件到第2个服务器
第3步..

将你C:\Program Files\Common Files\ODBC\Data Sources
中的lin2db 同lin2world 复制到第2台机子里(用来开l2server.exe,l2npc.exe)
在第二个机器上建立dsn
lin2db

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2db
WSID=第一个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP

lin2world

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2world
WSID=第一个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP

第4步
l2server.ini和l2npc.ini的ip

l2server.ini的ip都改成第一个机器的ip
2号机上的L2SERVER.INI里的IP全都修改成1号几的IP其中有一段可以先去掉,可以解决PetitionD载入失败的问题。
[PetitionD]
address="127.0.0.1"
port=2107
WorldName="publish03"
;world name must be exact 9 characters.

l2npc里的Ip除了...[server]改成..第2个机器的Ip意外..

其他的也改成第一个机器的Ip..
L2NPC.INI里的这段要修改成2号机IP

[server]
address="127.0.0.1"
port=2002
第5步----
修改第一个服务器的sql数据库表..lin2db里的server
id   name   ip     inner_ip   ageLimit   pk_flag   kind   port
1   lgs   第2个机器的IP   第2个机器的IP   1   1   1   7777

NPC和L2server都是放在2#服务器上,但是有一点最关键就是在1#服务器数据库里的Lin2DB数据库中的server表中IP设置两个IP都应该设置为2#服务器的,这样就可以登陆了
注意 :(luhongyu)告诉大家我就用的173m的sina原版AUTH 没有用台湾的 ,估计大家刚开始的时候,没有发现的原因 最近正在研究用sina的公测版本直接进入 
SINA版的那个是加密的,我就是用的那个,好像是460KB大小吧,不加密的是410KB左右.
我用ASP注册,那里面是填erpxxx的,就是加密的那个,不加密的是填 none的.我用加密的,可以的,用None注册的话就提示密码错误了
数据库server 表端口是7777.不用打补丁直接用SINA最新客户端

关键的一步
NewAuth\etc\config   把 DevServerIP="127.0.0.1" 改位第2个机子的ip 

还有NewAuth\etc\config.txt、里的DevConnectOuter=true

第6步..启动第一个机器的前3个服务..然后启动第2个机器的后2个服务器





多机负载经验

首先说明一下我用的程序,新浪版,其中L2AuthD用的是台服的加密版.

第一台机:单独运行SQL单独运行
第二台机:运行L2LogD,Cached和L2AuthD
第三台机:运行L2Server和L2NPC

以上三台服务器全部运行在内部网里面,通过一台路由器连接到外部网络

看过一篇网友发过的文章,讲到关于多机负载的设置,和我的基本设置一样.
但是他只讲清楚了内网的设置,离向外部网络开放还差一点!
我就在这位朋友的基础上稍做一下改动,希望作者和大家能够谅解!

第一步..先确定..单机架设成功..

第二步 --------------------------------------------------------

复制整个服务器端文件到第2个服务器

第三步 --------------------------------------------------------

将你C:\Program Files\Common Files\ODBC\Data Sources
中的lin2db 同lin2world 复制到第2台机子里(用来开l2server.exe,l2npc.exe)
在第三台机器上建立dsn

lin2db

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2db
WSID=第二个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP


lin2world

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2world
WSID=第二个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP

第四步 --------------------------------------------------------
l2server.ini和l2npc.ini的ip

l2server.ini的ip都改成第二个机器的ip
2号机上的L2SERVER.INI里的IP全都修改成1号几的IP其中有一段可以先去掉,可以解决PetitionD载入失败的问题。
[PetitionD]
address="192.168.2.9"
port=2107
WorldName="publish03"
;world name must be exact 9 characters.

l2npc里的Ip除了...[server]改成..第三个机器的Ip意外..

其他的也改成第二个机器的Ip..
L2NPC.INI里的这段要修改成第三台机的IP

[server]
address="192.168.0.2"
port=2002

NewAuth\etc\config.txt
DevServerIP="61.61.61.61" 这里改成你路由的IP(也就是外网IP)
注意:这里注意的是,二,三两台机器的设置应该一样.

第五步 --------------------------------------------------------

修改第一个服务器的sql数据库表..lin2db里的server
id     name         ip           inner_ip     ageLimit   pk_flag   kind   port
1   serverone   你的外网IP   第三台机器的IP     1       1       1     2106

第六步 --------------------------------------------------------

设置路由的端口映射
把路由的2106端口映射给第二台机器
把路由的7777端口映射给第三台机器

到这里设置就完成了!不过最后还有几点个人看法:
其实这样的设置并不一定比双机负载稳定(SQL和程序各一台服务器)
机器越多,问题的隐患就越多,只要其中一台机器出现问题,程序都将无法正常工作.
特别需要注意的是,硬件中的内存质量和兼容性,对程序影响最大的就是L2Server和L2NPC.常听一些朋友说,设置完全正确,可是L2Server或L2NPC还会在运行一段时间后
自动退出,也许问题就在你的内存着里!

转载于:https://www.cnblogs.com/kt007/p/10308671.html

你可能感兴趣的:(数据库)