如何写游戏服务器
Ⅰ 如何在自己电脑上架设游戏服务器
搭建游戏服务器首先需要确定整个游戏程序的框架,这样才能确定游戏服务器所需要物理架构。
大型多人在线游戏服务器,负载,稳定,效率(包括反馈延迟和开发效率)是这种服务器基本要求。游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。
Ⅱ 如何学习java游戏服务器开发
无论什么语言,服务器主要考虑的就是两点,一是并发,二是数据(库)对接,Java在这个方面很适合的。
并发除了有netty神库以外,还有很多其他的网络库,或者直接用tomcat也行,总之挺好,不过如果你要用netty的话,需要了解这个库和并发编程,都有很多(经典)书,去看,不然你就等着踩坑吧。
数据(库)方面,有memcache,radis的缓存库,还有mysql和其他nosql,对接起来也很简单,但是还是那句话,坑很多,需要自己填。
首先确定游戏需不需要长链接的主动推送功能,再确定并发量(效率),就基本上可以确定用什么库和框架了,至于数据压缩用gzip还是7z,传递协议是protobuff还是json还是xml,那都是细节问题了,总之都能解决问题,不要过早考虑性能啊什么的,先把最简单的登录搞起来再说。
Ⅲ 请问如何建游戏服务器
首先你要弄游戏的服务器端,然后配置网络连接,接下来要配置服务器端使用的数据库,最后把相应的服务器应用程序按步启动,待都能正常连接数据库并开始提供服务了,就可以用客户端连接了。顺便说下“最主要是要根据你要搭建的游戏来决定搭建平台”比如传奇2用的是db2数据库,征途用的linux+mysql(也win版),美丽世界用的是mssql,天堂2用mssql等等,太多了,不举了。
望采纳!
Ⅳ 如何搭建游戏服务器
租用服务器应该选择那个机房好一些呢?
在信息化时代,通过网络的方式赚钱有很多渠道,因此在网上做的业务也随之而增多,比如说IDC吧,这个行业现在可以说是很火热的,因此全国各地的机房也在增多,曾经有资料显示预计在未来的时间里服务器的需求量会是更大的一个数目,因此在选择机房的时候务必要慎重!
第一,机房选择的是否是国家主干线中心的城市;
第二,机房的带宽要充足;
第三,机房的安全防火性高,比如防火墙集群等!
第四,IDC公司的技术实力,最好找一家最顶级的代理商;
第五,服务信誉方面,大家不要忽略了这一点哦!
这个是本人做IDC业务以来总结出来的经验,也是在客户所反应的问题中得到的答案,虽说不是很完美的,但是代表了大多数服务器客户的心声,希望大家在选择的时候一定要慎重!
我们江西省亿恩数据中心在九江,九江是江西省电信出口中心,总带宽出口是40G,这个双线机房是在我们已经拥有了3个双线机房的基础上又建立的一个机房,防火墙现在已经升级到4G的了,无论是带宽还是安全性方面都做了很大的调整,机房的技术经验实力又上了一个新的台阶!此机房大多为VIP客户,比如:盛大游戏英雄年代,李嘉成tom旗下一个网站,在江西九江电信中心数据中心机房以100万签定了6个机柜
Ⅳ 如何写游戏服务端
晕,貌似回答完了三年,不过楼上这位朋友不要误导新人,服务端相比客户端来说要简单多了,首先,在程序构架上,服务端比客户端相对简单些,服务端只是收发数据,存储数据,计算数据,但是客户端在此基础上还要有模型读取和处理,虽然这么说,但是没有几年经验的想写服务端还是有很大难度的·········网上有很多SF之类的服务端源码,并不完全是官方泄露的,也有很多是自己开发的,但是即便有人开发出来服务端,但是很少有人去写客户端。说到这儿,哪方面比较难应该清楚了吧·······
Ⅵ 如何使用 Go 语言写游戏服务器
golang是一编译型的强类型语言,它在开发上的高效率主要来自于后发优势,不用考虑旧有恶心的历史,又有一个较高的工程视角。良好的避免了程序员因为“ { 需不需要独占一行 ”这种革命问题打架,也解决了一部分趁编译时间找产品妹妹搭讪的阶级敌人。
它有自己的包管理机制,工具链成熟,从开发、调试到发布都很简单方便;
有反向接口、defer、coroutine等大量的syntactic sugar;
编译速度快,因为是强类型语言又有gc,只要通过编译,非业务毛病就很少了;
它在语法级别上支持了goroutine,这是大家说到最多的内容,这里重点提一下。首先,coroutine并不稀罕,语言并不能超越硬件、操作系统实现神乎其神的功能。golang可以做到事情,其他语言也可以做到,譬如c++,在boost库里面自己就有的coroutine实现(当然用起来跟其他boost库一样恶心)。golang做的事情,是把这一套东西的使用过程简化了,并且提供了一套channel的通信模式,使得程序员可以忽略诸如死锁等问题。
goroutine的目的是描述并发编程模型。并发与并行不同,它并不需要多核的硬件支持,它不是一种物理运行状态,而是一种程序逻辑流程。它的主要目的不是利用多核提高运行效率,而是提供一种更容易理解、不容易出错的语言来描述问题。
实际上golang默认就是运行在单OS进程上面的,通过指定环境变量GOMAXPROCS才能转身跑在多OS进程上面。有人提到了的pomelo,开源本来是一件很不错的事情,但是基于自己对callback hell的偏见,我一直持有这种态度:敢用nodejs写大规模游戏服务器的人,都是真正的勇士 : ) 。
2、Erlang与Golang的coroutine有啥区别,coroutine是啥?
coroutine本质上是语言开发者自己实现的、处于user space内的线程,无论是erlang、还是golang都是这样。需要解决没有时钟中断;碰着阻塞式i\o,整个进程都会被操作系统主动挂起;需要自己拥有调度控制能力(放在并行环境下面还是挺麻烦的一件事)等等问题。那为啥要废老大的劲自己做一套线程放user space里面呢?
并发是服务器语言必须要解决的问题;
system space的进程还有线程调度都太慢了、占用的空间也太大了。
把线程放到user space的可以避免了陷入system call进行上下文切换以及高速缓冲更新,线程本身以及切换等操作可以做得非常的轻量。这也就是golang这类语言反复提及的超高并发能力,分分钟给你开上几千个线程不费力。
不同的是,golang的并发调度在i/o等易发阻塞的时候才会发生,一般是内封在库函数内;erlang则更夸张,对每个coroutine维持一个计数器,常用语句都会导致这个计数器进行rection,一旦到点,立即切换调度函数。
中断介入程度的不同,导致erlang看上去拥有了preemptive scheling的能力,而golang则是cooperative shceling的。golang一旦写出纯计算死循环,进程内所有会话必死无疑;要有大计算量少i\o的函数还得自己主动叫runtime.Sched()来进行调度切换。
3、golang的运行效率怎么样?
我是相当反感所谓的ping\pong式benchmark,运行效率需要放到具体的工作环境下面考虑。
首先,它再快也是快不过c的,毕竟底下做了那么多工作,又有调度,又有gc什么的。那为什么在那些benchmark里面,golang、nodejs、erlang的响应效率看上去那么优秀呢,响应快,并发强?并发能力强的原因上面已经提到了,响应快是因为大量非阻塞式i\o操作出现的原因。这一点c也可以做到,并且能力更强,但是得多写不少优质代码。
然后,针对游戏服务器这种高实时性的运行环境,GC所造成的跳帧问题确实比较麻烦,前面的大神 @达达 有比较详细的论述和缓解方案,就不累述了 。随着golang的持续开发,相信应该会有非常大的改进。一是屏蔽内存操作是现代语言的大势所趋,它肯定是需要被实现的;二是GC算法已经相当的成熟,效率勉勉强强过得去;三是可以通过incremental的操作来均摊cpu消耗。
用这一点点效率损失换取一个更高的生产能力是不是值得呢?我觉得是值得的,硬件已经很便宜了,人生苦短,让自己的生活更轻松一点吧: )。
4、基于以上的论述,我认为采用go进行小范围的MMORPG开发是可行的。
Ⅶ 怎么架设游戏服务器
家庭局域网视频共享,能在各种平台上播放同一视频即点即播而不要做任何预处理的,这样的服务器才是真正的家庭中所需要的服务器!
我要求的服务器必须要满足如下条件:
1、低功耗,如intel u类结尾的cpu,最好核显硬转码。
2、能转码播放蓝光iso和大部分4k视频。
3、在线下载字幕。
4、靓丽的可自动更新电影资料库。
5、播放时能大幅跳跃反应敏捷,而不用漫长的缓冲时间。
6、最好免费!(free)
根据上述6点要求,我试过了vidon server2,emby,wild media server,universal media server,qloud server,plex,play on等十几款软件,
最后能留下的仅剩国产的威动服务器(vidon server2)和国外的cloud server,另一款emby继续观察!
我曾经做过实验,用一台山寨intel z8300cpu主机。单通道内存4G,ssd 64g,vga,hdmi。(该机竟然不能进入bios设置,否则就要返厂解决!真让人无语!)
系统win10,安装vidon,外接12t usb3.0移动硬盘盒,硬转码4k无压力!但突发码流高的1080p反而有卡顿的短暂现象,可能与单通道内存有关系。该机不适合做威动服务器,电源管理比较怪癖且不能修改,毕竟其tdp才2w,总功耗只有4w,最适合做kodi终端!。
目前我的服务器主机是:intel i7 4500u,16g双通道内存,核显hd4400,主板2个sata接口,mini-pcie扩充两个sata,主机配了240g msata硬盘安装win10,1t 2.5寸硬盘做从盘(下载用)。另3个sata接8t硬盘,diy单独供电电源,远程遥控硬盘电源,用时热挂硬盘!整机待机12w以下,最高不超过30w。 系统安装威动服务器核显硬转码,cpu 占用很少,移动端4M wifi下连接十分流畅,特别是大幅度跳跃,几乎无等待时间。与海美迪q5完能完美配合,实现了wdyy-2.0.0.8-dangbei.apk(vidon TV版)的全部功能!
只有用过的人才能体会到其硬转码的优良特性!甩其它国内外同类软件几条街!但很可惜威动服务器与2016年8月停止了开发,转而发展专门的影院点播系统。留下了韩国的plex大行其道!
Ⅷ 游戏服务器怎么做希望有教程图解
网吧游戏服务器只读更新全程图解教程 [原]
只读更新必须打开Secondary Logon服务!我建议开如下服务
1.首先确定你的游戏盘不保护,采用NTFS分区,administrators组有2个用户,
假设有administrator,admin个admin权限帐号, 把admin帐号设置成客人上机的默认帐户。
如图1
假设网络游戏安装在d盘,设置成d盘不保护
2.权限设置: 一定要使用administrator帐号登陆系统.
打开D盘属性,选择安全选项卡(xp系统先在文件夹选项里把使用简单文件共享哪里的勾去掉)。
如图2
针对d盘,先删除d盘所有用户的权限,然后添加users组,权限设置(在"高级"选项里设置) 为 :读取运行属性,接着,先不要点确定,再添加administrator帐户的权限,权限设置为:完全控制,把"目前该项目所有者"的"administrators"改成"administrator"帐户. 增加EVERYONE用户,分配读取权限,ok.然后把"用此显示的可以应用到的子对象的项目替代所有子对象的权限项目"打上勾,点"确定"接下来是一个等待的过程,系统会把E盘所有文件访问权限重新设置.
如图3
3.进入组策略-计算机配置-windows设置-安全设置-本地策略-用户权限分配.把"取得文件或其他对象的所有权"里的administrators删除,然后添加"administrator"帐户
4.快捷方式以runas命令为基础,确定系统已经打开Secondary Logon服务
以迅闪游戏菜单为例
然后要先以administrator帐户登陆系统.新建快捷方式,路径为runas /user:administrator /savecred /env E:\游戏菜单\调用程序.exe. /user:administrator 意思是让此程序以帐户administrator的身份 运行,保存此快捷方式,替换原“游戏菜单”的快捷方式,游戏菜单放D盘此项必须做,放其他盘就无所谓了。不过建议放D盘。不保护的盘。
在这个快捷方式第一次运行时,会提示输入administrator帐户的密码,输入一次以后,以后永远不会再提示
5.修改shell32.dll,防止格式化 exescope打开shell32.dll-资源-菜单-28672-设个暗码防止别人格式化,但是你也可以通过暗码格式化移动磁盘等.
如下图
6.修改cmd.exe命令权限,只留下一个A帐户完全控制,其他用户无访问权限
7.修改compmgmt.msc命令权限,只留下一个A帐户完全控制,其他用户无访问权限
此项为必须做。要不别人可以很容易的修改你的任何用户密码。他以administrator进入系统就危险了、。
8.修改gpedit.msc命令权限,只留下一个A帐户完全控制,其他用户无访问权限
9.修改regedit.exe命令权限,只留下一个A帐户完全控制,其他用户无访问权限(我们用迅闪可以导入注册表的)
10.根据自己的情况。把你不允许其他用户访问的程序或工具设为只有administrator完全控制。其他用户无访问权限。
11.ie
administrator帐户下新建IE帐户 加入administrators组
进入C:\PROGRAM FILES\INTERNET EXPLORER 修改iexplorer.exe权限 把拥有者改成IE
注销用IE登陆修改iexplorer.exe权限 删除所有用户访问权限 添加IE用户完全控制权限 SICENT用户读和运行权限高级设置里把允许父项权限继承去掉
12.gpedit.msc-用户配置-管理模板-WINDOWS组件-windows资源管理器-删除安全选项卡 启用
实现的效果是别人不能写东西在你的游戏盘里,也不能删除东西。所有游戏更新及外挂都从服务器上进行设置。也就是说,只有你的游戏更新软件可以写东西到你的游戏盘。你知道administrator的密码也可以在你限制的这个用户里运行你限制运行的程序(cmd,gpedit.msc等)。但你的administrator不能给其他人控制。因为它是没有任何限制的。
Ⅸ 怎么用自己的电脑搭建游戏服务器
这些条件只有在机房专业的环境下可以保持您好。首先服务器是功能更强大的电脑,性能要比电脑高很多;其次服务器的运行需要恒定的温度,湿度,性能才不会受影响。电脑做服务器,而且家用带宽和机房的专用光纤无论从速度和稳定性都没有可比性的。如果放游戏,建议租用专业的服务器,温度一旦升高,性能势必大大降低,也有专业的技术人员来维护,非常方便