您当前的位置:首页 > 其他技术 > 其他技术

弹弹堂服务器官方内部架设说明

本文出处:网游动力作者:本站发布时间:2011-08-21阅读次数:

一、 服务器架构图……………………………………………………………………
二、 服务器硬件(带宽)检查………………………………………………………
三、 需求代理商提供域名指向....…………………………………………………….
四、 服务器安全部署前相关软件安装……………………………………………….
五、 服务器安全部署………………………………………………………………….
六、 中心服务器(DB)部署…………………………………………………………….
七、 IIS服务器部署…………………………………………………………………...
八、 GM后台部署…………………………………………………………………….
九、 游戏服务器部署………………………………………………………………….
十、 测试……………………………………………………………………………….

Parter_ID  代理商编号(一个区一个编号,由我们分配)
IP_Db   数据库服务器的IP(一般为192.168.0.2)
Port_Db   数据库端口(一般设置为2433)
Pass_Tank77  数据库账号tank77的密码
Pass_Count77  数据库账号count77的密码
Pass_LoginKey  合作伙伴的登陆地址(一般由代理商提供给我们)
Pass_ChargeKey 合作伙伴的充值地址(一般由代理商提供给我们)
Version  游戏版本号(由我们提供)

s1.ddt.7road.com   游戏主域名,游戏的入口
quest.ddt.7road.com   Web请求站点的域名,处理一些普通的数据业务。
res.ddt.7road.com   资源文件站点的域名

LoginPage  登陆地址(s1.ddt.7road.com)
MainPage    首页(现在已经无用,可以填同登陆地址一致)
RegistePage  注册地址(现在已经无用)
PayPage  充值地址
 注意,文档中以【x】编著的部分,表示此变量x的值。

File 模板站点(格式一般为file1.ddt.官方域名)
Gameadmin后台站点(格式一般为gameadmin.ddt.官方域名)

Channel_ID   频道的ID,在数据库录入。
Channel_Name 频道的名称
Channel_IP   频道的IP
Channel_Port   频道的端口
LogPath  游戏日志路径(默认为d:GameLog)


                           服务器架构图
1、弹弹堂一个区里有4台服务器,1台DB服务器(数据存储)、1台IIS服务器(下载游戏客户端使用)、2台游戏服务器(游戏连接运行)


                                        外网ip:xxx.xxxx.xxx.xxx
                                        内网ip:192.168.0.2

                                        外网ip:xxx.xxxx.xxx.xxx
                                        内网ip:192.168.0.4


                                        外网ip:xxx.xxxx.xxx.xxx
                                        内网ip:192.168.0.5


                                        外网ip:xxx.xxxx.xxx.xxx
                                        内网ip:192.168.0.6

2、外网IP由服务器商自行设置(一般情况我方不需要进行修改)。
3、内网IP设置请咨询提供服务器的技术人员(可以为192.168.1.0网段等)。
   注意:不要造成内网IP冲突


服务器硬件(带宽)检查


1、 服务器硬件配置

服务器硬件配置
型号 数量 备注
INTEL 5420 2 可为E5405级别,双U四核心
4G 2 无
SAS硬盘146G以上 1 无
1000M网卡 2 一个接公网,一个接游戏服务器(连接交换机)
服务器软件配置
每台服务器系统都是window2003,X64位
服务器带宽配置
带宽:IIS服务器不小于100M独享接入,其他服务器各10M独享接入

