-
Notifications
You must be signed in to change notification settings - Fork 577
SocketRankOfUnitySample
此章节介绍如何部署排行榜示例
排行榜功能模块是游戏中是不可缺少的一部分,在本章节中介绍下在如何搭建长连接(Socket)的排行榜服务端,以及客户端使用Untity接入服务端的排行榜。
-
Redis Server:下载2.6.12以上版本
-
DB数据库: MSSQL2008或MySQL5.0以上版本,二选一
-
.Net Framework: 4.5.1以上版本
-
Python运行环境: Python 2.6版本[可选](python脚本开发者使用)
-
Untity: 4.6.1f1
需要先从samples[ Github 或 Oschina] 中下载示例源码;
另外客户端的源码在Scut.git仓库需要从Scut仓库[ Github 或 Oschina] 中下载,位置在:SDK\Unity3d目录下
建议使用Git工具下载;
示例路径(如:下载到本地电脑的D盘):
-
客户端:D:\Scut\SDK\Unity3d\
-
服务端:D:\Scut-samples\GameRanking\Server\src\GameRanking.HostU3D4_5\
- 打开目录(D:\Scut-samples\GameRanking\Server\db),根据使用的数据库是MSSQL或MySQL选择执行目录(mssql或mysql)下的sql脚本;
- 在Window平台,使用MSSQL数据库则直接运行
run.bat
,需要先编辑run.bat文件的sa密码是否正确;
set dbServer=.
set dbAcount=sa
set dbPass=123
- 在Window平台,使用MySQ数据库则需要手动执行
mysql\create_db.sql
文件,可以使用Navicat for MySQL客户端工具执行; - 在Linux或Mac平台,可以打开命令窗口执行,这里的mysql的root用户密码是123;
mysql -uroot -p123 <create_db.sql;
- 检查数据库
PHData
是否创建成功;
Redis是一个NoSql的内存数据库, Window系统部署方式:
- 打开下载RedisServer2.6.12.zip的文件并解压;
- 根据系统32位或63位运行相应的x86\run.bat或x64\run.bat文件;
- 启动Redis Server,启动后不要随意关闭,关闭会造成数据丢失。
打开服务器的配置文件(D:\Scut-samples\GameRanking\Server\src\GameRanking.HostU3D4_5\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>
- 打开D:\Scut-samples\GameRanking\Server\src\GameRanking.HostU3D4_5\GameServer.exe文件,启动服务器;
- 使用
netstat -an
检查配置的端口:9001是否有在监听,若没则有可能是防火墙或权限不够的原因; - 或请查看当前Log目录下的异常文件日志,根据异常信息到wiki的FAQ查找解决方法
-
打开“D:\Scut\SDK\Unity3d\Assets\TestScene.unity”启动客户端;
-
因Untity开发工具版本问题,可能会丢失脚本文件,检查
Main Camera
是否有绑定Assets\Game\Behaviour\TestGUI.cs脚本; -
若服务端提供的Url地址是使用ip和端口的方式,可以在TestGUI.cs文件中修改客户端连接服务器的地址;
-
最后运行游戏;