在做游戏服务器开发之前之前一直有疑问,服务器是干什么的?问了几位前辈,得到的答案大概都是:服务器就是一台电脑,你可以访问,然后做一些事情(我现在觉得这个答案是很精辟的)。这个答案对于之前的我来说,由于根本没接触过服务器,不能理解其中的含义。百度得到的答案也不是我想要的。

现在做游戏服务器开发两个月了,分享一下自己对游戏服务器的理解,希望能以另外的角度给想做游戏服务器开发的新人一些不同理解方向。如果有什么说的不对的地方,请见谅。

游戏服务器其实就是处理游戏逻辑的(这话说的,新手谁看的懂啊。 = =!)

举个大话例子:餐厅

      将一个餐厅点菜比喻成一个游戏,桌子上有菜单,菜单上有:鱼香肉丝,清蒸牛肉,有一位客人看了菜单之后点了一道菜(鱼香肉丝)后,服务员将这道菜名告诉了厨房,厨房做好菜后递给服务员,最后服务员给你端上来了。

在这个游戏中,餐桌相当于游戏的客户端,厨房相当于游戏服务器,服务员相当于客户端与服务器的通信,客人相当于玩家

客户端:桌子上的菜单和上的菜(鱼香肉丝),这些都是客户端给玩家显示的。

服务器:当菜名到达了厨房之后的一系列操作都是服务器做的(厨房开始准备,切菜,炒菜,完成后,告诉服务员,让他把菜端出去)。

做这个游戏的服务器开发,就相当于,增加餐厅能提供的菜。比如餐厅要求增加一道番茄炒蛋的菜,你就要教会厨房怎么弄番茄炒蛋,确保经过你的调教之后,厨房在收到这个菜名时一定能做出这道菜,或者做不出菜的时候会给客户端提示(卖完了之类的)游戏就能更新,客户端就会在菜单上新增加一道番茄炒蛋的菜,客人就能点这道菜。

出现bug又是个什么情况呢?例如你在调教厨房做这道菜时,只教会了厨房做菜,没有做什么别的操作。当点了这道菜,然后番茄用完了,这时候厨房由于你只教厨房做菜,没告诉它出现这种情况怎么办,厨房就不知道怎么办(出现了bug),最后客人一直在等,最后却没有上这道菜。

举个实际游戏例子:简单描述斗地主的一个简单流程

当你(玩家2)的上家(玩家1)出了一个3,轮到你出牌,你手上有345JK。

客户端:1.显示三位玩家的牌,你的上家和下家的牌都是背对着你的。

                     2.显示你的手牌,供你选择。

                     3.收到服务器发来的消息(玩家1出了3),显示给你看。

这时候你点了一个3,然后点击出牌。客户端------->服务器,玩家2出个3。

服务器:1.收到客户端发来的消息(玩家2出3)。

                     2.判断你是否能出这张牌。

                     3.将判断结果(不符合出牌规则,不许出)返回给客户端。

这时候客户端收到消息

客户端:1.显示提示:你出的牌不服务规范。(这张牌一直出不去)

这时候你点了一个4,然后点击出牌。客户端------->服务器,玩家2出个4。

服务器:1.收到客户端发来的消息(玩家2出4)。

                     2.判断你是否能出这张牌。

                     3.将判断结果(可以出牌)返回给客户端。

这时候客户端收到消息

客户端:1.你的手牌少了一张4。

                     2.牌桌上多了一张4。

然后轮到下一家出牌。

在这些例子中,服务器做的事情,都是需要游戏服务器开发人员通过代码来实现的。回到我几位前辈对我的回答:服务器就是一台电脑(电脑是硬件服务器,写的游戏服务器是软件,需要有硬件载体),你可以访问(客户端连接服务器),然后做一些事情(玩家出了一张3,请服务器告诉我,可不可以出)。

以上就是对游戏服务器的理解,希望能给你提供一个理解游戏服务器是干什么的思路。如果有什么说的不对的地方,请指出,我会尽快修改。