2、 检查操作系统是否为windows2003 X64位操作系统。
3、 检查硬件配置是否符合要求。
4、 检查带宽,可以通过软件进行检测(http://10000.gd.cn/software/sztool.exe)。
5、 检查内网网卡是否已经连接
6、 检查内网卡是否设置IP(咨询提供服务器技术人员可用内网IP网段)


需求代理商提供域名指向


1、 从代理商技术人员提供过来的四台服务器从提取一台做IIS服务器。
2、 把需要指向的域名需求提供给项目负责人,项目负责人进行代理商的联系。
3、 服务器域名分为单线和双线的需求。
---------------------------------------
例:代理商提供了一组弹弹堂服务器
IP: 123.123.123.121 (IIS服务器)
123.123.123.122(中心服务器)
123.123.123.123(游戏服务器)
123.123.123.124(游戏服务器)

单线服务器需求如下:
   gameadmin.ddt.*.*
   s1.ddt.*.*
   res.ddt.*.*
   quest.ddt.*.*
   file1.ddt.*.*
   例:gameadmin.ddt.7road.com
   上面的域名ip请指向 123.123.123.121
---------------------------------------
例:代理商提供了一组弹弹堂服务器
IP: 123.123.123.121/222.222.222.221  (IIS服务器)
123.123.123.122/222.222.222.222 (中心服务器)
123.123.123.123/222.222.222.223 (游戏服务器)
123.123.123.124/222.222.222.224 (游戏服务器)

双线服务器需求如下:
    gameadmin.ddt.*.*
    s1.ddt.*.*
    res.ddt.*.*
    quest.ddt.*.*
    file1.ddt.*.*
    例:gameadmin.ddt.7road.com
    上面的域名ip请指向 123.123.123.121/222.222.222.221

====================================================== 
ddtgame1.*.*        指向123.123.123.123/222.222.222.223
ddtgame2.*.*        指向123.123.123.124/222.222.222.224
======================================================

服务器安全部署前相关软件安装


1、 对提供过来的四台服务器进行安装.net Framework 3.5
注:IIS服务器要先进行Internet 信息服务(IIS)管理器的安装。
2、 更新操作系统最新补丁
3、 安装CuteFTP Pro V8.3.2

服务器安全部署


1、 针对所有服务器的安全部署
2、 安全部署文档
-------------------------------------------------------------------------------

1、用户帐号

  a.将administrator改名,例子中改为root

  b.取消所有除管理员root外所有用户属性中的 
  远程控制->启用远程控制 以及
  终端服务配置文件->允许登陆到终端服务器

  c.将guest改名为administrator并且修改密码

  d.除了管理员root,IUSER以及IWAM以及ASPNET用户外.禁用其他一切用户.包括SQL DEBUG以及TERMINAL USER等等

2、目录权限

  将所有盘符的权限,全部改为只有

  administrators组  全部权限

  system  全部权限

  将C盘的所有子目录和子文件继承C盘的administrators(组或用户)和SYSTEM所有权限的两个权限

  然后做如下修改:

  C:Program FilesCommon Files 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限

  C:WINDOWS 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限

  C:WINDOWSTemp 开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限

出现msdtc日志问题,运行 msdtc -resetlog 重起


3、IIS的安全:

   右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm

IIS (Internet信息服务器管理器) 在"主目录"选项设置以下:

         读 允许
         写 不允许
         脚本源访问 不允许
         目录浏览 建议关闭
         记录访问 建议关闭
         索引资源 建议关闭
         执行权限 推荐选择 “纯脚本”

 
>> 在IIS6.0 -本地计算机 - 属性- 允许直接编辑配置数据库在IIS中 属性->主目录->配置->选项中

>> 在网站把”启用父路径“前面打上勾

>> 在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”

>> 优化IIS6应用程序池
   1、取消“在空闲此段时间后关闭工作进程(分钟)”
   2、勾选“回收工作进程(请求数目)”
   3、取消“快速失败保护”


  
4、WEB目录权限
            D:盘目录给与
  administrators  全部权限
  system  全部权限

  单独建立的用户(或者IUSER)  选择高级->打开除 完全控制,遍历文件夹/运行程序,取得所有权 3个外的其他权限.

-----------------------------------------------------------------------
C:Documents and SettingsAll UsersApplication Data 给administrators, system, network service 完全控制权限

IIS设置mime  .flv

C:WINDOWSMicrosoft.NETFramework 加上network service权限

红色标注权限只需要在IIS服务器上设置
-----------------------------------------------------------------------


5、本地策略:

>>   本地策略--->用户权限分配
   关闭系统:只有Administrators组、其它全部删除。 
   通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除

>> 在安全设置里 本地策略-用户权利分配,通过终端服务拒绝登陆,加入
ASPNET 
IUSR_ 
IWAM_ 
NETWORK SERVICE 
(注意不要添加进user组和administrators组 添加进去以后就没有办法远程登陆了)


>>本地安全策略->本地策略->审核策略

  打开以下内容

  审核策略更改        成功,失败(audit policy change)
  审核系统事件        成功,失败(audit system events)
  审核帐户登陆事件    成功,失败(audit account logon events)
  审核帐户管理        成功,失败(audit account management)

>>开始 > 程序 > 管理工具 > 本地安全策略

账户策略 > 密码策略 > 密码最短使用期限 改成0天[即密码不过期,上面我讲到不会造成IIS密码不同步]

账户策略 > 账户锁定策略 > 账户锁定阈值 5 次 账户锁定时间 10分钟 [个人推荐配置]


>> 在安全设置里 本地策略-安全选项
网络访问:可匿名访问的共享; 
网络访问:可匿名访问的命名管道; 
网络访问:可远程访问的注册表路径; 
网络访问:可远程访问的注册表路径和子路径; 
将以上四项全部删除

>> 不允许 SAM 账户的匿名枚举 更改为"已启用" 
>> 不允许 SAM 账户和共享的匿名枚举 更改为"已启用" ;
>> 网络访问: 不允许存储网络身份验证的凭据或 .NET Passports 更改为"已启用" ;
>> 网络访问.限制匿名访问命名管道和共享,更改为"已启用" ;
将以上四项通通设为“已启用”

本地策略 > 安全选项

> 清除虚拟内存页面文件 更改为"已启用"

> 不显示上次的用户名 更改为"已启用"

> 不需要按CTRL+ALT+DEL 更改为"已启用"


6、关闭无用的服务

  我们一般关闭如下服务:


  Help and Support
  TCP/IP NetBIOS Helper
  Computer Browser 维护网络上计算机的最新列表以及提供这个列表
  Task scheduler 允许程序在指定时间运行
  Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
  Distributed File System: 局域网管理共享文件,不需要禁用
  Distributed link tracking client:用于局域网更新连接信息,不需要禁用
  Error reporting service:禁止发送错误报告
  Microsoft Serch:提供快速的单词搜索,不需要可禁用
  NT LM Security support provide:telnet服务和Microsoft Serch用的,不需要禁用
  Print Spooler:如果没有打印机可禁用
  Remote Registry:禁止远程修改注册表
  Remote Desktop Help Session Manager:禁止远程协助

禁用DCOM:
   运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
   对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
   清除“在这台计算机上启用分布式 COM”复选框。

   如果服务器不用作域控,我们也可以禁用 Workstation

7、更新组件名称

  使用regedit

  将/HKEY_CLASSES_ROOT下的

  WScript.Network
  WScript.Network.1
  WScript.Shell
  WScript.Shell.1
  Shell.Application
  Shell.Application.1

  键值改名,例如更改为WScript.Network_1  WScript.Network.1_1
----------------------------------------------------------------
  将这些键值下CLSID中包含的字串,(全字匹配查找)

  如{72C24DD5-D70A-438B-8A42-98424B88AFB8}

  到/HKEY_CLASSES_ROOT/CLSID下找到以这些字串命名的键值

  全部删除

----------------------------------------------------------------
HKEY_CLASSES_ROOTWScript.Shell 
 
HKEY_CLASSES_ROOTWScript.Shell.1 
添加IUSR用户完全拒绝权限


HKEY_CLASSES_ROOTShell.Application 
 
HKEY_CLASSES_ROOTShell.Application.1 
添加IUSR用户完全拒绝权限
(只有IIS服务器才能设置IUSR完全拒绝权限)
--------------------------------------------------------------

C:WindowsSystem32wshom.ocx
C:WindowsSystem32shell32.dll
WSHOM.ocx和Shell32.dll这两个文件只给Administrators组完全权限

8、 删除默认共享

@echo off
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 先列举存在的分区,然后再逐个删除以分区名命名的共享;
:: 通过修改注册表防止admin$共享在下次开机时重新加载; 
:: IPC$共享需要administritor权限才能成功删除
::
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
title 默认共享删除器
color 1f
echo. 
echo ------------------------------------------------------ 
echo. 
echo 开始删除每个分区下的默认共享. 
echo. 
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(
if exist %%a:nul (
net share %%a$ /delete>nul 2>nul && echo 成功删除名为 %%a$ 的默认共享 || echo 名为 %%a$ 的默认共享不存在
) 
)
net share admin$ /delete>nul 2>nul && echo 成功删除名为 admin$ 的默认共享 || echo 名为 admin$ 的默认共享不存在
echo.
echo ------------------------------------------------------ 
echo.
net stop Server /y>nul 2>nul && echo Server服务已停止.
net start Server>nul 2>nul && echo Server服务已启动.
echo. 
echo ------------------------------------------------------ 
echo. 
echo 修改注册表以更改系统默认设置. 
echo. 
echo 正在创建注册表文件. 
echo Windows Registry Editor Version 5.00> c:delshare.reg 
:: 通过注册表禁止Admin$共享,以防重启后再次加载
echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters]>> c:delshare.reg
echo "AutoShareWks"=dword:00000000>> c:delshare.reg 
echo "AutoShareServer"=dword:00000000>> c:delshare.reg 
:: 删除IPC$共享,本功能需要administritor权限才能成功删除
echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]>> c:delshare.reg
echo "restrictanonymous"=dword:00000001>> c:delshare.reg
echo 正在导入注册表文件以更改系统默认设置. 
regedit /s c:delshare.reg 
del c:delshare.reg && echo 临时文件已经删除. 
echo. 
echo ------------------------------------------------------ 
echo. 
echo 程序已经成功删除所有的默认共享. 
echo. 
echo 按任意键退出...
pause>nul


