Scut初识之HelloWorld

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 前序:又是好久没动手写写博客了,意味着好久没有自己研究一些新东西了,每天回来都比较晚,可能也比较累,都懒的打开电脑了,最近公司给所有的程序都配置了一台surface,欣喜若狂,轻便小巧,利用三天假期的时间终于可以好好利用一番,偶然的机会看到scut开原游戏服务器(一款基于.

前序:又是好久没动手写写博客了,意味着好久没有自己研究一些新东西了,每天回来都比较晚,可能也比较累,都懒的打开电脑了,最近公司给所有的程序都配置了一台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


    
    
    
    相关实践学习
    如何快速连接云数据库RDS MySQL
    本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
    全面了解阿里云能为你做什么
    阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
    相关文章
    |
    4月前
    |
    人工智能 Java 测试技术
    本地玩转 DeepSeek 和 Qwen 最新开源版本(入门+进阶)
    本文将介绍如何基于开源工具部署大模型、构建测试应用、调用大模型能力的完整链路。
    1131 65
    |
    11月前
    |
    Windows
    【计算机网络】已解决:“‘ping‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”报错
    【计算机网络】已解决:“‘ping‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”报错
    1094 0
    |
    5天前
    |
    数据采集 自然语言处理 搜索推荐
    基于Qwen3的Embedding和Rerank模型系列,开源!
    近年来,随着大规模预训练语言模型(LLM)的飞速发展,文本嵌入(Embedding)和重排序(Reranking)技术在搜索引擎、问答系统、推荐系统等多个领域的重要性愈发凸显。
    713 72
    |
    4天前
    |
    安全 JavaScript 前端开发
    Typora免费下载,不需要激活,Typora早期版本,Markdown编辑器
    Typora是一款支持实时预览的Markdown编辑器,跨平台兼容Windows、macOS和Linux,适合写作、笔记和技术文档。本文提供合法安全的Typora早期免费版安装方案及常见问题解决方法,助你快速上手。同时详细介绍了Markdown基础用法,包括标题、加粗、斜体、列表、链接、图片、引用、代码块和表格等常用语法,帮助用户高效编写结构化内容。
    931 15
    |
    4天前
    |
    云安全 人工智能 安全
    |
    4天前
    |
    人工智能 前端开发 Devops
    通义灵码带你玩转开发者常用的MCP(合辑,持续更新中)
    今天我们精选了与开发者息息相关和比较热门的MCP 服务,总结了这些技术服务在实际开发的最佳实践,涵盖了从前端开发、后端开发、DevOps、测试、运维等关键环节,及非研发领域中的热度较高的MCP服务。我们通过直播、图文等形式带你了解和学习!
    595 3
    |
    6天前
    |
    存储 前端开发 JavaScript
    2025 最新前端 100 道经典面试题及详细答案汇总整理
    本文整理了100道前端常见面试题及其详细答案,涵盖HTML、CSS、JavaScript等多个领域,助你系统复习前端知识。内容包括HTML5新特性、CSS盒模型、Flex与Grid布局区别、选择器优先级等核心知识点,以及伪类和伪元素的区别等细节。适合准备面试或巩固基础的开发者学习。资源可从文末链接下载。
    467 1
    |
    16天前
    |
    人工智能 API 开发者
    一文带你 "看见" MCP 的过程,彻底理解 MCP 的概念
    本文介绍了模型上下文协议(MCP)的基本概念、工作原理及其应用过程。MCP 是一种连接 AI 助手与数据系统的开放标准,旨在帮助大模型生成更高质量的响应。文章从 RAG 和 Function Calling 的理论基础出发,详细解析了 MCP 的核心组件(主机、客户端、服务器)及优势,并通过 ModelScope 和 Cherry Studio 实例展示其操作流程。同时,文中指出了 MCP 存在的手动配置复杂、工具稳定性不足等问题,但也强调其作为过渡协议的重要性,为未来智能体间的协同和工具使用提供了方向。
    1590 56
    一文带你 "看见" MCP 的过程,彻底理解 MCP 的概念
    |
    8天前
    |
    人工智能 Java 决策智能
    Spring AI Alibaba Graph:多智能体框架实践
    Spring AI Alibaba 是一个面向 Java 开发者的开源人工智能框架,旨在简化 AI 应用开发。本文重点介绍其 Graph 组件,用于解决工作流与多智能体协作问题。Graph 组件通过声明式编程接口,提供统一的上下文管理、消息记忆、人工确认节点等功能,支持复杂 AI 应用的构建。