首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Golang语言社区--手游服务器开发技术详解

(以下所指游戏服务器更偏向于手游,因为我对端游和页游开发接触并不多) 一.聊聊服务器开发有哪些东西要考虑。...当然,也有其他服务器开发语言,erlang(没用过,页游公司用的多),c#(大棒子国喜欢用,神奇的民族),Java(第一次听说时我惊呆了),node.js(少量游戏用的,还有一个node.js写的引擎叫...看过两个游戏服务器引擎  1.firefly(9秒社团开发的一款python游戏服务器框架) https://github.com/9miao/Firefly 2.kbengine(作者说他按bigworld...二.开发一个游戏服务器需要掌握的开源技术 1.libevent,boost.asio等网络库,网上有很多开源网络库,与其自己造轮子,不如就用开源网络库作为自己服务器的通讯库。...在这里它更适合服务器与服务器之间的通信,比如逻辑服和战斗服之间进行通信。 4.memcached:一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

3.4K40

Unity手游实战:从0开始SLG——UI框架篇(一)各种UI框架模型简介

基于很多的原因,软件UI框架开始分化为M-V-C的模式。M层专注于数据处理, V层专注实现的专注于表现,柱状图,饼状图、表格按你意愿。 一个典型的MVC的框架可以这么表示: ?...那么MVE可以认为是MVC的一个变种,但是V会和数据中心共享。 话不多说看图: ? 作为网络游戏来说,数据应该来自两个部分,一部分是策划编辑的数据,一部分是通过服务器下发的数据。...界面通过注册事件来订阅指定的事件类型,数据中心通过和服务器之间的交互来获得或者改变数据,并根据需求推送指定的Event,当界面关心的事件发生的时候,它有两个可能,一部分是动态变化的局部更新,可以通过事件带下来...然后我吃掉了一个经验丹,这时候服务器会告诉客户端删除一个物品,这个时候数据层会通过事件触发,背包监听了这个事件,然后查找对应的道具ID,删除,然后对背包道具进行局部重新排列刷新。...所以V和M的关系只是查询,并不会改变数据,数据的变化只能来自于服务器的协议驱动。(当然一些客户端自定义的用于辅助的数据,比如排序列表,计时器等VIEW层自己变化就好。)