9、命令权限

>> 打开C:Windows目录 搜索以下DOS命令文件(X64系统是存在两个的)
NET.EXE,NET1.EXE,CMD.EXE,FTP.EXE,ATTRIB.EXE,CACLS.EXE,AT.EXE,FORMAT.COM,
TELNET.EXE,COMMAND.COM,NETSTAT.EXE,REGEDIT.EXE,ARP.EXE,NBTSTAT.EXE tftp.exe 
把以上命令文件通通只给Administrators 和SYSTEM为完全控制权限

中心服务器(DB)部署

1、在服务器D盘新建dandantang、打包、GameLog、软件、Db_Tank_Back、tank、六个文件夹。
2、下载“db服务器”、“软件”文件到DB服务器。
3、“db服务器”包含“center”、“db”、“入库数据”、“业务数据表”四个文件夹。
1)把center文件夹复制到d:dandantang目录下
2)在d:dandantang目录下新建data目录
3)把db文件夹里的三个数据库Db_Count.mdf、Db_Membership.mdf、Db_Tank.mdf复制到d:dandantangdata 目录下
4)把业务数据表复制到d:tank目录下
4、安装SQL(x64安装办法)
要在 64 位操作系统上安装此应用程序,请使用以下步骤: 
浏览至 SQL Server 2000 安装点 
安装 SQL Server 2000:5uw l.n et
双击“x86setup”子文件夹中的 setupsql.exe
安装 SQL Server 2000 分析服务:
双击“msolapinstall”子文件夹中的 setup.exe
安装 SQL Server 2000 英语查询:
双击“mseqx86”子文件夹中的 setup.exe
SN: JCYFH-BYJMR-C4PVV-VD9G3-VXDYG
5、打SQL SP4补丁
6、更改SQL连接端口为【Port_Db】
方法: 开始-程序- Microsoft SQL Server-服务器网络实用工具-TCP/IP-属性-默认端口【Port_Db】 -确认       
7、 附加数据库
方法:开始-程序- Microsoft SQL Server-企业管理器-数据库-所有任务-附加数据库-选择(d:dandantangdata)目录下三个数据库(Db_Count.mdf、Db_Membership.mdf、Db_Tank.mdf)进行附加。
8、 创建数据库账号tank77、count77
方法:开始-程序- Microsoft SQL Server-企业管理器-安全性-登陆-新建登陆-输入(tank77或 count77)选择SQL server身份验证。
9、 设置tank77和count77对数据库的访问权限
方法:开始-程序- Microsoft SQL Server-企业管理器-安全性-登陆-双击(tank77或 count77)账户。
tank77账户对应Db_Count和Db_Tank两个数据库
count77账户对应Db_Count和Db_Membership 和Db_Tank三个数据库
数据库角色中允许选择“pubil、db_datareader、db_datawriter”三个权限
 10、修改三个数据库用户的存储过程操作权限
