Scut AccountServer】的更多相关文章

开始以Scut搭建服务器框架: 1. 初始目录结构: libs 存放 scut 的引擎文件: release 存放 src 输出的文件: src 存放各子工程源文件: 2. Install.bat:目的是将 libs 里 scut 的引擎文件复制到各工程上. @echo off xcopy /y .\libs\6.7.10.0\*.* .\src\AccountServer\ ECHO Install Ok & PAUSE 3. 将 6.7.9.10 的引擎库文件复制到 libs. 4. 将 M…
Scut快速开发(2) Python脚本开发 1   开发环境 Scut Lib版本:5.2.3.2 需要安装的软件 a)        IIS和消息队列(MSMQ) 进入控制面板,程序和功能 b)        SQL Server2005 c)        VS2010开发工具 d)        Python2.6(ScutGame官网下载IronPython2.6.1 RC1 for .NET 4.0插件) 工具 a)        协议工具(目录Source\Tools\Contra…
起初是看见官方例子里天界行的项目使用了WebService想试一下.用来做充值回调,后来发现由于版本更新已经弃用了 问了下管理员,由于天界行直接从iis服务端移植过来所以还保留了Webservice的代码.而控制台版本基于HttpListener不支持Webservice 我后来尝试scut+wcf也不行,似乎会把wcf代码给动态编译造成失败. 如果需要主动调用scut服务器有两种办法,一个是用remote(scut服务端互相调用), 还有一个是重写Dispatcher,实现对get/post参…
1. 上线后的大并发问题: var sem = new Semaphore(_accepts, _accepts); while (true) { sem.WaitOne(); #pragma warning disable 4014 _listener.GetContextAsync().ContinueWith(async (t) => { try { sem.Release(); var ctx = await t; await ProcessListenerContext(ctx, th…
姑且记录一下,以防未来出现bug回来看看今天改了哪些. 原 Scut 账服是应用于 渠道频道 的账号服务器,每天会发放大量的游客账号,它有一个"自动将已经被注册了一段时间的游客账号再重新推送给其他申请游客账号的人"的机制. 首先需要将这个机制予以屏蔽. 在注册请求时,校验MD5值,从 HttpRequest.Url.Query 中取出的被 DES加密 过的密码串 与 HttpRequest.Url.OriginalString 中对应的密码串不同,导致MD5校验失败. 直接解析  Ht…
整体通服的架构图如下: 整体思路: 尽量将公共的业务逻辑分拆到单个业务服务器: 公共业务RDB读写分离,提高IO并发量: 角色简要信息.角色战斗信息修改后将ID压入修改队列,简要信息每3分钟通知同步一次redis,战斗信息每10分钟通知同步一次redis: 单公共业务服务器,是以单机架构还是分布式架构? 方法一:采用单物理机构型,部署Scut,在对内存数据进行修改时加互斥锁,而且要考虑多线程操作时,向redis写缓存队列插入写操作的乱序问题: Scut 支持 ModifyLock 对数据进行原子…
直接利用 Scut 提供的服务器管理工具进行服务器管理. 教程:https://github.com/ScutGame/Scut/wiki/DirServer. 几个注意点: 下载的数据库导入bat是 UTF8 编码格式的,DOS执行会乱码,将其另存为 ANSI 格式编码的再执行: 新的站点需要开新的端口: 整个服务器列表站点的管理是以网页指令+数据库的模式来管理的: 游戏服务器内需要增加一个线程,定时更新分服列表数据库内本服的状态信息: 请求服务器列表与服务器状态是以 Scut 的 Actio…
Scut 在启动时有一个自动根据代码中数据类型检查数据库字段的功能,要如何使用呢? 脚本引擎动态加载 ModelAssembly: ScriptEngine.cs - InitScriptRuntimeScope: EntitySchemaSet.LoadAssembly(scope.ModelAssembly); EntitySchemaSet.cs - LoadAssembly: ).ToList(); foreach (var type in types) { InitSchema(typ…
在大致过了一遍Scut的底层结构(其实只是对各个组件有了一个初步印象而已),现在开始尝试搭建“口袋天界”的Scut服务端. 1. 设置外部启动项 项目属性 -- 调试 -- 启动外部程序 -- 项目根目录下的 GameServer.exe: 2. 正常安装环境后启动server,Db无法连接 通过官方文档确认 GameServer.exe.config 中的数据库连接配置,使用的是“MySqlDataProvider”,而我安装的是MSSQL,所以配置上要换成“SqlDataProvider”.…
Scut 的缓存管理看起来还是蛮复杂的.   redis 本身就有内存缓存+持久化的作用,Scut还是自己封装了一层内存缓存+Redis缓存+持久化. . 这是一个缩略版本的结构图. 1. 上半部分是通用的缓存池结构,用来存放各类缓存数据. 第一层Dictionary是按大类区分:Entity_{0}.Personal_(0),type.name 等:   第二层Dictionary则是进一步细分,比如同样一个type下的 type.name +"UserID": 2. 下半部分则是应…