4.5K42
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    手游推广方面的一些想法

    现在游戏越来越多,主要是吸金,在推广方面却遇到一些问题。...还有一个就是页游、手游都会遇到的一个问题,我从XX区分享一个链接出去,我的好友点击后却进入了YY区(默认都会选中最新开启的区),这样就会导致我跟我的好友无法变成游戏中的好友(除非合服了)。...这个问题在腾讯开放平台上可能表现的比较明显,解决这个问题其实是比较简单的,分享的url中其实是带有主动分享人的roleId、serverId,通过这个serverId选中指定的服务器就可以了,我觉得还应该再加一个开关...回到前面,分享的链接一般由 serverId + roleId 通过一定的规则(比如再加一组特定的值进行md5/rsa)生成(暂称为KEY),你只要通过浏览器访问过该分享地址,之后下载、安装,直至你启动游戏...(假定中间没有打断操作并清理过浏览器历史记录或者微信的缓存),当游戏启动后,就会查找微信的缓存或者浏览器的历史记录,一旦找到符合规则的串(前面提到的KEY)就上报服务器,服务器根据串反解析出serverId

    61410

    手游的一些事儿 - 动态更新

    标题本来想叫“手游那些事儿”,想了想还是算了,不想盗用“明朝那些事儿” 的“招牌”(其实还是有盗用的嫌疑,哈哈)。 为了抹掉打广告的嫌疑,这里暂以已经比较火的或者腾讯出品的游戏举例(外加吐槽) ?...腾讯的《游龙英雄》 ? 游久的《酷酷爱魔兽》 ?...腾讯的《怪物弹珠》 目前国内手游2d开发以cocos2d-x js/lua为主流,3d多使用unity3d,类似网易这种做过端游的游戏厂商则倾向于使用在端游已经成熟的引擎来进行开发。...但过份依赖动态更新就有问题了,比如上面的《游龙英雄》,一个apk包不到100M,一启动游戏就提示我要下载156.9M,吭哧吭哧又要等好久,好忧伤… 等好久能玩游戏也就罢了,《怪物弹珠》最恶心了,下载用了好久...预发布环境的另外一个作用是,可以对服务器列表的显示进行过滤,比如现在默认配置了三组新服,但没有对外网玩家开放,这个时候测试人员就可以拿外网的包进入新配置的服务器进行测试。

    70420

    WeTest全球化服务,为使命召唤手游质量保驾护航

    同名手游(CODM)10月份在海外上线,仅一周内下载量就已突破一亿次,更是横扫139个国家及地区的APP Store免费榜单,无疑是非常成功的一款手游。...一站式服务:助力《使命召唤手游》品质保障 手游上线前需要对产品的兼容性、性能等方面做全面的测试。...另外使命召唤手游的用户覆盖全球,在测试服务中也需要覆盖到国际化方面。...腾讯WeTest除能提供国内外主流设备进行线上调试,自动化测试服务外,还能提供全球范围内用户性能监控、舆情监控服务,满足手游全球化测试需求。...全球化性能监控满足高性能要求 使命召唤手游项目组对手游性能表现方面也有着极高的要求,为了提升玩家用户体验,项目组借助APM线上监控服务,实时监控产品全网性能数据,包含FPS、CPU、PSS、回扯、场景加载时间

    47840

    WeTest全球化服务,为使命召唤手游质量保驾护航

    同名手游(CODM)10月份在海外上线,仅一周内下载量就已突破一亿次,更是横扫139个国家及地区的APP Store免费榜单,无疑是非常成功的一款手游。   ...___ 一站式服务:助力《使命召唤手游》品质保障   手游上线前需要对产品的兼容性、性能等方面做全面的测试。...另外使命召唤手游的用户覆盖全球,在测试服务中也需要覆盖到国际化方面。   ...腾讯WeTest除能提供国内外主流设备进行线上调试,自动化测试服务外,还能提供全球范围内用户性能监控、舆情监控服务,满足手游全球化测试需求。...全球化性能监控满足高性能要求   使命召唤手游项目组对手游性能表现方面也有着极高的要求,为了提升玩家用户体验,项目组借助APM线上监控服务,实时监控产品全网性能数据,包含FPS、CPU、PSS、回扯、场景加载时间

    78920

    (转载非原创)一个java页游服务器框架

    /metoy/p/4305326.html 一、前言   此游戏服务器架构是一个单服的形式,也就是说所有游戏逻辑在一个工程里,没有区分登陆服务器、战斗服务器、世界服务器等。...此架构已成功应用在了多款页游服务器 。在此框架中没有实现相关业务逻辑,只有简单的测试用的注册登陆功能。...我们可以很容易的在次架构中加入一个机遇web的管理系统,直接管理当前游戏服务器的在线玩家 三、通信层   java开发socket服务器最常用的就是mina和netty这两个nio框架。...网上有测试说netty性能稍好一些。但是由于mina在生产环境中没遇到什么问题,而且本人对mina源码比较熟悉,还是采用了mina作为通信层框架。...以上是对这个java页游服务器的简单概述,具体代码细节请看项目源码,语言描述似乎有点困难^_^。篇幅可能有点小,希望管理员不要老给移除掉,

    93430

    锻造高品质手游 腾讯WeTest参展GADC全球游戏开发者峰会

    5月27日,腾讯GADC全球游戏开发者峰会在北京国际饭店会议中心举行,作为游戏行业开发者的又一重磅活动,以“链接·生态”为主题,本次开发者峰会是聚焦游戏开发者的黄金时代,作为腾讯旗下服务移动应用游戏开发者的核心平台...GADC上腾讯WeTest展台一角 实际上在GADC全球游戏开发者峰会之前,腾讯WeTest也接连发布预热倒计时,重点宣介了WeTest即将升级版本的舆情监控平台和舆情专项服务,同时对服务器压力测试、手游云测等功能...方亮谈高品质手游的锻造之路 在本次GADC峰会期间,腾讯互动娱乐研发部游戏质量总监方亮以《高品质手游的锻造之路》为主题分享了腾讯WeTest “为游戏而生,让品质发声”的具体方法论,方亮曾任腾讯精品移动游戏战略质量总负责人...作为始于腾讯内部质量监控平台,腾讯WeTest为开发者提供一站式综合的游戏测试全套解决方案,包括适配兼容、安全、云真机、性能、服务器压力等一系列测试和分析,覆盖游戏研发、测试等产业链各环节。...腾讯WeTest提供:兼容适配测试;云端真机调试;安全测试;耗电量测试;服务器压力测试;舆情监控等服务 ↙点击下方“阅读原文”了解更多

    62530

    手游后劲不足,“体验”会是端游发展的一张王牌吗?

    从目前来看,付费游戏的市场正在不断缩小,高质量免费游戏的数量在不断增加,使得越来越多的玩家们倾向于免费游戏,同样,不仅付费手游市场,整个手游市场也随着时间和用户需求的改变而逐渐体现出一些“弊病”。...随着IP热潮的持续发酵,我们不得不面对一个现实问题:随着诸多知名IP先后被改编成手游,能继续使用的IP已经所剩无几了。...尽管,自带流量的超级IP能在导量上给手游一臂之力。...但正如腾讯游戏刘茂撰文称:“纵观以上5类主流IP,改编成手游作品后,端游IP依赖严重,动漫IP中规中矩,影视IP差强人意,网文IP表现平平,综艺IP难当大任”,手游的发展,理想和现实差的可不止一点点。...最后,和良莠不齐的手游市场相比,端游看起来还有几分优势,比如在观感上胜出一筹,也容易给玩家带来身临其境的游戏体验,再加上端游兴起的时间更早,成功的端游基本形成了强大的IP效应,尽管受到手游市场的一些冲击

    97540

    GMGC—腾讯如何打造一款实时对战手游

    最近公众号停更了一段时间,因为一直忙于GMGC2016全球移动游戏大会的腾讯游戏服务展位工作,负责演讲:腾讯游戏开发者训练营—腾讯如何打造实时对战手游。这篇推送便是此次GMGC的演讲内容。...因此实时对战这一游戏形式,也渐渐成为了手机游戏畅销榜上常见的一个特性。《王者荣耀》《热血传奇》《火影忍者》《穿越火线·手游》《六龙争霸》等等曾站上收入前十的游戏,都支持玩家实时的PK或者合作攻关。...诞生了《王者荣耀》《全民超神》《穿越火线·手游》《全面突击》《天天炫斗》等一大批优秀的作品,早期的《全民飞机大战》也加入了实时双打的功能。这些带实时对战玩法的游戏,普遍的用户活跃度都很高。...这是实时对战手游中技术问题最困难,对用户体验影响最大的部分。...腾讯自研手游中比较著名的《穿越火线·手游》《全民超神》《炫斗之王》都是使用这种方案的。 第二种方案叫主机模式。这种同步方案的做法是:以参与对战的一个客户端为“主机”,其他的客户端为“副机”。

    1.8K50

    如何利用命令模式实现一个手游后端架构?

    需求分析在开发手游的过程中,后端系统往往需要处理大量的玩家请求和游戏逻辑。为了提高系统的灵活性和可维护性,采用设计模式进行架构设计是一种常见的做法。...支持事务回滚机制,确保数据一致性。2. 架构思路设计原则高内聚低耦合:每个命令类只负责执行特定的任务,减少模块间的依赖。易于扩展:通过定义统一的接口,使得新增命令变得简单。...设计方案我们将通过以下步骤实现这一功能:定义Command接口:定义一个通用的命令接口。创建具体命令类:实现具体的赠送礼物逻辑。实现Invoker:定义一个游戏服务器类,负责执行命令。...步骤一:定义Command接口public interface Command { void execute();}步骤二:创建具体命令类首先,我们需要定义一个Gift类来表示虚拟礼物,并且定义一个...apple); // 创建命令 Command giftCommand = new GiftCommand(alice, bob, apple); // 创建游戏服务器并添加命令

    21410

    接入加加打包SDK,一键搞定所有手游渠道

    加加打包助手不仅仅是简单的解决现有渠道的对接问题,更能有效提升手游市场洞察能力,让用户随时了解手游市场及用户现状。...现在市场存在很多的第三方接入平台,用户借助这些第三方接入平台,最关心的问题无非两点:一是服务器用户和支付数据安全;二是渠道覆盖范围。...加加打包助手将打造一套属于自己的私有打包系统,用户和支付数据都无需通过第三方服务器,隐私安全有保障;也正是基于这样的条件,不仅主流渠道合作无忧,产品还能够覆盖更多的渠道。...说到这,不得不说,加加打包助手不仅仅是简单的解决现有渠道的对接问题,更能有效提升手游市场洞察能力,让用户随时了解手游市场及用户现状。...目前,加加打包助手已经拥有100+家渠道,且还在不断拓展更多的合作渠道,包括手游分发渠道、APP渠道、硬核厂商等,渠道数量正在飞速的增加。

    1.4K50

    曾老湿教你如何架设游戏服务器(天龙八部手游)

    local/games目录下 [root@tianlong ~]# rz -be #解压游戏包 [root@tianlong games]# tar xf games.tar.gz #查看文件,解压后会出现一个...fuck_nginx_1 ... done Creating fuck_mysql_1 ... done Creating fuck_tlbb_1 ... done #执行成功后,在服务器上创建站点目录...修改客户端代码 在生产中代码中的ip是不会写死的,所以大家不用在意这一个步骤,因为是买的游戏源码,所以需要修改代码中的IP地址 使用软件:ApkIDE最新3.3.3少月增强版20160730 ... 提示:千万不要沉迷于网游 1.你充的几百,几千,几万块钱,只是在人家的数据库中执行了一条update 2.如果你学完了架构,学完了数据库,你完全可以拥有一款属于你自己的游戏(需要源代码)...3.想和别人一起玩游戏,一起pk,一起刷副本,自己搭服务器,完全可以满足啊 4.好好学习,有了技术,还用给别人充钱么?

    1.8K10

    他山之石:2016年创业者怎么做好一款手游?

    2015年1-10月全球手游测试发布主要试点市场安卓游戏平均CPI变化趋势(图片来源:游戏陀螺) 另一方面,用户对产品稳定性与质量要求越来越高,产品不过关的游戏厂商注定提早出局。...纵观手游厂商的倒闭潮,除了与用户获取成本与推广成本过高相关之外,几乎都与游戏品质不过关息息相关,一个典型案例是,去年法国工作室Ankama Games研发了一款游戏现象级爆红的手游Tactile Wars...以服务器压力测试为例,传统解决手游压力测试的往往只用机器进行模拟压测,但机器模拟往往出现误差,理论上承受的容量与实际承受的容量并不一致(可能理论上容量是5000,实际上还未到3000就挂了),以至于常常出现服务器不稳定的情况...目前手游市场的实际情况是,当大量游戏玩家涌入的时候,服务器的压力承载情况,中国游戏开发商对于中国玩家的硬件、软件、网络环境安全风险不够了解。...创业者怎么做好一款手游?或许你已经有了答案。

    52520

    对一个手游修改器锁机APP的分析

    背景 在网络上搜索到了一款号称可以无视市面上,任何手游反外挂检测的手游数据修改器。...通过控件工具看到这个手游修改器的界面控件主要是有三部分组成的,就是TextView控件也就是文字显示框(界面显示那些文字的哪些框框); EditText控件就是可编辑的输入编辑框(就是哪个输入锁机密码的哪个框架...通过查壳工具(通过识别app中是否有包含第三方加固产品的特定的SO文件)可以看到这个手游修改器是没有采取第三方加固产品进行加固的。...锁机功能 锁屏功能是一种很好的保护个人手机的数据隐私非常重要的策略,但是锁屏这个功能被一些攻击者或从事黑灰产者利用后就变成一种非法勒索用户的手段。...小结 这个锁机的APP就是通过伪装成为手游修改器,这种在游戏中喜欢作弊的玩家就非常容易中枪,因为普通用户一般拿到APP就会马上进行在手机上安装,那么你只要安装并启动下你就中枪了,你的手机就被锁机了。

    98020

    Unity手游实战:从0开始SLG——ECS战斗(一)ECS设计思想

    现在又出了一种面向数据的编程,所以一起分析一下这三种编程思想的不同: 比如现在有 一群狗和一群猪,我们要让它们的尾巴摇起来: 面向过程:1、摇(所有狗的尾巴) 2、摇(所有猪的尾巴) 面向对象:1、所有狗...E: Entity 一个不代表任何意义的实体(可以理解为Unity里的一个空的GameObject) C: Component 一个只包含数据的组件(可以理解为Unity的一个自定义组件,里面只有数据...OOD示例 再看一下ECS的部分: 首先我们需要一个实体类,这个类真正意义上是一个空对象,只会包含一些常用的组件处理: ?...特别是战斗部分,加了表现组件就有表现,可以放在客户端,不加的话就是纯逻辑,放在服务器。怎么样,一套代码又能做服务器,又能做客户端。 还有还有,这种面向数据的方式,让内存排列天然紧密。...当然这些只是这套思想在实现过程中的问题,既然问题在实现层面那么就肯定有框架能解决,下一节我们会将Entitas,一个基于Unity实现的ECS框架。

    12.8K30

    手游自动化框架GAutomator,新增iOS系统和UE4引擎支持

    问题的关键原因是手游与其他APP在自动化测试技术上有巨大的不同,普通的APP是由Android/IOS的标准UI控件组成,而手游画面上几乎所有内容都是通过游戏引擎渲染生成。...为了填补这块技术空白,帮助更多的手游快速实现自动化,我们在2016年推出了GAutomator(下文简称GA)这个业界第一款手游自动化框架。 ?...GA是基于游戏引擎识别UI控件的手游自动化测试框架,并已经应用于众多明星手游项目,如《王者荣耀》、《乱世王者》、《火影忍者》等,它可以使手游中一些传统工具无法识别的UI控件变得可识别,进而可自动化测试。...GA将支持UE4引擎 2018年绝对求生火热起来后,WeTest团队也迎合趋势在第一时间支持了UE4引擎的手游自动化; 2. ...GA SDK将伴随框架同步开源 以开放的姿态邀请更多的开发者和我们一起共建自动化测试框架。

    1.7K30

    Unity手游实战:从0开始SLG——本地化篇(五)服务器下发配置

    Unity手游实战:从0开始SLG——客户端技术选型 https://zhuanlan.zhihu.com/p/76229685 Sproto 是谷歌Proto的一个变种,是云风基于SkyNet实现的一种优化格式...2 Sproto 表格 客户端关注两个部分的数据,一部分来自运行时服务器的下发,一部分来自静态的策划配置。既然和服务器通信采用的是Sproto格式,那就没理由再整一套额外的数据格式来处理策划数据。...Unity手游实战:从0开始SLG——独立功能扩展(二)使用DFA处理屏蔽字 https://zhuanlan.zhihu.com/p/84685657 因为屏蔽词的条目非常之多(我们过审的版本有52万条...而这个时候,数据下发依然可以通过上述的框架结构进行数据增补,每次服务器有屏蔽词下发,就重建一次服务器屏蔽词树,因为服务器增补的条目数一般都很少,几乎不会造成性能问题(即使有也是一瞬间)。...当然这些使用到的都是基于上述的增补框架。 6 运营介入 这部分涉及到的是运营的各种公告和通知。比如紧急停机,突发状况等等,这些都是无法预料的,自然也无法事先将语言或者数据配置在表格中。

    1.4K30
    领券