方法:开始-程序- Microsoft SQL Server-企业管理器-数据库(Db_Count和Db_Membership 和Db_Tank)-用户(count77和tank77)双击-权限

注意:Db_Count数据库count77、tank77 帐号的存储过程全部勾选(dt_开头的不要勾选)
      Db_Tank数据库count77,tank77帐号的存储过程中以(Ddt_开头的全部勾选)(Sp_sys_开头的不要勾选)(Dt_开头的不要勾选)
      Db_Membership 数据库count77 帐号的存储过程全部勾选(dt_开头的不要)
 11、打开入库数据
     方法:开始-程序- Microsoft SQL Server-企业管理器-数据转换服务(右键)-打开包-选择(入库数据.dts)-选择入库数据-确定-双击(Excel Data)-文件名-选择(D:tank业务数据表.xls)-包-另存为-位置(选择SQL Server)-确认
 12、运行本地包
     方法:开始-程序- Microsoft SQL Server-企业管理器-数据转换服务-本地包-入库数据(右键)-执行包
 13、建数据库作业
     方法:方法:开始-程序- Microsoft SQL Server-企业管理器-管理-SQL Server代理-作业(右键)-新建作业
1) 新建第1个作业DB_Count_Pull_Info
常规:
     名称:DB_Count_Pull_Info
     描述:DB_Count_Pull_Info
步骤:
     新建-
     步骤名:Pull_Info
     数据库:Db_Count
     命令:
           exec SP_Tank_Count_Active 1, 【Parter_ID】
           exec SP_Tank_Count_Charge 1, 【Parter_ID】,1
           exec SP_Tank_Count_Login 1, 【Parter_ID】

注意:Parter_ID为代理商ID号

   高级:
        成功操作时:退出报告成功的作业
        失败时的操作:退出报告失败的作业
   调度:
        新建-
        名称:Pull_Info
        调度类型选择“更改”
        发生频率:每天
        每日频率:6:00:00
确定

-------------------------------------------------------------------------

    2)新建第2个作业Db_Tank_Back_Restore
常规:
     名称:Db_Tank_Back_Restore
     描述:
         自动备份Db_Tank
         还原到文件为Db_Tank_Copy
步骤:
     新建-
     步骤名:Back
     数据库:master
     命令:
        Declare @flag varchar(10)

