librelist archives

« back to archive

Implementing a Database

Implementing a Database

From:
Michael Elford
Date:
2012-09-23 @ 00:41
Hi all,

 

As we all seem to have a similar concept of where the system should go (i.e.
game rather than HTML5 showcase), I thought I'd see if any of you were
considering or have already implemented a Database such as MYSQL for data
storage.

 

My concern with the current system is:

.         Character data stored on client - easily exploited

.         World/Item/MOB data stored in the code - should be abstracted from
the code to enable effective building of the game environment.

 

Basically in my opinion, we need to move the game to be far more server
oriented and remove all trust from the client to make it an effective
multiplayer game.

 

I've been looking at http://nodejsdb.org/ which from my limited reading
seems to be the best for this purpose, if any of you have any experience in
implementing a database with NodeJS or opinions, let me know.

 

Cheers,

Michael

Re: [browserquest] Implementing a Database

From:
Justin Clift
Date:
2012-09-23 @ 03:20
On 23/09/2012, at 10:41 AM, Michael Elford wrote:
> Hi all,
>  
> As we all seem to have a similar concept of where the system should go 
(i.e. game rather than HTML5 showcase), I thought I’d see if any of you 
were considering or have already implemented a Database such as MYSQL for 
data storage.
>  
> My concern with the current system is:
> ·         Character data stored on client – easily exploited
> ·         World/Item/MOB data stored in the code – should be abstracted 
from the code to enable effective building of the game environment.
>  
> Basically in my opinion, we need to move the game to be far more server 
oriented and remove all trust from the client to make it an effective 
multiplayer game.

Yep, looks like everyone agrees here too.  Some kind of database or 
database like backend for persistent storage is pretty key for game 
integrity.


> I’ve been looking at http://nodejsdb.org/ which from my limited reading 
seems to be the best for this purpose, if any of you have any experience 
in implementing a database with NodeJS or opinions, let me know.

Haven't used databases with Node.js yet.  The Nodejsdb thing looks 
interesting, but it seems to only support MySQL and Drizzle (MySQL for 
Cloud?). :)

The MongoDB thought that Brynn mentions is definitely worth looking at, 
and that SpaceBase thing looks interesting too.

Um, I guess if the MongoDB BQ code that's out there actually works, we 
should try it out first and see how it goes?

The guy who's been working on that might want to come on board here too. :)

+ Justin

--
Aeolus Community Manager
http://www.aeolusproject.org

Re: [browserquest] Implementing a Database

From:
William Bowers
Date:
2012-09-23 @ 00:48
I'm all for this. It would change how characters work, I believe, as you
would need to have a different character from server to server. That is,
unless we had an official central character server.

On Sat, Sep 22, 2012 at 5:41 PM, Michael Elford
<michaelelford.me@gmail.com>wrote:

> Hi all,****
>
> ** **
>
> As we all seem to have a similar concept of where the system should go
> (i.e. game rather than HTML5 showcase), I thought I’d see if any of you
> were considering or have already implemented a Database such as MYSQL for
> data storage.****
>
> ** **
>
> My concern with the current system is:****
>
> **·         **Character data stored on client – easily exploited****
>
> **·         **World/Item/MOB data stored in the code – should be
> abstracted from the code to enable effective building of the game
> environment.****
>
> ** **
>
> Basically in my opinion, we need to move the game to be far more server
> oriented and remove all trust from the client to make it an effective
> multiplayer game.****
>
> ** **
>
> I’ve been looking at http://nodejsdb.org/ which from my limited reading
> seems to be the best for this purpose, if any of you have any experience in
> implementing a database with NodeJS or opinions, let me know.****
>
> ** **
>
> Cheers,****
>
> Michael****
>



-- 
-William

Re: [browserquest] Implementing a Database

From:
Justin Clift
Date:
2012-09-23 @ 03:21
On 23/09/2012, at 10:48 AM, William Bowers wrote:
> I'm all for this. It would change how characters work, I believe, as you
would need to have a different character from server to server. That is, 
unless we had an official central character server.

Interesting idea.  Central character server.  It'd probably need to do 
OAuth or something for authentication (raises it's own set of problems), 
but I like the general concept. :)

+ Justin

--
Aeolus Community Manager
http://www.aeolusproject.org

Re: [browserquest] Implementing a Database

From:
William Bowers
Date:
2012-09-23 @ 07:09
I'm down with a database too. I think it's a great idea for everything that
is, well, data :). Perhaps we should consider some NoSQL solutions as
well. And I agree with not trusting the client.

And yea, as far as a central character server goes, it all depends on
whether you want a global character (like in Minecraft), or a different
character for every server. As a player I'd want my character to follow me.

On Sat, Sep 22, 2012 at 8:21 PM, Justin Clift <jclift@redhat.com> wrote:

> On 23/09/2012, at 10:48 AM, William Bowers wrote:
> > I'm all for this. It would change how characters work, I believe, as you
> would need to have a different character from server to server. That is,
> unless we had an official central character server.
>
> Interesting idea.  Central character server.  It'd probably need to do
> OAuth or something for authentication (raises it's own set of problems),
> but I like the general concept. :)
>
> + Justin
>
> --
> Aeolus Community Manager
> http://www.aeolusproject.org
>
>


-- 
-William

Re: [browserquest] Implementing a Database

From:
Brynn
Date:
2012-09-23 @ 00:53
Jeff and I were discussing this in the IRC (#browserquest on
irc.synirc.net) earlier today. I think he's looking into a spatial
database (possibly can be used to eliminate zones and zoning) from
here: http://paralleluniverse.co/product/

I know there's another developer out there using MongoDB for BQ, we
can see how he's coming along and possibly share some code from that.

I agree with Michael that getting database storage is important and
should really be a priority for the project.

On Sat, Sep 22, 2012 at 5:48 PM, William Bowers
<william.bowers@gmail.com> wrote:
> I'm all for this. It would change how characters work, I believe, as you
> would need to have a different character from server to server. That is,
> unless we had an official central character server.
>
>
> On Sat, Sep 22, 2012 at 5:41 PM, Michael Elford <michaelelford.me@gmail.com>
> wrote:
>>
>> Hi all,
>>
>>
>>
>> As we all seem to have a similar concept of where the system should go
>> (i.e. game rather than HTML5 showcase), I thought I’d see if any of you were
>> considering or have already implemented a Database such as MYSQL for data
>> storage.
>>
>>
>>
>> My concern with the current system is:
>>
>> ·         Character data stored on client – easily exploited
>>
>> ·         World/Item/MOB data stored in the code – should be abstracted
>> from the code to enable effective building of the game environment.
>>
>>
>>
>> Basically in my opinion, we need to move the game to be far more server
>> oriented and remove all trust from the client to make it an effective
>> multiplayer game.
>>
>>
>>
>> I’ve been looking at http://nodejsdb.org/ which from my limited reading
>> seems to be the best for this purpose, if any of you have any experience in
>> implementing a database with NodeJS or opinions, let me know.
>>
>>
>>
>> Cheers,
>>
>> Michael
>
>
>
>
> --
> -William

Re: [browserquest] Implementing a Database

From:
Jeff Lang
Date:
2012-09-23 @ 01:57
MySQL could definitely be used for storing character metadata.
SpaceBase would be used for storing and querying position data. It
could potentially eliminate the use of zones by only sending network
updates of those players within a predefined distance from your
character. I submitted the form for a beta request, but I'm thinking
we should contact them as well to describe the project.

On Sep 22, 2012, at 6:53 PM, Brynn <brynnbateman@gmail.com> wrote:

> Jeff and I were discussing this in the IRC (#browserquest on
> irc.synirc.net) earlier today. I think he's looking into a spatial
> database (possibly can be used to eliminate zones and zoning) from
> here: http://paralleluniverse.co/product/
>
> I know there's another developer out there using MongoDB for BQ, we
> can see how he's coming along and possibly share some code from that.
>
> I agree with Michael that getting database storage is important and
> should really be a priority for the project.
>
> On Sat, Sep 22, 2012 at 5:48 PM, William Bowers
> <william.bowers@gmail.com> wrote:
>> I'm all for this. It would change how characters work, I believe, as you
>> would need to have a different character from server to server. That is,
>> unless we had an official central character server.
>>
>>
>> On Sat, Sep 22, 2012 at 5:41 PM, Michael Elford <michaelelford.me@gmail.com>
>> wrote:
>>>
>>> Hi all,
>>>
>>>
>>>
>>> As we all seem to have a similar concept of where the system should go
>>> (i.e. game rather than HTML5 showcase), I thought I’d see if any of you were
>>> considering or have already implemented a Database such as MYSQL for data
>>> storage.
>>>
>>>
>>>
>>> My concern with the current system is:
>>>
>>> ·         Character data stored on client – easily exploited
>>>
>>> ·         World/Item/MOB data stored in the code – should be abstracted
>>> from the code to enable effective building of the game environment.
>>>
>>>
>>>
>>> Basically in my opinion, we need to move the game to be far more server
>>> oriented and remove all trust from the client to make it an effective
>>> multiplayer game.
>>>
>>>
>>>
>>> I’ve been looking at http://nodejsdb.org/ which from my limited reading
>>> seems to be the best for this purpose, if any of you have any experience in
>>> implementing a database with NodeJS or opinions, let me know.
>>>
>>>
>>>
>>> Cheers,
>>>
>>> Michael
>>
>>
>>
>>
>> --
>> -William