我一直在开发一款伪多人游戏,它将每个玩家的重要数据存储在我的MySQL数据库中。该游戏类似于部落冲突,玩家建立自己的基地,并可能选择攻击其他玩家的基地。
为了防止作弊,所有重要的功能都通过PHP在我的服务器上运行。例如,如果玩家想要建造一座房子,服务器会被告知:玩家想要建造BUILDING_A grid{x,y},PHP脚本从数据库中检查该区域是否可用,玩家是否有技术,资金等。
所有这些函数都相对简单。他们只是检查谁试图访问数据库,以及他们是否能做他们想做的事情。然后,服务器将更新数据库中的玩家数据,并向设备返回一条消息。
因此,从本质上讲,我的游戏将始终遵循相同的过程:
1)播放器设备发出请求,
2)服务器对玩家进行身份验证并允许或拒绝请求,
3)服务器向播放器设备发送响应,设备跟随它。
但我不确定我的方法是否可行或可扩展。我刚刚独自测试了它,效果很好,但假设我在第一周就得到了100或1000名球员。在高峰期,每秒可能有几百个服务器请求,其中调用PHP脚本并访问和更新数据库。如果它成为热门,并且有成千上万的人同时访问我的PHP脚本和数据库怎么办?
这种方法一开始就可行吗?如果我的服务器足够强大,那么一个PHP脚本可以同时被这么多人访问吗?服务器能否在一秒钟内向我的数据库写入数百次?它会对操作进行排队吗,它会忽略一些操作,重叠的操作会失败吗?
例如,如果我支付了 AWS EC2 费用并在那里设置了我的 LAMP,那么这种系统是否可以工作,或者我是否会遇到某种我不知道的限制或问题?
白猪掌柜的
慕的地8271018
慕勒3428872
慕少森