--Save Path
Declare @PathAll Varchar(200)
Set  @PathAll='d:Db_Tank_BackDb_Tank_Copy'+Cast(Day(getdate()) As Varchar(20))+'.bak'

--Exec Back Database
EXEC   [Db_Count].[dbo].[Sp_backup_db] @flag OUTPUT ,'Db_Tank',@PathAll

   高级:
        成功操作时:转到下一步
        失败时的操作:退出报告失败的作业

---------------------------------------------------------------------
     新建-
     步骤名:Resore
     数据库:master
     命令:
       DECLARE @flag varchar(10)

Declare @PathAll Varchar(200)
Set  @PathAll='d:Db_Tank_BackDb_Tank_Copy'+Cast(Day(getdate()) As Varchar(20))+'.bak'

EXEC   [Db_Count].[dbo].[Sp_restore_db] @flag OUTPUT ,'Db_Tank_Copy', @PathAll

   高级:
        成功操作时:转到下一步
        失败时的操作:退出报告失败的作业


-------------------------------------------------------------------------

     新建-
     步骤名:Auto_DataRun
     数据库:Db_Count
     命令:
         exec Ddtc_AutoRun_Sto

   高级:
        成功操作时:退出报告成功的作业
        失败时的操作:退出报告失败的作业

   调度:
        新建-
        名称:Call
        调度类型选择“更改”
        发生频率:每天
        每日频率:5:00:00
确定

--------------------------------------------------------------------------------


     3) 新建第3个作业DB_Tank_DaySort
常规:
     名称:DB_Tank_DaySort
     描述:DB_Tank_DaySort
步骤:
     新建-
     步骤名:SP_Sys_Update_Consortia_DayList
     数据库:Db_Tank
     命令:
          SP_Sys_Update_Consortia_DayList

   高级:
        成功操作时:转到下一步
        失败时的操作:转到下一步
------------------------------------------------------------

     新建-
     步骤名:SP_Sys_Update_Users_DayList
     数据库:Db_Tank
     命令:
          SP_Sys_Update_Users_DayList

   高级:
        成功操作时:退出报告成功的作业
        失败时的操作:退出报告失败的作业

   调度:
        新建-
        名称:SP_Sys_Update_Users_DayList
        调度类型选择“更改”
        发生频率:每天
        每日频率:1:00:00
确定


--------------------------------------------------------------------


      4) 新建第4个作业DB_Tank_User_Sort
常规:
     名称:DB_Tank_User_Sort
     描述:DB_Tank_User_Sort
步骤:
     新建-
     步骤名:DB_Tank_User_Sort
     数据库:Db_Tank
     命令:
           exec SP_Sys_Update_Users_List
           exec SP_Sys_Update_Consortia_List
           exec SP_Sys_Update_Consortia_Honor
           exec SP_Sys_Update_OfferList

   高级:
        成功操作时:退出报告成功的作业
        失败时的操作:退出报告失败的作业
   调度:
        新建-
        名称:DB_Tank_User_Sort
        调度类型选择“更改”
        发生频率:每天
        每日频率:5:00:00
确定


---------------------------------------------------------------


      5) 新建第5个作业DB_Tank_WeekSort
常规:
     名称:DB_Tank_WeekSort
     描述:DB_Tank_WeekSort
步骤:
     新建-
     步骤名:SP_Sys_Update_Consortia_WeekList
     数据库:Db_Tank
     命令:
         SP_Sys_Update_Consortia_WeekList

   高级:
        成功操作时:转到下一步 
        失败时的操作:转到下一步

-----------------------------------------------
步骤:
     新建-
     步骤名:SP_Sys_Update_Users_WeekList
     数据库:Db_Tank
     命令:
         SP_Sys_Update_Users_WeekList

   高级:
        成功操作时:退出报告成功的作业
        失败时的操作:退出报告失败的作业


   调度:
        新建-
        名称:SP_Sys_Update_Users_WeekList
        调度类型选择“更改”
        发生频率:每周(星期一)
        每日频率:1:30:00
确定
--------------------------------------------------------------------------


14、修改代理商信息
   方法:开始-程序- Microsoft SQL Server-企业管理器-数据库-Db_count-表-Count_Application_Sub(右键)-打开表-返回所有行
     SubId填写代理商ID号,默认为“【Parter_ID】”
     SubName填写代理商名称,默认为“弹弹堂”


15、新增代理商游戏频道
方法:开始-程序- Microsoft SQL Server-企业管理器-数据库-Db_Tank-表-Server_List(右键)-打开表-返回所有行
 [ID] 【Channel_ID】
 [Name] 【Channel_Name】
 [IP] 【Channel_IP】(注意:单线服务器用IP填写,双线服务器用域名填写)例如
    ddtgame1.*.*
 [Port] 【Channel_Port】(一台游戏服务器可以用8000 8060 8070 8090端口开四条线)
 [State]  频道状态,由服务器自动填充
 [Online] 在线人数,由服务器自动保存,5分钟保存一次
 [Total]  人数上限,一般设置为1200
 [Room] 房间上限
 [Remark] 备注
 [RSA]  目前无用
 [MustLevel]  进入的最高等级
