UnityDemo - ScutGame/Scut GitHub Wiki
此章节介绍登录与建角示例示例--Socket服务器 & Unity3D
1. 示例摘要
在本章节中介绍下在如何搭建长连接的登录注册功能的服务端,以及客户端使用Untity接入。
2 环境要求
-
Redis Server:下载2.6.12以上版本
-
DB数据库: MSSQL2008或MySQL5.0以上版本,二选一
-
.Net Framework: 4.5.1以上版本
-
Untity: 4.6.1f1
3. 下载示例
需要先从samples[ Github 或 Oschina] 中下载示例源码;
建议使用Git工具下载;
示例路径(如:下载到本地电脑的D盘):
-
客户端:D:\Scut-samples\UnityDemo\Client\ScutDemo
-
服务端:D:\Scut-samples\UnityDemo\Server\src\
4 示例部署
4.1 搭建数据库
- 打开目录(D:\Scut-samples\UnityDemo\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
是否创建成功;
另外这里有使用到共公的用户中心snscenter
及分区充值PayDB
数据库;可以从示例Doudizhu
或Koudai
导入。
4.2 部署Redis Server
Redis是一个NoSql的内存数据库, Window系统部署方式:
- 打开下载RedisServer2.6.12.zip的文件并解压;
- 根据系统32位或63位运行相应的x86\run.bat或x64\run.bat文件;
- 启动Redis Server,启动后不要随意关闭,关闭会造成数据丢失。
4.3 游戏服务器配置
打开服务器的配置文件(D:\Scut-samples\UnityDemo\Server\src\Scut.Demo\GameServer.exe.config),根据需要修改端口;
<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:6379"/>
<add key="ScriptRelativePath" value="Script"/>
<add key="CSharpRootPath" value="CsScript"/>
<add key="LuaRootPath" value="LuaScript"/>
<add key="Product.ClientDesDeKey" value="j6=9=1ac"/>
<add key="Game.Language.TypeName" value="GameServer.CsScript.Locale.SimplifiedLanguage"/>
<add key="Game.Action.Script.TypeName" value="GameServer.Script.CsScript.Action.Action{0}"/>
<add key="Script_IsDebug" value="True"/>
<add key="Lua_Disable" value="True"/>
</appSettings>
<connectionStrings>
<add name="SnsCenter" providerName="MySqlDataProvider" connectionString="Data Source=localhost;Database=snscenter;Uid=root;Pwd=123456;"/>
<add name="PayCenter" providerName="MySqlDataProvider" connectionString="Data Source=localhost;Database=PayDB;Uid=root;Pwd=123456;"/>
<add name="ConnData" providerName="MySqlDataProvider" connectionString="Data Source=localhost;Database=PHData;Uid=root;Pwd=123456;"/>
</connectionStrings>
配置中使用MySql的数据库。
4.4 启动GameServer服务器
- 打开D:\Scut-samples\UnityDemo\Server\src\Scut.Demo\GameServer.exe文件,启动服务器;
- 如果有fail,请查看当前Log目录下的异常文件日志,根据异常信息到wiki的FAQ查找解决方法;
4.5 启动客户端
-
打开“Scut-samples\UnityDemo\Client\ScutDemo\Assets\Scene\LoginScene.unity”启动客户端;
-
因Untity开发工具版本问题,可能会丢失脚本文件,检查以下Scene是否有绑定相应的脚本;
- LoginScene:绑定Assets\Script\View\Login.cs脚本;
- MainScene:绑定Assets\Script\View\Main.cs脚本;
- RoleScene:绑定Assets\Script\View\Regist.cs脚本;
-
若服务端提供的Url地址是使用ip和端口的方式,可以在Login.cs文件中修改客户端连接服务器的地址;
-
最后运行游戏;
注册账号并登录,账号由服务端自动生成的
创建角色
显示主场景