erlang 游戏服务器开发】的更多相关文章

http://blog.csdn.net/slmeng2002/article/details/5532771 最近关注erlang游戏服务器开发  erlang大牛写的游戏服务器值得参考 介绍本文以我的OpenPoker项目为例子,讲述了一个构建超强伸缩性的在线多游戏玩家系统.OpenPoker是一个超强多玩家纸牌服务器,具有容错.负载均衡和无限伸缩性等特性.源代码位于我的个人站点上,大概10,000行代码,其中1/3是测试代码. 在OpenPoker最终版本敲定之前我做了大量调研,我尝试了D…
2013年04月19日 14:09:37 MJiao 阅读数:4614   深入浅出node.js游戏服务器开发1——基础架构与框架介绍   游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的东西.但事实上它并不比web服务器复杂,无非是给客户端提供网络请求服务,本质上它只是基于长连接的socket服务器.当然在逻辑复杂性.消息量.实时性方面有更高的要求.   游戏服务器是复杂的socket服务器. 如果说web服务器的本质是http服务器,那么游戏服务器的本质就是socket服务器.…
C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无涯,以有涯随无涯,殆已".代入到项目开发中就是说,如果对知识点无差别的全面攻击,不仅会导致所学甚泛却无一深入的尴尬,也会占用太多的有效时间从而影响项目进度.作为一个C++游戏服务器开发者来说,我们时刻肩负着线上游戏开发和维护任务,可以优先学习对自己工作最常用且最重要的,解决实际问题最为紧迫.本文对一…
    Erlang最大的优点是方便,很多基础功能都已经集成到Erlang语言中.之前用C++写服务器的时候,管理TCP连接很繁琐,需要写一大堆代码来实现.底层的框架需要写很多代码实现,这样既浪费时间,又会有很多BUG.但是用Erlang就方便多了,底层的一切你都不需要考虑,你只需要考虑,服务器的架构以及业务逻辑.从此让你彻底从底层的泥潭中解脱.我从去年年底开始了解学习Erlang,到现在我已经彻底爱上了Erlang.好了,废话不多说,开始详细介绍下我设计的这个服务器架构吧.     首先看下整…
在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使用全局的唯一id,在游戏服务器中,全局唯一的id可以用于将来合服方便,不会出现键冲突.也可以将来在业务增长的情况下,实现分库分表,比如某一个用户的物品要放在同一个分片内,而这个分片段可能是根据用户id的范围值来确定的,比如用户id大于1000小于100000的用户在一个分片内.目前常用的有以下几种:…
前几天写了<开源分享 Unity3d客户端与C#分布式服务端游戏框架>,受到很多人关注,QQ群几天就加了80多个人.开源这个框架的主要目的也是分享自己设计ET的一些想法,所以我准备写一系列的文章,介绍下自己的思路跟设计,每篇一个主题,这次介绍的是组件设计. 在代码复用和组织数据方面,面向对象可能是大家第一反应.面向对象三大特性继承,封装,多态,在一定程度上能解决不少代码复用,数据复用的问题.不过面向对象不是万能的,它也有极大的缺陷: 1. 数据结构耦合性极强 一旦父类中增加或删除某个字段,可能…
这主要是一年多来,个人从事Erlang游戏服开发中对一些事情的思考. 想到哪说到哪,没有条理可言. 欢迎讨论. 通常Erlang游戏服务的设计涉及到的东东包括如下: 任务系统 活动系统 公会系统 玩法系统 好友系统 聊天系统 商城 转盘 以及其他 我经历过的项目不多,只有2个.在这2个项目中我看到系统建模都采用如下一锅端的方式: 即玩家进程加载了所有玩家数据,处理所有可能的系统: 整个游戏服通常只有玩家进程.公会进程.玩法进程以及一些公共进程. 整个游戏服里你看到的都是进程,看不到应用. 通常玩…
大型网页游戏服务器开发(Windows+Linux) 进程监听 负载均衡 数据库分发 MapGIS IGServer(Java C++)…
版权声明:本文为博主原创文章,未经博主允许不得转载. 随着游戏市场的兴起,特别是网页游戏.手机游戏的崛起,对游戏开发技术的需求越来越多.网络游戏开发是一个庞大的体系,总体来说是客户端与服务器端.客户端是玩家接触的游戏图像显示端,服务器是处理游戏运行中的各种数据,由于一台服务器要支持众多玩家的请求,所以服务器的性能高低决定了同一个游戏的用户数量. 我们公司选择使用Java做服务器开发语言,主要原因是:1.Java是跨平台的,方便部署:2.Java是安全的高级语言,可以提高开发效率:3.Java是面…
又是一个美好的周末啊,现在一到周末,早上就起得晚,下午困了又会睡一两个小时,上班的时候,早上起来喝一杯咖啡,然后就能高效的工作一整天,然而到了周末人就懒散了,哈哈. 最近刚跳槽,到新公司已经干了有两周时间了,这两周时间是过得比较充实的,因为这家新公司是个小公司,以前以单机开发为主,服务器方面我一个人,做两个游戏的服务器开发工作,当然,一个很简单,另一个就相对复杂点,简单的那个是个弱联网游戏,服务器只需要做好数据存档和登录支付验证就好了,而另一个,则是相对复杂的slg游戏,我感觉这是又一款cok,…