[LowestLevel] 进入的最低等级。
 可参照:
 

填写完毕后请运行


16、修改中心服务器(DB)配置文件
   1)打开D:dandantangcenterconfig 右键选择打开方式-记事本
  <Server>
    <Port>9202</Port>
    <IP>【IP_Db】</IP>
    <logconfig>logconfig.xml</logconfig>
  </Server>
注意:红色标记处为修改处,9202为默认端口号,不需要进行修改。【IP_Db】
为db 服务器内网IP,对应DB服务器内网IP进行修改。

  2)打开D:dandantangcenter Center.Service.exe.config右键选择打开方式-记事本
 设置连接Sql内网IP,端口和连接账户:找到<add key="conString" value="Data Source=【IP_db】,【Port_db】;Initial Catalog=Db_Tank;Persist Security Info=True;User ID=tank77;Password=【Pass_Tank77】"/>
 设置代理商代号:找到<add key="AreaID" value=" Parter_ID"/>
 设置连接Sql内网IP:端口:找到
<add baseAddress="http:// 【IP_Db】:8731/CenterService/" />
<endpoint address="net.tcp:// 【IP_Db】:8733/" binding="netTcpBinding" bindingConfiguration="CenterService" contract="Center.Server.ICenterService">
2、启动需要配置serverconfig.xml 文件(文件路径D:dandantang Centerconfig)
 设置连接Sql内网IP和 端口:找到<Port>9202</Port> <IP>【IP_Db】</IP>


IIS服务器部署

注:先进行IIS的安装然后再安装.net
1、在服务器D盘新建dandantang、打包、GameLog、软件、四个文件夹。
2、下载“IIS服务器”、“软件”文件到DB服务器。
3、“IIS服务器”下包含“dandantang”、“File1”、“GameAdmin”三个文件夹。解压后,覆盖到D盘根目录下。
4、分配D盘访问权限
   方法:D盘右键-共享和安全-安全-添加-
   Internet 来宾账户(IUSR_)
   NETWORK SERVICE
   权限除了“完全控制、遍历文件夹/运行文件、更改权限、取得所有权”其他都选取

   Administrators组
   SYSTEM组
   为所有权限
   


4、 创建游戏Web站点
1)创建flash站点:在IIS中创建该站点。路径指向文件路径(D:dandantangflash),其域名为【s1.ddt.7road.com】
2)创建request站点:在IIS中创建该站点。路径指向文件路径(D:dandantangrequest),其域名为【quest.ddt.7road.com】
3)创建resource站点:在IIS中创建该站点。路径指向文件路径(D:dandantangresource),其域名为【res.ddt.7road.com】


5、 配置文件修改
 1) 配置d:dandantangflash 站点下的web.config文件
 设置游戏版本号:找到<add key="Edition" value="【Version】" />
 设置登陆测试地址:找到
<add key="LoginUrl" value="http://【quest.ddt.7road.com】/CreateLogin.aspx"/>
 设置登陆地址:
 找到<add key="FlashUrl" value="【LoginPage】"/>
    <add key="LoginOnUrl" value="http://ddt.7road.com"/>

2) 配置d:dandantangflash站点下的config.xml文件
 设置资源、登陆地址等:找到
<SITE value = "http://【res.ddt.7road.com】/" />
<FIRSTPAGE value = "【MainPage】"/>
<REGISTER  value = "【RegistePage】"/>
<REQUEST_PATH value = "http://【quest.ddt.7road.com】/" />
<LOGIN_PATH value = "【LoginPage 】"/>
<FILL_PATH value = "【PayPage】"/>
<POLICY_FILES>
<file value="http://【res.ddt.7road.com】/crossdomain.xml" />
<PARTER_ID value="【Parter_ID】" />


3) 配置d:dandantangrequest 站点下的web.config文件
 设置Sql内网IP,端口和连接账户:找到
    <add key="countDb" value="Data Source=【IP_db】,【Port_db】;Initial Catalog=Db_Count;Persist Security Info=True;User ID=count77;Password= 【Pass_Count77】"/>
<add key="conString" value="Data Source=【IP_db】,【Port_db】;Initial Catalog=Db_Tank;Persist Security Info=True;User ID=tank77;Password= 【Pass_Tank77】"/>
 设置登陆Key和充值Key:找到
