Articles of 数据库

MMORPG游戏服务器数据存储性能

当写一个MMORPG游戏服务器… 哪种存储devise更好? 我应该只保存特定时间的字符数据吗? 在字符注销。 用户断开。 时。 (每隔几分钟) 我应该立即保存吗? 这将使写作更广泛。 其他事情: 处理实时MMORPG游戏数据的最佳做法是什么? 考虑到多平台,哪个数据库最好?

如何处理用户帐户,数据和统计信息

我不确定如何设置用户帐户系统的最佳方法。 现在忽略login/安全问题,我只想存储less量的数据,如DisplayName,ProgressionLevel,CharactersUnlocked和一些项目。 我假设一个在线服务,让我的游戏通过POST调用与JSON位进行沟通将是最好的方式,但我正在研究其他小游戏使用,并不能真正find任何细节。 我知道Gamesparks,Playfab,但他们可能是为了我想做的事情而矫枉过正。 我正在看AWS的DynamoDB,但我不确定这是一个好的解决scheme,还是我没有朝着正确的方向前进。 任何建议用户帐户的方法将是伟大的。 谢谢!

浏览器管理游戏DB

我开始建立一个使用MongoDB作为数据库的浏览器管理游戏。 每个玩家将有多个对象的结构,单位,资源等实例,大多数用户的行为将是:search给定的对象,删除对象,生成新的对象,等等。 我很想为每个玩家制作一个大文档,并存储在“playersData”集合中(而不是像“playersStructures”,“playersUnits”等等)。 这样,在后端,对于每一个动作,我所需要做的就是在集合中search这个播放器,这个播放器检索所有的数据,操纵它并再次存储它。 我的问题是,我不确定这是否是性能最佳的方法,因为即使每次检索/更新都是大块数据,但这只是一个操作,而不是大量的小操作(例如,检查给定玩家的每个单位的条目,并根据需要更新每个单位)。 我不是后端开发人员,但我知道大多数开发人员的答案是“这取决于应用程序”。 但是对于一个通常的浏览器管理游戏,你会select哪个选项? 每个玩家的单个大文件或多个小物件的集合?

一个MMORPG服务器应该排队的数据包

我不知道在哪里问这个问题。 我有一个服务,我们将调用GameDB连接到一个MySQL数据库。 这个GameDB是与数据库交互的唯一服务。 我有另一个服务器,我们会打电话给GameSV模拟世界等。 在某些时候,GameSV将数据包发送到GameDB,然后GameDB根据数据包数据更新数据库中的一些logging。 当我踢出GameSV的所有玩家进行一些维护时,会发生奇怪的事情。 GameDB应该在这一点上保存一些数据。 每个连接的用户约10个更新/插入语句。 所以如果有500个用户在线并同时踢了,GameDB会尝试同时更新/插入大约5000条logging。 这是我注意到一些数据没有提交/更新数据库。 虽然这只有在我同时踢全部球员时才会发生。 目前,GameDB的编码方式是一旦它到达并直接更新/插入到数据库中,就会处理数据包。 没有在应用程序级别排队。 我明白,TCP / IP已经排队数据包本身。 所以现在我认为它一定是数据库。 但所有这些只是一个猜测。 所以我的问题是, 请问使用队列来排队数据包有什么不同? 你怀疑别的东西是真正的罪魁祸首吗? 我是一个业余networking游戏开发者,所以我不确定服务器的devise。 如果有问题,我正在使用Go-lang的服务。

数据库devise的游戏,如“帝国和Alies”在Facebook

最近即时尝试创建一个Facebook的等距游戏几乎像帝国和盟友在Facebook中,我已经使用as3isolib创建游戏,用户互动几乎准备好了,但我坚持在devise数据库。 我试图在网上search,但我不能find任何来源或样品分贝devise,我在devise分贝的方式,可以处理不同的项目types,如住房,研究实验室,单位,他们的大问题等等,假设我们建造一栋房子的时候会有不同的层次来完成,或者不同的建筑有不同的产品,而有些产品的产品仍然是一个产品,就像生产士兵的军事房子……如果有人能指导我或样本devise,我会非常感激。 谢谢。