游戏服务器是干什么的(大话、浅析)相关推荐

  1. 游戏服务器开发技术小结

    转载请自觉标明原创出处 原文链接:http://gameislife.info/archives/category/游戏开发    游戏服务器开发技术小结 1 概述 本文从开发者的视角,浅析游戏服务器 ...

  2. 游戏服务器为什么选用Actor模型,《百万在线》给你答案

    游戏服务器需要承载很多玩家,开发者需要选择合理的架构.Actor模型是一种常用的游戏服务端架构模型,在选用Skynet.Erlang方案的公司中广泛应用. 从硬件角度看待架构划分 游戏服务端选用的抽象 ...

  3. 阿里云服务器是干什么用的?

    阿里云服务器是干什么用的? 互联网的迅速增长,大家经常会听到云服务,进入了云时代,比较常听到的是阿里云,那么阿里云服务器是干什么用的呢? 阿里云服务器是简单高效.安全可靠.处理能力可弹性伸缩的计算服务 ...

  4. 云服务器有什么作用?云服务器是干什么的?

    许久不更新都手痒,坚持为大家分享一些有价值的东西,期间很多小伙伴也私信我一些问题,自己也提升了不少,能得到大家的认可也是一件很有成就感的事情.为大家推荐比较好便宜的云服务器,目的是花最少的钱去创造更多 ...

  5. PHP游戏服务器的设计思路

    因公司需要,从WEB后端转向游戏开发,于是开始了我的游戏服务器开发旅程(棋牌游戏),想象之中.原以为开发游戏服务器是特别难的,其中的算法与数据.网络的规划/设计等都是开发WEB不能想象的,从WEB中的 ...

  6. 信息服务器已停止工作,游戏服务器已停止工作

    游戏服务器已停止工作 内容精选 换一换 在本章节中,您将会把游戏应用部署到CCE云容器引擎中,您需要执行以下操作:创建集群:集群是运行应用的逻辑分组,包含一组云服务器资源,每个节点对应一台云服务器.首 ...

  7. php 多人游戏_「谁会是下一个王者农药」云服务器如何搭建游戏服务器?

    手游越来越火了,听听业内人士的分析,他山之石,多多借鉴,那么手游的服务器到底如何搭建的? 从事游戏服务器开发差不多两年时间,两年间参与了不少项目,学到了很多游戏服务器开发技术,参与过几个不同架构的服务 ...

  8. arduino nano 蓝牙_探索 Golang 云原生游戏服务器开发,5 分钟上手 Nano 游戏服务器框架...

    介绍 Nano 是什么? 轻量级,方便,高性能 golang 的游戏服务器框架. nano 是一个轻量级的服务器框架,它最适合的应用领域是网页游戏.社交游戏.移动游戏的服务端.当然还不仅仅是游戏,用  ...

  9. Sun公司开源游戏服务器Project Darkstar Server——(Sun game server , 简称 sgs)学习笔记(一):sgs简介...

    SGS 提供的主要功能 : 服务器端的扩展 : 传统的扩展方法是将整个游戏区域分成多个区 , 不同的区运行在不同的游戏服务器上 . 这带来两个问题 , 一个是处于不同区的玩家不能互相交互 , 另外一个 ...

  10. Java游戏服务器系列之Netty详解

    今天带大家来学习Java游戏服务器的相关知识,文中对Netty作了非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下 一.简介 Java的底层API逐渐复杂,而开发者面对的 ...

最新文章

  1. xampp mysql登录失败_XAMPP修改mysql的root密码phpmyadmin无法登陆
  2. kafka 报错:kafka server:Message was too large ,server rejected it to avoid allocation
  3. 2. TypeScript笔记
  4. 让Windows Server 2008 R2 SP1 的“网络发现”真正能发现和被发现
  5. 2021衢二中高考成绩查询入口,2021衢州市地区高考成绩排名查询,衢州市高考各高中成绩喜报榜单...
  6. 蓝桥杯 ADV-65 算法提高 格子位置
  7. A10负载均衡设备基础配置
  8. 如何通过XMind 实践OKR 工作法
  9. [简短问答]如何用虚拟打印机测试,虚拟打印机相关
  10. 使用JQuery TreeTable实现树形表格
  11. for while循环练习
  12. cocos2d-x apk 打包路径太深
  13. 视频教程-微信小程序商城15天从零实战课程-微信开发
  14. Python 实现excel 分类汇总、批量数据替换
  15. 创建一个Date类,具有三个整型成员变量year,month,day,具有三个成员方法setDate,isLeapYear,print
  16. 探索测试-大富翁KYM练习笔记
  17. 如何对EXCEL数值做累加
  18. Android自定义软键盘的实现
  19. C++之父B.Stroustrup近期言论
  20. 宽带连接远程计算机没反应6,宽带连接正在连接通过WAN微型端口错误678的解决办法...

热门文章

  1. Mybatis的灵活运用及注意事项
  2. swifty引用AFNetworking出现clang: error: linker command failed with exit code 1 (use -v to see invocation
  3. SharePoint可上传编辑但不能删除的权限设置
  4. 八种常见视频格式转换详解
  5. kalibr源码解析之fov模型重投影误差计算
  6. IPAD上访问WINDOWS环境远程桌面---三款软件比较
  7. python怎么群发邮件_小工具:使用python群发邮件
  8. 基于Ruby 安装 sass 安装出现的错误以及解决
  9. matlab中的clc命令和clear命令
  10. 分享网站变黑白色代码整站灰色插件方法