Cabal Server Full Down Load
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 2 của 2
  1. #1
    Thành Viên
    Ngày tham gia
    May 2008
    Bài viết
    56
    Thanks
    2
    Thanked 32 Times in 1 Post

    Icon10 Cabal Server Full Down Load

    He he, hôm nay dạo chơi sang ragezone thấy có ai đó share cái server cabal full.hên ghê...Tớ chộp ngay link để cho các bạn Down về test nè...
    Full expilode II + Hướng dẫn bằng tiếng tàu
    [Only registered and activated users can see links. ]

    còn một cái khác nữa nè...
    [Only registered and activated users can see links. ]
    pass giải nén:123456

    Bác Gunbound1012 đã cài được rồi vui lòng up cái hướng dẫn cài và mấy cái tool lên cho anh em cái....thèm chơi quá rồi
    Ngoài ra ai đã cài thành công thì cũng post hướng dẫn vô đây để anh em test nha...
    Hy vọng các bạn cài thành công để bày cho tui...
    Admin: del cái hướng dẫn ở dưới đi nha, post lộn
    Lần sửa cuối bởi samuon, ngày 23-06-08 lúc 10:07 AM.
    Khách viếng thăm hãy cùng samuon xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    May 2008
    Bài viết
    56
    Thanks
    2
    Thanked 32 Times in 1 Post

    Icon10 Ðề: Cabal Server Full Down Load

    Đây là cái hướng dẫn bằng chữ tàu...
    ai rảnh dịch hộ cái...
    CABAL惊天动地
    维护管理手册









    文档版本 1.00 文档作者 田祎庆 文档阅览 项目管理组
    撰写日期 2007-6-11 最近修改 2007-6-11 文档属性 内部资料
    本手册包括从服务器的安装->配置-> 安全->维护->更新->备份->故障等� ��方面的、详细的介绍了惊天 动地的操作和管理,包括其服务器核� �技术和详细配置,属于保密文档,谨� ��部门内部使用,请大家妥善保管,防 止外泄。
    子 目 录
    一、 项目概述------------------------------------------------------40
    1、游戏简介 ------------------------------------------------------------------------------------ 40
    2、平台描述 ------------------------------------------------------------------------------------ 40
    3、拓扑结构 ------------------------------------------------------------------------------------ 40
    二、 服务端安装配置篇----------------------------------------------40
    1、Win Server 安装 ----------------------------------------------------------------------------- 40
    2、Linux 安装 ---------------------------------------------------------------------------------- 41
    3、数据库安装 ---------------------------------------------------------------------------------- 51
    4、安全设置------------------------------------------------------------------------------------- 52
    5、服务端程序安装 ------------------------------------------------------------------------------ 57
    6、配置说明 ------------------------------------------------------------------------------------ 75
    三、 维护管理篇----------------------------------------------------80
    1、工具介绍 ------------------------------------------------------------------------------------ 80
    2、日常维护 ------------------------------------------------------------------------------------ 83
    3、停机维护 ------------------------------------------------------------------------------------ 86
    4、更新流程 ------------------------------------------------------------------------------------ 87
    5、数据备份 ------------------------------------------------------------------------------------ 98
    四、 惊天动地FAQ--------------------------------------------------96
    1、服务端故障 ---------------------------------------------------------------------------------- 96
    2、客户端故障 ---------------------------------------------------------------------------------- 97
    五、 参考选项------------------------------------------------------97
    1、参考文档------------------------------------------------------------------------------------97
    2、其他说明------------------------------------------------------------------------------------97






    一、项目概述
    1、游戏简介
    惊天动地是我公司代理的第一款韩国� �络游戏,由EST Soft开发,其有别于其他的MMORPG,游戏� ��更突出休闲的性质。是一款容易上手 的奇幻风格MMORP G,游戏中没有难懂的游戏系统,也没� ��有时间上的限制,一般的MMORPG玩家都 能很容易上手。另外,为了 避免无休止的练级,游戏中设计了剧� �,当一个剧情结束后将会有新世界和� ��任务。被誉为“有结局 的网游!”

    2、平台描述
    惊天动地的服务端是跨系统的组合模� �,采用了CentOS4.x的Linux系统和Windo ws Server 2000 以上版本的双系统跨平台整合系统;� �设一组大区至少需要16台以上的各类� �用服务器,同时每增加一组需要至 少5台应用服务器。这里要特别说明的� ��惊天动地服务端的频道系统特点:可 以自由配置频道的多少,根据服务器 配置自定义每台服务器运行多少个频� �,从而使服务器数量的调整更加多样� ��,也使得调整范围更加 灵活。
    构架一个区域服务器最低配置包括:� �号数据库、游戏数据库、游戏服务器� ��登录认证服务器、客户端更新服务器 、聊天服务器、全局管理服务器、数� �库查询服务器、web管理服务器等。下� ��会陆续介绍各个服务器功能和配 置。

    3、拓扑结构
    详见《cabal逻辑结构拓扑图.vsd》以及� �Cabal网络结构拓扑图.vsd》

    二、服务器安装篇
    1、Win Server 安装
    1.1软件准备:
    Windows 2000 Server英文安装盘 1 张
    MS Sql 2000程序包
    IIS程序包(i386目录复制到系统中的D盘 根目录下)
    杀毒软件Mcafee 8.0 en(安装包复制到系统中的D盘software目 录下)
    服务器驱动程序准备
    1.2硬件准备:
    服务器硬件:详见《Cabal服务器配置文 档》
    1.3安装过程
    A、开始安装
    分区方案 C盘15G以上,其余D盘。
    网络连接数9999其他设置默认;

    B、安装完成后
     为系统安装中文支持(需要安装光盘� �者i386目录提供);
    第一步:控制面板→区域和语言选项� �语言→为东亚语言安装文件
    第二步:控制面板→区域和语言选项� �区域选项→两个选择项分别设为Chinese (PRC)和 China
    第三步:控制面板→区域和语言选项� �高级→Chinese(PRC)
     安装远程终端(此项一定要在装SP补丁 前安装);
    在控制面板windows添加/删除组件中选中安装。
     对计算机进行改名;
    根据服务器组别和当前服务器功能来� �名,如:GameDB01,LogDB等
    需要重启,等所有设置完成,最后重� �。
     安装windows SP4补丁;
     对windows进行在线升级:IE工具栏→Windo ws Update;
     安装杀毒软件Mcafee 8.0 en,安装完后要进行在线升级;
     其他组件根据服务器职能进行相应安� �(需要安装光盘或者i386目录提供);
    2、Linux 安装
    CentOS 4.x 安装光盘#1-3张
    2.1安装方法选择
    把第1张 CD放在 CD-ROM 光驱,在系统ROM-BIOS(SETUP模式)里,选择 CD-ROM boot后重启服务器:

     “boot:”里输入 <ENTER>,就可以用显卡画面模式设置.
    2.2确认 CD有无物理异常

     Anaconda执行时,为了检验CD有无物理异� ��,会出现CD测试画面. 按Skip.
    2.3环境信息


     开始设置LINUX的环境信息. 选“Next”.

    2.4 Language Select



     Language Selection选择现在设置过程所需的语言� �不是设置以后要用的语言,只是选择� ��置过程所需的语言,通 常选“English”.


    2.5 Keyboard Configuration



     选择适用的键盘种类. 因为大部分是使用美国式的键盘,选 “U.S.English”.

    2.6 Installation Type


     Cabal应用于服务器,设置成Server 也可设置为Custom 模式.


    2.7 Disk Partioning Setup

     各服务器数据如果使用备份服务器备� �,不会出现大问题,选Automatically partition. 或者选择Disk Druid,创建新的partition,把重要的data� �存在partition里.

    2.8 Boot Loader Configuration



     导入下阶段LINUX的 “LINUX BOOT LOAD 设置”阶段.
    按Next.



    2.9 [Only registered and activated users can see links. ] Configuration

     设置LINUX NETWORK阶段.


     分IP时,选择 “Edit”.

    确认解除“Configure using DHCP”,确认“Activate on boot”.
    输入IP Address与 Netmask 值.(也可安装完后配置)


     设置LINUX服务器的HOST NAME. (例, game01, login02,…)
     为了使“Gateway”与别的NET通信,输入 Gateway值.
    “Primary DNS”这个服务器使用时,输入第一个NA ME服务器IP地址.

    2.10 Firewall Configuration



     LINUX自身的防火墙程序iptables设置成 No firewall,按 Next.
     SElinux的设置. 选Disables按 Next.
    “SElinux”现在的比传统的LINUX系统增� �了三个选项, Disables, Warn, Active.

    2.11 Additional Languasge Support



     这个阶段选择LINUX服务器要使用的语言 . English(USA)

    2.12 Time Zone


     Time Zone Selection 选择北京/上海地区时段.

    2.13 Set Root Password



     设置(Root Password)
    Root是linux的管理账号,这里设置的密� �必须足够强壮。

    2.14 Package Group Selection




     除了之前已经选的PACKAGE,如果没有FTP server和 Development Tools,确认后设置.
    [软件包说明] Package Grpup Selection
    X Window System : WINDOW环境(PC用必选)时必选
    GNOE Desktop Environment : X WINDOW用PACKAGE (GNOME)设置.
    KDE (K Desktop Environment) : X WINDOW PACKAGE (KDE)设置.
    XFCE : 设置叫XFCE的新的 X WINDOW PACKAGE
    Editors : 可以使用在LINUX的各种编辑器PACKAGE
    Engineering and Scientific : 工学,技术,科学领域所需的PACKAGE
    Graphical Internet : 可以INTERNET使用的几种GRAPHIC 工具
    Text-based Internet : TEXT基础下使用INTERNET环境的PACKAGE.
    Office/Productivity : PC用LINUX可使用的商务用,即OA用PACKAGE
    Sound and Video : 支持声卡与视频卡的PACKAGE
    Authoring and Publishing : LINUX下,著作与出版相关的应用软件
    Graphics : 与GIMP一样的LINUX用graphic工具.
    Games and Entertainment : 包含有趣的LINUX用游戏与娱乐的PACKAGE
    Server Configuration Tools : 设置服务器的工具.
    Web Server : 要使用WEB SERVER就必须设置 (httpd)
    Mail Server : sendmail 的 pop一样的邮件服务器用PACKAGE.
    Windows File Server : (SAMBA)相关PACKAGE.
    DNS Name Server : 使用NAME SERVER必须使用 (named)
    FTP Server : FTP 设置(vsftpd)
    PostgreSQL Database : Postgres SQL DATABASE设置
    MySQL Database : MYSQL DATABASE设置.
    News Server : 使用NEWS SERVE时,设置NEWS DAEMON (innd)
    Network Servers : NETWORK环境下,设置C/S环境PACKAGE.
    Legacy Network Server : LINUX Legacy network 服务器用PACKAGE.
    Development Tools : 开发者所需的工具 (gcc, c++)
    X Software Development : X 软件开发工具.
    GNOME Software Development : GNOME 开发工具
    KDE Software Development : KDE 开发工具
    XFCE Software Development : XFCF 开发工具
    Legacy Software Development : Legacy 软件开发所需PACKAGE
    Administration Tools : LINUX服务器管理工具PACKAGE
    System Tools : 系统管理用PACKAGE
    Printing Support : 打印机相关PACKAGE (使用打印机服务器时使用)
    Everything :上述所有PACKAGE (选择这个时,呈全选状态)


    2.15 About to Install


     结束各阶段的选择后,把所选的PACKAGE� ��制到硬盘里.

     全部完成后,选择“Reboot”,安装设� �过程全部结束,等待文件复制过程,� ��要#1-3张安装光盘。

    3、数据库安装
    数据库安装MSSQL Server 2000英文版,sa密码必须设置的足够强� �,数据库的主文件不能放在系统分区� ��,放在D盘分区的caba l\data\目录下,安装完毕后打上SP4补丁� ��


    4、安全设置
    4.1 CentOS系统
    A、BIOS安全
    添加BIOS密码,设置启动顺序,禁止软� ��和光驱启动。

    B、登录口令
    帐号密码强度:修改/etc/login.defs文件中PASS_MIN_LEN等于8,即最少 密码长度为8位。建议密码设置由大小� �� 字母+特殊字符+数字组成。管理员� �码应该定期更新。

    C、系统帐号
    CentOS系统中存在一些默认帐号和组,� �ftp、halt、uucp等,禁止所有默认的被� �作系统本身 启动的,但是却不必要的账号,尤其� �以非/sbin/nologin结尾的帐号。如:netdump等。
    操作步骤:修改/etc/passwd和/etc/shadow文件,将不必要的帐号注释。如� �图所示:














    同样修改/etc/group和/etc/gshadow文件,将不必要的组注释。如下� ��所示:














    建议只保留所需服务启动的帐号。比� �需要用到ftp服务时可以启用ftp帐号和� ��。
    D、帐号口令文件安全
    操作步骤:在确认以上文件无误后,� �改以上文件属性为不可修改文件!
    chattr +i /etc/passwd
    chattr +i /etc/shadow
    chattr +i /etc/group
    chattr +i /etc/gshadow
    以上可在服务器全部安装测试完毕后� �行操作。(注:其他重要的配置文件� ��认修改无误后,也按此 操作。)

    E、启动服务安全
    系统安装完毕后,会启动许多无需使� �的服务;可在setup中设置,统一关闭� �认启动。
    操作步骤:输入“setup” 出现如下菜单:












    选择System services项,按Run Tool确认:
















    图中带[ * ]为选中该服务,可按空格键进行选择� �只需保留network、crond、sshd、syslog等服 务, 其他服务根据应用程序在以后操作中� �加。确认后,按ok键确认退出;
    设置服务启动脚本权限,只有root才能� ��制启动各项服务:
    chmod -R 700 /etc/rc.d/init.d/*
    chmod -R 700 /etc/init.d/*
    F、配置主引导程序Grub安全
    操作步骤:编辑/etc/grub.conf文件,修改字段timeout=0;(注� �引导时不等待)
    添加字段password --md5 (md5加密字符串)
    修改主引导程序参数需要输入密码。� �用grub-md5-crypt命令得到md5加密字符串。

    G、修改登录系统信息
    用户登录服务器后系统会自动显示系� �、内核版本信息。
    我们可以通过修改/etc/issue和/etc/issue.net文件来修改这些信息。
    CentOS release 4.3 (Final)
    Kernel \r on an \m
    以上是原文件中的内容。
    echo > /etc/issue
    echo > /etc/issue.net
    清空文件信息。

    H、用户级启动进程init设置
    操作步骤:init为第一进程,其PID始终� ��1,通过编辑/etc/inittab 来修改init的启动配置。
    设置应用服务器启动级别为3;(启动� ��别一共7级,0关机,6重启,5窗口模� �,1单用户模式 ,2-4多用户模式。)
    id:3:initdefault:
    加上注释符,屏蔽Ctrl+Alt+Delete重新启� �快捷键。
    #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
    修改完毕后可运行:init q 直接生效无需重启。

    I、配置网络访问控制
    Linux系统默认允许所有的请求,配置TCP _WRAPPERS可以增强系统安全性,修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。
    操作步骤:这里将/etc/hosts.deny设为“ALL: ALL”拒绝所有访问。
    在/etc/hosts.allow文件中添加允许的访问。
    sshd: 192.168.1.0/255.255.255.0 game.cabal.com
    表示允许IP地址192.168.1.0网段或者主机� ��game.cabal.com可以通过 SSH连接。

    J、iptables配置
    Linux防火墙软件包,功能强大,在实际 操作中,不要和TCP_WRAPPERS同时使用。
    配置过程根据服务器实际应用写入规� �;
    许多安全隐患都可以通过iptables来解决 。

    K、阻止广播段ping测试
    操作步骤:修改启动脚本/etc/rc.d/rc.local在最后添加以下行:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    L、预防IP地址欺骗
    操作步骤:编辑host.conf文件并增加如� �几行来防止IP欺骗攻击。
    order bind,hosts (解析顺序为先DNS后查询/etc/hosts 注:与default设置相反)
    multi off (禁止主机拥有多个IP地址 此为默认设置)
    nospoof on (阻断IP地址欺骗)
    M、阻止DoS攻击(HTTP服务)
    操作步骤:设置系统中用户资源限制� �内存数量以及进程数等;编辑/etc/security/limits.conf 添加以下行:
    #<domain> <type> <item> <value>
    * hard core 0
    * hard rss 5000
    * hard nproc 20
    limits.conf文件有相关参数的说明。数值 大小根据实际应用进行调整,否则可� �导致服务无法正常应 用。
    上面的参数禁止core files “core 0”,限制进程数为 “nproc 20”,且限制内存使用为5M “rss 5000”。

    N、限制root用户终端登录
    操作步骤:可在/etc/securetty注释tty2~11的行,这样root就只能 在tty1登录。

    O、系统安全日志文件
    /var/log 系统日志目录 syslogd 系统日志服务名
    /etc/syslog.conf 系统日志服务的配置文件
    /var/log/secure记录文件是检测是否有网络入侵� �重要线索;
    /var/log/messages 记录系统中重要操作的标准和错误输� �信息;

    P、软件包更新
    更新软件包,可以修正软件中存在的� �全隐患和bug。
    不过不注册是无法使用up2date自动更新� ��
    一些服务的软件包可以通过手动下载� �新。

    4.2 Windows 2000 Server
    配置前,请先安装SP4补丁,打开自动� �新。
    A、在网络连接中禁用TCP/IP上的NetBIOS
    操作步骤:网上邻居属性→本地连接� �性→TCP/IP属性→高级→WINS→禁用TCP/IP上的NetBIOS
    B、删除所有默认共享
    操作步骤:建立一个文本文档,输入� �下代码再保存为bat批处理文件,执行� ��
    echo 将下列代码做成批处理文件后,执行� �毕即可!
    echo Windows Registry Editor Version 5.00> c:\delshare.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\lanmanserver\parameters]>> c:\delshare.reg
    echo "AutoShareWks"=dword:00000000>> c:\delshare.reg
    echo "AutoShareServer"=dword:00000000>> c:\delshare.reg
    echo 运行 delshare.reg 修改注册表
    regedit /s c:\delshare.reg
    echo 删除 delshare.reg 临时文件
    del c:\delshare.reg
    net stop server /y
    net start server
    C、禁用无需用到的服务
    操作步骤:开始→运行→输入“services .msc”
    TCP/IP NetBIOS Helper Disable
    DHCP Disable
    Wireless Configuration Disable
    Print Spooler Disable
    Windows Time Disable
    Server Disable
    Distributed File System Disable
    Computer Browse Disable

    D、IP sec 设定
    操作步骤:开始→运行,输入“MMC”� �按确定;出现Windows的管理控制台界面 ,按“CTRL+M” 键,在出现的对话框中点“添加”,� �“添加独立的管理单元”对话框中,� ��中“IP安全策略管理 ”
    Deny所有的端口和网络
    根据不同Server的功能,开放相应服务� �口
    内网暂时不做任何限定

    E、对于涉及到IIS的安装,具体配置如� ��
    操作步骤:修改WEB默认主页的主目录� �置,改变默认目录,通常只要给它读� ��和日志访问权力。删除原有的虚 拟目录,如果需要可自己重新建立新� �(如scripts)重新配置执行许可,删除 不要用的ISAPI应用程 序设置(特别是.htw .IDQ .printer 等)不要安装WEB管理。

    F、终端服务的设置
    操作步骤:终端服务是win2000自带的远� ��管理程序,默认配置下只要Administrato rs就可 以远程管理。
    修改连接权限,指定单一用户与system� �可以使用,这样就是被黑客加入了一� ��Administrato rs用户也不能用终端服务管理。必要时 也可以修改终端服务的TCP端口。(可在I Psec中设置允许终端服 务的网络地址)

    4.3 MS Sql 2000 server设置
    操作步骤:
    A、使用安全的密码策略;
    对于sa更应该注意,同时不要让sa帐号� ��密码写于应用程序或者脚本中。
    SQL Server 2000安装的时候,如果是使用混合模式� ��那么就需要输入sa的密码,除非你确� ��必须使用空密码。

    B、使用安全的帐号策略;
    由于SQL Server不能更改sa用户名称,也不能删除 这个超级用户,所以,我们必须对这� �帐号进行最强的保护,当 然,包括使用一个非常强壮的密码,� �好不要在数据库应用中使用sa帐号,� �有当没有其它方法登 录到 SQL Server 实例(例如,当其它系统管理员不可� �或忘记了密码)时才使用 sa。建议数据库管理员新建立一个拥有 与sa一样权限的超级用户来管理数据库 。安全的帐号策略还包括不要让 管理员权限的帐号泛滥。
    SQL Server的认证模式有Windows身份认证和混� ��身份认证两种。如果数据库管理员不 希望操作系统管理 员来通过操作系统登陆来接触数据库� �话,可以在帐号管理中把系统帐号“B UILTIN\Administr ators”删除。不过这样做的结果是一旦 sa帐号忘记密码的话,就没有办法来恢 复了。很多主机使用数据库 应用只是用来做查询、修改等简单功� �的,请根据实际需要分配帐号,并赋� ��仅仅能够满足应用要求和需要的权限 。比如,只要查询功能的,那么就使� �一个简单的public帐号能够select就可以� ��。

    C、管理扩展存储过程;
    对存储过程进行大手术,并且对帐号� �用扩展存储过程的权限要慎重。其实� ��多数应用中根本用不到多少系统的存 储过程,而SQL Server的这么多系统存储过程只是用来� �应广大用户需求的,所以请删除不必� ��的存储过程,因为有些系统 的存储过程能很容易地被人利用起来� �升权限或进行破坏。
    如果你不需要扩展存储过程xp_cmdshell请 把它去掉。使用这个SQL语句:
    use master
    sp_dropextendedproc xp_cmdshell
    xp_cmdshell是进入操作系统的最佳捷径, 是数据库留给操作系统的一个大后门� �如果你需要这个存储 过程,请用这个语句也可以恢复过来� �
    sp_addextendedproc xp_cmdshell, xpsql70.dll
    如果你不需要请丢弃OLE自动存储过程� �会造成管理器中的某些特征不能使用� ��
    这些过程包括如下:
    Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
    Sp_OAMethod Sp_OASetProperty Sp_OAStop
    去掉不需要的注册表访问的存储过程� �注册表存储过程甚至能够读出操作系� ��管理员的密码来
    如下:
    Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
    Xp_regread Xp_regremovemultistring Xp_regwrite
    还有其他的扩展存储过程需要检查。� �处理存储过程的时候,请确认一下,� ��免造成对数据库或应用 程序的伤害。

    5、服务端程序安装
    5.1 Linux 服务端安装
    5.1.1 Linux系统下应用服务器种类
    GlobalDBAgent –与ACCOUNT DB通信的服务器;
    DBAgent – 与GAME DB通信的服务器;
    GlobalMgrSvr – 连接GDBA, LoginSvr, WorldSvr, (Server Monitor) 之间通信的服务器;
    LoginSvr – 与玩家通信,认证登录的服务器;
    WorldSvr – 游戏服务器
    ChatNode – 聊天服务器

    端口信息
    GlobalDBAgent DBAgent GlobalMgrSvr LoginSvr WorldSvr ChatNode
    38180 38181~38189 38170 38101~38109 38111~38119 38121

    5.1.2 Linux服务端程序
    所有的守护进程,均以 cabal的账号执行,必须在系统内加入cab al账号(安装服务端时自动完成);
    # useradd cabal
    A、DataBase 通信 RPM (unixODBC, freetds-unixodbc) 设置.
    为了与DB通信,要准备下面的RPM. 即: GDBA, DBA服务器所必须的程序;
    B、unixODBC 设置
    外部网络可用的话,可以采用网络安� �:
    # yum install unixODBC

    也可以直接下载设置:
    # rpm -Uvh unixODBC-2.2.11-1.RHEL4.1.i386.rpm

    C、freetds-unixodbc 设置
    在使用Sybase/Microsoft 的 Tabular DataStream protocol,而现在的0.64RC3 版本里,直接使用RPM包进行安装,命� �如下:
    # rpm -Uvh freetds-unixodbc-0.64RC3-1.i386.rpm

    5.1.3 unixODBC, freetds-unixodbc安装后设置
    为了支持中文,要在环境参数里设置FR EETDS_UNIXODBC_CHARSET='cp936',我 们是使用叫cabal的帐号,要在/home/cabal/.bash_profile文件的参数里加进FREETDS_UNIXO DBC_CHARSET='cp9 36';
    # adduser cabal
    (如果没有cabal帐号,就建立一个. 不需要设置密码.)

    # vi /home/cabal/.bash_profile
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
    PATH=$PATH:$HOME/bin

    export PATH
    unset USERNAME
    export FREETDS_UNIXODBC_CHARSET='cp936'

    /etc/odbcinst.ini 确认文件里有没有下面的内容,如果� �有就加进去.
    #vi /etc/odbcinst.ini
    [FreeTDS]
    Description = FreeTDS unixODBC Driver
    Driver = /usr/lib/libtdsodbc.so.0
    Setup = /usr/lib/libtdsodbc.so.0
    UsageCount = 1

    在/etc/odbc.ini里加入以下服务器信息.
    [服务器名称]
    Driver = FreeTDS (与/etc/odbcinst.ini里指定的一样就可以)
    Address = 服务器IP
    Port = 端口, 基本 1433
    Database = DATABASE名称
    TDS_Version =版本 MS-SQL 2000 8.0

    EX 1) 设置DBAgent时,加进 GAMEDB 的内容.
    #vi /etc/odbc.ini
    [CabalGame01]
    Driver = FreeTDS
    Address = 192.168.0.21
    Port = 1433
    Database = SERVER01
    TDS_Version = 8.0

    [CabalGame02]
    Driver = FreeTDS
    Address = 192.168.0.21
    Port = 1433
    Database = SERVER02
    TDS_Version = 8.0
    …….
    EX 2) 设置GDBA时,加进ACDB的内容.
    #vi /etc/odbc.ini
    [CabalAccount]
    Driver = FreeTDS
    Address = 192.168.0.26
    Port = 1433
    Database = ACCOUNT
    TDS_Version = 8.0

    5.1.4 cabal-server RPM 安装即cabal服务端程序
    A、cabal-server 设置
    设置cabal-server-1.0-1.i386.rpm. (1.0-1为服务端版本号)
    # rpm -Uvh cabal-server-1.0-1.i386.rpm
    Preparing... ################################# [100%]
    1:cabal-server ################################# [100%]

    <参考>如果不装 unixODBC 或 freetds-unixodbc而设置RPM 的话,会出现如下错误.
    # rpm -Uvh /tmp/cabal-server-1.0-1.i386.rpm
    error: Failed dependencies:
    libodbc.so.1 is needed by cabal-server-1.0-1.i386
    libodbcinst.so.1 is needed by cabal-server-1.0-1.i386
    Suggested resolutions:
    /home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/unixODBC-2.2.9-1.i386.rpm
    不使用DBA, GDBA的服务器不需要上述的RPM ,设置时可以选--nodeps.
    # rpm –Uvh --nodeps /tmp/cabal-server-1.0-1.i386.rpm

    <参考>如果想在已经设置 cabal-server 的服务器再设置RPM ,可以删除后再装, 设置时如果选择force,不删除就可以强 制重装RPM.
    # rpm –Uvh –nodeps --force /tmp/cabal-server-1.0-1.i386.rpm
    注:该RPM包括了所有Cabal服务端的进程 程序。
    B、/etc/cabal/server_list 设置
    在/etc/cabal/server_list 记下相应服务器要运营的DEAMON;
    EX) 服务器上包括GlobalDBAgent, GlobalMgrSvr, DBAgent_01, DBAgent_02的进程
    #vi /etc/cabal/server_list
    GlobalDBAgent
    GlobalMgrSvr
    DBAgent_01
    DBAgent_02

    EX) 设置LoginSvr_01, WorldSvr_01_01, WorldSvr_01_02, WorldSvr_02_01, WorldSvr_02_02 的话.
    #vi /etc/cabal/server_list
    LoginSvr_01
    WorldSvr_01_01
    WorldSvr_01_02
    WorldSvr_02_01
    WorldSvr_02_02

    C、/etc/cabal/*.ini 设置
    更换/etc/cabal/*.ini的设置文件的内容.
    <参考> rpm 设置后生成的 GlobalMgrSvr.ini, WorldSrv.ini, LoginSrv.ini, GlobalDBAgent.ini, DBAgent.ini是服务器进程配置文件的模板 ,修改这个文件后,执行/home/cabal/gen_config.sh,就会按照 /etc/cabal/server_list里的进程名,自动生成要正式 运营的服务器的配置文件 (*.ini);
    配置文件中不使用的部分 (如, 网吧认证),在内容前可以加注(.
    EX) 各服务器的设置文件模板
    #vi /etc/cabal/DBAgent.ini
    [NetLib]
    ;Port=DBAgent里使用的 port 序号.
    Port=38181
    SendMaxBufSize=65536
    ProcessDataLimit=10000
    MaxUserNum=100
    WatchsNoPackLimit=100000
    SystemLogTTimeOut=100
    ReactorTimeOut=-1
    LogLevel=3

    [DBAgent]
    ServerIdx=1
    DBProcessTNum=5
    要与; DNS= odbc.ini里指定的[服务器名称]一致.
    DSN=CabalGame01

    [DSN]
    ; DBAddr=GAMEDB IP, WINDOW服务器设置所需的部分.
    DBAddr=218.153.8.36
    ; DBCatalog=DB 名称, WINDOW服务器设置所需的部分.
    DBCatalog=SERVER01
    ; DBId=连接DB 帐号.
    DBId=cabalgame
    ; DBPwd=连接DB帐号的密码.
    DBPwd=rjf2aus.wnrdj

    #vi /etc/cabal/GlobalDBAgent.ini
    [NetLib]
    ;Port=GDBAgent使用的 Port,
    Port=38180
    SendMaxBufSize=65536
    ProcessDataLimit=30000
    MaxUserNum=32
    WatchsNoPackLimit=100000
    SystemLogTTimeOut=100
    ReactorTimeOut=-1
    LogLevel=3

    [DBAgent]
    ServerIdx=128
    DBProcessTNum=10
    要与;DNS=odbc.ini文件保存的 [服务器名称]相一致.
    DSN=CabalAccount

    [DSN]
    ;DBAddr=ACDB IP
    DBAddr=218.153.8.36
    ;DBCatalog=DB 名称
    DBCatalog=ACCOUNT
    ;DBId=连接的DB帐号
    DBId=cabalgame
    ;DBPwd=
    DBPwd=rjf2aus.wnrdj


    #vi /etc/cabal/GlobalMgrSvr.ini
    [NetLib]
    ;Port=GlobalMgrSvr 使用的 Port,
    Port=38170
    SendMaxBufSize=65536
    ProcessDataLimit=50000
    MaxUserNum=500
    WatchsNoPackLimit=100000
    SystemLogTTimeOut=100
    ReactorTimeOut=-1
    ConnectRetryTime=5000
    ConnectRetryNum=50
    LogLevel=3

    [GlobalMgrSvr]
    Timer=1:10000
    WorldMaxUserNum = 100
    NoNotifyTimeLimit=60000
    DefaultServerOpen=0

    [DBAgent]
    ;Addr=GDBAgent IP
    Addr=127.0.0.1
    ;Port=GDBAgent Port
    Port=38180

    [PCBangLK]
    Addr=
    Port=

    #/etc/cabal/LoginSvr.ini
    [NetLib]
    ;Port=LoginSvr使用的 Port.
    Port=38101
    SendMaxBufSize=65536
    ProcessDataLimit=1024
    MaxUserNum=20000
    WatchsNoPackLimit=10000
    SystemLogTTimeOut=100
    ReactorTimeOut=-1
    ConnectRetryTime=5000
    ConnectRetryNum=10
    LogLevel=3

    [LoginSvr]
    GroupIdx=1
    Timer=1:10000,2:5000,3:5000
    NoActiveLimitTime=40000
    ;指定客户端版本.客户端更新后要修改 版本信息.
    client_version=9932

    [GlobalMgrSvr]
    ;Addr=GlobalMgrSvr IP
    Addr=218.153.8.38
    ;Port=GlobalMgrSvr port
    Port=38170

    # vi /etc/cabal/WorldSvr.ini
    [NetLib]
    ;Port=WorldSvr使用的 Port.
    Port=38111
    SendMaxBufSize=32768
    ProcessDataLimit=10000
    MaxUserNum=500
    WatchsNoPackLimit=30000
    UseEncryptPacket=1
    SystemLogTTimeOut=100
    ReactorTimeOut=100
    DisableReactorPipe=1
    ConnectRetryTime=5000
    ConnectRetryNum=10
    LogLevel=3

    [WorldSvr]
    ; ServerIdx=服务器组序号
    ServerIdx=1
    ; GroupIdx=频道序号
    GroupIdx=1
    Timer=1:100,2:150,3:3000,4:10000,5:5000,6:60000,7: 3600000,8:2000,9:10000
    CommonIniPath=Common.ini
    IPAddress=
    UpdateInterval=300000

    # UseGameGuardAuth
    ## GAME GUARD认证使用与否 (0: false, 1: true)
    UseGameGuardAuth=0

    # AddGameGuardName
    ## GAME GUARD认证, V2.5开始不使用
    AddGameGuardName=libggauth2.so.0

    # GameGuardInterval
    ## GAME GUARD认证邀请间隔 (msec)
    ## GAME GUARD认证技能实施时间on/off: GameGuardInterval=0
    GameGuardInterval=60000
    NoResponseTimeout=180000

    [DBAgent]
    ;DBAgent IP
    Addr=218.153.8.38
    ;DBAgent Port
    Port=38181

    [GlobalMgrSvr]
    ;GlobalMgrSvr IP
    Addr=218.153.8.38
    ;GlobalMgrSvr port
    Port=38170

    注:模板文件通过gen_config.sh的脚本处� ��来生成正式运营的配置文件。
    D、/home/cabal/gen_config.sh 执行
    执行/home/cabal/gen_config.sh.依据/etc/cabal/server_lis里服务器的目录,在 /etc/cabal/文件夹下自动生成正式运营服务器的� �境设置文件 (ini). 此外,生成 /etc/init.d/服务器名称执行文件。
    #/home/cabal/gen_config.sh

    以下的设置文件是正式运营服务器上� �文件,执行/home/cabal/gen_config.sh后。再仔细确认一下每个文� ��设置是否完整.

    DBAgent_XX.ini ( XX : 各个服务器组序列号 )
    GlobalMgrSvr.ini
    GlobalDBAgent.ini
    LoginSvr_XX.ini ( XX : LoginSvr 服务器个数,与 服务器组序号无关.)
    WorldSvr_XX_YY.ini ( XX : 服务器组序号, YY : 频道序号)

    <参考> 如果修改了 /etc/cabal/server_list DAEMON名称,执行了 /home/cabal/gen_config.sh, 修改/etc/cabal/server_list后必须要再次执行/home/cabal/gen_config.sh

    E、GlobalMgrSvr 服务器(DAEMON) 认证
    执行GMS之前,需要GMS认证码.认证方法� ��EST进行,新服务器设置时申请;(限 定了新服务器开设必须 通过EST)

    F、关于服务器 (DAEMON)错误,要设置生成Core 文件
    为了了解各服务机宕机的原因,要设� �生成的core文件。
    /etc/init.d/functions 的 DAEMON 函数,就可以发现如下:
    # vi /etc/init.d/functions
    ….
    # make sure it doesn't core dump anywhere unless requested
    ulimit -S -c ${DEMON_COREFILE_LIMIT:-0} >/dev/null 2>&1

    # if they set NICELEVEL in /etc/sysconfig/foo, honor it
    [ -n "$NICELEVEL" ] && nice="nice -n $NICELEVEL"

    # Echo DEMON
    [ "${BOOTUP:-}" = "verbose" -a -z "$LSB" ] && echo -n " $base"

    # And start it up.
    if [ -z "$user" ]; then
    $nice initlog $INITLOG_ARGS -c "$*"
    else
    $nice initlog $INITLOG_ARGS -c "runuser -s /bin/bash - $user -c \"$*\""
    fi
    [ "$?" -eq 0 ] && success $"$base startup" || failure $"$base startup"

    把下面的部分
    $nice initlog $INITLOG_ARGS -c "runuser -s /bin/bash - $user -c \"$*\""

    修改如下.
    $nice initlog $INITLOG_ARGS -c "runuser -s /bin/bash - $user -c
    \"ulimit -S -c ${DEMON_COREFILE_LIMIT:-0} >/dev/null 2>&1 && $*\""

    5.1.5服务器(DAEMON) 执行
    执行各服务器的DAEMON:
    # service DAEMON名字 start

    Ex) service WorldSvr_01_01 start
    Service LoginSvr_01 start

    统一执行各服务器的DAEMON:
    # service cabal start

    5.1.6 [Only registered and activated users can see links. ] Library
    所有服务器都需要ACE,现在使用的是5. 5.1版本。
    检查服务器上是否有/usr/lib/libACE.so.5.5.1 文件。
    安装服务端程序后,会自动设置。

    5.1.7 进程软链接设定
    实际的服务器,是链接到服务器名称� �用
    # ls -al /usr/bin/DBAgent_01
    lrwxrwxrwx 1 root root 18 May 8 09:11 /usr/bin/DBAgent_01 -> /usr/bin/DBAgent
    # ls -al /usr/bin/WorldSvr_01_10
    lrwxrwxrwx 1 root root 19 May 8 09:11 /usr/bin/WorldSvr_01_10 -> /usr/bin/WorldSvr


    5.2 Windows 系统服务端安装
    5.2.1 运行在windows系统的cabal服务端程序介� �
    账号数据库、游戏数据库服务器
    更新服务器:P3 and update web(info server)
    更新服务器构成要素.
    ■ Client-Side
    Updater (Cabal update file download application)

    ■ Server-Side
    Update web Server (info server)
    - urlinfo.ini ( environment File ), fileinfo.dat (记录文件的CRC)
    - UpdateFileName.torrent ( Torrent File )
    - setup.exe.torrent (安装版用 Torrent File)

    P3 Server
    - BitTorrent Tracker
    - BitTorrent File Seeder
    - P3Register ( Update File Register Application)

    5.2.2 数据库服务器
    游戏数据库服务器说明见《GameDB 说明手册》;
    账号数据库说明韩方未提供;

    5.2.3 更新服务器info server
    A、确认服务器上安装IIS服务器
    B、将更新文件和urlinfo文件复制到http� �录下,架构如下:
    Pds/目录:
    - setup.exe.torrent 文件( 要有安装文件.)
    Update/Files/Pure/目录:
    - urlinfo.ini, FileInfo.dat 文件(更新文件信息与记录了文件的CRC 的文件)
    Pds/P3_SerialNumber/
    - 如果 P3Server 有3台, 就会有 P3_1, P3_2, P3_3文件夹, 更新文件update_123.dat, update_124.dat, update_125.dat 要在 P3_1, P3_2, P3_3文件夹. 文件名字虽然一样,但内容不同。
    EX)
    Pds/P3_1/
    update_123.torrnet, update_124.torrent, update_125.torrent
    Pds/P3_2/
    update_123.torrnet, update_124.torrent, update_125.torrent
    Pds/P3_3/
    update_123.torrnet, update_124.torrent, update_125.torrent


    注: P3_1/, P3_2/, P3_3/里有内容不同的torrent 文件, P3_1/里有指向 P3Server 1的内容,P3_2/里有指向P3Server 2的内容。
    C、确认链接正确:
    打开网页浏览器,在地址栏输入下面� �址.
    [Only registered and activated users can see links. ] DNS 名称/Update/Files/Pure/urlinfo.ini
    EX)
    [Only registered and activated users can see links. ]
    下载窗口出现,说明可以正常设置了� �

    D、urlinfo.ini 文件内容注释
    先在; updateur下载,失败时在updateurl2下载.
    ; updateurl放在 CDN,updateurl2 交给EST.
    ; setupfile是 cabal_downloader不能用 p3下载时,用于下载的路径.
    ;updateurl =http://info.cabalchina.com.cn/Update/Files_1/
    ;updateurl =http://info.cabalchina.com.cn/Update/Files_3/
    [urlinfo]
    updateurl = http://info.cabalchina.com.cn/Update/Files_2/ : 下载更新相关内容的地方
    setupfile = http://info.cabalchina.com.cn/pds/ : 下载安装版的地址.
    torrentfile = http://update.cabalchina.com.cn/Pds/ : 下载Torrent File 的地址.

    [updateinfo] 更新文件内容.
    updatemax=10 FileSeeder( BitTorrent_UpdateSvr) 最大数.
    updateindex=4 现在有效的 FileSeeder (Update File 数)
    testmax=3 test 服务器的最大 File Seeder
    testindex=1 test server 有效的 FileSeeder (Update File 数)
    p3count=3 服务的 P3服务器数
    p3subdir=P3_ 文件夹名
    p3SubDir1=P3_1 P3与服务器相匹配的文件夹名. P3count如果是 2 ,只读到 P3SubDir2.
    p3SubDir2=P3_2
    p3SubDir3=P3_3

    [101] 100以上开始的是Test server 用文件.
    version=1512 ;文件版本 ( update_1512.dat)
    subversion=0 ;SERVER文件版本
    DirectMode=0 ;下载方式(0为cdn和p3混合模式,1为cdn 单独)
    torrenturl=http://update.cabalchina.com.cn/Pds/update_1512.dat.torrent ;Torrnet 文件接收地址.
    fileurl=http://info.cabalchina.com.cn/pds/update_1512.dat ;更新文件接收地址


    [1] ;INDEX从1开始的是正式服务时所需的更� ��文件数
    version=1350
    subversion=1
    DirectMode=0
    torrenturl=http://update.cabalchina.com.cn/Pds/update_1350_1.dat.torrent
    fileurl=http://info.cabalchina.com.cn/pds/update_1350_1.dat

    [2]
    version=1460
    subversion=1
    DirectMode=0
    torrenturl=http://update.cabalchina.com.cn/Pds/update_1460_1.dat.torrent
    fileurl=http://info.cabalchina.com.cn/pds/update_1460_1.dat

    [3]
    version=1500
    subversion=0
    DirectMode=0
    torrenturl=http://update.cabalchina.com.cn/Pds/update_1500.dat.torrent
    fileurl=http://info.cabalchina.com.cn/pds/update_1500.dat

    [4]
    version=1508
    subversion=0
    DirectMode=0
    torrenturl=http://update.cabalchina.com.cn/Pds/update_1508.dat.torrent
    fileurl=http://info.cabalchina.com.cn/pds/update_1508.dat

    5.2.4 更新服务器P3 Server
    A、更新文件上传所需的IIS FTP设置
    为了上传更新文件,设置IIS FTP.
    把HOME DIRECTORY设置在c:\Inetpub\ftproot\. ( 其他地方也可以)
    更新文件上传在 c:\Inetpub\ftproot\update\ 文件夹下.
    P3Register.exe 程序 FTP path 要与上传文件夹路径 (c:\Inetpub\ftproot\update\ )一致.

    B、CabalP3Component.zip 压缩解压
    CabalP3Componet.zip在 D:\里解压.
    解压后 D:\CabalP3Componet\ DIRECTORY下有以下的DIRECTORY.
    ▪ Server Folder
    Tracker Program(P2P Server)
    ▪ Client Folder
    p2p Client ( File Seeder )
    ▪ UpdateFile Folder
    Update File 所在的文件夹
    ▪ TorrentFile Folder
    关于Update File的 Torrent 文件所在的文件夹
    ▪ TrackerInfo Folder
    Tracker保存 client 信息的地方(Option)
    ▪ Program Folder
    python-2.3.4.exe ( 为了运转Tracker,要设置PYTHON.)
    maketorrent.exe ( 建立Update File相关的 Torrent文件的程序)
    srvany.exe ( 把一般 Form 程序登录到SERVICE的程序)
    instsrv.exe ( 登录SERVICE的程序)
    ▪ BatFile Folder
    Tracker 与 File Seeder所需的Registry 设置 bat, Reg 文件等
    ▪ AutoRegister Folder
    p3serviceregister.exe (上传Update,这个程序就会登录到SERVICE )
    P3Service.ini ( 以上程序参照的环境文件)
    - Log Folder ( P3ServiceRegister.exe.log : Log File )

    C、python-2.3.4 安装
    设置Tracker相关的WINDOW用 python 程序.
    设置后确认是否有 C:\Python23\python.exe.

    D、把srvany.exe, instsrv.exe复制到 c:\winnt\system32\
    为了登录各个P3程序,把srvany.exe, instsrv.exe复制到 c:\winnt\system32\;

    E、登录各 P3 程序SERVICE
    把BitTorrent_P3Register, BitTorrent_Tracker, BitTorrent_UpdateSvr1~10 登录到SERVICE;
    执行D:\CabalP3Component\BatFile\ServiceRegiste r.bat;
    命令语形式 : instsvr “SERVICE名” “执行文件”
    建立“BitTorrent_name” 的SERVICE. 执行的程序是 srvany.exe.
    D:\CabalP3Component\BatFile\ServiceRegister.bat 内容
    instsrv "BitTorrent_P3Register" "C:\WINNT\system32\srvany.exe"
    instsrv "BitTorrent_Tracker" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr1" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr2" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr3" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr4" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr5" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr6" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr7" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr8" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr9" "C:\winnt\system32\srvany.exe"
    instsrv "BitTorrent_UpdateSvr10" "C:\winnt\system32\srvany.exe"

    F、Tracker SERVICE设定.
    执行D:\CabalP3Component\BatFile\Torrent_Tracker. reg文 件.
    形式)
    - AppDirectory : Tracker 执行文件(bttrack.py 所在的文件夹)
    - Application : 设置PYTHON的执行文件
    - AppParameters : Tracker 参数

    EX) D:\CabalP3Component\BatFile\Torrent_Tracker.reg 内容
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_Tracker\Parameters]
    "AppDirectory"="D:\\CabalP3Component\\Server"
    "Application"="C:\\Python23\\python.exe"
    "AppParameters"="D:\\CabalP3Component\\Server\ \btt rack.py --port 6969
    --dfile \"D:\\CabalP3Component\\TrackerInfo\\dstate\"
    --allowed_dir \"D:\\CabalP3Component\\TorrentFile\"
    --reannounce_interval 500 --yn_infoip \"218.232.117.245\""
    执行 regedit ,在
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_Tracker]
    确认.

    G、BitTorrent_UpdateSvr SERVICE (File Seeder) 设置.
    执行D:\CabalP3Component\BatFile\FileSeeder.reg 文件.
    一般运营 10个SERVICE(BitTorrent_UpdateSvr1~10), 也可以适当增加.
    格式)
    - AppDirectory : Seeder 执行文件(btdownloadheadless.exe所在的文件 夹)
    - Application : Seeder 执行文件 Path
    - AppParameters : Seeder 参数
    - Format : Appparameters 的形式

    EX) D:\CabalP3Component\BatFile\FileSeeder.reg 内容
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_UpdateSvr1\Parameters]
    "AppDirectory"="D:\\CabalP3Component\\Client"
    "Application"="D:\\CabalP3Component\\Client\\b tdow nloadheadless.exe"
    "AppParameters"="--responsefile \"D:\\CabalP3Component\\TorrentFile\\setup.exe. tor rent\"
    --saveas \"D:\\CabalP3Component\\UpdateFile\\cabal0816.e xe\ "
    --max_uploads 500 --min_uploads 50 --display_interval 1 --max_upload_rate 3000"
    "Format"="--responsefile \"{0}\" --saveas \"{1}\" --max_uploads 500
    --min_uploads 50 --display_interval 1 --max_upload_rate 5000"
    ….

    H、BitTorrent_P3Register SERVICE设置
    执行D:\CabalP3Component\BatFile\P3Register.reg 文件.
    格式)
    - AppDirectory : P3Register 执行文件(P3Register .exe所在的文件夹)
    - Application : P3Register执行文件 Path
    - AppParameters : 不使用.

    D:\CabalP3Component\BatFile\P3Register.reg
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_P3Register\Parameters]
    "AppDirectory"="D:\\CabalP3Component\\Program\ \Aut oRegister"
    "Application"="P3ServiceRegister.exe"
    "AppParameters"=""
    I、D:\CabalP3Componet\Program\AutoRegister\P3Regi st er.exe 设置.
    P3Register.exe周期监视在 P3Server FTP Root 里的 update文件夹,如有更新文件就登录到SE RVICE,保证File Seeder拥有;
    ■ p3serviceregister.exe

    [update]
    文件夹结尾要以 \ 结束.
    -设置 IP = tracker 的IP( 主要用本地IP)
    - FTP=D:\BitTorrent\Update\ : 要监测的文件夹路径.(更新文件要上传 的位置)
    - UPPATH=D:\BitTorrent\UpdateFile\ :复制 update 文件的文件夹路径
    - TORRENTPATH=D:\BitTorrent\TorrentFile\ :复制 torrent文件的文件夹路径

    [File Server INFO] : FileSeeder 要参照的参数
    ( P3Register把 update文件登录到SERVICE时,在相应的SERV ICE AppParameter. )
    - MINUPLOAD=50 : Seeder 的最小上传数
    - MAXUPLOAD=100 : Seeder 的最大上传数
    - MINPORT=6881
    - MAXPORT=6999 : Seeder 使用的port 范围 [ 6881 ~ 6999 ]
    - MAXUPRATE=5000 // 不使用.
    - SERVICENAME=BitTorrent_UpdateSvr : 相应SERVICE名称
    - SERVICECOUNT=10 : SERVICE index
    - DISPLAYINTERVAL=1 :更新比率

    [Function] :
    - AutoCopy=0 : 决定是否把更新文件复制到别的P3Server .
    P3 服务器为复数个时,全部上传会浪费� �间,所以连到network drive复制的PLAG
    P3Server 1里有更新文件时,用NETWORK DRIVE把文件传给其他的P3Server
    注:FileSize大时,分别用 P3 Server上传时,会花费很长时间。要使� �这个技能时在下面的[Option] 里的 AutoCopy值改为1; 0是不复制更新文件,自行处理。
    COUNT=3
    D_1=M:\Inetpub\ftproot\update (P3Server FTP Root/Update/ 文件夹)
    D_2=N:\Inetpub\ftproot\update
    D_3=O:\Inetpub\ftproot\update

    - RegistType=0: 0 一般更新文件, 1 安装版文件

    ■ 使用方法
    (1) 设置 INI与 P3Server符合.(用CONTROL在程序内设置,服 务器宕机时可以保存)
    (2) 执行程序. (确认有auto service 时,周期监测)
    (3) 程序周期检查在 FTP root 里的 Update 文件夹, update_1.dat, update_1.torrent, update_1.end, urlinfo.ini 文件(4个)都在时,开始更新.
    (4) 检索到上面文件后,把 .dat 与 .torrent文件复制成update Path 与 torrent Path.
    (5) 确认其他设置,把剩下的END, ini 文件删除.
    注:update 文件夹要一直空着. Update_XX.dat, Update_XX.torrent 文件编号(XX)要一致, 要记录在urlinfo.ini,才可以正常驱动。
    (6) 程序搜索记录在现有SERVICE ini里,以BitTorrent_UpdateSvr 名字开始的SERVICE,把version, subversion 值与记录在 urlinfo.ini里的有效更新文件编号进行对 比,优先把无效的SERVICE中止后,把REGI ST RY里各参数值用现有更新文件名字替换 后,重新开始SERVICE. 如果Update_150.dat是刚上来的值 ,就会被记录version = 150이. 如果名为 update_152_2.dat的文件上来,就被记录成v ersion = 150, subversion = 2.

    J、用 Tracker确认更新文件是否正常使用
    在EXIP=IP的 PC网页里,用相应的ip进去,就可以看� ��如下的更新文件内容.
    http://P3服务器IP:6969


    如果更新文件上传后, BitTorrent_UpdateSvr SERVICE正常重开始时,上面表格中,相� ��更新文件的complete 变成 1以上, download变成0以上. Complete如果不是 1,说明File Seeder没有正常登录文件.


    6、配置说明
    6.1 Linux 系统下服务端进程配置文件
    在/etc/cabal 目录中, '服务器种类[_序号].ini'是Cabal相应服务端的配置文件;
    EX)
    /etc/cabal/GlobalMgrSvr.ini
    /etc/cabal/WorldSvr_01_21.ini
    A、GlobalDBAgent
    - 执行文件
    /usr/bin/GlobalDBAgent
    直接使用DBAgent 进程时,一般是连上该进程的软链接� �行控制。
    [root@gms-sms ~]# ll /usr/bin/GlobalDBAgent
    lrwxrwxrwx 1 root root 16 Apr 26 09:11 /usr/bin/GlobalDBAgent -> /usr/bin/DBAgent

    - 配置文件
    /etc/cabal/GlobalDBAgent.ini
    [DBAgent]
    DSN =在 /etc/odbc.ini里写入要使用的DB.在 /etc/odbc.ini 里加入与 ACDB相关的名称.
    [DSN]
    DBAddr, DBCatalog 在实际LINUX里是不使用的. WINDOW时,在守护进程开始时,已经登� �了ODBC,只需参考上面即可。 LINUX是已经在/etc/odbc.ini 里登录了.(因为从程序上不好登录,所 以事先登录好后开始.)
    DBId = 要连接到DB的ID
    DBPwd = DB密码

    B、DBAgent
    - 执行文件
    /usr/bin/DBAgent_XX
    软链接文件是'DBAgent_服务器序号' 形态.

    -配置文件
    /etc/cabal/DBAgent_XX.ini
    Port = 为了不与别的服务器重复,在38181~38189 之间设置.
    [DBAgent]
    ServerIdx = 记下相应的服务器序号. 在DBAgent_XX.ini 里要与 XX 值一样.
    其余与 GlobalDBAgent 的设置方法一样.

    C、GlobalMgrSvr
    - 执行文件
    /usr/bin/GlobalMgrSvr
    GlobalMgrSvr全服只需要一个,所以直接� �/usr/bin/GlobalMgrSvr;

    - 配置文件
    /etc/cabal/GlobalMgrSvr.ini
    [DBAgent]
    Addr = GlobalDBAgent 的IP
    Port = GlobalDBAgent 的端口 (基本 38180)
    * [PCBangLK]
    * MIDEA WEB PC房认证服务器 (LK) 信息
    * Addr = LK 的IP
    * Port = LK 的端口 (基本 10004)
    * 如果不使用网吧认证,上面的值留为� �白就可以.

    D、LoginSvr
    - 执行文件
    /usr/bin/LoginSvr_XX
    软链接的文件是 'LoginSvr_服务器序号'.
    客户端更新后在 /etc/cabal/LoginSvr_XX.ini 修改客户端版本信息后, 需要重新引导配置文件;

    # service LoginSvr_XX reload

    - 配置文件
    /etc/cabal/LoginSvr_XX.ini
    [LoginSvr]
    GroupIdx = 记下相应GROUP序号. 在LoginSvr_XX.ini 要与 XX 的值一样.
    client_version=输入客户端版本信息.
    [GlobalMgrSvr]
    Addr = GlobalMgrSv的IP
    Port = GlobalMgrSvr的端口 (基本 38170)

    E、WorldSvr
    - 执行文件
    /usr/bin/WorldSvr_XX_YY
    软链接的文件是'[WorldSvr]_服务器序号_频道' 形式。

    -配置文件
    /etc/cabal/WorldSvr_XX_YY.ini
    [NetLib]
    Port = 为了不和别的服务器重复,在38111~38119 之间设置.
    [WorldSvr]
    ServerIdx = 记下相应的服务器序号.在 WorldSvr_XX_YY.ini 里要与 XX 的值一样.
    GroupIdx = 记下相应GROUP (频道)的序号.在 WorldSvr_XX_YY.ini 里要与 YY的值一样.
    AddGameGuardName =填写需实时LOAD的GAME GUARD CS认证MODULE.(只需 GAME GUARD认证LIBRARY V2.0)
    UseGameGuardAuth = [0: Off, 1: On] (GAME GUARD CS认证 On/Off, RUN TIME可适用)
    GameGuardInterval = GAME GUARD CS认证
    [DBAgent]
    Addr = DBAgent_XX 的IP
    Port = DBAgent_XX 的端口 (38181~38189)
    [GlobalMgrSvr]
    Addr = GlobalMgrSvr的IP
    Port = GlobalMgrSvr的端口 (基本 38170)

    F、ChatNode
    - 执行文件
    /etc/cabal/ChatNode_XX.ini
    软链接的文件是'[ChatNode]_服务器序号' 形式。
    -配置文件
    [NetLib]
    Port = 38121
    [ChatNode]
    ServerNationIdx = 记下相应的服务器序号.在 ChatNode_XX.ini 里要与 XX 的值一样
    [DBAgent]
    Addr = DBAgent_XX 的IP
    Port = DBAgent_XX 的端口 (38181~38189)
    [GlobalMgrSvr]
    Addr = GlobalMgrSvr的IP
    Port = GlobalMgrSvr的端口 (基本 38170)

    6.2关键文件说明
    A、/etc/cabal/server_list
    运营中服务器上记录着要执行的守护� �程的清单.
    在/etc/init.d/cabal, /home/cabal/check_daemon.sh, /home/cabal/gen_config.sh里参考这个文件;

    B、/etc/logrotate.d/cabal
    适当截取'/var/log/cabal/服务器名称.log' 的 logrotate 设置文件;

    C、/home/cabal/backup_trc.sh
    把放在服务器上的'/var/log/cabal/服务器名称_时间.trc' 文件复制成备份服务器;
    以供备份服务器构成时设置;

    D、/home/cabal/check_daemon.sh
    在/etc/cabal/server_list的守护进程里,如果检查有进 程没有执行,马上执行它;
    E、/home/cabal/dump_core.sh
    把WorldSvr 死掉时留下的 /home/cabal/core.pid 文件读取;
    方便查看'gdb /usr/bin/WorldSvr.debug core.xxxx' 的脚本。

    F、/home/cabal/gen_config.sh
    把/etc/cabal/server_list 里的守护进程的设置 (/etc/cabal/*.ini)自动GENERATING的脚本

    G、/etc/cron.d/backup_trc
    每天凌晨 1点执行/home/cabal/backup_trc.sh.

    H、/etc/cron.d/chk_cabal
    每 1分钟执行 /home/cabal/check_daemon.sh.
    服务器宕机时,在1分钟内重新启动.

    I、/etc/init.d/cabal_server
    '/etc/init.d/软链接到守护进程名称'的文件

    J、/etc/init.d/cabal
    读取/etc/cabal/server_list 种类,一次执行'/etc/init.d/服务器名称'等.
    EX)重新开始这个服务器里所有的守护� �程
    # /etc/init.d/cabal restart 等同 service cabal restart

    6.3 LOG文件
    在/var/log/cabal 目录,以'服务器种类[_序号].log' 保存.
    EX)
    /var/log/cabal/LoginSvr.log
    /var/log/cabal/WorldSvr_21_01.log

    6.4 cabal进程脚本
    使用Redhat linux系统里用于进程控制的脚本。
    /etc/init.d 里有与服务器名相同的脚本。
    EX)
    /etc/init.d/LoginSvr
    /etc/init.d/DBAgent_21
    实际上,服务器都使用一样的 /etc/init.d/cabal_server 文件,在脚本里选择用各种不同的进� �种类来控制的守护进程开启与关闭。
    # ll /etc/init.d/GlobalMgrSvr
    lrwxrwxrwx 1 root root 24 May 8 09:11 /etc/init.d/GlobalMgrSvr -> /etc/init.d/cabal_server
    三、维护管理篇
    <参考>排错思路
    ▪ 发现故障后,首先确认故障点;
    ▪ 排查准则,先软后硬;
    ▪ 先查网络状态,再查服务进程;
    ▪ 找到故障问题点和起因,核查程序日� �;
    ▪ 排除故障后,详细记录,作为维护参� �FAQ;

    1.工具介绍
    Cabal维护的主要工具包括Server Monitor、Cabal Manager、Mailing Manager、Log Viewerl、Program Browser;
    这里主要介绍Server Monitor和log Viewerl工具:
    1.1 使用Server Monitor
    [Only registered and activated users can see links. ] 开服流程:
    A、 打开每个区域的Server Monitor工具;输入授权的账号和密码登� ��;

    B、 输入Ctrl+R 勾选range和open,输入服务器和频道的� �号范围点击apply开启服务;

    C、 输入Ctrl+G 可以对每个服务器和频道进行状态设� �;

    D、 其中J代表绿色频道,A代表白色频道, War代表战争频道,conn可设定频道人数� ��限;
    E、 为了开机是能快捷和准确,我们设定� �脚本开机方式;同时按下Ctrl+Alt+A,脚 本格式如 下:
    <server>
    <srange>1</srange> ;服务器范围
    <channel>
    <range>1</range> ;频道范围
    <limit>200</limit> ;人数上限
    <adult>0</adult> ;频道属性[0为绿色频道、1为白色频道]
    </channel>
    <channel>
    <range>2~6</range>
    <limit>100</limit>
    <adult>0</adult>
    </channel>
    <channel>
    <range>7</range>
    <limit>200</limit>
    <adult>0</adult>
    </channel>
    </server>

    F、 设定玩脚本代码点击’save’保存代码� ��修改,按’Execute’执行代码,勾选se rv er open的话就会按照代码指定的属性进行� ��服操作。
    G、 完成以上操作后,所有人头图标全部� �绿色,为成功开服,使用客户端登录� ��试。
    Server Monitor 关服流程:
    A、 右键点击Login Server的图标,选择OFF,关闭Login Server。
    B、 敲入Ctrl+R,确定不勾选Open,选择use range appoint,输入所有服务器和频道范围,� ��击apply。

    C、 敲入Ctrl+M,选择send message的广播方式向玩家发送即将关服� ��信息。

    D、 接着使用shutdown的广播方式开始确认踢 人。
    E、 最后使用force shutdown的广播方式踢出所有玩家。

    1.2 Log Viewer工具使用
    A、Start 菜单
    用于与服务器连接
    Connect: 与服务器连接
    DisConnect: 切断与服务器的连接
    B、 Option 菜单
    连接后激活
    GetData & Create Macro
    打开可以获取数据的MARCO创建窗口
    保存创建的MARCO,可以减轻重设置MARCO� ��麻烦

    C、 制作Marco

    点击‘New’新建一个Macro

    在Setting窗口中,选择要查询的Server、C hannel和Commands查询类目(类目详细 介绍可参考Cabal log明细单.xls),并且可以设定条件,� ��时间、角色ID号、登录IP地址等,选� �后,可以保存为一个 特定Macro,按Run进行查询,完成后,点 击ok;
    出现如下图示:













    点击‘Save to Excel’,将输出的内容保存为Excel文件� ��

    2. 日常维护
    2.1常用指令集
    检查网络状态:(绿色字体本地PC执行 ,红色字体远程服务器执行)
    A、测试故障服务器网络是否正常:
    ping ‘IP’ IP为故障点服务器外网IP;
    B、查看故障服务器的网络链接情况:
    netstat –an (PS:检查是否有公网IP的链接以及各� ��用服务器间链接是否正常建立,监听 端口是否正确;)
    tcp 0 0 0.0.0.0:38112 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:38113 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:38114 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:998 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:982 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:38111 0.0.0.0:* LISTEN
    tcp 0 280 222.73.241.17:38112 222.185.246.222:41299 ESTABLISHED
    tcp 0 90 222.73.241.17:38114 220.152.161.139:50032 ESTABLISHED
    tcp 0 36 222.73.241.17:38111 58.37.3.117:1135 ESTABLISHED
    tcp 0 51 222.73.241.17:38113 222.67.51.141:1085 ESTABLISHED
    LISTEN为本机监听端口,ESTABLISHED为成功 建立两台服务器之间的链接。
    C、查看cabal进程是否正常运行:
    # ps aux |grep cabal (正确显示以下内容为正常)
    cabal 2575 15.5 15.2 877360 633540 ? S<l Jun07 237:32 WorldSvr_01_01
    cabal 2610 7.0 12.6 754052 525112 ? S<l Jun07 107:46 WorldSvr_01_02
    cabal 2645 6.6 13.5 777028 560808 ? S<l Jun07 101:28 WorldSvr_01_03
    cabal 2680 6.0 12.7 753352 530284 ? S<l Jun07 91:50 WorldSvr_01_04
    D、查看cabal进程日志(日志文件的说� �上面已经列明):
    #tailf /var/log/cabal/WorldSvr_01_01.log 实时监控日志文件输出内容;
    #tail -50 /var/log/cabal/WorldSvr_01_01.log 查看日志文件的最后50行;
    #more /var/log/cabal/WorldSvr_01_01.log 以每频幕为单位显示日志文件的所有� �容(空格键继续);
    #cat /var/log/cabal/WorldSvr_01_01.log |grep –i error 只检查日志文件的Error行;
    注:检查日志文件以查看Error行为主, 判断出错原因。
    E、查看服务器运行的哪些进程?
    #catcabal (脚本命令等同cat /etc/cabal/server_list)
    WorldSvr_01_01
    WorldSvr_01_02
    WorldSvr_01_03
    WorldSvr_01_04
    F、Cabal维护脚本说明:
    所有维护用脚本全部放在各区manager server的/root/cabal/目录下:
    chnstop_all:关闭所有cabal服务进程;
    chnstart_all:开启所有cabal服务进程;
    chnstart_world:只开启World Server 进程;
    chnstop_world:只关闭World Server 进程;
    chnstop_chat:只关闭Chat Server进程;
    chnstart_chat:只开启Chat Server进程;
    cmd[game/chat]_shell.sh: 全服(游戏服/聊天服)控制命令;
    scp[game/chat]_cmd.sh: 全服(游戏服/聊天服)复制命令;
    check_md5.sh:校验各服务器进程主程序� �md5值;
    check_proc.sh:检查每台服务器的服务进� ��运行情况;
    所有脚本使用规则:
    确定当前目录为/root/cabal/
    脚本执行格式:./脚本名字 [参数1] [参数2]
    脚本陆续更新中……
    2.2系统维护内容
    A、系统帐户
    查看有无新增系统帐户,并了解其来� �及用途;查看管理员组里有无新增帐� ��,以及所有账户的账户策略有无变动 ;
    Windows服务器操作如下:
    开始 -> 运行 -> regedt32(赋予查看sam键值的权限)
    开始 -> 运行 -> regedit (HKEY_LOCAL_MACHINE/SAM/SAM/DOMAIN/USERS/NAMES/)
    开始 -> 运行 -> compmgmt.msc (打开计算机管理窗口检查里面的用户� ��限和策略)
    Linux服务器操作如下:
    cat /etc/passwd查看有没有大于500的用户;(cabal 用户除外)
    B、监听端口
    查看当前打开的服务端口,查找可疑� �端口;
    Windows服务器操作如下:
    使用Fport工具或netstat -an |findstr "LISTEN"
    Linux服务器操作如下:
    直接打LISTEN或netstat –ant |grep LISTEN
    C、任务管理器
    使用任务管理器,查找有无可疑的应� �程序或后台进程在运行,并观察CPU及� ��存的使用状态;
    Windows服务器操作如下:
    Ctrl + Alt + Del 选择task manager
    Linux服务器操作如下:
    top命令可查看系统状态,free命令可查� ��系统内存信息。
    D、 系统服务
    开始->程序->管理工具->服务,察看所有系统服务,检查是否� ��陌生的未知的服务;
    E、 启动项
    检查注册表编辑器,查找有无可疑的� �序被加到Windows的启动项里;
    Windows服务器操作如下:
    开始 -> 运行 -> regedit (HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/RUN)
    Linux服务器操作如下:
    cat /etc/rc.local有无多余执行脚本或者命令存在 。
    F、 日志分析
    Windows服务器操作如下:
    查看事件查看器,检查“系统日志”� �安全日志”“应用程序日志”里有无� ��疑的事件或影响系统性 能的事件;
    Linux服务器操作如下:
    cat /var/log/message |more 查看有没有错误信息
    cat /var/log/secure |more查看有没有入侵和攻击信息
    G、 共享目录
    检查共享目录,关闭所有共享;
    H、 硬盘空间
    检查磁盘空间情况,对必要内容进行� �份;
    Windows服务器操作如下:
    磁盘信息查询,我的电脑(备份服务� �详见《cabal服务器备份方案》)
    Linux服务器操作如下:
    服务器状态可查询各区监控服务的接� �或用df –h命令查看磁盘状态,linux下备份可� �用脚本完成。
    I、在线人数/服务器监控
    利用工具实时监控在线人数,各个频� �状态,及时发送需求的公告和运营信� ��。发现人数变动异常及时记录和汇报 相关负责人和部门主管。
    服务器状态监控,各个大区都有一套� �控平台。检查关键指标的峰值和均值� ��发现异常及时处理。

    3.停机维护
    3.1系统更新
    检查操作系统的系统更新,保持同步� �新;
    3.2安全扫描
    使用病毒及木马查杀软件扫描内存及� �盘,并保持病毒库的更新。
    3.3操作记录
    记录所有的维护项目及操作步骤,如� �现任何异常情况及时汇报相关负责人� ��部门主管。
    3.3重启服务器
    完成所有检测后,重启该服务器。
    3.4数据库备份
    A、检查数据库服务器备份情况
    B、检查是否依据制定的备份方案定期� ��份
    C、校验备份包及事物日志
    D、检查最新备份包是否传送到备份服� ��器
    3.5 硬件和网络
    重启服务器后,检测每台服务器的状� �,如发现有服务器故障,及时联系IDC� ��房,检测网络和硬件状态,并汇 报相关负责人和部门经理。




    4.更新流程
    4.1更新环境
    惊天动地游戏更新按内容主要分为服� �器端更新、客户端更新两个部分,逻� ��图如下:


    A、服务端更新:
    -涉及服务器全部为linux系统;
    -服务器类型:World Server、Login Server、GMS Server、Chat Server、DBA Server;
    -由Manager Server同步更新;
    -执行脚本进行更新、检查和排错;
    -更新前必须先关闭服务的进程,更新� �毕后,需要重启系统。

    B、客户端更新:
    -涉及服务器为windows和linux系统;
    -服务器类型:P3 Server、info server、Login Server以及CDN;
    -更新包需要上传到CDN,提前完成;
    -Info server最后更新:指定客户端下载更新� �件定位和方式『P3和CDN』;
    -确定服务端和客户端版本一致;


    4.2更新原则
    更新采用覆盖原文件的方式,所以每� �更新前必须备份原程序(尤其是二进� ��和data文件);
    覆盖服务器文件前,确保更新文件的� �确性(尤其是配置文件);

    4.3服务端更新流程
    A、测服更新
     更新在停机维护的时候进行;
     更新前确认需要更新的程序和文件是� �些?什么时候更新?是否需要改动配� ��文件?
     韩方会在远程将ITS 服务器(222.73.241.209)更新完毕;
     根据更新的程序和文件修改update脚本� �
    脚本所在位置:/root/cabal/
    脚本文件名:update_xx(xx表示区域)upd ate_gz update_sh update_tj update_xn
    修改的脚本内容:vi update_sh
    #sync_backup $server /usr/bin/LoginSvr (Login Server的主程序如更新需要重启该服务� �
    sync_backup $server /usr/bin/GlobalMgrSvr (GMS Server的主程序如更新需要重启该服务� �
    #sync_backup $server /usr/bin/DBAgent (DBA Server的主程序如更新需要重启该服务� �
    sync_backup $server /usr/bin/WorldSvr (Game Server的主程序如更新需要重启该服务� �
    #sync_backup $server /usr/bin/ChatNode (Chat Server的主程序如更新需要重启该服务� �

    #sync_backup $server /usr/lib/libggauth2.so.0
    #sync_backup $server /usr/lib/libggauth2.so.50
    #sync_backup $server /usr/lib/libggauth2.so.51
    #sync_backup $server /usr/lib/libggauth2.so.52
    #sync_backup $server /usr/lib/csauth2.cfg

    #sync $server /etc/cabal/CashDBAgent.ini
    #sync $server /etc/cabal/GlobalDBAgent.ini
    #sync $server /etc/cabal/GlobalMgrSvr.ini
    #sync $server /etc/cabal/LoginSvr.ini
    #sync $server /etc/cabal/DBAgent.ini
    #sync $server /etc/cabal/ChatNode.ini
    #sync $server /etc/cabal/WorldSvr.ini
    #sync $server /etc/cabal/Common.ini
    #sync $server /etc/cabal/Data/
    注:行首带“#”的为注释,修改时,� ��据需更新的程序和文件在这里进行设 定,也就是在行首增加 和删除“#”
    其他内容不需要进行更改。
     修改完4个地区名的脚本后,依次执行� ��本;
    确保在/root/cabal/目录下:
    cd /root/cabal/
    ./update_sh
    ./update_tj
    ./update_xn
    ./update_gz


    B、Manager Server更新
    完成以上步骤后,4个地区的Manager Server就和ITS的程序文件同步了。
     以下步骤将更新同步到Real Server:
    登录到各区的Manager Server,这里以上海(请查阅《cabal服务 器信息简表》)为例:
     进入更新脚本所在目录:
    cd /root/cabal/
     相关更新需要用到脚本说明:
    update_all:同步所有cabal Server;
    update_login:同步login Server;
    update_gms:同步GMS Server;
    update_dba:同步dba Server;
    update_chat:同步Chat Server;
    update_world:同步World Server;
    update:同步某一台服务器;(如:updat e login01)
    check_md5.sh:校验各服务器进程主程序� �md5值;
    check_proc.sh:检查每台服务器的服务进� ��运行情况;
     关闭服务器
    Server Monitor 关服,并踢出玩家。
     同步前修改update脚本:(以更新World Server为例)
    vi update 修改内容同ITS,另外取消以下两条的� �释:
    ssh $server rm -f /home/cabal/core\*
    ssh $server rm -f /home/cabal/check_daemon.log
     关闭服务进程:
    cd /root/cabal/
    ./chnstop_world (关闭所有的World Server的进程)
     同步更新文件至每台game server:
    ./update_world
     检查更新文件(比对md5值是否一致)
    cd /root/cabal/check/
    ./check_md5.sh
    ***** gms01 *****
    local GlobalMgrSvr : 2a980a0a2e722c09abe5a65136896a77 /usr/bin/GlobalMgrSvr
    gms01 GlobalMgrSvr : 2a980a0a2e722c09abe5a65136896a77 /usr/bin/GlobalMgrSvr
     开启服务进程(维护时重启系统)
    cd /root/cabal/
    ./chnstart_world (开启所有的World Server的进程)
    ./cmdgame_shell.sh reboot (重启所有World Server的操作系统)
    cd /root/cabal/check/
    ./check_proc.sh (重启系统后执行,坚持所有World Server的进程是否运行)






    C、更新流程图












































     开启服务器
    Server Monitor 开服。玩家正常登录,确定更新完成� �
    注:如需要,可在防火墙作限制,进� �内部测试。

    4.4客户端更新流程
    A、上传CDN
     更新包文件update_xxx.dat(xxx为更新版本 号,非客户端版本号)
     上传CDN的FTP 222.73.242.246 的update目录
     计算dat文件的md5值,使用工具winmd5等� �
     发送以上信息给CDN:邮件'icust@chinacache .com'; '[email protected]'; '[email protected]'
    邮件内容写明更新文件名,upload位置� �md5值,更新频道。例如:
    Icust 您好!

    本次更新1个文件:
    ftp://222.73.242.246/update/update_159.dat
    md5值
    ce26bf9ac330f0335b8e546c2cf2daa4 update_159.dat
    更新频道为
    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]
    的pds目录下

    请尽快更新 谢谢!
     电话确认更新事宜,CDN更新完毕后,� �通过邮件回复。
     分别测试:四个频道的下载地址。如� �[Only registered and activated users can see links. ]
    链接无问题CDN同步成功。

    B、上传P3 Server
    非必要更新,视更新包文件大小而定� �目前暂定大小超过6MB需要更新。

    C、更新Info Server (所有更新完毕后)
    Info Server主要提供客户端版本比对和更新la nucher版本。
    找到urlinfo.ini文件,一般位于HTTP发布� �录下的Update\Files\pure\目录 中。
    内容注释:
    [download]
    MAX_FAIL_P3TRAN=10
    LIMIT_LOW_SPEED=5
    STANDARD_P3_SPEED=5
    LIMIT_SPEED_MAX_COUNT=60
    ALLOW_SPEED_INC_VALUE=2
    DOWNLOAD_RETRY_COUNT=5
    CONNECT_WAIT_TIME=20
    [MODE]
    P3=1
    [version] #lanucher 版本
    launcher=1.21
    [urlinfo]
    updateurl = http://hdinfo.cabalchina.com/Update/Files_2/
    setupfile = http://hdinfo.cabalchina.com/pds/
    torrentfile = http://hdinfo.cabalchina.com/pds/
    [updateinfo]
    updatemax =10
    updateindex =6 #更新文件索引 最大值为10
    testmax =3
    testindex =0
    p3count =4
    p3subdir =P3_
    p3SubDir1 =P3_1
    p3SubDir2 =P3_2
    p3SubDir3 =P3_3
    p3SubDir4 =P3_4
    [1] #更新文件索引号
    version=21
    subversion=1
    DirectMode=0
    torrenturl=http://hdinfo.cabalchina.com/pds/update_21_1.dat.zip
    fileurl=http://hdupdate.cabalchina.com/pds/update_21_1.dat
    subfileurl=http://hdupdate.cabalchina.com/pds/update_21_1.dat
    …………
    [6] #更新文件索引号 添加的项目数不能大于updateindex所设之 数。
    version=166 #更新文件版本
    subversion=0 #子版本号
    DirectMode=0 #下载方式(0为cdn和p3混合模式,1为c dn单独)
    torrenturl=http://hdinfo.cabalchina.com/pds/update_166.dat.zip #种子文件所在位置
    fileurl=http://hdupdate.cabalchina.com/pds/update_166.dat #更新文件下载位置
    subfileurl=http://hdupdate.cabalchina.com/pds/update_166.dat

    韩方会提供比对的urlinfo.ini文件,据此 ,更新info服务器的设置,增加和删除� ��目。不可直接 使用韩方提供的文件。
    其次根据实际情况设定DirectMode。视更� ��包文件大小而定。
    更新文件索引号的数量请参考韩方给� �urlinfo.ini。

    更新lanucher的方法:
    直接将更新的文件(update.exe update.1st等)
    覆盖HTTP目录下的Update\Files_2\的原文件� ��
    注:各区的url的地址都不相同,所以� �新时,最好的方法就是在原来的urlinfo 文件上修 改。

    D、调整LoginSvr上的客户端版本
     登录各区的LoginSvr;
     进入Login Server 的配置文件所在目录:
    #cd /etc/cabal
     编辑配置文件:
    #vi LoginSvr_01.ini
    [NetLib]
    Port=38101
    SendMaxBufSize=65536
    ProcessDataLimit=10240
    MaxUserNum=20000
    WatchsNoPackLimit=10000
    SystemLogTTimeOut=100
    ReactorTimeOut=-1
    ConnectRetryTime=5000
    ConnectRetryNum=10
    LogLevel=3

    [LoginSvr]
    GroupIdx=1
    Timer=1:10000,2:5000,3:5000
    NoActiveLimitTime=40000
    client_version=1071 #客户端版本 修改与cabalmain.exe的版本相同;

    [GlobalMgrSvr]
    Addr=172.16.1.5
    Port=38170

     重载配置文件
    #service LoginSvr_01 reload



    4.5客户端更新流程图




    [Only registered and activated users can see links. ]
































    4.6 数据库更新
    数据库更新EST实现给出详细更新方法� �执行用的SQL脚本,一般根据更新方法� ��说明,依次在每台game DB或者每个区的AccountDB中的查询分析器 中执行sql脚本即可。
    EST在更新数据库是会提供在线帮助的� �务,有问题及时联系商务部韩翻即可� ��
    5.数据备份
    游戏整体数据备份方面,主要包括Serve r端程序以及数据库两部分的备份内容� ��
    5.1服务器端程序备份:
    首先:服务器端程序的备份相对简单� �主要是采取刻录光盘的形式,即每次� ��新版本的服务器端程序发布后,将其 连同客户端,一同刻录光盘保存。
    其次:在每次更新服务端程序时,必� �备份原来的旧程序到本地的备份目录� ��,以便出现问题时可以 及时恢复。
    最后:做好相应的所有更新前后的版� �整理工作。

    5.2数据库备份
    Cabal DB的架构:
    Game DB 主数据库(记录玩家在游戏中角色信� �等)
    Account DB 账号数据库(记录玩家用户信息等)
    Shop DB 商城数据库
    根据各DB的数据重要程度,各DB的具体� ��份情况如下:
    5.2.1 Game DB 的备份


    A、Game DB数据比较重要,一般Game DB数据所在的硬盘需要作raid 1的冗余备份;物理上对数据作冗余备� ��,有利于因硬件磁盘故障导致数据丢 失后的数据恢复工作;
    B、先利用SQL自带的数据库维护计划,� ��别对DB进行完全备份以及事物日志备� ��, 备份目录统一为D:\Sql_bak;
    C、利用同步备份软件,将每次备份的� ��据同步备份至Backup Server;
    D、每周将最近一次备份的资料上传到� ��储设备或者下载到公司服务器上并刻 录成光盘保存。

    5.2.2 Shop DB、Account DB的备份
    (由于这两中DB都比较重要,故建议以 下3个备份方案,具体采用哪个备份方� ��将通过综合考虑决 定?)
    Account DB和Shop DB采用相同的备份方案,以下以Account DB为例进行介绍
    服务器硬盘之间直接备份(方法同Game DB)

    A、架设服务器时, Account DB数据所在的磁盘需要作raid 1的冗余备份;物理上对数据作冗余备� ��有利于因硬件磁盘故障导致数据丢失 后的数据恢复工作;
    B、先利用SQL自带的数据库维护计划,� ��别对DB进行完全备份以及事物日志备� ��, 备份目录统一为D:\Sql_bak;
    C、利用同步备份软件,将每次备份的� ��据同步备份至Backup Server;
    D、每周将最近一次备份的资料上传到� ��储设备或者下载到公司服务器上并刻 录成光盘保存。
    数据库群集备份

    A、架设服务器时, Account DB数据所在的磁盘需要作raid 1的冗余备份;物理上对数据作冗余备� ��有利于因硬件磁盘故障导致数据丢失 后的数据恢复工作;
    B、采用数据库群集的架构,既可以保� ��数据的安全,同时也可以减轻单台Acc ount Server的负载,减少计划外的停机时间� �
    C、每周将最近一次备份的资料上传到� ��储设备并下载到公司服务器上并刻录 成光盘保存。

    四、惊天动地 FAQ
    1.服务器故障
    A、客户端用户登录后无法显示服务器� ��表?
    查看server monitor是否正常开始服务,server monitor工具是否正常运作。
    B、 客户端用户登录中,无法连接服务器� �
    检查login服务器是否正常运行?GlobalDBA gent 服务器和AccountDB链接是否正常。
    C、 客户端显示登录服务器版本不对?
    只有更新维护后,会出现这个故障,� �因为login服务器的进程配置文件中clien t_version字 段的内容和客户端主执行文件cabalmain� �版本不正确。

    LoginSvr_01.ini文件中client_version=1104;
    D、 连续多组服务器同时出现服务中止现� �?
    判断为游戏服务器所在的刀片中心故� �,按照排错思路,先检查网络状态,� ��后查看进程运行情况。也就是先检查 刀片中心的交换模块,可在刀片中心� �模块管理中,重启交换模块,来解决� ��问题。在确认刀片中心网络正常的情 况下:在排查每台刀片服务器的网络� �态,确保网络可以正常工作。确认以� ��步骤都正常的情况下,还不能连通网 络,可联系机房查看网线连接和交换� �端口。
    E、 多个或者单个频道出现故障?
    多个频道故障,现在每台World Server提供连续的4个频道服务,确定是� ��些频道的服务器出现故障后,同样的 先查网络,如外网不通,可 通过manager服务器进行内网连接,内网� ��不通的话,可判断为服务器已经宕机 或者网络服务中断,可通过 刀片中心的管理模块远程连接到该服� �器上查看,如已经宕机,可在管理模� ��中重启该片服务器。单个频道故障一 般系统会自动重启该频道,如不行,� �登上该服务器进行手动重启。
    F、 玩家反映不能进行私聊或者工会服务� �
    该服务由聊天服务器提供,定位故障� �的服务器,进行手动重启该进程,就� ��解决。必须在确保网络正常连接的情 况下。
    G、 Server Monitor显示服务正常工作,但玩家不能� ��常登录,且login人数异常?
    如果是全服都存在该问题,先检查globa lDBAgent服务器状态是否正常,进程服务 、网络状态、并查 看日志;和accountDB连接是否正常等;� �着查看AccountDB服务器状态是否正常,s ql服务 、网络服务、磁盘空间等。
    个别服务器组存在该问题:查看该服� �器组的DBAgent和对应的GameDB服务器。检 查项目依照排错思 路。
    H、 玩家分配道具异常,摩宝箱可看到道� �但不能正常转移到角色身上?
    主要是CashDBAengt服务器出现故障引起, 依照排错思路进行检查。

    2.客户端故障
    详见官网(逐步添加)

    五、参考选项
    1.参考文档
    cabal逻辑结构拓扑图
    cabal网络结构拓扑图
    GAME DB 说明手册
    Blade manual(IBM刀片中心管理模块介绍)
    刀片服务器和刀片中心介绍参考:
    http://www-900.ibm.com/cn/support/viewdoc/uprosupport?pageid=0&category=2131&docordown=down
    Linux 学习论坛
    http://www.linuxfans.org/nuke/index.php
    http://bbs.linux.org
    2.其他说明
    Khách viếng thăm hãy cùng samuon xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

Các Chủ đề tương tự

  1. New Server Cabal EP2 Offline + Video hướng dẫn
    Bởi fancy90 trong diễn đàn Cabal Online
    Trả lời: 44
    Bài viết cuối: 10-09-14, 04:12 PM
  2. Cabal private Server Việt Nam
    Bởi gunbound1012 trong diễn đàn Các Server Không Nằm Trong Box
    Trả lời: 16
    Bài viết cuối: 23-03-10, 03:22 AM
  3. Server Cabal offline
    Bởi Lovepw trong diễn đàn Các Server Không Nằm Trong Box
    Trả lời: 17
    Bài viết cuối: 17-06-08, 03:12 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 05:54 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.