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

多机负载的一点心得

主要是游戏中一些经典任务、游戏资料的科普.
回复
头像
天堂之手
Mr.GL
Mr.GL
帖子: 263
注册时间: 2018-02-24 21:37

多机负载的一点心得

帖子 天堂之手 » 2018-03-24 20:26

首先说明一下我用的程序,新浪版,其中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还会在运行一段时间后
自动退出,也许问题就在你的内存着里!
图片

回复