Scut初识之HelloWorld

前序:又是好久没动手写写博客了,意味着好久没有自己研究一些新东西了,每天回来都比较晚,可能也比较累,都懒的打开电脑了,最近公司给所有的程序都配置了一台surface,欣喜若狂,轻便小巧,利用三天假期的时间终于可以好好利用一番,偶然的机会看到scut开原游戏服务器(一款基于.net framework4.5.1),便有一种意见钟情的感觉,于是便决定好好研究一番!

一、Scut特点

        一款免费开源的游戏服务器引擎,适用于开发AVG、SLGRPG、MMOG等类型的网络游戏,同时支持Http、WebSocket和Socket协议通讯,支持Window、Mac和Linux多种平台部署,支持Redis内存数据库和Microsoft SQL、MySql数据库;服务器引擎框架基于C#编写,游戏逻辑层可以选择使用C#、Python和Lua多种脚本进行开发,支持热更新的方式部署;客户端可以使用Coscos2d、Unity3d、FlashAir与服务器引擎对接;提供了丰富的中间件,可以简单快捷的搭建您的游戏。

多协议:支持Http / WebSocket / Socket
脚本化:支持C# / Python / Lua脚本开发
多平台:Windows / Linux / Mac平台
多数据库:MSSQL、Mysql及NoSql

兼容多平台、也支持cocos2dx,unity3d,falsh等主流的游戏开发引擎,支持逻辑层脚本语言开发,而且还支持热更新方式部署,是一款非常值得好好研究的.NET开原服务器引擎,作为.NET开发爱好者,有啥理由不喜爱上她呢?!

二、操作步骤

1.安装IIS,Win8上安装跟Win7上稍有区别,Win7上是中文Internet信息服务,Win8上直接叫英文了,要注意一下,具体安装步骤可以参考Win8 IIS安装 ,安装之后再浏览器里面输入localhost能出现默认的IIS页面则说明安装成功!

2.对上面一条的补充,设置应用程序池->DefaultAppPool->v4.0经典,确保IIS可以正常启动。

3.将Scut源码中Scut->Source->Tools->release拷贝到IIS C盘IIS目录C:\inetpub\wwwroot下

4.修改本地默认域名解析,C:\Windows\System32\drivers\etc\hosts修改ip对应的默认域名,127.0.0.1 www.dingxiaowei.com ,这样在浏览器里面输入这个域名就能解析到本地的127.0.0.1

效果如下

5.安装mysql和navicat for mysql,scut支持mssql和mysql,这里我演示的是musql,具体安装自行搜索

6.导入scut数据到本地mysql,导入数据表文件C:\Users\ding\Desktop\study\Work\ASP.NET\Scut\Source\Tools\ContractTools\db\mysql

7.再次刷新网页www.dingxiaowei.com ,会发现出现如图4的协议管理工具

8.在管理工具上点击新建项目,添加协议,添加版本号等等

9.打开vs,新建一个类库,然后将C:\Users\ding\Desktop\study\Work\ASP.NET\Scut\Release\6.7.9.8\Console这里面的工程都拷贝到你新建的工程中,前提要运行一下install.

bat生成一些必要的dll类库文件。

10.将Script文件夹和NLog.config、GameServer.exe.config文件包含在项目中,并且添加引用

11.查看一下Script/CsScript/Action/Action1000.cs文件的命名空间和引用空间,并修改对应的协议网站上的命名空间和引用

12.查看网站上自己添加的协议号并且在工程Script/CsScript/Action目录添加上对应协议号的类,然后将网站上的脚本拷贝过来,我这边是Action100.cs

13.在原来的Action1000.cs添加如下代码
 public override bool GetUrlElement()
        {
            if (httpGet.GetString("UserName", ref UserName)
                 && httpGet.GetInt("Score", ref Score))
            {
                return true;
            }
            return false;
        }

        public override bool TakeAction()
        {
            var cache = new ShareCacheStruct<UserRanking>();
            var ranking = cache.Find(m => m.UserName == UserName);
            if (ranking == null)
            {
                var user = new GameUser() { UserId = (int)cache.GetNextNo(), NickName = UserName};
                new PersonalCacheStruct<GameUser>().Add(user);
                ranking = new UserRanking();
                ranking.UserID = user.UserId;
                ranking.UserName = UserName;
                ranking.Score = Score;
                cache.Add(ranking);
            }
            else
            {
                ranking.UserName = UserName;
                ranking.Score = Score;
            }
            return true;
        }

14.服务器设置为.NET Framework4.5.1,调试选择当前目录下的GameServer,并且工作目录页选择当前目录C:\Users\ding\Desktop\DotaServer\HelloWorldTest\HelloWorldTest\

15.启动RedisServer,然后启动服务器端,直到显示Server has started successfully!Server is listening...表明连接成功

启动redis

启动游戏服务器

16.服务器端就算OK,接下来是客户端,新建一个unity客户端,然后将scut的服务器端sdk拷贝过来,路径是:C:\Users\ding\Desktop\study\Work\ASP.NET\Scut\SDK\Unity3d\Assets,将里面所有的脚本都放在unity的客户端中C:\Users\ding\Desktop\study\Work\ASP.NET\Scut\SDK\Unity3d\Assets

