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[ GithubOschina] 中下载示例源码;

建议使用Git工具下载;

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

  • 客户端:D:\Scut-samples\UnityDemo\Client\ScutDemo

  • 服务端:D:\Scut-samples\UnityDemo\Server\src\

4 示例部署

4.1 搭建数据库

  1. 打开目录(D:\Scut-samples\UnityDemo\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是否创建成功;

另外这里有使用到共公的用户中心snscenter及分区充值PayDB数据库;可以从示例DoudizhuKoudai导入。

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\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服务器

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

4.5 启动客户端

  1. 打开“Scut-samples\UnityDemo\Client\ScutDemo\Assets\Scene\LoginScene.unity”启动客户端;

  2. 因Untity开发工具版本问题,可能会丢失脚本文件,检查以下Scene是否有绑定相应的脚本;

    • LoginScene:绑定Assets\Script\View\Login.cs脚本;
    • MainScene:绑定Assets\Script\View\Main.cs脚本;
    • RoleScene:绑定Assets\Script\View\Regist.cs脚本;
  3. 若服务端提供的Url地址是使用ip和端口的方式,可以在Login.cs文件中修改客户端连接服务器的地址;

  4. 最后运行游戏;

注册账号并登录,账号由服务端自动生成的

Unity3d

创建角色

Unity3d

显示主场景

Unity3d