<add key="LoginKey" value="【Pass_LoginKey】"/>
<add key="LoginIP" value="" />
<add key="LoginUrl" value="【LoginPage】"/>
<add key="ChargeKey" value="【Pass_ChargeKey】"/>
<!--DIdID-->
<add key="DId" value="【Parter_ID】" />
<!--SIdID-->

 设置Sql内网IP,端口和连接账户:找到
    <add name="RoadDatabase.Properties.Settings.Db_TankConnectionString4"
    connectionString="Data Source=【IP_db】,【Port_db】;Initial Catalog=Db_Tank;Persist Security Info=True;User ID=tank77;Password= 【Pass_Tank77】"
providerName="System.Data.SqlClient" />
 设置CentServer的wcf服务IP(同数据库IP),端口:找到
    <endpoint address="net.tcp:// 【IP_db】:8733/" binding="netTcpBinding"
     bindingConfiguration="NetTcpBinding_ICenterService" contract="CenterService.ICenterService"
     name="NetTcpBinding_ICenterService" />


GM后台部署

1、创建GM后台站点
1)创建后台站点:在IIS中创建该站点。路径指向文件路径(D:dandantangGameAdmin),其域名为【gameadmin. ddt.7road.com】
2) 创建模板站点:在IIS中创建该站点。路径指向文件路径(D:dandantangFile1),其域名为【file1. ddt.7road.com】

2、配置文件修改
  1) 配置d:dandantangGameAdmin站点下的web.config文件
 设置用户验证路径:找到<!--用户验证地址-->该标识,配置该路径为<add key="LoginServer" value="http:// 
【Gameadmin】/Flash_Port/PassPort.asmx" />

    <add key="conString" value="Data Source=【IP_Db】2433;Initial Catalog=Db_Tank;Persist Security Info=True;User ID=count77;Password=【Pass_Count77】" />

 设置弹弹堂登陆:找<!--弹弹堂游戏创建登陆-->该标识,配置该路径为<add key="CreateLogin" value="http:// 【quest.ddt.7road.com】
/createlogin.aspx"/>
 设置弹弹堂密钥:找到<!--弹弹堂游戏密钥-->该标识,配置该路径为<add key="Loginkey" value="【Pass_LoginKey】"/>
 设置弹弹堂登陆后转跳地址:找到<!--弹弹堂登陆成功以后跳转地址-->该标识,配置该路径为<add key="LoginReturn" value="http:// 【s1.ddt.7road.com】/default.aspx"/>
 <add key="ActivList" value="http://quest.ddt.7road.com/ActiveList.ashx"/>
     <!--获取弹弹堂游戏是否启用防沉迷-->    
     <add key="ASS_State" value="http://quest.ddt.7road.com/AASGetState.aspx"/>
     <!--设置弹弹堂游戏防沉迷状态-->
     <add key="ASS_Update" value="http://quest.ddt.7road.com/AASUpdateState.aspx"/>
     <!--弹弹堂关键字文件存放地址-->
     <add key="ScreenKeyWords" value="D:dandantangflashzhan.txt"/>
     <!--弹弹堂地图更新地址-->
     <add key="Map_Update" value="http://quest.ddt.7road.com/NoticeServerUpdate.aspx"/>
     <!--定义游戏所在区-->
     <add key="SubName" value="【Parter_ID】" />
 设置模板站点路径:找到<!--设置服务器-->该标识,配置该路径为<add key="WebfileServer" value="http:// 【File】" />
 设置模板文件的物理路径:找到<!--设置物理路径-->该标识,配置该路径为<add key="TemplateDir" value="D:File1vm" />

               <add name="GameAdmin_Model.Properties.Settings.Db_TankConnectionString"
        connectionString="Data Source=【IP_Db】2433;Initial Catalog=Db_Tank;Persist Security Info=True;User ID=tank77;Password=【Pass_Tank77】"providerName="System.Data.SqlClient" />

    <add name="GameAdmin_Model.Properties.Settings.Db_CountConnectionString"
        connectionString="Data Source=【IP_Db】2433;Initial Catalog=Db_Count;Persist Security Info=True;User ID=count77;Password=【Pass_Count77】"providerName="System.Data.SqlClient" />

    <add name="Membership_Model.Properties.Settings.Db_MembershipConnectionString"
          connectionString="Data Source=【IP_Db】2433;Initial Catalog=Db_Membership;User ID=count77;Password=【Pass_Count77】"providerName="System.Data.SqlClient" />


      <endpoint address="net.tcp://【IP_Db】8733/" binding="netTcpBinding"
        bindingConfiguration="NetTcpBinding_ICenterService" contract="CenterService.ICenterService"
        name="NetTcpBinding_ICenterService" />


 对D:GameAdminApp_Data里面的PayWay.xml和ServerConfig.xml进行添加新的录入。
