概述

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目录:Document\Database\Center\MsSql\必备库创建一键运行.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目录)Release\WebSite\DirCenter目录,如图:

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

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

6)     打开当前Scut目录Release\WebSite\DirCenter\Web.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路径: Release\Tools\加解密工具),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目录:Sample\Doudizhu\Server)编辑文件,修改红色字配置如下:

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目录:Doudizhu\PyScript\Route.config.xml文件红色部分配置;

<config>

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

</config>

d)        修改当前Scut目录:Doudizhu\App.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目录下的:Sample\Doudizhu\Server\release 目录下的“DoudizhuHostServer.exe”执行文件,如图:

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

g)        如果进入游戏失败,可以查看服务器日志(路径在Scut:Sample\Doudizhu\Server\release\DdzLog\Exception目录下)

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

3.           口袋Sample

1)      数据库创建

修改批处理文件(Scut目录:Sample\Koudai\Server\游戏库创建一键运行.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)        将站点路径指向到Sample\Koudai\Server\release目录,如图:

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

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

f)         修改当前Scut目录Sample\Koudai\Web.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

如何部署和运行Scut服务器及游戏:Windows篇的更多相关文章

  1. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  2. 将nodejs代码部署到阿里云服务器

    概述 最近在做一个小项目,其中用nodejs做了个数据转发的接口,之后需要将这部分代码部署到服务器上面,并使用Nginx做反向代理.期间使用搜索引擎大量查阅了其他同鞋的经验,不过写的大多很笼统,因此踩 ...

  3. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  4. Spring Boot项目部署到外部Tomcat服务器

    2017年04月27日 23:33:52 阅读数:7542 前言 Spring Boot项目一般都是内嵌tomcat或者jetty服务器运行,很少用war包部署到外部的服务容器,即使放到linux中, ...

  5. hadoop进阶----hadoop经验(一)-----生产环境hadoop部署在超大内存服务器的虚拟机集群上vs几个内存较小的物理机

    生产环境 hadoop部署在超大内存服务器的虚拟机集群上 好 还是  几个内存较小的物理机上好? 虚拟机集群优点 虚拟化会带来一些其他方面的功能. 资源隔离.有些集群是专用的,比如给你三台设备只跑一个 ...

  6. javaWeb项目部署到阿里云服务器步骤 完整版

    记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...

  7. 如何把php项目部署到阿里云服务器window server2012__含公网ip访问时jquery/ajax失效解决办法

    记一次蛋疼的折腾. 弄了一晚上最后发觉是360浏览器的问题,换个浏览器就好了.垃圾360用什么IE7文档模式.导致界面和功能失效. 建议大家测试的时候用firefox或者chrome. 项目部署到服务 ...

  8. Linux:Ubuntu下部署Web运行环境

    Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ...

  9. 部署 CA 和 NPS 服务器证书

    TechNet 库 Windows Server Windows Server 2008 R2 und Windows Server 2008 按类别提供的 Windows Server 内容 按类别 ...

随机推荐

  1. 【清华集训】小Y和地铁

    图已挂,前往luogu 题目: 小 $\rm Y$ 是一个爱好旅行的 $\rm OIer$.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁.她发现每条地铁线路可以看成平面上的一条 ...

  2. Windows核心编程小结3

    内存映射和堆栈 内存映射文件 内存映射文件可以用于3个不同的目的: 系统使用内存映射文件,以便加载和执行.exe和DLL文件.这可以大大节省页文件空间和应用程序启动运行所需的时间. 可以使用内存映射文 ...

  3. 聊聊、RabbitMQ 配置文件

    windows 下面安装 rabbitMQ 比较简单,但是想去改端口相关信息却找不到配置文件在哪.Linux 在 /etc/rabbitmq/rabbitmq.config 下面就可以找到.来看看 w ...

  4. [HTTPS]pfx转jks

    keytool -importkeystore -srckeystore  src.pfx -srcstoretype pkcs12 -destkeystore trg.jks -deststoret ...

  5. Swift全栈开发

    前段时间学习了一下Swift web framework-Vapor, 类似于PHP Laravel的web框架. Apple也成立了Server APIs Project, Server-side ...

  6. 【转】Unity3d的单例及场景间的数据传递

    http://blog.csdn.net/zy19940906/article/details/47724387  单例是场景间切换时传递数据的最常见的方式之一,在unity中,很多方法被封装,有时候 ...

  7. HDU 5322 Hope ——NTT 分治 递推

    发现可以推出递推式.(并不会) 然后化简一下,稍有常识的人都能看出这是一个NTT+分治的情况. 然而还有更巧妙的方法,直接化简一下递推就可以了. 太过巧妙,此处不表,建议大家找到那篇博客. 自行抄写 ...

  8. BZOJ 4069 [Apio2015]巴厘岛的雕塑 ——贪心

    自己首先想了一种方法$f(i)$表示前$i$个最小值为多少. 然而发现位运算并不满足局部最优性. 然后我们可以从高到低贪心的判断,使得每一组的和在一个特定的范围之内. 还要特判最后一个Subtask, ...

  9. BZOJ4872 [六省联考2017]分手是祝愿 【期望dp】

    题目 Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态,下标为 从 1 ...

  10. 洛谷P1816 忠诚

    P1816 忠诚 569通过 1.5K提交 题目提供者该用户不存在 标签云端 难度普及+/提高 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 主席树的常数貌似大于线段树… TL ...