zoukankan      html  css  js  c++  java
  • 如何部署和运行Scut服务器及游戏:Windows篇

    概述

    Scut游戏引擎是一个永久免费的全脚本游戏服务器框架,采用MVC框架设计,简化数据库设计和编码工作;降低对开发人员的开发难度;同时提供了丰富的类库和API接口。

    一、    安装环境

    必须安装的软件如下

    • Redis:key-value数据库,2.6.x以上版本
    • 数据库:MSSQL 2005以上版本
    • Web服务器: iis 6.0以上版本
    • .NET运行库:.Net Framework 4.0以上版本

    软件安装说明

    1.           安装Redis (Window版本)

    安装说明:http://www.cocoachina.com/bbs/read.php?tid=167525

    测试Redis是否运行正常

    a)        打开“redis-server.exe”启动Redis服务端

    b)        打开“redis-cli.exe”启动Redis客户端

    c)        输入“set foo bar” -- 提示 “ok”说明设置键值正常

    d)        输入“get foo” -- 能够提示返回正确的“bar”,说明运行正常

    2.           安装MSSql (2005版本)

    百度搜索自行安装

    3.           安装Web服务器(IIS 7.0)

    a)        在开始 -> 打开控制面板,进入“程序和功能”,选择“打开和关闭Windows功能”,如下图设置“Internet信息服务”选项安装。

                           

    b)        安装成功后,选择根目录的功能视图,检查“ISAPI和CGI限制”,设置“ASP.NET v4.0”为允许。如图:

     

     

    4.           .NET运行库3.5和4.0

    下载地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

    下载安装程序后,打开直接安装。

    二、    搭建分服系统

    1.           帐号和充值数据库初始化

    用户中心、分服中心和充值中心使用的数据采用批处理方式创建(批处理文件在当前下载Scut目录:DocumentDatabaseCenterMsSql必备库创建一键运行.bat);使用Sa帐号(安装MYSQL数据库时的帐号)创建数据库(或用DB维护者权限的帐号),配置需要相应修改;bat文件如下:

    set dbServer=.   数据库服务地址

    set dbAcount=sa  帐号(有创建库权限的)

    set dbPass=123   密码

    set   gameuser=game_user  需要创建游戏服使用的帐号

    set gamepass=123    游戏服使用的密码

    set   dbpath=%cd%Data   数据库存储位置目录(默认当前目录)

    2.           站点部署

    1)     打开控制面板->管理工具-> Internet 信息服务(IIS)管理器

    2)     在网站结点右击,添加站点dir.scutgame.com

    3)     将站点路径指向到(当前下载Scut目录)ReleaseWebSiteDirCenter目录,如图:

     

    4)     选择应用程序池,右击“dir.scutgame.com”->高级设置,设置为“.NET Framework v4.0”和“经典”模式,“固定时间间隔”为0,如图:

     

    5)     设置Host文件(位置:C:WindowsSystem32driversetchosts),添加配置“127.0.0.1 dir.scutgame.com”域名转向解析

    6)     打开当前Scut目录ReleaseWebSiteDirCenterWeb.config文件,修改数据库连接

    <add   key="Connection" value="Data Source=.;Database=PayDB;Uid=game_user;Pwd=123; Pooling=true;Max Pool Size=200;Min Pool   Size=0;"/>

    7)     测试,打开IE访问:http://dir.scutgame.com/DirService.asmx,如图正常:

     

    三、    运行游戏

    1.           中间件配置

    • 帐号中间件配置

    在游戏Sample目录下的Web.Config或App.config文件,找到以“Snscenter_”开头的配置,配置“Snscenter_Acount”使用工具生成加密串(当前Scut路径: ReleaseTools加解密工具),Acount原串:“Uid=game_user;Pwd=123”(密钥:BF3856AD)如图:

     

    数据库连接配置如下(修改红色部分):

    <appSettings>

        <add   key="Snscenter_ConnectionString" value="Data   Source={0};Database=snscenter;{1}; Pooling=true; Max Pool Size=200;Min Pool Size=0;"/>

        <add   key="Snscenter_Server" value="."/>

        <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"/>

    </appSettings>

    • 充值中间件配置

    配置数据库连接字符串,如下:

    <appSettings>

        <add key="PayDB_ConnectionString"   value="Data Source={0};Database=PayDB;{1}; Pooling=true; Max Pool Size=200;Min Pool Size=0;"/>

        <add key=" PayDB_Server" value="."/>

        <add key=" PayDB_Acount" value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"/>

    </appSettings>

    注:以上中间件数据库连接配置,在以下Sample(斗地主、口袋)配置中修改

    2.       斗地主Sample

    1)      数据库创建

    游戏服划分三个数据库,分别为:DdzConfig、Ddz1Data和Ddz1Log库;

    l  DdzConfig库:存储游戏内数值配置等信息;

    l  Ddz1Data库:存储玩家信息;

    l  Ddz1Log库:存储玩家操作日志信息;

    右击”游戏库创建一键运行.bat“(当前Scut目录:SampleDoudizhuServer)编辑文件,修改红色字配置如下:

    set dbServer=.

    set dbAcount=sa

    set dbPass=123

    set gameuser=game_user

    set gameName=Ddz

    set   dbpath=%cd%Data

    修改后保存,并运行”游戏库创建一键运.bat“,在开始->打开”Microsoft SQL Server管理器“,查看是否有”Ddz “开头的数据库并且里面有表则生成成功;

    2)      启动Exe程序

    a)        检查Redis服务器是否运行状态,打开Redis安装目录,运行redis-server.exe

    b)        设置Host,添加127.0.0.1 ddz.scutgame.com

    c)        修改当前Scut目录:DoudizhuPyScriptRoute.config.xml文件红色部分配置;

    <config>

      <lib path="D:/Python/Lib"   />  <!-- Python安装目录-->

    </config>

    d)        修改当前Scut目录:DoudizhuApp.config文件红色部分配置(参考中间件配置);设置” Redis.Host “地址为安装Redis环境的机器IP地址(我的本机地址是:192.168.1.104)

    <appSettings>

        <add key="Redis.Host"   value="192.168.1.104" />

        <add key="PayDB_Server"   value="." />

        <add key="PayDB_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502" />

        <add key="Snscenter_Server"   value="." />

        <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502" />

    </appSettings>

    <connectionStrings>

        <add name="DoudizhuConfig"   providerName="" connectionString="Data Source=.;Database=DdzConfig;Uid=game_user;Pwd=123; Pooling=true;"/>

        <add name="DoudizhuData"   providerName="" connectionString="Data Source=.;Database=Ddz1Data;Uid=game_user;Pwd=123; Pooling=true;"/>

        <add name="DoudizhuLog"   providerName="" connectionString="Data Source=.;Database=Ddz1Log;Uid=game_user;Pwd=123; Pooling=true;"/>

    </connectionStrings>

    e)        运行Scut目录下的:SampleDoudizhuServer elease 目录下的“DoudizhuHostServer.exe”执行文件,如图:

     

    f)         运行游戏客户端Client目录下的“MainApp.exe”程序,进入游戏。

    g)        如果进入游戏失败,可以查看服务器日志(路径在Scut:SampleDoudizhuServer eleaseDdzLogException目录下)

    h)        如果" DoudizhuHostServer.exe "程序打出如图,则连接成功,否则检查9700端口是否被防火墙阻止,在防火墙添加出入规则或可以防火墙关闭;

     

    3.           口袋Sample

    1)      数据库创建

    修改批处理文件(Scut目录:SampleKoudaiServer游戏库创建一键运行.bat)配置如下:

    set dbServer=.

    set dbAcount=sa

    set dbPass=123

    set gameuser=game_user

    set gameName=Kd

    set   dbpath=%cd%Data

    运行“游戏库创建一键运.bat”文件,等待提示“执行成功”。

    2)      部署站点

    a)        打开控制面板->管理工具-> Internet 信息服务(IIS)管理器

    b)        在网站结点右击,添加站点“kd1.scutgame.com”

    c)        将站点路径指向到SampleKoudaiServer elease目录,如图:

     

    d)        打开应用程序池,右击“kd1.scutgame.com” 选择“高级设置”设置“.NET Framework v4.0”和“经典”模式,“固定时间间隔”为0,如图:

     

    e)        在Host文件添加127.0.0.1 kd1.scutgame.com

    f)         修改当前Scut目录SampleKoudaiWeb.Config配置文件,(注:这里以Redis.Db配置划分不同的游戏服,或配置多个Redis实例以Redis.Port端口划分),参数据连接加密参考中间件配置

    <appSettings>

        <add key="Redis.Host"   value="192.168.1.104" />

        <add key="Redis.Db"   value="6" />

        <add key="PayDB_Server"   value="." />

        <add key="PayDB_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"   />

        <add key="Snscenter_Server"   value="." />

        <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"   />

    </appSettings>

    <connectionStrings>

        <add   name="TianjiexingConfig" providerName=""   connectionString="Data Source=.;Database=KdConfig;Uid=game_user;Pwd=123;"/>

        <add name="TianjiexingData"   providerName="" connectionString="Data   Source=.;Database=Kd1Data;Uid=game_user;Pwd=123; "/>

        <add name="TianjiexingLog"   providerName="" connectionString="Data   Source=.;Database=Kd1Log;Uid=game_user;Pwd=123;"/></connectionStrings>

    g)        检查Redis服务器是否运行状态,打开Redis安装目录,运行redis-server.exe

    h)        打开IE访问:http://kd1.scutgame.com/Service.aspx,如下正常:

     

    i)          运行客户端“start.vbs”文件(设置为竖屏),进入游戏。

    注意:不能直接运行MainApp.exe

  • 相关阅读:
    【HDU 2093】考试排名(结构体水题)
    【HDU 2037】今年暑假不AC
    【HDU 1234】开门人和关门人(水题)
    【HDU 1005】Number Sequence
    第一篇博客——ACM之路!
    深度学习全家福
    搭建 keras + tensorflow
    MSCI 成份股 清单
    SK-Learn 全家福
    创业笔记 -- 网站正式对外运营
  • 原文地址:https://www.cnblogs.com/scut/p/3439317.html
Copyright © 2011-2022 走看看