alvyxaz / barebones-masterserver

Master Server framework for Unity
476 stars 106 forks source link

Some doubt about LiteDB #82

Open insthync opened 7 years ago

insthync commented 7 years ago

Why not use V3 and why have to avoid iOS??

alvyxaz commented 7 years ago

What do you mean by avoid iOS?

The reason why it comes with LiteDB V2 by default is that V3 currently requires a full .NET 2.0 (not the subset), and I think not all of the developers want to to use that.

If you want, you could write your own implementation for V3 - it shouldn't be too difficult. I did it a month ago, but I can no longer find it :/

insthync commented 7 years ago

@alvyxaz About avoid iOS, I have notices codes like

#if (!UNITY_WEBGL && !UNITY_IOS) || UNITY_EDITOR

But it's Okay, game client does not have to use Database :p

arcanor commented 7 years ago

@alvyxaz - I wouldn't worry too much about implementing a current LiteDB, because I suspect there is very little demand to actually use it in a real project. See this data: https://db-engines.com/en/ranking_trend/system/LiteDB%3BMongoDB%3BSQLite

You've already implemented MongoDB for people who prefer a NoSQL solution. I would think implementing SQLite (with a local file database) might be a better choice for the demos, as it's self-contained, doesn't need to have a database engine installed, and just works. Plus, people won't ask you questions about why you're using an old version. :)

alvyxaz commented 7 years ago

@arcanor Yeah, SQLite would probably be a better option, but if I remember it correctly, it requires full .NET 2.0.

I wonder if I'm overdoing it with the whole ".NET 2.0 subset". What do you think?

By the way, I just wrote this: https://github.com/alvyxaz/barebones-masterserver/issues/83

arcanor commented 7 years ago

Unfortunately, any dll that requires System.Data.dll will require the full .NET 2.0. I think it's reasonable to require that for a server application. The clients don't need it though. so I'd say anyone building a client should do so in a separate project, and should delete the Barebones/MsfDatabaseImplementations folder completely.

insthync commented 7 years ago

Roger that, it's clear. should I close the issues or you guys will do that ?

arcanor commented 7 years ago

@insthync I'd recommend letting @alvyxaz close this one, after he's thought through replacing LiteDb with SQLite.

insthync commented 7 years ago

Hmm, I actually like LiteDb than SQLite because it's easier when coding and does not have to define schema, and its version. So I think it should be kept.