浅谈如何做一个游戏服务器

浅谈如何做一个游戏服务器,第1张

首先要知道游戏类型是什么,然后知道承载人数是多少,以及开发周期多少。需要根据这些来决定游戏架构和技术选型。

对于gameplay来说,本身就是个大循环,一定频率进行tick,接收来客户端或者其他服务器的rpc,处理逻辑,然后数据落地以及发送数据给客户端或者其他服务器,一般gameplay来说在同一个进程里都是同步的方式去编写,同步的实现大多数是单线程的,或者使用coroutine来实现actor这种模式。大部分游戏交互都是比较多,所以不论service和service之间的交互还是玩家和玩家之间的交互,如果考虑多线程的同步的问题,会非常复杂以及很容易做错,所以一个service内同一个时刻都是在一个线程中执行的。

针对mmo或者一些竞技类游戏往往有场景管理的概念,就是游戏AOI,比如一个玩家移动,需要告诉周围所有的玩家,复杂度在nn,如果减少这个n,就有了AOI算法,比如九宫格,十字链表等,如果刚开服的时候很多人挤到一个主城中,就算采用九宫格和十字链表等AOI等算法,往往同屏内玩家数量还是很大,客户端渲染的单位数量比服务器少一个数量级的,所以场景管理这里还可以有个分线的做法,玩家多的时候,不同线不可见,玩家少的时候进行合并。

如果做帧同步一些关键点为表现要和逻辑分离,随机算法和随机种子的一致性,数学库浮点换定点,三角函数采用泰勒展开或者查表法,需要保序的容器,timer不能基于钟表时间而需要帧timer,以及防作弊(一般都是投票法,或者服务器跑个验证端)

现在很多游戏在线更新bug甚至不停服更新慢慢变成一种强需求了,实现这种方式主要使用脚本热更新,热重启+逻辑内存以及ab服切换来实现。

装2003系统设置好网卡,企业版硬盘15t的两-三个。带机器100以内用普通的主板即可~虚拟盘服务器内存越大越好~8g以上。16g更好~游戏更新服务器不用多大内存,2g足够。架设游戏服务器很容易~按照说明安装软件就可以了,闹心的是里面的游戏,比如说网维大师,里面网络和单机游戏3500多g!
我都是把硬盘后半夜拿其他网吧去拷

租用服务器应该选择那个机房好一些呢?
在信息化时代,通过网络的方式赚钱有很多渠道,因此在网上做的业务也随之而增多,比如说IDC吧,这个行业现在可以说是很火热的,因此全国各地的机房也在增多,曾经有资料显示预计在未来的时间里服务器的需求量会是更大的一个数目,因此在选择机房的时候务必要慎重!
第一,机房选择的是否是国家主干线中心的城市;
第二,机房的带宽要充足;
第三,机房的安全防火性高,比如防火墙集群等!
第四,IDC公司的技术实力,最好找一家最顶级的代理商;
第五,服务信誉方面,大家不要忽略了这一点哦!
这个是本人做IDC业务以来总结出来的经验,也是在客户所反应的问题中得到的答案,虽说不是很完美的,但是代表了大多数服务器客户的心声,希望大家在选择的时候一定要慎重!
我们江西省亿恩数据中心在九江,九江是江西省电信出口中心,总带宽出口是40G,这个双线机房是在我们已经拥有了3个双线机房的基础上又建立的一个机房,防火墙现在已经升级到4G的了,无论是带宽还是安全性方面都做了很大的调整,机房的技术经验实力又上了一个新的台阶!此机房大多为VIP客户,比如:盛大游戏英雄年代,李嘉成tom旗下一个网站,在江西九江电信中心数据中心机房以100万签定了6个机柜

steam 上怎么建立自己的服务器的步骤如下:
一、下载安装服务器端:
方法一:运行steam客户端:点击“库”->“工具”->找到Don't Starve Together Dedicated Server ->下载安装该程序
方法二:运行steamcmd(又是一个轻量级的steam客户端),量级不同,两种方法均可。
二、获取steam凭证:获取开服凭证,主要用于steam检测你搭建的服务器是否合法,如果出现不符合规定,steam有权远程关闭(说的好花桥,实际用处还是检测你是否是正版)
获取方法:运行客户端->点击开始游戏(play)->按下 ~ 键->输入TheNet:GenerateClusterToken()->回车
之后就会在”我的文档\Klei\DoNotStarveTogether“这个目录下出现名为cluster_tokentxt的文件,这便是steam凭证了
三、建立服务器存档文件:
在DoNotStarveTogether目录下新建一个文件夹,只能英文(用来区分服务器的存档还是客户端存档),如上图,我建立文件夹的名字为 MyDediServer;
之后将获取的steam凭证,复制到该目录下,再在该文件夹内创建两个新文件夹(也必须为英文,用来区分地上和地下)
四、启动服务器端:
由于有地上和地下所以需要开启两个服务器端:创建两个服务器端的快捷方式:分别命名地上,地下
命名可中文,我这里命名为英文
鼠标右键查看快捷方式属性,在目标一栏中加入-console -cluster MyDediServer -shard Caves或者-console -cluster MyDediServer -shard Master
其中MyDediServer为你新建服务器存档目录名称,Caves为地下文件夹名称,Master为地上文件夹名
五、完成,进入you'x游戏加载即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13203818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存