Skip to content

HttpRankOfUnitySample

ScutGame edited this page Oct 16, 2015 · 6 revisions

此章节介绍如何部署排行榜示例

1. 示例摘要

排行榜功能模块是游戏中是不可缺少的一部分,在本章节中介绍下在如何搭建短连接的排行榜服务端,以及客户端使用Untity接入服务端的排行榜。

2 环境要求

  • Redis Server:下载2.6.12以上版本

  • DB数据库: MSSQL2008或MySQL5.0以上版本,二选一

  • .Net Framework: 4.5.1以上版本

  • Python运行环境: Python 2.6版本[可选](python脚本开发者使用)

  • Untity: 4.6.1f1

3. 下载示例

需要先从samples[ GithubOschina] 中下载示例源码;

另外客户端的源码在Scut.git仓库需要从Scut仓库[ GithubOschina] 中下载,位置在:SDK\Unity3d目录下

建议使用Git工具下载;

示例路径(如:下载到本地电脑的D盘):

  • 客户端:D:\Scut\SDK\Unity3d\

  • 服务端:D:\Scut-samples\GameRanking\Server\src\GameRanking.WebU3D4_5\

4 示例部署

4.1 搭建数据库

  1. 打开目录(D:\Scut-samples\GameRanking\Server\db),根据使用的数据库是MSSQL或MySQL选择执行目录(mssql或mysql)下的sql脚本;
  2. 在Window平台,使用MSSQL数据库则直接运行run.bat,需要先编辑run.bat文件的sa密码是否正确;
	set dbServer=.
	set dbAcount=sa
	set dbPass=123
  1. 在Window平台,使用MySQ数据库则需要手动执行mysql\create_db.sql文件,可以使用Navicat for MySQL客户端工具执行;
  2. 在Linux或Mac平台,可以打开命令窗口执行,这里的mysql的root用户密码是123;
	mysql -uroot -p123 <create_db.sql;
  1. 检查数据库PHData是否创建成功;

4.2 部署Redis Server

Redis是一个NoSql的内存数据库, Window系统部署方式:

  1. 打开下载RedisServer2.6.12.zip的文件并解压;
  2. 根据系统32位或63位运行相应的x86\run.bat或x64\run.bat文件;
  3. 启动Redis Server,启动后不要随意关闭,关闭会造成数据丢失。

4.3 游戏服务器配置

打开服务器的配置文件(D:\Scut-samples\GameRanking\Server\src\GameRanking.WebU3D4_5\GameServer.exe.config), 根据需要修改Http服务的地址和端口,这里使用的是域名做为地址可以与其它程序共用80端口,需要增加域名转向Host配置

  <appSettings>
    <!--基本配置
        Port:监听端口
        Code:产品代码
        ServerId:产品游服代码
        Redis.Host:Redis主机地址
        Redis.Port:Redis主机端口
        Redis.Password:密码
        Redis.Db:数据库位置
    -->
    <add key="Product.Code" value="0" />
    <add key="Product.ServerId" value="0" />
    <add key="Game.Port" value="9001" />
    <add key="Redis.Host" value="127.0.0.1" />
    <add key="ScriptRelativePath" value="Script" />
    <add key="CSharpRootPath" value="CsScript" />
    <add key="Game.Language.TypeName" value="GameServer.CsScript.Locale.SimplifiedLanguage" />
    <add key="Game.Action.Script.TypeName" value="GameServer.CsScript.Action.Action{0}" />
    <add key="Script_IsDebug" value="True" />

    <add key="Game.Http.Host" value="http://ph.scutgame.com" />
    <add key="Game.Http.Port" value="80" />
    <!--使用Ip和端口
    <add key="Game.Http.Host" value="127.0.0.1" />
    <add key="Game.Http.Port" value="2015" />
    -->
  </appSettings>

域名转向Host配置:

  • 打开“C:\Windows\System32\drivers\etc\HOSTS”文件,在文件结尾增加一行 127.0.0.1 ph.scutgame.com;
  • 测试ph.scutgame.com域名,打开cmd命令窗口,输入:ping ph.scutgame.com,查看是否是解析到了本机的IP地址;

4.4 启动GameServer服务器

  1. 打开D:\Scut-samples\GameRanking\Server\src\GameRanking.WebU3D4_5\GameServer.exe文件,启动服务器;
  2. 如果有fail,请查看当前Log目录下的异常文件日志,根据异常信息到wiki的FAQ查找解决方法;

4.5 启动客户端

  1. 打开“D:\Scut\SDK\Unity3d\Assets\TestScene.unity”启动客户端;

  2. 因Untity开发工具版本问题,可能会丢失脚本文件,检查Main Camera是否有绑定Assets\Game\Behaviour\TestGUI.cs脚本;

  3. 若服务端提供的Url地址是使用ip和端口的方式,可以在TestGUI.cs文件中修改客户端连接服务器的地址;

  4. 最后运行游戏;

Game Ranking u3d

Clone this wiki locally