Skip to content

SocketRankOfCocosSample

ScutGame edited this page Oct 16, 2015 · 5 revisions

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

1. 示例摘要

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

2 环境要求

  • Redis Server:下载2.6.12以上版本

  • DB数据库: MSSQL2008或MySQL5.0以上版本

  • .Net Framework: 4.5.1以上版本

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

3. 下载示例

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

建议使用Git工具下载;

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

  • 客户端:D:\Scut-samples\GameRanking\Client\release_socket\

  • 服务端:D:\Scut-samples\GameRanking\Server\release_socket\

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

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\release_socket\GameServer.exe.config), 根据需要修改Game.Port服务的端口;

  <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" />

  </appSettings>

4.4 启动GameServer服务器

  1. 打开D:\Scut-samples\GameRanking\Server\release_socket\GameServer.exe文件,启动服务器;
  2. 使用netstat -an检查配置的端口:9001是否有在监听,若没则有可能是防火墙或权限不够的原因;
  3. 或请查看当前Log目录下的异常文件日志,根据异常信息到wiki的FAQ查找解决方法;

4.5 启动客户端

  1. 打开“D:\Scut-samples\GameRanking\Client\release\MainApp.exe”文件,启动客户端; 2.若服务端提供的Url地址是使用ip和端口的方式,需要修改客户端连接服务器的地址,打开lua\testScene.lua文件;

    ScutDataLogic.CNetWriter:setUrl("http://ph.scutgame.com/service.aspx")

  2. 测试,先提交成绩, 再查看排行;

Clone this wiki locally