对PayWay.xml进行录入
  <subid name="【代理商名称】" value="【Parter_ID】" />
    <payid name="网银充值" value="1"></payid> 
    <payid name="手机充值" value="2"></payid>
  </subid>
对ServerConfig.xml进行录入
<subid name="【代理商名称】" value="【Parter_ID】" />
    <lineid name="全部服务器" value="0"></lineid>
    <lineid name="一号服务器" value="1"></lineid> 
    <lineid name="二号服务器" value="2"></lineid>
    <lineid name="三号服务器" value="3"></lineid>
    <lineid name="四号服务器" value="4"></lineid>
</subid>


3、生成request站点中的静态XML
  1)打开IIS,查看request站点,访问站点中的CreateAllXml.ashx,此页面件生成游戏所需要的一些静态xml文件。
  方法:打开IIS,选择quest.ddt.7road.com-CreateAllXml.ashx右键浏览
生成(Build:ActiveList.xml,Success!Build:BallList.xml,Success!Build:LoadMapsItems.xml,Success!Build:QuestList.xml,Success!Build:TemplateAlllist.xml,Success!Build:LoadItemsCategory.xml,Success!Build:ItemStrengthenList.xml,Success!Build:MapServerList.xml,Success!Build:ConsortiaLevelList.xml,Success!
)为正常

游戏服务器部署

1、在服务器D盘新建dandantang、打包、GameLog、软件、四个文件夹。
2、下载“游戏服务器”、“软件”文件到DB服务器。
3、“游戏服务器”下包含“gameserver”文件夹。解压后把FlashPolicyService和server1文件夹复制到d:dandantang目录下。
4、注册FlashPolicyService
  方法:开始-运行-cmd-确定-
1) Cd C:WINDOWSMicrosoft.NETFramework64v2.0.50727
2) installutil.exe D:dandantangFlashPolicyServiceFlashPolicyService.exe
3) 开启FlashPolicy服务(开始-设置-控制面板-管理工具-服务-选择(FlashPolicyService)设置启动类型为“自动”,并启动服务。
5、修改配置文件(d:dandantangserver1目录下的Road.Service.exe.config文件)
 设置Sql内网IP,端口和连接账户:找到
<add key="ServerID" value="1"/>  1为第1个游戏频道
<add key="Port" value="8000"/>   8000为游戏端口
<add key="IP" value="0.0.0.0"/>
<add key="ServerName" value="7Road Server"/>
<add key="ServerNameShort" value="7Road"/>
<add key="conString" value="Data Source=【IP_db】,【Port_db】;Initial Catalog=DB_Tank;Persist Security Info=True;User ID=tank77;Password= 【Pass_Tank77】"/>
<add key="countDb" value="Data Source=【IP_db】,【Port_db】;Initial Catalog=Db_Count;Persist Security Info=True;User ID=count77;Password= 【Pass_Count77】"/>
 设置Sql内网IP,端口
    <add key="LoginServerPort" value="9202"/>
<add key="LoginServerIp" value="【IP_db】"/>
<add key="ScriptCompilationTarget" value=".libGameServerScripts.dll"/>
<add key="ScriptAssemblies" value="Game.Base.dll,Road.Database.dll,Game.Server.dll"/>
<add key="LogConfigFile" value=".configlogconfig.xml"/>
<add key="MaxClientCount" value="8000"/>
 设置代理商ID号和版本号
          <add key="AppID" value="1"/>
          <add key="SubID" value="【Parter_ID】"/>    
          <add key="GameType" value="1"/>
          <add key="AreaID" value="【Parter_ID】"/>
          <add key="LogPath" value="【LogPath】"/>
          <add key="CountRecord" value="true"/>
          <add key="SaveRecordInterval" value="5"/>
          <add key="TxtRecord" value="true"/>
          <add key="Edition" value="10910"/>
 设置Sql内网连接ip和端口
<endpoint address="http:// 【IP_db】/Flash_Port/PassPort.asmx"
binding="basicHttpBinding" bindingConfiguration="PassPortSoap"
contract="WebLogin.PassPortSoap" name="PassPortSoap" />
<endpoint address="net.tcp:// 【IP_db】:8733/" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_ICenterService" contract="CenterService.ICenterService"
name="NetTcpBinding_ICenterService" />

    
6、 配置多个游戏服务器
1) 参照配置Server1一样,复制Server1到d:dandantang目录下并更改名字为Server2
2) 修改配置文件Road.Service.exe.config
<add key="ServerID" value="2"/>  2为第2个游戏频道
<add key="Port" value="8060"/>   8060为游戏端口

测试

1、启动中心服务器(d:dandantangcenterCenter.Service.exe)
2、启动游戏服务器(d:dandantangserver1Road.Service.exe)
3、测试GM后台登陆http://gameadmin.ddt.7road.com/2a0d0m8in_2l0o0g8in.aspx