我如何提取Minecraft物品和配方列表?

我正在devise一个强大的系统来解决Minecraft中的项目依赖关系,为此,我需要维护项目和配方的数据库。 现在这个数据库必须是手工制作的(没有双关语意思)。 我想知道是否有可能以某种方式查询Minecraft的jar子(或者更现实的说, grep通过它们)来自动提取这些数据。 如何才能做到这一点? 该项目目前是在Python中,但在这个阶段,它仍然可以移植到Java没有太大的麻烦。 ( 好奇 )

这是不是数据库可用的状态跟踪技术?

如果我想为iOS创建一个象棋游戏,那么跟踪两个玩家的移动(回顾游戏进程和玩家统计),最简单的路线是什么? 为了澄清,我不仅要跟踪玩家在特定游戏中所做的动作,而且还要跟踪玩家在过去的游戏中做出的动作。 例如,我想能够跟踪: 一个特定的玩家通过移动国王典当了两个方块(e4)白色,第一个移动多less次。 玩家对白色e4开局的回应是多less时间,把自己的国王移到e5? 他将他的后侧主教典当转移到c5的回应有多less时间? 等等。 如果不明确,则统计跟踪系统也应该能够报告该玩家多less次(像黑人一样)将他的皇后移动到h1,移动次数为30。 我使用Parse.com作为服务器(BaaS)服务的后端。 如果我要创建一个类 在文件系统中本地写入识别移动号码,播放器颜色,移动片段,方块的代数符号(例如“d8”)的文件到文件的string 将文件保存到Parse,并从文件系统中删除临时文件 在我的tableview中打开同一个游戏(a la“With Friends”游戏),从Parse下载这个文件,parsing所有的stats / history,将所有相关的值赋给variables 这个计划是否可行?还是有一个更简单的方法?

使用程序生成的项目处理项目数据库?

假设你有一个物品数据库,其中包含游戏中的所有物品。 这对普通物品如生命药水,正常的铁剑等工作正常,因为这些物品有ItemID的,所以我们可以得到这个项目的确切副本。 但是如果我们有一把铁剑附魔:“+5火焰伤害”呢? (管他呢) 如果您要将该物品存储到玩家的库存中,请退出游戏并加载游戏,该物品将作为常规铁剑加载,因为它仍然具有该ID。 具体来说,你如何将这个项目保存到一个文件? 我使用的是Unity,所以为了保存玩家的库存,我使用: PlayerPrefs.SetInt("Inventory " + i, inventory[i].ItemId ); 你会创建一个自定义项目ID为每个项目附魔或有没有更好的方法呢?

数据库结构的RPG项目

我目前正在开发一个多人游戏的HTML5游戏,游戏有RPG元素(水平,项目等) 我刚刚开始在数据库方面的工作,现在我有一个基本的用户表(电子邮件,昵称,密码哈希和盐等)的MongoDB服务器设置, 现在,每个用户应该获得项目,我想知道每个用户应该在数据库中获得自己的集合,还是应该有一个存储所有项目的集合,并有一个电子邮件字段将项目链接到用户?

未知表基于已知列值单个查询的SQLite查询

我正在开发一个数据库来备份我的在线TCG。 目前它是SQLite,但我将在稍后将其转换为MySQL数据库。 目前,我有三种不同types的卡与自己独特的领域。 例如。 但是,所有卡都有一个唯一的,我用来指代他们。 TABLE cards { CARD_ID as INT CARD_TYPE as INT TYPE_ID as INT } TABLE creature_cards { CARD_ID as INT TYPE_ID as INT NAME as TEXT FLAVOR as TEXT ATTACK as INT DEFENSE as INT ELEMENT as INT FLAGS as INT MANA_COST as TEXT } TABLE spell_cards { CARD_ID as INT […]