17.测试连接和断开连接

断开连接

三、工程路径

git:https://code.csdn.net/s10141303/scut_helloworld.git

四、参考文档

  1. https://github.com/ScutGame/Scut/wiki
  2. http://www.cnblogs.com/lancidie/p/3412417.html
  3. https://git.oschina.net/scutgame/Scut#git-readme







时间: 2024-08-15 05:55:25

Scut初识之HelloWorld的相关文章

Android 初识 Helloworld 详解

在Eclipse+ADT中创建HelloWorld非常简单,直接按照导航下一步就可以了.本文重点不在如何创建,而在理解HelloWorld项目的文件.需要的朋友可以参考下   HelloWorld的目录结构有: src:存放应用程序的逻辑代码,这里面的代码是人工写的gen:存放资源代码,这里面的代码是自动生成的assets:存放mp3等视频资源bin:生成的可执行的二进制文件目录libs:引用到的库,这里和bin/dexedLibs里面的目录是一致的res:资源文件.往这个目录添加资源的时候,会

Android初识Helloworld

在Eclipse+ADT中创建HelloWorld非常简单,直接按照导航下一步就可以了.本文重点不在如何创建,而在理解HelloWorld项目的文件. HelloWorld的目录结构有: src:存放应用程序的逻辑代码,这里面的代码是人工写的 gen:存放资源代码,这里面的代码是自动生成的 assets:存放mp3等视频资源 bin:生成的可执行的二进制文件目录 libs:引用到的库,这里和bin/dexedLibs里面的目录是一致的 res:资源文件.往这个目录添加资源的时候,会被gen/R.

Android 初识 Helloworld 详解_Android

HelloWorld的目录结构有: src:存放应用程序的逻辑代码,这里面的代码是人工写的gen:存放资源代码,这里面的代码是自动生成的assets:存放mp3等视频资源bin:生成的可执行的二进制文件目录libs:引用到的库,这里和bin/dexedLibs里面的目录是一致的res:资源文件.往这个目录添加资源的时候,会被gen/R.java自动记录,自动那个记录到R.java中去.AndroidManifest.xml:项目的总配置项,记录应用中使用到各种全局的配置ic_launcher-w

[React-Native]环境配置&amp;amp;HelloWorld

一.前言 手头有mac.有开发者证书,不想浪费资源,之前做过iOS开发,还会对移动开发表示关注,现在移动开发目前用Rect Native也是一个热潮,加上之前有web开发经验,然后就有了学习的冲动.Keep learning, make me happy! 二.环境配置 需要mac设备 需要Xcode6.3版本以上 安装Node.js:https://nodejs.org/download/ 建议安装watchman,终端命令:brew install watchman 安装flow:brew

初识docker—创建WEB应用容器1python+flask

初识docker-创建WEB应用容器1python+flask Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. runoob@runoob:~# docker 可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法. 例如我们要查看 docker stats 指令的具体使用方法: runoob@runoob:~# docker stats --help 运行

Android零基础入门第37节:初识ListView

原文:Android零基础入门第37节:初识ListView    之前我们学习的一些UI组件都比较简单,但是在实际开发中,会经常遇见列表界面设计,如通讯录.电话列表.信息列表等.那么从本节开始来详细学习列表界面设计.     一.了解ListView       在Android开发中,ListView是比较常用的控件,它以列表的形式显示具体内容,并且能够根据数据的长度自适应显示.在学习ListView之前,先来一起了解AdapterView.     AdapterView是一组重要的组件,

Android零基础入门第38节:初识Adapter

原文:Android零基础入门第38节:初识Adapter     在上一节一起了解了ListView的简单使用,那么本节继续来学习与ListView有着千丝万缕的Adapter.     一.了解MVC模式       在开始学习Adapter之前我们要来了解下这个MVC模式.说起MVC模式,估计很多同学已经或多或少听说过,可能在前面的Java开发中也有所接触.     MVC全名是Model View Controller,是模型(model).视图(view).控制器(controller

lombok系列1:初识lombok

初识lombok 官网:https://projectlombok.org/ 什么是lombok 连官网都懒得废话,只给出了一句广告词:给你的java加点料(spice up your java). 我们自己来总结一下: lombok是一个ide插件,它可以让我们写更少的代码,而编译出更多的字节码. 也就是说,我们可以让我们编译出一个复杂的.class文件,而我们的.java文件很干净清爽. 为什么要使用lombok 首先,我们可以写更少的代码,而不影响其他类引用,方法一个不能少: 其次,lom

android开发问题-搭建好Android开发环境后创建helloworld出错,求帮助

问题描述 搭建好Android开发环境后创建helloworld出错,求帮助 解决方案 上面appcompat_v7是附带的不用改 等等就可以了,主项目有 红色感叹号,可以先右键项目,选择Build path,再选最后一项Configure Build path...弹出个框后 选择Libraries 下面应该有个是打了叉的 点击那条,remove掉